From: Greg Kroah-Hartman Date: Wed, 6 Nov 2024 12:01:03 +0000 (+0100) Subject: 5.4-stable patches X-Git-Tag: v4.19.323~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=603e424707548f34f2dc36d53bfe6545d766ae0a;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: mac80211-always-have-ieee80211_sta_restart.patch mm-krealloc-fix-mte-false-alarm-in-__do_krealloc.patch --- diff --git a/queue-5.4/mac80211-always-have-ieee80211_sta_restart.patch b/queue-5.4/mac80211-always-have-ieee80211_sta_restart.patch new file mode 100644 index 00000000000..a3902c680e8 --- /dev/null +++ b/queue-5.4/mac80211-always-have-ieee80211_sta_restart.patch @@ -0,0 +1,39 @@ +From 3fa5a0f5b0d69e31c6476cd81afeca3cc25a4927 Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Sat, 12 Mar 2022 22:19:58 +0100 +Subject: mac80211: always have ieee80211_sta_restart() + +From: Johannes Berg + +commit 3fa5a0f5b0d69e31c6476cd81afeca3cc25a4927 upstream. + +When CONFIG_PM isn't defined we don't have the function +ieee80211_sta_restart() compiled in, but we always need +it now for firmware restart. Move it out of the ifdef. + +Fixes: 7d352ccf1e99 ("mac80211: Add support to trigger sta disconnect on hardware restart") +Link: https://lore.kernel.org/r/20220312221957.1fa96c72db51.I8ecaa5f9402fede0272161e0531ab930b97fba3e@changeid +Signed-off-by: Johannes Berg +Signed-off-by: Greg Kroah-Hartman +--- + net/mac80211/mlme.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/mac80211/mlme.c ++++ b/net/mac80211/mlme.c +@@ -4563,6 +4563,7 @@ void ieee80211_mgd_quiesce(struct ieee80 + + sdata_unlock(sdata); + } ++#endif + + void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata) + { +@@ -4598,7 +4599,6 @@ void ieee80211_sta_restart(struct ieee80 + + sdata_unlock(sdata); + } +-#endif + + /* interface setup */ + void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata) diff --git a/queue-5.4/mm-krealloc-fix-mte-false-alarm-in-__do_krealloc.patch b/queue-5.4/mm-krealloc-fix-mte-false-alarm-in-__do_krealloc.patch new file mode 100644 index 00000000000..3b9cae6b98b --- /dev/null +++ b/queue-5.4/mm-krealloc-fix-mte-false-alarm-in-__do_krealloc.patch @@ -0,0 +1,75 @@ +From 704573851b51808b45dae2d62059d1d8189138a2 Mon Sep 17 00:00:00 2001 +From: Qun-Wei Lin +Date: Fri, 25 Oct 2024 16:58:11 +0800 +Subject: mm: krealloc: Fix MTE false alarm in __do_krealloc + +From: Qun-Wei Lin + +commit 704573851b51808b45dae2d62059d1d8189138a2 upstream. + +This patch addresses an issue introduced by commit 1a83a716ec233 ("mm: +krealloc: consider spare memory for __GFP_ZERO") which causes MTE +(Memory Tagging Extension) to falsely report a slab-out-of-bounds error. + +The problem occurs when zeroing out spare memory in __do_krealloc. The +original code only considered software-based KASAN and did not account +for MTE. It does not reset the KASAN tag before calling memset, leading +to a mismatch between the pointer tag and the memory tag, resulting +in a false positive. + +Example of the error: +================================================================== +swapper/0: BUG: KASAN: slab-out-of-bounds in __memset+0x84/0x188 +swapper/0: Write at addr f4ffff8005f0fdf0 by task swapper/0/1 +swapper/0: Pointer tag: [f4], memory tag: [fe] +swapper/0: +swapper/0: CPU: 4 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12. +swapper/0: Hardware name: MT6991(ENG) (DT) +swapper/0: Call trace: +swapper/0: dump_backtrace+0xfc/0x17c +swapper/0: show_stack+0x18/0x28 +swapper/0: dump_stack_lvl+0x40/0xa0 +swapper/0: print_report+0x1b8/0x71c +swapper/0: kasan_report+0xec/0x14c +swapper/0: __do_kernel_fault+0x60/0x29c +swapper/0: do_bad_area+0x30/0xdc +swapper/0: do_tag_check_fault+0x20/0x34 +swapper/0: do_mem_abort+0x58/0x104 +swapper/0: el1_abort+0x3c/0x5c +swapper/0: el1h_64_sync_handler+0x80/0xcc +swapper/0: el1h_64_sync+0x68/0x6c +swapper/0: __memset+0x84/0x188 +swapper/0: btf_populate_kfunc_set+0x280/0x3d8 +swapper/0: __register_btf_kfunc_id_set+0x43c/0x468 +swapper/0: register_btf_kfunc_id_set+0x48/0x60 +swapper/0: register_nf_nat_bpf+0x1c/0x40 +swapper/0: nf_nat_init+0xc0/0x128 +swapper/0: do_one_initcall+0x184/0x464 +swapper/0: do_initcall_level+0xdc/0x1b0 +swapper/0: do_initcalls+0x70/0xc0 +swapper/0: do_basic_setup+0x1c/0x28 +swapper/0: kernel_init_freeable+0x144/0x1b8 +swapper/0: kernel_init+0x20/0x1a8 +swapper/0: ret_from_fork+0x10/0x20 +================================================================== + +Fixes: 1a83a716ec233 ("mm: krealloc: consider spare memory for __GFP_ZERO") +Signed-off-by: Qun-Wei Lin +Acked-by: David Rientjes +Signed-off-by: Vlastimil Babka +Signed-off-by: Greg Kroah-Hartman +--- + mm/slab_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/mm/slab_common.c ++++ b/mm/slab_common.c +@@ -1683,7 +1683,7 @@ static __always_inline void *__do_kreall + /* Zero out spare memory. */ + if (want_init_on_alloc(flags)) { + kasan_disable_current(); +- memset((void *)p + new_size, 0, ks - new_size); ++ memset(kasan_reset_tag(p) + new_size, 0, ks - new_size); + kasan_enable_current(); + } + diff --git a/queue-5.4/series b/queue-5.4/series index fb1f4b9b423..20c5f121b29 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -458,3 +458,5 @@ nilfs2-fix-kernel-bug-due-to-missing-clearing-of-checked-flag.patch mm-shmem-fix-data-race-in-shmem_getattr.patch revert-drm-mipi-dsi-set-the-fwnode-for-mipi_dsi_device.patch vt-prevent-kernel-infoleak-in-con_font_get.patch +mac80211-always-have-ieee80211_sta_restart.patch +mm-krealloc-fix-mte-false-alarm-in-__do_krealloc.patch