# git rev-parse -q --verify 66d9282523b3228183b14d9f812872dd2620704d^{commit} 66d9282523b3228183b14d9f812872dd2620704d already have revision, skipping fetch # git checkout -q -f -B kisskb 66d9282523b3228183b14d9f812872dd2620704d # git clean -qxdf # < git log -1 # commit 66d9282523b3228183b14d9f812872dd2620704d # Author: Mel Gorman # Date: Mon Jun 28 16:02:19 2021 +0100 # # mm/page_alloc: Correct return value of populated elements if bulk array is populated # # Dave Jones reported the following # # This made it into 5.13 final, and completely breaks NFSD for me # (Serving tcp v3 mounts). Existing mounts on clients hang, as do # new mounts from new clients. Rebooting the server back to rc7 # everything recovers. # # The commit b3b64ebd3822 ("mm/page_alloc: do bulk array bounds check after # checking populated elements") returns the wrong value if the array is # already populated which is interpreted as an allocation failure. Dave # reported this fixes his problem and it also passed a test running dbench # over NFS. # # Fixes: b3b64ebd3822 ("mm/page_alloc: do bulk array bounds check after checking populated elements") # Reported-and-tested-by: Dave Jones # Signed-off-by: Mel Gorman # Cc: [5.13+] # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 66d9282523b3228183b14d9f812872dd2620704d # < make -s -j 48 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- rpc_defconfig # < make -s -j 48 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- help # make -s -j 48 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- olddefconfig # make -s -j 48 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- /kisskb/src/drivers/tty/vt/vt_ioctl.c: In function 'vt_ioctl': /kisskb/src/drivers/tty/vt/vt_ioctl.c:956:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90) } ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make[4]: *** [/kisskb/src/scripts/Makefile.build:272: drivers/tty/vt/vt_ioctl.o] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.build:515: drivers/tty/vt] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:515: drivers/tty] Error 2 make[2]: *** Waiting for unfinished jobs.... /kisskb/src/fs/fat/dir.c: In function 'fat_ioctl_filldir': /kisskb/src/fs/fat/dir.c:759:43: internal compiler error: Max. number of generated reload insns per insn is achieved (90) FAT_IOCTL_FILLDIR_FUNC(fat_ioctl_filldir, __fat_dirent) ^ /kisskb/src/fs/fat/dir.c:714:9: note: in definition of macro 'FAT_IOCTL_FILLDIR_FUNC' struct dirent_type __user *d2 = d1 + 1; \ ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make[3]: *** [/kisskb/src/scripts/Makefile.build:272: fs/fat/dir.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:515: fs/fat] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1847: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/net/sched/sch_frag.c: In function 'sch_fragment': /kisskb/src/net/sched/sch_frag.c:93:10: warning: missing braces around initializer [-Wmissing-braces] struct rtable sch_frag_rt = { 0 }; ^ /kisskb/src/net/sched/sch_frag.c:93:10: warning: (near initialization for 'sch_frag_rt.dst') [-Wmissing-braces] make[1]: *** [/kisskb/src/Makefile:1847: fs] Error 2 make: *** [Makefile:215: __sub-make] Error 2 Command 'make -s -j 48 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_rpc_defconfig_arm-gcc4.9 # Build took: 0:00:34.235674