Gentoo Archives: gentoo-commits

From: Mike Pagano <mpagano@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/linux-patches:5.4 commit in: /
Date: Fri, 18 Jun 2021 11:38:36
Message-Id: 1624016302.8c6056fcc96314411672cea6963f2d5b50ad1073.mpagano@gentoo
1 commit: 8c6056fcc96314411672cea6963f2d5b50ad1073
2 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 18 11:38:22 2021 +0000
4 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 18 11:38:22 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=8c6056fc
7
8 Linux patch 5.4.127
9
10 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
11
12 0000_README | 4 +
13 1126_linux-5.4.127.patch | 594 +++++++++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 598 insertions(+)
15
16 diff --git a/0000_README b/0000_README
17 index fe1bb24..10e217d 100644
18 --- a/0000_README
19 +++ b/0000_README
20 @@ -547,6 +547,10 @@ Patch: 1125_linux-5.4.126.patch
21 From: http://www.kernel.org
22 Desc: Linux 5.4.126
23
24 +Patch: 1126_linux-5.4.127.patch
25 +From: http://www.kernel.org
26 +Desc: Linux 5.4.127
27 +
28 Patch: 1500_XATTR_USER_PREFIX.patch
29 From: https://bugs.gentoo.org/show_bug.cgi?id=470644
30 Desc: Support for namespace user.pax.* on tmpfs.
31
32 diff --git a/1126_linux-5.4.127.patch b/1126_linux-5.4.127.patch
33 new file mode 100644
34 index 0000000..254425c
35 --- /dev/null
36 +++ b/1126_linux-5.4.127.patch
37 @@ -0,0 +1,594 @@
38 +diff --git a/Makefile b/Makefile
39 +index 184d9e029130c..ba10c68113427 100644
40 +--- a/Makefile
41 ++++ b/Makefile
42 +@@ -1,7 +1,7 @@
43 + # SPDX-License-Identifier: GPL-2.0
44 + VERSION = 5
45 + PATCHLEVEL = 4
46 +-SUBLEVEL = 126
47 ++SUBLEVEL = 127
48 + EXTRAVERSION =
49 + NAME = Kleptomaniac Octopus
50 +
51 +diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
52 +index 418a61ecb8275..5e86145db0e2a 100644
53 +--- a/arch/arm/mach-omap2/board-n8x0.c
54 ++++ b/arch/arm/mach-omap2/board-n8x0.c
55 +@@ -322,6 +322,7 @@ static int n8x0_mmc_get_cover_state(struct device *dev, int slot)
56 +
57 + static void n8x0_mmc_callback(void *data, u8 card_mask)
58 + {
59 ++#ifdef CONFIG_MMC_OMAP
60 + int bit, *openp, index;
61 +
62 + if (board_is_n800()) {
63 +@@ -339,7 +340,6 @@ static void n8x0_mmc_callback(void *data, u8 card_mask)
64 + else
65 + *openp = 0;
66 +
67 +-#ifdef CONFIG_MMC_OMAP
68 + omap_mmc_notify_cover_event(mmc_device, index, *openp);
69 + #else
70 + pr_warn("MMC: notify cover event not available\n");
71 +diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
72 +index f5e9142102454..1cbe0ad78b0f3 100644
73 +--- a/arch/riscv/Makefile
74 ++++ b/arch/riscv/Makefile
75 +@@ -34,6 +34,15 @@ else
76 + KBUILD_LDFLAGS += -melf32lriscv
77 + endif
78 +
79 ++ifeq ($(CONFIG_LD_IS_LLD),y)
80 ++ KBUILD_CFLAGS += -mno-relax
81 ++ KBUILD_AFLAGS += -mno-relax
82 ++ifneq ($(LLVM_IAS),1)
83 ++ KBUILD_CFLAGS += -Wa,-mno-relax
84 ++ KBUILD_AFLAGS += -Wa,-mno-relax
85 ++endif
86 ++endif
87 ++
88 + # ISA string setting
89 + riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima
90 + riscv-march-$(CONFIG_ARCH_RV64I) := rv64ima
91 +diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
92 +index 08062de3fbebd..2b1175bb2daee 100644
93 +--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
94 ++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
95 +@@ -2917,7 +2917,7 @@ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
96 + voltage_supported = dcn20_validate_bandwidth_internal(dc, context, false);
97 + dummy_pstate_supported = context->bw_ctx.bw.dcn.clk.p_state_change_support;
98 +
99 +- if (voltage_supported && dummy_pstate_supported) {
100 ++ if (voltage_supported && (dummy_pstate_supported || !(context->stream_count))) {
101 + context->bw_ctx.bw.dcn.clk.p_state_change_support = false;
102 + goto restore_dml_state;
103 + }
104 +diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c
105 +index 6c3d221652393..0419b6105c8a5 100644
106 +--- a/drivers/gpu/drm/tegra/sor.c
107 ++++ b/drivers/gpu/drm/tegra/sor.c
108 +@@ -2875,21 +2875,21 @@ static int tegra_sor_init(struct host1x_client *client)
109 + if (err < 0) {
110 + dev_err(sor->dev, "failed to acquire SOR reset: %d\n",
111 + err);
112 +- return err;
113 ++ goto rpm_put;
114 + }
115 +
116 + err = reset_control_assert(sor->rst);
117 + if (err < 0) {
118 + dev_err(sor->dev, "failed to assert SOR reset: %d\n",
119 + err);
120 +- return err;
121 ++ goto rpm_put;
122 + }
123 + }
124 +
125 + err = clk_prepare_enable(sor->clk);
126 + if (err < 0) {
127 + dev_err(sor->dev, "failed to enable clock: %d\n", err);
128 +- return err;
129 ++ goto rpm_put;
130 + }
131 +
132 + usleep_range(1000, 3000);
133 +@@ -2900,7 +2900,7 @@ static int tegra_sor_init(struct host1x_client *client)
134 + dev_err(sor->dev, "failed to deassert SOR reset: %d\n",
135 + err);
136 + clk_disable_unprepare(sor->clk);
137 +- return err;
138 ++ goto rpm_put;
139 + }
140 +
141 + reset_control_release(sor->rst);
142 +@@ -2929,6 +2929,12 @@ static int tegra_sor_init(struct host1x_client *client)
143 + tegra_sor_writel(sor, value, SOR_INT_MASK);
144 +
145 + return 0;
146 ++
147 ++rpm_put:
148 ++ if (sor->rst)
149 ++ pm_runtime_put(sor->dev);
150 ++
151 ++ return err;
152 + }
153 +
154 + static int tegra_sor_exit(struct host1x_client *client)
155 +diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
156 +index 8d202011b2db5..550fff6e41eca 100644
157 +--- a/drivers/hid/hid-core.c
158 ++++ b/drivers/hid/hid-core.c
159 +@@ -1998,6 +1998,9 @@ int hid_connect(struct hid_device *hdev, unsigned int connect_mask)
160 + case BUS_I2C:
161 + bus = "I2C";
162 + break;
163 ++ case BUS_VIRTUAL:
164 ++ bus = "VIRTUAL";
165 ++ break;
166 + default:
167 + bus = "<UNKNOWN>";
168 + }
169 +diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c
170 +index 9453147d020db..01135713e8f9b 100644
171 +--- a/drivers/hid/hid-debug.c
172 ++++ b/drivers/hid/hid-debug.c
173 +@@ -929,6 +929,7 @@ static const char *keys[KEY_MAX + 1] = {
174 + [KEY_APPSELECT] = "AppSelect",
175 + [KEY_SCREENSAVER] = "ScreenSaver",
176 + [KEY_VOICECOMMAND] = "VoiceCommand",
177 ++ [KEY_EMOJI_PICKER] = "EmojiPicker",
178 + [KEY_BRIGHTNESS_MIN] = "BrightnessMin",
179 + [KEY_BRIGHTNESS_MAX] = "BrightnessMax",
180 + [KEY_BRIGHTNESS_AUTO] = "BrightnessAuto",
181 +diff --git a/drivers/hid/hid-gt683r.c b/drivers/hid/hid-gt683r.c
182 +index 898871c8c768e..29ccb0accfba8 100644
183 +--- a/drivers/hid/hid-gt683r.c
184 ++++ b/drivers/hid/hid-gt683r.c
185 +@@ -54,6 +54,7 @@ static const struct hid_device_id gt683r_led_id[] = {
186 + { HID_USB_DEVICE(USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL) },
187 + { }
188 + };
189 ++MODULE_DEVICE_TABLE(hid, gt683r_led_id);
190 +
191 + static void gt683r_brightness_set(struct led_classdev *led_cdev,
192 + enum led_brightness brightness)
193 +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
194 +index 1bfa690143d79..6ed6158d4f732 100644
195 +--- a/drivers/hid/hid-ids.h
196 ++++ b/drivers/hid/hid-ids.h
197 +@@ -741,6 +741,7 @@
198 + #define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085
199 + #define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3
200 + #define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5
201 ++#define USB_DEVICE_ID_LENOVO_OPTICAL_USB_MOUSE_600E 0x600e
202 + #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D 0x608d
203 + #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019 0x6019
204 + #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_602E 0x602e
205 +@@ -1028,6 +1029,7 @@
206 + #define USB_DEVICE_ID_SAITEK_X52 0x075c
207 + #define USB_DEVICE_ID_SAITEK_X52_2 0x0255
208 + #define USB_DEVICE_ID_SAITEK_X52_PRO 0x0762
209 ++#define USB_DEVICE_ID_SAITEK_X65 0x0b6a
210 +
211 + #define USB_VENDOR_ID_SAMSUNG 0x0419
212 + #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001
213 +diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
214 +index ec08895e7b1dc..6d551ae251c0a 100644
215 +--- a/drivers/hid/hid-input.c
216 ++++ b/drivers/hid/hid-input.c
217 +@@ -957,6 +957,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
218 +
219 + case 0x0cd: map_key_clear(KEY_PLAYPAUSE); break;
220 + case 0x0cf: map_key_clear(KEY_VOICECOMMAND); break;
221 ++
222 ++ case 0x0d9: map_key_clear(KEY_EMOJI_PICKER); break;
223 ++
224 + case 0x0e0: map_abs_clear(ABS_VOLUME); break;
225 + case 0x0e2: map_key_clear(KEY_MUTE); break;
226 + case 0x0e5: map_key_clear(KEY_BASSBOOST); break;
227 +diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
228 +index f290ba856323a..37270b8f4e58b 100644
229 +--- a/drivers/hid/hid-multitouch.c
230 ++++ b/drivers/hid/hid-multitouch.c
231 +@@ -1587,13 +1587,13 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi)
232 + /* we do not set suffix = "Touchscreen" */
233 + hi->input->name = hdev->name;
234 + break;
235 +- case HID_DG_STYLUS:
236 +- /* force BTN_STYLUS to allow tablet matching in udev */
237 +- __set_bit(BTN_STYLUS, hi->input->keybit);
238 +- break;
239 + case HID_VD_ASUS_CUSTOM_MEDIA_KEYS:
240 + suffix = "Custom Media Keys";
241 + break;
242 ++ case HID_DG_STYLUS:
243 ++ /* force BTN_STYLUS to allow tablet matching in udev */
244 ++ __set_bit(BTN_STYLUS, hi->input->keybit);
245 ++ fallthrough;
246 + case HID_DG_PEN:
247 + suffix = "Stylus";
248 + break;
249 +diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
250 +index f35d919c4ebab..efc9d0d281709 100644
251 +--- a/drivers/hid/hid-quirks.c
252 ++++ b/drivers/hid/hid-quirks.c
253 +@@ -110,6 +110,7 @@ static const struct hid_device_id hid_quirks[] = {
254 + { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT },
255 + { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT },
256 + { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
257 ++ { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_OPTICAL_USB_MOUSE_600E), HID_QUIRK_ALWAYS_POLL },
258 + { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D), HID_QUIRK_ALWAYS_POLL },
259 + { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019), HID_QUIRK_ALWAYS_POLL },
260 + { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_602E), HID_QUIRK_ALWAYS_POLL },
261 +@@ -158,6 +159,7 @@ static const struct hid_device_id hid_quirks[] = {
262 + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
263 + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52_2), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
264 + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52_PRO), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
265 ++ { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X65), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
266 + { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD2), HID_QUIRK_NO_INIT_REPORTS },
267 + { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD), HID_QUIRK_NO_INIT_REPORTS },
268 + { HID_USB_DEVICE(USB_VENDOR_ID_SENNHEISER, USB_DEVICE_ID_SENNHEISER_BTD500USB), HID_QUIRK_NOGET },
269 +diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c
270 +index 3dd7d32467378..f9983145d4e70 100644
271 +--- a/drivers/hid/hid-sensor-hub.c
272 ++++ b/drivers/hid/hid-sensor-hub.c
273 +@@ -210,16 +210,21 @@ int sensor_hub_set_feature(struct hid_sensor_hub_device *hsdev, u32 report_id,
274 + buffer_size = buffer_size / sizeof(__s32);
275 + if (buffer_size) {
276 + for (i = 0; i < buffer_size; ++i) {
277 +- hid_set_field(report->field[field_index], i,
278 +- (__force __s32)cpu_to_le32(*buf32));
279 ++ ret = hid_set_field(report->field[field_index], i,
280 ++ (__force __s32)cpu_to_le32(*buf32));
281 ++ if (ret)
282 ++ goto done_proc;
283 ++
284 + ++buf32;
285 + }
286 + }
287 + if (remaining_bytes) {
288 + value = 0;
289 + memcpy(&value, (u8 *)buf32, remaining_bytes);
290 +- hid_set_field(report->field[field_index], i,
291 +- (__force __s32)cpu_to_le32(value));
292 ++ ret = hid_set_field(report->field[field_index], i,
293 ++ (__force __s32)cpu_to_le32(value));
294 ++ if (ret)
295 ++ goto done_proc;
296 + }
297 + hid_hw_request(hsdev->hdev, report, HID_REQ_SET_REPORT);
298 + hid_hw_wait(hsdev->hdev);
299 +diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
300 +index 17a638f150824..1cfbbaf6901da 100644
301 +--- a/drivers/hid/usbhid/hid-core.c
302 ++++ b/drivers/hid/usbhid/hid-core.c
303 +@@ -374,7 +374,7 @@ static int hid_submit_ctrl(struct hid_device *hid)
304 + raw_report = usbhid->ctrl[usbhid->ctrltail].raw_report;
305 + dir = usbhid->ctrl[usbhid->ctrltail].dir;
306 +
307 +- len = ((report->size - 1) >> 3) + 1 + (report->id > 0);
308 ++ len = hid_report_len(report);
309 + if (dir == USB_DIR_OUT) {
310 + usbhid->urbctrl->pipe = usb_sndctrlpipe(hid_to_usb_dev(hid), 0);
311 + usbhid->urbctrl->transfer_buffer_length = len;
312 +diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
313 +index c979f38a2e0cb..c4c7160949825 100644
314 +--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
315 ++++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
316 +@@ -3849,6 +3849,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
317 + dev_err(&pdev->dev,
318 + "invalid sram_size %dB or board span %ldB\n",
319 + mgp->sram_size, mgp->board_span);
320 ++ status = -EINVAL;
321 + goto abort_with_ioremap;
322 + }
323 + memcpy_fromio(mgp->eeprom_strings,
324 +diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
325 +index 82b87a4c50f63..f657a12bf1fef 100644
326 +--- a/drivers/nvme/target/loop.c
327 ++++ b/drivers/nvme/target/loop.c
328 +@@ -252,7 +252,8 @@ static const struct blk_mq_ops nvme_loop_admin_mq_ops = {
329 +
330 + static void nvme_loop_destroy_admin_queue(struct nvme_loop_ctrl *ctrl)
331 + {
332 +- clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[0].flags);
333 ++ if (!test_and_clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[0].flags))
334 ++ return;
335 + nvmet_sq_destroy(&ctrl->queues[0].nvme_sq);
336 + blk_cleanup_queue(ctrl->ctrl.admin_q);
337 + blk_cleanup_queue(ctrl->ctrl.fabrics_q);
338 +@@ -288,6 +289,7 @@ static void nvme_loop_destroy_io_queues(struct nvme_loop_ctrl *ctrl)
339 + clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[i].flags);
340 + nvmet_sq_destroy(&ctrl->queues[i].nvme_sq);
341 + }
342 ++ ctrl->ctrl.queue_count = 1;
343 + }
344 +
345 + static int nvme_loop_init_io_queues(struct nvme_loop_ctrl *ctrl)
346 +@@ -394,6 +396,7 @@ static int nvme_loop_configure_admin_queue(struct nvme_loop_ctrl *ctrl)
347 + return 0;
348 +
349 + out_cleanup_queue:
350 ++ clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[0].flags);
351 + blk_cleanup_queue(ctrl->ctrl.admin_q);
352 + out_cleanup_fabrics_q:
353 + blk_cleanup_queue(ctrl->ctrl.fabrics_q);
354 +diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
355 +index 9c0955c334e3e..7a6306f8483ec 100644
356 +--- a/drivers/scsi/qedf/qedf_main.c
357 ++++ b/drivers/scsi/qedf/qedf_main.c
358 +@@ -1729,22 +1729,20 @@ static int qedf_vport_create(struct fc_vport *vport, bool disabled)
359 + fcoe_wwn_to_str(vport->port_name, buf, sizeof(buf));
360 + QEDF_WARN(&(base_qedf->dbg_ctx), "Failed to create vport, "
361 + "WWPN (0x%s) already exists.\n", buf);
362 +- goto err1;
363 ++ return rc;
364 + }
365 +
366 + if (atomic_read(&base_qedf->link_state) != QEDF_LINK_UP) {
367 + QEDF_WARN(&(base_qedf->dbg_ctx), "Cannot create vport "
368 + "because link is not up.\n");
369 +- rc = -EIO;
370 +- goto err1;
371 ++ return -EIO;
372 + }
373 +
374 + vn_port = libfc_vport_create(vport, sizeof(struct qedf_ctx));
375 + if (!vn_port) {
376 + QEDF_WARN(&(base_qedf->dbg_ctx), "Could not create lport "
377 + "for vport.\n");
378 +- rc = -ENOMEM;
379 +- goto err1;
380 ++ return -ENOMEM;
381 + }
382 +
383 + fcoe_wwn_to_str(vport->port_name, buf, sizeof(buf));
384 +@@ -1768,7 +1766,7 @@ static int qedf_vport_create(struct fc_vport *vport, bool disabled)
385 + if (rc) {
386 + QEDF_ERR(&(base_qedf->dbg_ctx), "Could not allocate memory "
387 + "for lport stats.\n");
388 +- goto err2;
389 ++ goto err;
390 + }
391 +
392 + fc_set_wwnn(vn_port, vport->node_name);
393 +@@ -1786,7 +1784,7 @@ static int qedf_vport_create(struct fc_vport *vport, bool disabled)
394 + if (rc) {
395 + QEDF_WARN(&base_qedf->dbg_ctx,
396 + "Error adding Scsi_Host rc=0x%x.\n", rc);
397 +- goto err2;
398 ++ goto err;
399 + }
400 +
401 + /* Set default dev_loss_tmo based on module parameter */
402 +@@ -1827,9 +1825,10 @@ static int qedf_vport_create(struct fc_vport *vport, bool disabled)
403 + vport_qedf->dbg_ctx.host_no = vn_port->host->host_no;
404 + vport_qedf->dbg_ctx.pdev = base_qedf->pdev;
405 +
406 +-err2:
407 ++ return 0;
408 ++
409 ++err:
410 + scsi_host_put(vn_port->host);
411 +-err1:
412 + return rc;
413 + }
414 +
415 +@@ -1870,8 +1869,7 @@ static int qedf_vport_destroy(struct fc_vport *vport)
416 + fc_lport_free_stats(vn_port);
417 +
418 + /* Release Scsi_Host */
419 +- if (vn_port->host)
420 +- scsi_host_put(vn_port->host);
421 ++ scsi_host_put(vn_port->host);
422 +
423 + out:
424 + return 0;
425 +diff --git a/drivers/scsi/scsi_devinfo.c b/drivers/scsi/scsi_devinfo.c
426 +index fb5a7832353ce..7f76bf5cc8a8a 100644
427 +--- a/drivers/scsi/scsi_devinfo.c
428 ++++ b/drivers/scsi/scsi_devinfo.c
429 +@@ -184,6 +184,7 @@ static struct {
430 + {"HP", "C3323-300", "4269", BLIST_NOTQ},
431 + {"HP", "C5713A", NULL, BLIST_NOREPORTLUN},
432 + {"HP", "DISK-SUBSYSTEM", "*", BLIST_REPORTLUN2},
433 ++ {"HPE", "OPEN-", "*", BLIST_REPORTLUN2 | BLIST_TRY_VPD_PAGES},
434 + {"IBM", "AuSaV1S2", NULL, BLIST_FORCELUN},
435 + {"IBM", "ProFibre 4000R", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
436 + {"IBM", "2105", NULL, BLIST_RETRY_HWERROR},
437 +diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
438 +index a16835c0bb1dd..5cf9e7677926f 100644
439 +--- a/drivers/target/target_core_transport.c
440 ++++ b/drivers/target/target_core_transport.c
441 +@@ -2993,9 +2993,7 @@ __transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
442 + __releases(&cmd->t_state_lock)
443 + __acquires(&cmd->t_state_lock)
444 + {
445 +-
446 +- assert_spin_locked(&cmd->t_state_lock);
447 +- WARN_ON_ONCE(!irqs_disabled());
448 ++ lockdep_assert_held(&cmd->t_state_lock);
449 +
450 + if (fabric_stop)
451 + cmd->transport_state |= CMD_T_FABRIC_STOP;
452 +diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
453 +index 4a10b4e7092a9..69c52edf5713f 100644
454 +--- a/fs/gfs2/file.c
455 ++++ b/fs/gfs2/file.c
456 +@@ -875,8 +875,11 @@ static ssize_t gfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
457 + current->backing_dev_info = inode_to_bdi(inode);
458 + buffered = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops);
459 + current->backing_dev_info = NULL;
460 +- if (unlikely(buffered <= 0))
461 ++ if (unlikely(buffered <= 0)) {
462 ++ if (!ret)
463 ++ ret = buffered;
464 + goto out_unlock;
465 ++ }
466 +
467 + /*
468 + * We need to ensure that the page cache pages are written to
469 +diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
470 +index 9e1685a30bf8d..01c41087f0676 100644
471 +--- a/fs/gfs2/glock.c
472 ++++ b/fs/gfs2/glock.c
473 +@@ -1552,6 +1552,7 @@ __acquires(&lru_lock)
474 + while(!list_empty(list)) {
475 + gl = list_entry(list->next, struct gfs2_glock, gl_lru);
476 + list_del_init(&gl->gl_lru);
477 ++ clear_bit(GLF_LRU, &gl->gl_flags);
478 + if (!spin_trylock(&gl->gl_lockref.lock)) {
479 + add_back_to_lru:
480 + list_add(&gl->gl_lru, &lru_list);
481 +@@ -1597,7 +1598,6 @@ static long gfs2_scan_glock_lru(int nr)
482 + if (!test_bit(GLF_LOCK, &gl->gl_flags)) {
483 + list_move(&gl->gl_lru, &dispose);
484 + atomic_dec(&lru_count);
485 +- clear_bit(GLF_LRU, &gl->gl_flags);
486 + freed++;
487 + continue;
488 + }
489 +diff --git a/include/linux/hid.h b/include/linux/hid.h
490 +index ae906deb42e87..85bedeb9ca9f2 100644
491 +--- a/include/linux/hid.h
492 ++++ b/include/linux/hid.h
493 +@@ -1154,8 +1154,7 @@ static inline void hid_hw_wait(struct hid_device *hdev)
494 + */
495 + static inline u32 hid_report_len(struct hid_report *report)
496 + {
497 +- /* equivalent to DIV_ROUND_UP(report->size, 8) + !!(report->id > 0) */
498 +- return ((report->size - 1) >> 3) + 1 + (report->id > 0);
499 ++ return DIV_ROUND_UP(report->size, 8) + (report->id > 0);
500 + }
501 +
502 + int hid_report_raw_event(struct hid_device *hid, int type, u8 *data, u32 size,
503 +diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
504 +index 472cd5bc55676..311a57f3e01a2 100644
505 +--- a/include/uapi/linux/input-event-codes.h
506 ++++ b/include/uapi/linux/input-event-codes.h
507 +@@ -607,6 +607,7 @@
508 + #define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */
509 + #define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */
510 + #define KEY_KBD_LAYOUT_NEXT 0x248 /* AC Next Keyboard Layout Select */
511 ++#define KEY_EMOJI_PICKER 0x249 /* Show/hide emoji picker (HUTRR101) */
512 +
513 + #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
514 + #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
515 +diff --git a/net/compat.c b/net/compat.c
516 +index c848bcb517f3e..f5b88166c44a5 100644
517 +--- a/net/compat.c
518 ++++ b/net/compat.c
519 +@@ -160,7 +160,7 @@ int cmsghdr_from_user_compat_to_kern(struct msghdr *kmsg, struct sock *sk,
520 + if (kcmlen > stackbuf_size)
521 + kcmsg_base = kcmsg = sock_kmalloc(sk, kcmlen, GFP_KERNEL);
522 + if (kcmsg == NULL)
523 +- return -ENOBUFS;
524 ++ return -ENOMEM;
525 +
526 + /* Now copy them over neatly. */
527 + memset(kcmsg, 0, kcmlen);
528 +diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
529 +index bb11fc87bbaef..675f27ef6872f 100644
530 +--- a/net/core/fib_rules.c
531 ++++ b/net/core/fib_rules.c
532 +@@ -1138,7 +1138,7 @@ static void notify_rule_change(int event, struct fib_rule *rule,
533 + {
534 + struct net *net;
535 + struct sk_buff *skb;
536 +- int err = -ENOBUFS;
537 ++ int err = -ENOMEM;
538 +
539 + net = ops->fro_net;
540 + skb = nlmsg_new(fib_rule_nlmsg_size(ops, rule), GFP_KERNEL);
541 +diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
542 +index 73c09b5864d70..bdeb169a7a999 100644
543 +--- a/net/core/rtnetlink.c
544 ++++ b/net/core/rtnetlink.c
545 +@@ -4535,8 +4535,10 @@ static int rtnl_bridge_notify(struct net_device *dev)
546 + if (err < 0)
547 + goto errout;
548 +
549 +- if (!skb->len)
550 ++ if (!skb->len) {
551 ++ err = -EINVAL;
552 + goto errout;
553 ++ }
554 +
555 + rtnl_notify(skb, net, 0, RTNLGRP_LINK, NULL, GFP_ATOMIC);
556 + return 0;
557 +diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c
558 +index 328bb9f5342e5..b2ba1d2556f14 100644
559 +--- a/net/ieee802154/nl802154.c
560 ++++ b/net/ieee802154/nl802154.c
561 +@@ -1314,19 +1314,20 @@ ieee802154_llsec_parse_dev_addr(struct nlattr *nla,
562 + if (!nla || nla_parse_nested_deprecated(attrs, NL802154_DEV_ADDR_ATTR_MAX, nla, nl802154_dev_addr_policy, NULL))
563 + return -EINVAL;
564 +
565 +- if (!attrs[NL802154_DEV_ADDR_ATTR_PAN_ID] ||
566 +- !attrs[NL802154_DEV_ADDR_ATTR_MODE] ||
567 +- !(attrs[NL802154_DEV_ADDR_ATTR_SHORT] ||
568 +- attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]))
569 ++ if (!attrs[NL802154_DEV_ADDR_ATTR_PAN_ID] || !attrs[NL802154_DEV_ADDR_ATTR_MODE])
570 + return -EINVAL;
571 +
572 + addr->pan_id = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_PAN_ID]);
573 + addr->mode = nla_get_u32(attrs[NL802154_DEV_ADDR_ATTR_MODE]);
574 + switch (addr->mode) {
575 + case NL802154_DEV_ADDR_SHORT:
576 ++ if (!attrs[NL802154_DEV_ADDR_ATTR_SHORT])
577 ++ return -EINVAL;
578 + addr->short_addr = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_SHORT]);
579 + break;
580 + case NL802154_DEV_ADDR_EXTENDED:
581 ++ if (!attrs[NL802154_DEV_ADDR_ATTR_EXTENDED])
582 ++ return -EINVAL;
583 + addr->extended_addr = nla_get_le64(attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]);
584 + break;
585 + default:
586 +diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
587 +index 9bcca08efec9e..c05ad600a4ff7 100644
588 +--- a/net/ipv4/ipconfig.c
589 ++++ b/net/ipv4/ipconfig.c
590 +@@ -870,7 +870,7 @@ static void __init ic_bootp_send_if(struct ic_device *d, unsigned long jiffies_d
591 +
592 +
593 + /*
594 +- * Copy BOOTP-supplied string if not already set.
595 ++ * Copy BOOTP-supplied string
596 + */
597 + static int __init ic_bootp_string(char *dest, char *src, int len, int max)
598 + {
599 +@@ -919,12 +919,15 @@ static void __init ic_do_bootp_ext(u8 *ext)
600 + }
601 + break;
602 + case 12: /* Host name */
603 +- ic_bootp_string(utsname()->nodename, ext+1, *ext,
604 +- __NEW_UTS_LEN);
605 +- ic_host_name_set = 1;
606 ++ if (!ic_host_name_set) {
607 ++ ic_bootp_string(utsname()->nodename, ext+1, *ext,
608 ++ __NEW_UTS_LEN);
609 ++ ic_host_name_set = 1;
610 ++ }
611 + break;
612 + case 15: /* Domain name (DNS) */
613 +- ic_bootp_string(ic_domain, ext+1, *ext, sizeof(ic_domain));
614 ++ if (!ic_domain[0])
615 ++ ic_bootp_string(ic_domain, ext+1, *ext, sizeof(ic_domain));
616 + break;
617 + case 17: /* Root path */
618 + if (!root_server_path[0])
619 +diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
620 +index cb1f5016c433a..d8d603aa48875 100644
621 +--- a/net/x25/af_x25.c
622 ++++ b/net/x25/af_x25.c
623 +@@ -546,7 +546,7 @@ static int x25_create(struct net *net, struct socket *sock, int protocol,
624 + if (protocol)
625 + goto out;
626 +
627 +- rc = -ENOBUFS;
628 ++ rc = -ENOMEM;
629 + if ((sk = x25_alloc_socket(net, kern)) == NULL)
630 + goto out;
631 +