From: Sasha Levin Date: Thu, 14 Nov 2024 18:07:18 +0000 (-0500) Subject: Fixes for 5.15 X-Git-Tag: v4.19.324~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=15f542dcdf52746f6ee168d72af4543c1db1995b;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.15 Signed-off-by: Sasha Levin --- diff --git a/queue-5.15/fs-fix-uninitialized-value-issue-in-from_kuid-and-fr.patch b/queue-5.15/fs-fix-uninitialized-value-issue-in-from_kuid-and-fr.patch new file mode 100644 index 00000000000..5768f62c6a1 --- /dev/null +++ b/queue-5.15/fs-fix-uninitialized-value-issue-in-from_kuid-and-fr.patch @@ -0,0 +1,49 @@ +From d401c4d5564ed9cfbf65cc29fe41b71259ea47b5 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 17 Oct 2024 14:05:51 +0200 +Subject: fs: Fix uninitialized value issue in from_kuid and from_kgid + +From: Alessandro Zanni + +[ Upstream commit 15f34347481648a567db67fb473c23befb796af5 ] + +ocfs2_setattr() uses attr->ia_mode, attr->ia_uid and attr->ia_gid in +a trace point even though ATTR_MODE, ATTR_UID and ATTR_GID aren't set. + +Initialize all fields of newattrs to avoid uninitialized variables, by +checking if ATTR_MODE, ATTR_UID, ATTR_GID are initialized, otherwise 0. + +Reported-by: syzbot+6c55f725d1bdc8c52058@syzkaller.appspotmail.com +Closes: https://syzkaller.appspot.com/bug?extid=6c55f725d1bdc8c52058 +Signed-off-by: Alessandro Zanni +Link: https://lore.kernel.org/r/20241017120553.55331-1-alessandro.zanni87@gmail.com +Reviewed-by: Jan Kara +Signed-off-by: Christian Brauner +Signed-off-by: Sasha Levin +--- + fs/ocfs2/file.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c +index fc1e929ae0381..3c9316bf8a695 100644 +--- a/fs/ocfs2/file.c ++++ b/fs/ocfs2/file.c +@@ -1132,9 +1132,12 @@ int ocfs2_setattr(struct user_namespace *mnt_userns, struct dentry *dentry, + trace_ocfs2_setattr(inode, dentry, + (unsigned long long)OCFS2_I(inode)->ip_blkno, + dentry->d_name.len, dentry->d_name.name, +- attr->ia_valid, attr->ia_mode, +- from_kuid(&init_user_ns, attr->ia_uid), +- from_kgid(&init_user_ns, attr->ia_gid)); ++ attr->ia_valid, ++ attr->ia_valid & ATTR_MODE ? attr->ia_mode : 0, ++ attr->ia_valid & ATTR_UID ? ++ from_kuid(&init_user_ns, attr->ia_uid) : 0, ++ attr->ia_valid & ATTR_GID ? ++ from_kgid(&init_user_ns, attr->ia_gid) : 0); + + /* ensuring we don't even attempt to truncate a symlink */ + if (S_ISLNK(inode->i_mode)) +-- +2.43.0 + diff --git a/queue-5.15/hid-lenovo-add-support-for-thinkpad-x1-tablet-gen-3-.patch b/queue-5.15/hid-lenovo-add-support-for-thinkpad-x1-tablet-gen-3-.patch new file mode 100644 index 00000000000..5ebc00eb34b --- /dev/null +++ b/queue-5.15/hid-lenovo-add-support-for-thinkpad-x1-tablet-gen-3-.patch @@ -0,0 +1,88 @@ +From ab488a14a773346ef30c270cb32ce92b24d17d93 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 10 Oct 2024 11:45:12 +0200 +Subject: HID: lenovo: Add support for Thinkpad X1 Tablet Gen 3 keyboard + +From: Hans de Goede + +[ Upstream commit 51268879eb2bfc563a91cdce69362d9dbf707e7e ] + +The Thinkpad X1 Tablet Gen 3 keyboard has the same Lenovo specific quirks +as the original Thinkpad X1 Tablet keyboard. + +Add the PID for the "Thinkpad X1 Tablet Gen 3 keyboard" to the hid-lenovo +driver to fix the FnLock, Mute and media buttons not working. + +Suggested-by: Izhar Firdaus +Closes https://bugzilla.redhat.com/show_bug.cgi?id=2315395 +Signed-off-by: Hans de Goede +Signed-off-by: Jiri Kosina +Signed-off-by: Sasha Levin +--- + drivers/hid/hid-lenovo.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c +index 44fd4a05ace38..9536f468b42c5 100644 +--- a/drivers/hid/hid-lenovo.c ++++ b/drivers/hid/hid-lenovo.c +@@ -343,6 +343,7 @@ static int lenovo_input_mapping(struct hid_device *hdev, + return lenovo_input_mapping_tp10_ultrabook_kbd(hdev, hi, field, + usage, bit, max); + case USB_DEVICE_ID_LENOVO_X1_TAB: ++ case USB_DEVICE_ID_LENOVO_X1_TAB3: + return lenovo_input_mapping_x1_tab_kbd(hdev, hi, field, usage, bit, max); + default: + return 0; +@@ -431,6 +432,7 @@ static ssize_t attr_fn_lock_store(struct device *dev, + break; + case USB_DEVICE_ID_LENOVO_TP10UBKBD: + case USB_DEVICE_ID_LENOVO_X1_TAB: ++ case USB_DEVICE_ID_LENOVO_X1_TAB3: + ret = lenovo_led_set_tp10ubkbd(hdev, TP10UBKBD_FN_LOCK_LED, value); + if (ret) + return ret; +@@ -614,6 +616,7 @@ static int lenovo_event(struct hid_device *hdev, struct hid_field *field, + return lenovo_event_cptkbd(hdev, field, usage, value); + case USB_DEVICE_ID_LENOVO_TP10UBKBD: + case USB_DEVICE_ID_LENOVO_X1_TAB: ++ case USB_DEVICE_ID_LENOVO_X1_TAB3: + return lenovo_event_tp10ubkbd(hdev, field, usage, value); + default: + return 0; +@@ -896,6 +899,7 @@ static int lenovo_led_brightness_set(struct led_classdev *led_cdev, + break; + case USB_DEVICE_ID_LENOVO_TP10UBKBD: + case USB_DEVICE_ID_LENOVO_X1_TAB: ++ case USB_DEVICE_ID_LENOVO_X1_TAB3: + ret = lenovo_led_set_tp10ubkbd(hdev, tp10ubkbd_led[led_nr], value); + break; + } +@@ -1136,6 +1140,7 @@ static int lenovo_probe(struct hid_device *hdev, + break; + case USB_DEVICE_ID_LENOVO_TP10UBKBD: + case USB_DEVICE_ID_LENOVO_X1_TAB: ++ case USB_DEVICE_ID_LENOVO_X1_TAB3: + ret = lenovo_probe_tp10ubkbd(hdev); + break; + default: +@@ -1202,6 +1207,7 @@ static void lenovo_remove(struct hid_device *hdev) + break; + case USB_DEVICE_ID_LENOVO_TP10UBKBD: + case USB_DEVICE_ID_LENOVO_X1_TAB: ++ case USB_DEVICE_ID_LENOVO_X1_TAB3: + lenovo_remove_tp10ubkbd(hdev); + break; + } +@@ -1247,6 +1253,8 @@ static const struct hid_device_id lenovo_devices[] = { + */ + { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, + USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB) }, ++ { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, ++ USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB3) }, + { } + }; + +-- +2.43.0 + diff --git a/queue-5.15/hid-multitouch-add-quirk-for-logitech-bolt-receiver-.patch b/queue-5.15/hid-multitouch-add-quirk-for-logitech-bolt-receiver-.patch new file mode 100644 index 00000000000..2bae3e87638 --- /dev/null +++ b/queue-5.15/hid-multitouch-add-quirk-for-logitech-bolt-receiver-.patch @@ -0,0 +1,58 @@ +From a2c542871a218fe2846b550ad80bd21a6fb2994d Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 4 Oct 2024 10:24:29 -0700 +Subject: HID: multitouch: Add quirk for Logitech Bolt receiver w/ Casa + touchpad + +From: Kenneth Albanowski + +[ Upstream commit 526748b925185e95f1415900ee13c2469d4b64cc ] + +The Logitech Casa Touchpad does not reliably send touch release signals +when communicating through the Logitech Bolt wireless-to-USB receiver. + +Adjusting the device class to add MT_QUIRK_NOT_SEEN_MEANS_UP to make +sure that no touches become stuck, MT_QUIRK_FORCE_MULTI_INPUT is not +needed, but harmless. + +Linux does not have information on which devices are connected to the +Bolt receiver, so we have to enable this for the entire device. + +Signed-off-by: Kenneth Albanowski +Signed-off-by: Jiri Kosina +Signed-off-by: Sasha Levin +--- + drivers/hid/hid-ids.h | 1 + + drivers/hid/hid-multitouch.c | 4 ++++ + 2 files changed, 5 insertions(+) + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index 110c59622a2d8..81db294dda408 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -831,6 +831,7 @@ + #define USB_DEVICE_ID_LOGITECH_NANO_RECEIVER_LIGHTSPEED_1 0xc539 + #define USB_DEVICE_ID_LOGITECH_NANO_RECEIVER_LIGHTSPEED_1_1 0xc53f + #define USB_DEVICE_ID_LOGITECH_NANO_RECEIVER_POWERPLAY 0xc53a ++#define USB_DEVICE_ID_LOGITECH_BOLT_RECEIVER 0xc548 + #define USB_DEVICE_ID_SPACETRAVELLER 0xc623 + #define USB_DEVICE_ID_SPACENAVIGATOR 0xc626 + #define USB_DEVICE_ID_DINOVO_DESKTOP 0xc704 +diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c +index 8f6e410af7016..57e4ff1ab275d 100644 +--- a/drivers/hid/hid-multitouch.c ++++ b/drivers/hid/hid-multitouch.c +@@ -2134,6 +2134,10 @@ static const struct hid_device_id mt_devices[] = { + HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH_WIN_8, + USB_VENDOR_ID_LOGITECH, + USB_DEVICE_ID_LOGITECH_CASA_TOUCHPAD) }, ++ { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU, ++ HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8, ++ USB_VENDOR_ID_LOGITECH, ++ USB_DEVICE_ID_LOGITECH_BOLT_RECEIVER) }, + + /* MosArt panels */ + { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, +-- +2.43.0 + diff --git a/queue-5.15/net-usb-qmi_wwan-add-fibocom-fg132-0x0112-compositio.patch b/queue-5.15/net-usb-qmi_wwan-add-fibocom-fg132-0x0112-compositio.patch new file mode 100644 index 00000000000..a34124e6050 --- /dev/null +++ b/queue-5.15/net-usb-qmi_wwan-add-fibocom-fg132-0x0112-compositio.patch @@ -0,0 +1,57 @@ +From 98dc5785491252da3094c909cc54db8b646e226c Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 18 Oct 2024 22:52:55 +0200 +Subject: net: usb: qmi_wwan: add Fibocom FG132 0x0112 composition + +From: Reinhard Speyerer + +[ Upstream commit 64761c980cbf71fb7a532a8c7299907ea972a88c ] + +Add Fibocom FG132 0x0112 composition: + +T: Bus=03 Lev=02 Prnt=06 Port=01 Cnt=02 Dev#= 10 Spd=12 MxCh= 0 +D: Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=2cb7 ProdID=0112 Rev= 5.15 +S: Manufacturer=Fibocom Wireless Inc. +S: Product=Fibocom Module +S: SerialNumber=xxxxxxxx +C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA +I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan +E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms +E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms +E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms +I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option +E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms +E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms +I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms +E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms +I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=86(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms +E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms + +Signed-off-by: Reinhard Speyerer + +Link: https://patch.msgid.link/ZxLKp5YZDy-OM0-e@arcor.de +Signed-off-by: Paolo Abeni +Signed-off-by: Sasha Levin +--- + drivers/net/usb/qmi_wwan.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c +index 71ee7a3c3f5b8..74e3ba53f5b44 100644 +--- a/drivers/net/usb/qmi_wwan.c ++++ b/drivers/net/usb/qmi_wwan.c +@@ -1421,6 +1421,7 @@ static const struct usb_device_id products[] = { + {QMI_FIXED_INTF(0x2c7c, 0x0296, 4)}, /* Quectel BG96 */ + {QMI_QUIRK_SET_DTR(0x2c7c, 0x030e, 4)}, /* Quectel EM05GV2 */ + {QMI_QUIRK_SET_DTR(0x2cb7, 0x0104, 4)}, /* Fibocom NL678 series */ ++ {QMI_QUIRK_SET_DTR(0x2cb7, 0x0112, 0)}, /* Fibocom FG132 */ + {QMI_FIXED_INTF(0x0489, 0xe0b4, 0)}, /* Foxconn T77W968 LTE */ + {QMI_FIXED_INTF(0x0489, 0xe0b5, 0)}, /* Foxconn T77W968 LTE with eSIM support*/ + {QMI_FIXED_INTF(0x2692, 0x9025, 4)}, /* Cellient MPL200 (rebranded Qualcomm 05c6:9025) */ +-- +2.43.0 + diff --git a/queue-5.15/series b/queue-5.15/series index 219067a2233..b5b900df622 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -8,3 +8,8 @@ crypto-marvell-cesa-disable-hash-algorithms.patch sound-make-config_snd-depend-on-indirect_iomem-inste.patch drm-vmwgfx-limit-display-layout-ioctl-array-size-to-.patch powerpc-powernv-free-name-on-error-in-opal_event_ini.patch +vdpa-ifcvf-fix-pci_read_config_byte-return-code-hand.patch +fs-fix-uninitialized-value-issue-in-from_kuid-and-fr.patch +hid-multitouch-add-quirk-for-logitech-bolt-receiver-.patch +hid-lenovo-add-support-for-thinkpad-x1-tablet-gen-3-.patch +net-usb-qmi_wwan-add-fibocom-fg132-0x0112-compositio.patch diff --git a/queue-5.15/vdpa-ifcvf-fix-pci_read_config_byte-return-code-hand.patch b/queue-5.15/vdpa-ifcvf-fix-pci_read_config_byte-return-code-hand.patch new file mode 100644 index 00000000000..47d4d426248 --- /dev/null +++ b/queue-5.15/vdpa-ifcvf-fix-pci_read_config_byte-return-code-hand.patch @@ -0,0 +1,41 @@ +From 8b6f294232484f464b431157fa32d33e0bcab0a5 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 17 Oct 2024 09:38:12 +0800 +Subject: vDPA/ifcvf: Fix pci_read_config_byte() return code handling + +From: Yuan Can + +[ Upstream commit 7f8825b2a78ac392d3fbb3a2e65e56d9e39d75e9 ] + +ifcvf_init_hw() uses pci_read_config_byte() that returns +PCIBIOS_* codes. The error handling, however, assumes the codes are +normal errnos because it checks for < 0. +Convert the error check to plain non-zero check. + +Fixes: 5a2414bc454e ("virtio: Intel IFC VF driver for VDPA") +Signed-off-by: Yuan Can +Message-Id: <20241017013812.129952-1-yuancan@huawei.com> +Signed-off-by: Michael S. Tsirkin +Acked-by: Jason Wang +Acked-by: Zhu Lingshan +Signed-off-by: Sasha Levin +--- + drivers/vdpa/ifcvf/ifcvf_base.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/vdpa/ifcvf/ifcvf_base.c b/drivers/vdpa/ifcvf/ifcvf_base.c +index 5091ff9d6c93f..bdadc5714e0e4 100644 +--- a/drivers/vdpa/ifcvf/ifcvf_base.c ++++ b/drivers/vdpa/ifcvf/ifcvf_base.c +@@ -105,7 +105,7 @@ int ifcvf_init_hw(struct ifcvf_hw *hw, struct pci_dev *pdev) + u32 i; + + ret = pci_read_config_byte(pdev, PCI_CAPABILITY_LIST, &pos); +- if (ret < 0) { ++ if (ret) { + IFCVF_ERR(pdev, "Failed to read PCI capability list\n"); + return -EIO; + } +-- +2.43.0 +