From: Greg Kroah-Hartman Date: Mon, 21 Feb 2022 07:02:59 +0000 (+0100) Subject: 4.9-stable patches X-Git-Tag: v4.9.303~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e7e7de4e4e97a25368a9f52353fad06c7024a824;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch --- diff --git a/queue-4.9/edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch b/queue-4.9/edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch new file mode 100644 index 00000000000..ab3e9bcb94c --- /dev/null +++ b/queue-4.9/edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch @@ -0,0 +1,45 @@ +From f8efca92ae509c25e0a4bd5d0a86decea4f0c41e Mon Sep 17 00:00:00 2001 +From: Eliav Farber +Date: Thu, 13 Jan 2022 10:06:19 +0000 +Subject: EDAC: Fix calculation of returned address and next offset in edac_align_ptr() + +From: Eliav Farber + +commit f8efca92ae509c25e0a4bd5d0a86decea4f0c41e upstream. + +Do alignment logic properly and use the "ptr" local variable for +calculating the remainder of the alignment. + +This became an issue because struct edac_mc_layer has a size that is not +zero modulo eight, and the next offset that was prepared for the private +data was unaligned, causing an alignment exception. + +The patch in Fixes: which broke this actually wanted to "what we +actually care about is the alignment of the actual pointer that's about +to be returned." But it didn't check that alignment. + +Use the correct variable "ptr" for that. + + [ bp: Massage commit message. ] + +Fixes: 8447c4d15e35 ("edac: Do alignment logic properly in edac_align_ptr()") +Signed-off-by: Eliav Farber +Signed-off-by: Borislav Petkov +Cc: +Link: https://lore.kernel.org/r/20220113100622.12783-2-farbere@amazon.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/edac/edac_mc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/edac/edac_mc.c ++++ b/drivers/edac/edac_mc.c +@@ -199,7 +199,7 @@ void *edac_align_ptr(void **p, unsigned + else + return (char *)ptr; + +- r = (unsigned long)p % align; ++ r = (unsigned long)ptr % align; + + if (r == 0) + return (char *)ptr; diff --git a/queue-4.9/series b/queue-4.9/series index 6fde161b3e9..2d681694d28 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -24,6 +24,7 @@ alsa-hda-fix-missing-codec-probe-on-shenker-dock-15.patch asoc-ops-fix-stereo-change-notifications-in-snd_soc_put_volsw.patch asoc-ops-fix-stereo-change-notifications-in-snd_soc_put_volsw_range.patch nfs-lookup_directory-is-also-ok-with-symlinks.patch +edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch kvm-x86-pmu-use-amd64_raw_event_mask-for-perf_type_r.patch nfs-do-not-report-writeback-errors-in-nfs_getattr.patch ata-libata-core-disable-trim-on-m88v29.patch