From: Greg Kroah-Hartman Date: Tue, 25 Oct 2022 12:55:17 +0000 (+0200) Subject: drop x86-entry-work-around-clang-__bdos-bug.patch X-Git-Tag: v6.0.4~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3d320e500bdbb0da5c0c30def13c208941bb2e35;p=thirdparty%2Fkernel%2Fstable-queue.git drop x86-entry-work-around-clang-__bdos-bug.patch From 4.14, 4.19, and 5.4 --- diff --git a/queue-4.14/series b/queue-4.14/series index 6821ec96737..45ec48d7390 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -162,7 +162,6 @@ acpi-video-add-toshiba-satellite-portege-z830-quirk.patch mips-bcm47xx-cast-memcmp-of-function-to-void.patch powercap-intel_rapl-fix-ubsan-shift-out-of-bounds-is.patch thermal-intel_powerclamp-use-get_cpu-instead-of-smp_.patch -x86-entry-work-around-clang-__bdos-bug.patch nfsd-return-nfserr_serverfault-if-splice_ok-but-buf-.patch wifi-brcmfmac-fix-invalid-address-access-when-enabli.patch openvswitch-fix-double-reporting-of-drops-in-dropwat.patch diff --git a/queue-4.14/x86-entry-work-around-clang-__bdos-bug.patch b/queue-4.14/x86-entry-work-around-clang-__bdos-bug.patch deleted file mode 100644 index 444d95ee162..00000000000 --- a/queue-4.14/x86-entry-work-around-clang-__bdos-bug.patch +++ /dev/null @@ -1,66 +0,0 @@ -From f1b4f28618b408ecd7e79649ee4c509f12961bd8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 19 Sep 2022 19:45:14 -0700 -Subject: x86/entry: Work around Clang __bdos() bug - -From: Kees Cook - -[ Upstream commit 3e1730842f142add55dc658929221521a9ea62b6 ] - -Clang produces a false positive when building with CONFIG_FORTIFY_SOURCE=y -and CONFIG_UBSAN_BOUNDS=y when operating on an array with a dynamic -offset. Work around this by using a direct assignment of an empty -instance. Avoids this warning: - -../include/linux/fortify-string.h:309:4: warning: call to __write_overflow_field declared with 'warn -ing' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wat -tribute-warning] - __write_overflow_field(p_size_field, size); - ^ - -which was isolated to the memset() call in xen_load_idt(). - -Note that this looks very much like another bug that was worked around: -https://github.com/ClangBuiltLinux/linux/issues/1592 - -Cc: Juergen Gross -Cc: Boris Ostrovsky -Cc: Thomas Gleixner -Cc: Ingo Molnar -Cc: Borislav Petkov -Cc: Dave Hansen -Cc: x86@kernel.org -Cc: "H. Peter Anvin" -Cc: xen-devel@lists.xenproject.org -Reviewed-by: Boris Ostrovsky -Link: https://lore.kernel.org/lkml/41527d69-e8ab-3f86-ff37-6b298c01d5bc@oracle.com -Signed-off-by: Kees Cook -Signed-off-by: Sasha Levin ---- - arch/x86/xen/enlighten_pv.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c -index 88d084a57b14..3f38541c28d2 100644 ---- a/arch/x86/xen/enlighten_pv.c -+++ b/arch/x86/xen/enlighten_pv.c -@@ -753,6 +753,7 @@ static void xen_load_idt(const struct desc_ptr *desc) - { - static DEFINE_SPINLOCK(lock); - static struct trap_info traps[257]; -+ static const struct trap_info zero = { }; - unsigned out; - - trace_xen_cpu_load_idt(desc); -@@ -762,7 +763,7 @@ static void xen_load_idt(const struct desc_ptr *desc) - memcpy(this_cpu_ptr(&idt_desc), desc, sizeof(idt_desc)); - - out = xen_convert_trap_info(desc, traps, false); -- memset(&traps[out], 0, sizeof(traps[0])); -+ traps[out] = zero; - - xen_mc_flush(); - if (HYPERVISOR_set_trap_table(traps)) --- -2.35.1 - diff --git a/queue-4.19/series b/queue-4.19/series index b0406d0d283..a7abe030ec4 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -171,7 +171,6 @@ acpi-video-add-toshiba-satellite-portege-z830-quirk.patch mips-bcm47xx-cast-memcmp-of-function-to-void.patch powercap-intel_rapl-fix-ubsan-shift-out-of-bounds-is.patch thermal-intel_powerclamp-use-get_cpu-instead-of-smp_.patch -x86-entry-work-around-clang-__bdos-bug.patch nfsd-return-nfserr_serverfault-if-splice_ok-but-buf-.patch wifi-brcmfmac-fix-invalid-address-access-when-enabli.patch openvswitch-fix-double-reporting-of-drops-in-dropwat.patch diff --git a/queue-4.19/x86-entry-work-around-clang-__bdos-bug.patch b/queue-4.19/x86-entry-work-around-clang-__bdos-bug.patch deleted file mode 100644 index 2ac75982df5..00000000000 --- a/queue-4.19/x86-entry-work-around-clang-__bdos-bug.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 9e7ded7771dcd598caa07ce83f226733267b7975 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 19 Sep 2022 19:45:14 -0700 -Subject: x86/entry: Work around Clang __bdos() bug - -From: Kees Cook - -[ Upstream commit 3e1730842f142add55dc658929221521a9ea62b6 ] - -Clang produces a false positive when building with CONFIG_FORTIFY_SOURCE=y -and CONFIG_UBSAN_BOUNDS=y when operating on an array with a dynamic -offset. Work around this by using a direct assignment of an empty -instance. Avoids this warning: - -../include/linux/fortify-string.h:309:4: warning: call to __write_overflow_field declared with 'warn -ing' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wat -tribute-warning] - __write_overflow_field(p_size_field, size); - ^ - -which was isolated to the memset() call in xen_load_idt(). - -Note that this looks very much like another bug that was worked around: -https://github.com/ClangBuiltLinux/linux/issues/1592 - -Cc: Juergen Gross -Cc: Boris Ostrovsky -Cc: Thomas Gleixner -Cc: Ingo Molnar -Cc: Borislav Petkov -Cc: Dave Hansen -Cc: x86@kernel.org -Cc: "H. Peter Anvin" -Cc: xen-devel@lists.xenproject.org -Reviewed-by: Boris Ostrovsky -Link: https://lore.kernel.org/lkml/41527d69-e8ab-3f86-ff37-6b298c01d5bc@oracle.com -Signed-off-by: Kees Cook -Signed-off-by: Sasha Levin ---- - arch/x86/xen/enlighten_pv.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c -index 8f1ff8dad2ce..04bfd9c3987b 100644 ---- a/arch/x86/xen/enlighten_pv.c -+++ b/arch/x86/xen/enlighten_pv.c -@@ -752,6 +752,7 @@ static void xen_load_idt(const struct desc_ptr *desc) - { - static DEFINE_SPINLOCK(lock); - static struct trap_info traps[257]; -+ static const struct trap_info zero = { }; - unsigned out; - - trace_xen_cpu_load_idt(desc); -@@ -761,7 +762,7 @@ static void xen_load_idt(const struct desc_ptr *desc) - memcpy(this_cpu_ptr(&idt_desc), desc, sizeof(idt_desc)); - - out = xen_convert_trap_info(desc, traps, false); -- memset(&traps[out], 0, sizeof(traps[0])); -+ traps[out] = zero; - - xen_mc_flush(); - if (HYPERVISOR_set_trap_table(traps)) --- -2.35.1 - diff --git a/queue-5.4/series b/queue-5.4/series index 486631e06be..7c9eb96339a 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -186,7 +186,6 @@ acpi-video-add-toshiba-satellite-portege-z830-quirk.patch mips-bcm47xx-cast-memcmp-of-function-to-void.patch powercap-intel_rapl-fix-ubsan-shift-out-of-bounds-is.patch thermal-intel_powerclamp-use-get_cpu-instead-of-smp_.patch -x86-entry-work-around-clang-__bdos-bug.patch nfsd-return-nfserr_serverfault-if-splice_ok-but-buf-.patch wifi-brcmfmac-fix-invalid-address-access-when-enabli.patch bpftool-clear-errno-after-libcap-s-checks.patch diff --git a/queue-5.4/x86-entry-work-around-clang-__bdos-bug.patch b/queue-5.4/x86-entry-work-around-clang-__bdos-bug.patch deleted file mode 100644 index d5391cd2e8d..00000000000 --- a/queue-5.4/x86-entry-work-around-clang-__bdos-bug.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 09aef0473b1b1f38de9591dc12b498ca4163b981 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 19 Sep 2022 19:45:14 -0700 -Subject: x86/entry: Work around Clang __bdos() bug - -From: Kees Cook - -[ Upstream commit 3e1730842f142add55dc658929221521a9ea62b6 ] - -Clang produces a false positive when building with CONFIG_FORTIFY_SOURCE=y -and CONFIG_UBSAN_BOUNDS=y when operating on an array with a dynamic -offset. Work around this by using a direct assignment of an empty -instance. Avoids this warning: - -../include/linux/fortify-string.h:309:4: warning: call to __write_overflow_field declared with 'warn -ing' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wat -tribute-warning] - __write_overflow_field(p_size_field, size); - ^ - -which was isolated to the memset() call in xen_load_idt(). - -Note that this looks very much like another bug that was worked around: -https://github.com/ClangBuiltLinux/linux/issues/1592 - -Cc: Juergen Gross -Cc: Boris Ostrovsky -Cc: Thomas Gleixner -Cc: Ingo Molnar -Cc: Borislav Petkov -Cc: Dave Hansen -Cc: x86@kernel.org -Cc: "H. Peter Anvin" -Cc: xen-devel@lists.xenproject.org -Reviewed-by: Boris Ostrovsky -Link: https://lore.kernel.org/lkml/41527d69-e8ab-3f86-ff37-6b298c01d5bc@oracle.com -Signed-off-by: Kees Cook -Signed-off-by: Sasha Levin ---- - arch/x86/xen/enlighten_pv.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c -index 65cf405cd975..26b35e75b701 100644 ---- a/arch/x86/xen/enlighten_pv.c -+++ b/arch/x86/xen/enlighten_pv.c -@@ -759,6 +759,7 @@ static void xen_load_idt(const struct desc_ptr *desc) - { - static DEFINE_SPINLOCK(lock); - static struct trap_info traps[257]; -+ static const struct trap_info zero = { }; - unsigned out; - - trace_xen_cpu_load_idt(desc); -@@ -768,7 +769,7 @@ static void xen_load_idt(const struct desc_ptr *desc) - memcpy(this_cpu_ptr(&idt_desc), desc, sizeof(idt_desc)); - - out = xen_convert_trap_info(desc, traps, false); -- memset(&traps[out], 0, sizeof(traps[0])); -+ traps[out] = zero; - - xen_mc_flush(); - if (HYPERVISOR_set_trap_table(traps)) --- -2.35.1 -