# git rev-parse -q --verify 2fcd07b7ccd5fd10b2120d298363e4e6c53ccf9c^{commit} 2fcd07b7ccd5fd10b2120d298363e4e6c53ccf9c already have revision, skipping fetch # git checkout -q -f -B kisskb 2fcd07b7ccd5fd10b2120d298363e4e6c53ccf9c # git clean -qxdf # < git log -1 # commit 2fcd07b7ccd5fd10b2120d298363e4e6c53ccf9c # Author: Liam R. Howlett # Date: Fri Feb 24 16:20:55 2023 -0500 # # mm/mprotect: Fix successful vma_merge() of next in do_mprotect_pkey() # # If mprotect_fixup() successfully calls vma_merge() and replaces vma and # the next vma, then the tmp variable in the do_mprotect_pkey() is not # updated to point to the new vma end. This results in the loop detecting # a gap between VMAs that does not exist. # # Fix the faulty value of tmp by setting it to the end location of the vma # iterator at the end of the loop. # # Link: https://lkml.kernel.org/r/20230224212055.1786100-1-Liam.Howlett@oracle.com # Fixes: 2286a6914c77 ("mm: change mprotect_fixup to vma iterator") # Link: https://lore.kernel.org/linux-mm/20230223120407.729110a6ecd1416ac59d9cb0@linux-foundation.org/ # Signed-off-by: Liam R. Howlett # Reported-by: Bert Karwatzki # Link: https://bugzilla.kernel.org/show_bug.cgi?id=217061 # Tested-by: Bert Karwatzki # Reported-by: Linus Torvalds # Link: https://lore.kernel.org/linux-mm/CAHk-=wjFmVL7NiuxL54qLkoabni_yD-oF9=dpDgETtdsiCbhUg@mail.gmail.com/ # Tested-by: Linus Torvalds # Signed-off-by: Andrew Morton # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/riscv64-linux/bin/riscv64-linux-ld --version # < git log --format=%s --max-count=1 2fcd07b7ccd5fd10b2120d298363e4e6c53ccf9c # < make -s -j 160 ARCH=riscv O=/kisskb/build/linus_riscv-defconfig_riscv-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/riscv64-linux/bin/riscv64-linux- defconfig # < make -s -j 160 ARCH=riscv O=/kisskb/build/linus_riscv-defconfig_riscv-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/riscv64-linux/bin/riscv64-linux- help # make -s -j 160 ARCH=riscv O=/kisskb/build/linus_riscv-defconfig_riscv-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/riscv64-linux/bin/riscv64-linux- olddefconfig # make -s -j 160 ARCH=riscv O=/kisskb/build/linus_riscv-defconfig_riscv-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/riscv64-linux/bin/riscv64-linux- /kisskb/src/net/sched/cls_api.c:141:13: warning: 'tcf_exts_miss_cookie_base_destroy' defined but not used [-Wunused-function] 141 | static void tcf_exts_miss_cookie_base_destroy(struct tcf_exts *exts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Completed OK # rm -rf /kisskb/build/linus_riscv-defconfig_riscv-gcc11 # Build took: 0:01:17.978767