From: Greg Kroah-Hartman Date: Mon, 21 Feb 2022 07:03:30 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.9.303~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5a4200c906b8686df8bb3f994a527fd34e24a391;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch --- diff --git a/queue-4.19/edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch b/queue-4.19/edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch new file mode 100644 index 00000000000..07297ba52fc --- /dev/null +++ b/queue-4.19/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 +@@ -265,7 +265,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.19/series b/queue-4.19/series index fe9a1ba6e57..46755f148b8 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -38,6 +38,7 @@ block-wbt-fix-negative-inflight-counter-when-remove-scsi-device.patch nfs-lookup_directory-is-also-ok-with-symlinks.patch nfs-do-not-report-writeback-errors-in-nfs_getattr.patch mtd-rawnand-qcom-fix-clock-sequencing-in-qcom_nandc_probe.patch +edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch mtd-rawnand-brcmnand-refactored-code-to-introduce-he.patch mtd-rawnand-brcmnand-fixed-incorrect-sub-page-ecc-st.patch drivers-hv-vmbus-expose-monitor-data-only-when-monit.patch