From 3f615bd8b501218303d39082dd1b06ac67d138ea Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 9 Jan 2020 10:24:56 +0100 Subject: [PATCH] 5.4-stable patches added patches: powerpc-pmem-fix-kernel-crash-due-to-wrong-range-value-usage-in-flush_dcache_range.patch --- ...ge-value-usage-in-flush_dcache_range.patch | 59 +++++++++++++++++++ queue-5.4/series | 1 + 2 files changed, 60 insertions(+) create mode 100644 queue-5.4/powerpc-pmem-fix-kernel-crash-due-to-wrong-range-value-usage-in-flush_dcache_range.patch create mode 100644 queue-5.4/series diff --git a/queue-5.4/powerpc-pmem-fix-kernel-crash-due-to-wrong-range-value-usage-in-flush_dcache_range.patch b/queue-5.4/powerpc-pmem-fix-kernel-crash-due-to-wrong-range-value-usage-in-flush_dcache_range.patch new file mode 100644 index 00000000000..d9a1661cf65 --- /dev/null +++ b/queue-5.4/powerpc-pmem-fix-kernel-crash-due-to-wrong-range-value-usage-in-flush_dcache_range.patch @@ -0,0 +1,59 @@ +From 6f4679b956741d2da6ad3ebb738cbe1264ac8781 Mon Sep 17 00:00:00 2001 +From: "Aneesh Kumar K.V" +Date: Wed, 4 Dec 2019 10:59:09 +0530 +Subject: powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range + +From: Aneesh Kumar K.V + +commit 6f4679b956741d2da6ad3ebb738cbe1264ac8781 upstream. + +This patch fix the below kernel crash. + + BUG: Unable to handle kernel data access on read at 0xc000000380000000 + Faulting instruction address: 0xc00000000008b6f0 +cpu 0x5: Vector: 300 (Data Access) at [c0000000d8587790] + pc: c00000000008b6f0: arch_remove_memory+0x150/0x210 + lr: c00000000008b720: arch_remove_memory+0x180/0x210 + sp: c0000000d8587a20 + msr: 800000000280b033 + dar: c000000380000000 + dsisr: 40000000 + current = 0xc0000000d8558600 + paca = 0xc00000000fff8f00 irqmask: 0x03 irq_happened: 0x01 + pid = 1220, comm = ndctl +enter ? for help + memunmap_pages+0x33c/0x410 + devm_action_release+0x30/0x50 + release_nodes+0x30c/0x3a0 + device_release_driver_internal+0x178/0x240 + unbind_store+0x74/0x190 + drv_attr_store+0x44/0x60 + sysfs_kf_write+0x74/0xa0 + kernfs_fop_write+0x1b0/0x260 + __vfs_write+0x3c/0x70 + vfs_write+0xe4/0x200 + ksys_write+0x7c/0x140 + system_call+0x5c/0x68 + +Fixes: 076265907cf9 ("powerpc: Chunk calls to flush_dcache_range in arch_*_memory") +Reported-by: Sachin Sant +Signed-off-by: Aneesh Kumar K.V +Signed-off-by: Michael Ellerman +Link: https://lore.kernel.org/r/20191204052909.59145-1-aneesh.kumar@linux.ibm.com +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/mm/mem.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/powerpc/mm/mem.c ++++ b/arch/powerpc/mm/mem.c +@@ -120,7 +120,7 @@ static void flush_dcache_range_chunked(u + unsigned long i; + + for (i = start; i < stop; i += chunk) { +- flush_dcache_range(i, min(stop, start + chunk)); ++ flush_dcache_range(i, min(stop, i + chunk)); + cond_resched(); + } + } diff --git a/queue-5.4/series b/queue-5.4/series new file mode 100644 index 00000000000..176012f0856 --- /dev/null +++ b/queue-5.4/series @@ -0,0 +1 @@ +powerpc-pmem-fix-kernel-crash-due-to-wrong-range-value-usage-in-flush_dcache_range.patch -- 2.47.3