From: Sasha Levin Date: Mon, 29 Jun 2020 04:11:22 +0000 (-0400) Subject: Drop risc-v-acquire-mmap-lock-before-invoking-walk_page_range.patch X-Git-Tag: v5.7.7~39^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5ba2b89341b900328dc62779fdb64d1a50b824d3;p=thirdparty%2Fkernel%2Fstable-queue.git Drop risc-v-acquire-mmap-lock-before-invoking-walk_page_range.patch Signed-off-by: Sasha Levin --- diff --git a/queue-5.7/risc-v-acquire-mmap-lock-before-invoking-walk_page_range.patch b/queue-5.7/risc-v-acquire-mmap-lock-before-invoking-walk_page_range.patch deleted file mode 100644 index 01a033136c7..00000000000 --- a/queue-5.7/risc-v-acquire-mmap-lock-before-invoking-walk_page_range.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 0e2c09011d4de4161f615ff860a605a9186cf62a Mon Sep 17 00:00:00 2001 -From: Atish Patra -Date: Wed, 17 Jun 2020 13:37:32 -0700 -Subject: RISC-V: Acquire mmap lock before invoking walk_page_range - -From: Atish Patra - -commit 0e2c09011d4de4161f615ff860a605a9186cf62a upstream. - -As per walk_page_range documentation, mmap lock should be acquired by the -caller before invoking walk_page_range. mmap_assert_locked gets triggered -without that. The details can be found here. - -http://lists.infradead.org/pipermail/linux-riscv/2020-June/010335.html - -Fixes: 395a21ff859c(riscv: add ARCH_HAS_SET_DIRECT_MAP support) -Signed-off-by: Atish Patra -Reviewed-by: Michel Lespinasse -Reviewed-by: Zong Li -Signed-off-by: Palmer Dabbelt -Signed-off-by: Greg Kroah-Hartman - ---- - arch/riscv/mm/pageattr.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - ---- a/arch/riscv/mm/pageattr.c -+++ b/arch/riscv/mm/pageattr.c -@@ -151,6 +151,7 @@ int set_memory_nx(unsigned long addr, in - - int set_direct_map_invalid_noflush(struct page *page) - { -+ int ret; - unsigned long start = (unsigned long)page_address(page); - unsigned long end = start + PAGE_SIZE; - struct pageattr_masks masks = { -@@ -158,11 +159,16 @@ int set_direct_map_invalid_noflush(struc - .clear_mask = __pgprot(_PAGE_PRESENT) - }; - -- return walk_page_range(&init_mm, start, end, &pageattr_ops, &masks); -+ mmap_read_lock(&init_mm); -+ ret = walk_page_range(&init_mm, start, end, &pageattr_ops, &masks); -+ mmap_read_unlock(&init_mm); -+ -+ return ret; - } - - int set_direct_map_default_noflush(struct page *page) - { -+ int ret; - unsigned long start = (unsigned long)page_address(page); - unsigned long end = start + PAGE_SIZE; - struct pageattr_masks masks = { -@@ -170,7 +176,11 @@ int set_direct_map_default_noflush(struc - .clear_mask = __pgprot(0) - }; - -- return walk_page_range(&init_mm, start, end, &pageattr_ops, &masks); -+ mmap_read_lock(&init_mm); -+ ret = walk_page_range(&init_mm, start, end, &pageattr_ops, &masks); -+ mmap_read_unlock(&init_mm); -+ -+ return ret; - } - - void __kernel_map_pages(struct page *page, int numpages, int enable) diff --git a/queue-5.7/series b/queue-5.7/series index c4a53a9d000..4b2ece50cdd 100644 --- a/queue-5.7/series +++ b/queue-5.7/series @@ -87,5 +87,4 @@ xhci-fix-incorrect-ep_state_mask.patch xhci-fix-enumeration-issue-when-setting-max-packet-size-for-fs-devices.patch xhci-return-if-xhci-doesn-t-support-lpm.patch cdc-acm-add-disable_echo-quirk-for-microchip-smsc-chip.patch -risc-v-acquire-mmap-lock-before-invoking-walk_page_range.patch loop-replace-kill_bdev-with-invalidate_bdev.patch