From: Greg Kroah-Hartman Date: Mon, 13 May 2024 13:42:05 +0000 (+0200) Subject: 6.1-stable patches X-Git-Tag: v4.19.314~48 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=605c783b9f4a5c686707b73a7a562c794acbeb02;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: btrfs-add-missing-mutex_unlock-in-btrfs_relocate_sys_chunks.patch mm-slab-make-__free-kfree-accept-error-pointers.patch --- diff --git a/queue-6.1/btrfs-add-missing-mutex_unlock-in-btrfs_relocate_sys_chunks.patch b/queue-6.1/btrfs-add-missing-mutex_unlock-in-btrfs_relocate_sys_chunks.patch new file mode 100644 index 00000000000..8cfe3e2db3a --- /dev/null +++ b/queue-6.1/btrfs-add-missing-mutex_unlock-in-btrfs_relocate_sys_chunks.patch @@ -0,0 +1,35 @@ +From 9af503d91298c3f2945e73703f0e00995be08c30 Mon Sep 17 00:00:00 2001 +From: Dominique Martinet +Date: Fri, 19 Apr 2024 11:22:48 +0900 +Subject: btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks() + +From: Dominique Martinet + +commit 9af503d91298c3f2945e73703f0e00995be08c30 upstream. + +The previous patch that replaced BUG_ON by error handling forgot to +unlock the mutex in the error path. + +Link: https://lore.kernel.org/all/Zh%2fHpAGFqa7YAFuM@duo.ucw.cz +Reported-by: Pavel Machek +Fixes: 7411055db5ce ("btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks()") +CC: stable@vger.kernel.org +Reviewed-by: Pavel Machek +Signed-off-by: Dominique Martinet +Reviewed-by: David Sterba +Signed-off-by: David Sterba +Signed-off-by: Greg Kroah-Hartman +--- + fs/btrfs/volumes.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/fs/btrfs/volumes.c ++++ b/fs/btrfs/volumes.c +@@ -3397,6 +3397,7 @@ again: + * alignment and size). + */ + ret = -EUCLEAN; ++ mutex_unlock(&fs_info->reclaim_bgs_lock); + goto error; + } + diff --git a/queue-6.1/mm-slab-make-__free-kfree-accept-error-pointers.patch b/queue-6.1/mm-slab-make-__free-kfree-accept-error-pointers.patch new file mode 100644 index 00000000000..c47d9eec3a0 --- /dev/null +++ b/queue-6.1/mm-slab-make-__free-kfree-accept-error-pointers.patch @@ -0,0 +1,42 @@ +From cd7eb8f83fcf258f71e293f7fc52a70be8ed0128 Mon Sep 17 00:00:00 2001 +From: Dan Carpenter +Date: Sun, 28 Apr 2024 17:26:44 +0300 +Subject: mm/slab: make __free(kfree) accept error pointers + +From: Dan Carpenter + +commit cd7eb8f83fcf258f71e293f7fc52a70be8ed0128 upstream. + +Currently, if an automatically freed allocation is an error pointer that +will lead to a crash. An example of this is in wm831x_gpio_dbg_show(). + + 171 char *label __free(kfree) = gpiochip_dup_line_label(chip, i); + 172 if (IS_ERR(label)) { + 173 dev_err(wm831x->dev, "Failed to duplicate label\n"); + 174 continue; + 175 } + +The auto clean up function should check for error pointers as well, +otherwise we're going to keep hitting issues like this. + +Fixes: 54da6a092431 ("locking: Introduce __cleanup() based infrastructure") +Cc: +Signed-off-by: Dan Carpenter +Acked-by: David Rientjes +Signed-off-by: Vlastimil Babka +Signed-off-by: Greg Kroah-Hartman +--- + include/linux/slab.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/include/linux/slab.h ++++ b/include/linux/slab.h +@@ -198,7 +198,7 @@ void kfree(const void *objp); + void kfree_sensitive(const void *objp); + size_t __ksize(const void *objp); + +-DEFINE_FREE(kfree, void *, if (_T) kfree(_T)) ++DEFINE_FREE(kfree, void *, if (!IS_ERR_OR_NULL(_T)) kfree(_T)) + + /** + * ksize - Report actual allocation size of associated object diff --git a/queue-6.1/series b/queue-6.1/series index 3901733cc97..42488662f80 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -201,3 +201,5 @@ usb-dwc3-core-prevent-phy-suspend-during-init.patch usb-typec-tcpm-unregister-existing-source-caps-before-re-registration.patch usb-typec-tcpm-check-for-port-partner-validity-before-consuming-it.patch alsa-hda-realtek-fix-mute-led-of-hp-laptop-15-da3001tu.patch +btrfs-add-missing-mutex_unlock-in-btrfs_relocate_sys_chunks.patch +mm-slab-make-__free-kfree-accept-error-pointers.patch