From: Greg Kroah-Hartman Date: Fri, 28 Apr 2023 07:53:14 +0000 (+0200) Subject: 6.3-stable patches X-Git-Tag: v5.15.110~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9cb583a8e0253b29d53b72b3b9b06b790076d134;p=thirdparty%2Fkernel%2Fstable-queue.git 6.3-stable patches added patches: btrfs-fix-uninitialized-variable-warnings.patch driver-core-don-t-require-dynamic_debug-for-initcall_debug-probe-timing.patch mm-mremap-fix-vm_pgoff-in-vma_merge-case-3.patch usb-serial-option-add-unisoc-vendor-and-tozed-lt70c-product.patch --- diff --git a/queue-6.3/btrfs-fix-uninitialized-variable-warnings.patch b/queue-6.3/btrfs-fix-uninitialized-variable-warnings.patch new file mode 100644 index 00000000000..b012913d1e8 --- /dev/null +++ b/queue-6.3/btrfs-fix-uninitialized-variable-warnings.patch @@ -0,0 +1,64 @@ +From 8ba7d5f5ba931be68a94b8c91bcced1622934e7a Mon Sep 17 00:00:00 2001 +From: Genjian Zhang +Date: Fri, 24 Mar 2023 10:08:38 +0800 +Subject: btrfs: fix uninitialized variable warnings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Genjian Zhang + +commit 8ba7d5f5ba931be68a94b8c91bcced1622934e7a upstream. + +There are some warnings on older compilers (gcc 10, 7) or non-x86_64 +architectures (aarch64). As btrfs wants to enable -Wmaybe-uninitialized +by default, fix the warnings even though it's not necessary on recent +compilers (gcc 12+). + +../fs/btrfs/volumes.c: In function ‘btrfs_init_new_device’: +../fs/btrfs/volumes.c:2703:3: error: ‘seed_devices’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + 2703 | btrfs_setup_sprout(fs_info, seed_devices); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +../fs/btrfs/send.c: In function ‘get_cur_inode_state’: +../include/linux/compiler.h:70:32: error: ‘right_gen’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + 70 | (__if_trace.miss_hit[1]++,1) : \ + | ^ +../fs/btrfs/send.c:1878:6: note: ‘right_gen’ was declared here + 1878 | u64 right_gen; + | ^~~~~~~~~ + +Reported-by: k2ci +Signed-off-by: Genjian Zhang +Reviewed-by: David Sterba +[ update changelog ] +Signed-off-by: David Sterba +Cc: Ammar Faizi +Signed-off-by: Greg Kroah-Hartman +--- + fs/btrfs/send.c | 2 +- + fs/btrfs/volumes.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/fs/btrfs/send.c ++++ b/fs/btrfs/send.c +@@ -1875,7 +1875,7 @@ static int get_cur_inode_state(struct se + int left_ret; + int right_ret; + u64 left_gen; +- u64 right_gen; ++ u64 right_gen = 0; + struct btrfs_inode_info info; + + ret = get_inode_info(sctx->send_root, ino, &info); +--- a/fs/btrfs/volumes.c ++++ b/fs/btrfs/volumes.c +@@ -2618,7 +2618,7 @@ int btrfs_init_new_device(struct btrfs_f + struct block_device *bdev; + struct super_block *sb = fs_info->sb; + struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; +- struct btrfs_fs_devices *seed_devices; ++ struct btrfs_fs_devices *seed_devices = NULL; + u64 orig_super_total_bytes; + u64 orig_super_num_devices; + int ret = 0; diff --git a/queue-6.3/driver-core-don-t-require-dynamic_debug-for-initcall_debug-probe-timing.patch b/queue-6.3/driver-core-don-t-require-dynamic_debug-for-initcall_debug-probe-timing.patch new file mode 100644 index 00000000000..bac426c16bf --- /dev/null +++ b/queue-6.3/driver-core-don-t-require-dynamic_debug-for-initcall_debug-probe-timing.patch @@ -0,0 +1,46 @@ +From e2f06aa885081e1391916367f53bad984714b4db Mon Sep 17 00:00:00 2001 +From: Stephen Boyd +Date: Wed, 12 Apr 2023 15:58:42 -0700 +Subject: driver core: Don't require dynamic_debug for initcall_debug probe timing + +From: Stephen Boyd + +commit e2f06aa885081e1391916367f53bad984714b4db upstream. + +Don't require the use of dynamic debug (or modification of the kernel to +add a #define DEBUG to the top of this file) to get the printk message +about driver probe timing. This printk is only emitted when +initcall_debug is enabled on the kernel commandline, and it isn't +immediately obvious that you have to do something else to debug boot +timing issues related to driver probe. Add a comment too so it doesn't +get converted back to pr_debug(). + +Fixes: eb7fbc9fb118 ("driver core: Add missing '\n' in log messages") +Cc: stable +Cc: Christophe JAILLET +Cc: Brian Norris +Reviewed-by: Brian Norris +Acked-by: Randy Dunlap +Signed-off-by: Stephen Boyd +Link: https://lore.kernel.org/r/20230412225842.3196599-1-swboyd@chromium.org +Signed-off-by: Greg Kroah-Hartman +--- + drivers/base/dd.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- a/drivers/base/dd.c ++++ b/drivers/base/dd.c +@@ -708,7 +708,12 @@ static int really_probe_debug(struct dev + calltime = ktime_get(); + ret = really_probe(dev, drv); + rettime = ktime_get(); +- pr_debug("probe of %s returned %d after %lld usecs\n", ++ /* ++ * Don't change this to pr_debug() because that requires ++ * CONFIG_DYNAMIC_DEBUG and we want a simple 'initcall_debug' on the ++ * kernel commandline to print this all the time at the debug level. ++ */ ++ printk(KERN_DEBUG "probe of %s returned %d after %lld usecs\n", + dev_name(dev), ret, ktime_us_delta(rettime, calltime)); + return ret; + } diff --git a/queue-6.3/mm-mremap-fix-vm_pgoff-in-vma_merge-case-3.patch b/queue-6.3/mm-mremap-fix-vm_pgoff-in-vma_merge-case-3.patch new file mode 100644 index 00000000000..3b299bf0cd1 --- /dev/null +++ b/queue-6.3/mm-mremap-fix-vm_pgoff-in-vma_merge-case-3.patch @@ -0,0 +1,44 @@ +From 7e7757876f258d99266e7b3c559639289a2a45fe Mon Sep 17 00:00:00 2001 +From: Vlastimil Babka +Date: Thu, 27 Apr 2023 16:09:59 +0200 +Subject: mm/mremap: fix vm_pgoff in vma_merge() case 3 + +From: Vlastimil Babka + +commit 7e7757876f258d99266e7b3c559639289a2a45fe upstream. + +After upgrading build guests to v6.3, rpm started segfaulting for +specific packages, which was bisected to commit 0503ea8f5ba7 ("mm/mmap: +remove __vma_adjust()"). rpm is doing many mremap() operations with file +mappings of its db. The problem is that in vma_merge() case 3 (we merge +with the next vma, expanding it downwards) vm_pgoff is not adjusted as +it should when vm_start changes. As a result the rpm process most likely +sees data from the wrong offset of the file. Fix the vm_pgoff +calculation. + +For case 8 this is a non-functional change as the resulting vm_pgoff is +the same. + +Reported-and-bisected-by: Jiri Slaby +Reported-and-tested-by: Fabian Vogt +Link: https://bugzilla.suse.com/show_bug.cgi?id=1210903 +Fixes: 0503ea8f5ba7 ("mm/mmap: remove __vma_adjust()") +Signed-off-by: Vlastimil Babka +Cc: +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + mm/mmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/mm/mmap.c ++++ b/mm/mmap.c +@@ -978,7 +978,7 @@ struct vm_area_struct *vma_merge(struct + vma = next; /* case 3 */ + vma_start = addr; + vma_end = next->vm_end; +- vma_pgoff = mid->vm_pgoff; ++ vma_pgoff = next->vm_pgoff - pglen; + err = 0; + if (mid != next) { /* case 8 */ + remove = mid; diff --git a/queue-6.3/series b/queue-6.3/series index 3903e61a96e..951c60c9635 100644 --- a/queue-6.3/series +++ b/queue-6.3/series @@ -5,3 +5,7 @@ fsverity-explicitly-check-for-buffer-overflow-in-build_merkle_tree.patch gpiolib-acpi-add-a-ignore-wakeup-quirk-for-clevo-nl5xnu.patch bluetooth-perform-careful-capability-checks-in-hci_sock_ioctl.patch wifi-brcmfmac-add-cypress-43439-sdio-ids.patch +btrfs-fix-uninitialized-variable-warnings.patch +mm-mremap-fix-vm_pgoff-in-vma_merge-case-3.patch +usb-serial-option-add-unisoc-vendor-and-tozed-lt70c-product.patch +driver-core-don-t-require-dynamic_debug-for-initcall_debug-probe-timing.patch diff --git a/queue-6.3/usb-serial-option-add-unisoc-vendor-and-tozed-lt70c-product.patch b/queue-6.3/usb-serial-option-add-unisoc-vendor-and-tozed-lt70c-product.patch new file mode 100644 index 00000000000..ae5ef84930f --- /dev/null +++ b/queue-6.3/usb-serial-option-add-unisoc-vendor-and-tozed-lt70c-product.patch @@ -0,0 +1,93 @@ +From a095edfc15f0832e046ae23964e249ef5c95af87 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= +Date: Mon, 17 Apr 2023 18:20:03 +0300 +Subject: USB: serial: option: add UNISOC vendor and TOZED LT70C product +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Arınç ÜNAL + +commit a095edfc15f0832e046ae23964e249ef5c95af87 upstream. + +Add UNISOC vendor ID and TOZED LT70-C modem which is based from UNISOC +SL8563. The modem supports the NCM mode. Interface 0 is used for running +the AT commands. Interface 12 is the ADB interface. + +T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=1782 ProdID=4055 Rev=04.04 +S: Manufacturer=Unisoc Phone +S: Product=Unisoc Phone +S: SerialNumber= +C: #Ifs=14 Cfg#= 1 Atr=c0 MxPwr=500mA +I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0d Prot=00 Driver=cdc_ncm +E: Ad=82(I) Atr=03(Int.) MxPS= 16 Ivl=32ms +I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm +E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#=10 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#=11 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#=12 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) +E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=8d(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#=13 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#= 2 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0d Prot=00 Driver=cdc_ncm +E: Ad=84(I) Atr=03(Int.) MxPS= 16 Ivl=32ms +I: If#= 3 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#= 4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0d Prot=00 Driver=cdc_ncm +E: Ad=86(I) Atr=03(Int.) MxPS= 16 Ivl=32ms +I: If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm +E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#= 6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0d Prot=00 Driver=cdc_ncm +E: Ad=88(I) Atr=03(Int.) MxPS= 16 Ivl=32ms +I: If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm +E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#= 9 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +Signed-off-by: Arınç ÜNAL +Link: https://lore.kernel.org/r/20230417152003.243248-1-arinc.unal@arinc9.com +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/serial/option.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -595,6 +595,11 @@ static void option_instat_callback(struc + #define SIERRA_VENDOR_ID 0x1199 + #define SIERRA_PRODUCT_EM9191 0x90d3 + ++/* UNISOC (Spreadtrum) products */ ++#define UNISOC_VENDOR_ID 0x1782 ++/* TOZED LT70-C based on UNISOC SL8563 uses UNISOC's vendor ID */ ++#define TOZED_PRODUCT_LT70C 0x4055 ++ + /* Device flags */ + + /* Highest interface number which can be used with NCTRL() and RSVD() */ +@@ -2225,6 +2230,7 @@ static const struct usb_device_id option + { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, + { } /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(usb, option_ids);