From: Sasha Levin Date: Thu, 9 Jan 2020 04:34:10 +0000 (-0500) Subject: fixes for 5.4 X-Git-Tag: v5.4.10~2^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5e8a6d7b12788e624add6cbe596d76fdbb210f2b;p=thirdparty%2Fkernel%2Fstable-queue.git fixes for 5.4 Signed-off-by: Sasha Levin --- diff --git a/queue-5.4/powerpc-pmem-fix-kernel-crash-due-to-wrong-range-val.patch b/queue-5.4/powerpc-pmem-fix-kernel-crash-due-to-wrong-range-val.patch new file mode 100644 index 00000000000..a4a86e89e00 --- /dev/null +++ b/queue-5.4/powerpc-pmem-fix-kernel-crash-due-to-wrong-range-val.patch @@ -0,0 +1,64 @@ +From 22a61938ecc1f32cc6ce8221a10e10053e65f64d Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ Upstream commit 6f4679b956741d2da6ad3ebb738cbe1264ac8781 ] + +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: Sasha Levin +--- + arch/powerpc/mm/mem.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c +index 460afa415434..d30a2e6e68b4 100644 +--- a/arch/powerpc/mm/mem.c ++++ b/arch/powerpc/mm/mem.c +@@ -120,7 +120,7 @@ static void flush_dcache_range_chunked(unsigned long start, unsigned long stop, + 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(); + } + } +-- +2.20.1 + diff --git a/queue-5.4/series b/queue-5.4/series index 2a699f66703..ee74e81f1d9 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -188,3 +188,4 @@ hsr-avoid-debugfs-warning-message-when-module-is-rem.patch hsr-fix-error-handling-routine-in-hsr_dev_finalize.patch hsr-fix-a-race-condition-in-node-list-insertion-and-.patch mm-hugetlb-defer-freeing-of-huge-pages-if-in-non-tas.patch +powerpc-pmem-fix-kernel-crash-due-to-wrong-range-val.patch