# git rev-parse -q --verify a68a0262abdaa251e12c53715f48e698a18ef402^{commit} a68a0262abdaa251e12c53715f48e698a18ef402 already have revision, skipping fetch # git checkout -q -f -B kisskb a68a0262abdaa251e12c53715f48e698a18ef402 # git clean -qxdf # < git log -1 # commit a68a0262abdaa251e12c53715f48e698a18ef402 # Author: Minchan Kim # Date: Tue Dec 8 20:57:18 2020 -0800 # # mm/madvise: remove racy mm ownership check # # Jann spotted the security hole due to race of mm ownership check. # # If the task is sharing the mm_struct but goes through execve() before # mm_access(), it could skip process_madvise_behavior_valid check. That # makes *any advice hint* to reach into the remote process. # # This patch removes the mm ownership check. With it, it will lose the # ability that local process could give *any* advice hint with vector # interface for some reason (e.g., performance). Since there is no # concrete example in upstream yet, it would be better to remove the # abiliity at this moment and need to review when such new advice comes # up. # # Fixes: ecb8ac8b1f14 ("mm/madvise: introduce process_madvise() syscall: an external memory hinting API") # Reported-by: Jann Horn # Suggested-by: Jann Horn # Signed-off-by: Minchan Kim # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 a68a0262abdaa251e12c53715f48e698a18ef402 # < make -s -j 8 ARCH=powerpc O=/kisskb/build/linus_mpc85xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- mpc85xx_defconfig # < make -s -j 8 ARCH=powerpc O=/kisskb/build/linus_mpc85xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 8 ARCH=powerpc O=/kisskb/build/linus_mpc85xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 8 ARCH=powerpc O=/kisskb/build/linus_mpc85xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/include/linux/kernel.h:11:0, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/module.h:12, from /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:15: /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c: In function 'allocate_bd': /kisskb/src/include/linux/err.h:22:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO) ^ /kisskb/src/include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:139:6: note: in expansion of macro 'IS_ERR_VALUE' if (IS_ERR_VALUE(fep->ring_mem_addr)) ^ cc1: fatal error: opening output file arch/powerpc/boot/dts/fsl/.mpc8540ads.dtb.dts.tmp: No such file or directory compilation terminated. make[2]: *** [scripts/Makefile.lib:326: arch/powerpc/boot/dts/fsl/mpc8540ads.dtb] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [arch/powerpc/Makefile:293: zImage] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 8 ARCH=powerpc O=/kisskb/build/linus_mpc85xx_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_mpc85xx_defconfig_powerpc-gcc4.9 # Build took: 0:03:05.539800