# git rev-parse -q --verify 7f556567036cb7f89aabe2f0954b08566b4efb53^{commit} 7f556567036cb7f89aabe2f0954b08566b4efb53 already have revision, skipping fetch # git checkout -q -f -B kisskb 7f556567036cb7f89aabe2f0954b08566b4efb53 # git clean -qxdf # git log -1 commit 7f556567036cb7f89aabe2f0954b08566b4efb53 Author: Hugh Dickins Date: Sun Jul 10 16:46:32 2016 -0700 tmpfs: fix regression hang in fallocate undo The well-spotted fallocate undo fix is good in most cases, but not when fallocate failed on the very first page. index 0 then passes lend -1 to shmem_undo_range(), and that has two bad effects: (a) that it will undo every fallocation throughout the file, unrestricted by the current range; but more importantly (b) it can cause the undo to hang, because lend -1 is treated as truncation, which makes it keep on retrying until every page has gone, but those already fully instantiated will never go away. Big thank you to xfstests generic/269 which demonstrates this. Fixes: b9b4bb26af01 ("tmpfs: don't undo fallocate past its last page") Cc: stable@vger.kernel.org Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/i386-linux/bin/i386-linux-gcc --version # < git log --format=%s --max-count=1 7f556567036cb7f89aabe2f0954b08566b4efb53 # < make -j 48 ARCH=i386 O=/home/kisskb/slave/build/linus_i386-randconfig_i386 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/i386-linux/bin/i386-linux- randconfig KCONFIG_SEED=0x1CEED164 warning: (X86_INTEL_LPSS && INTEL_SOC_DTS_IOSF_CORE && MMC_SDHCI_ACPI && PUNIT_ATOM_DEBUG) selects IOSF_MBI which has unmet direct dependencies (PCI) # Added to kconfig CONFIG_STANDALONE=y # yes \n | make -j 48 ARCH=i386 O=/home/kisskb/slave/build/linus_i386-randconfig_i386 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/i386-linux/bin/i386-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -j 48 ARCH=i386 O=/home/kisskb/slave/build/linus_i386-randconfig_i386 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/i386-linux/bin/i386-linux- make[1]: Entering directory '/home/kisskb/slave/build/linus_i386-randconfig_i386' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig warning: (X86_INTEL_LPSS && INTEL_SOC_DTS_IOSF_CORE && MMC_SDHCI_ACPI && PUNIT_ATOM_DEBUG) selects IOSF_MBI which has unmet direct dependencies (PCI) warning: (X86_INTEL_LPSS && INTEL_SOC_DTS_IOSF_CORE && MMC_SDHCI_ACPI && PUNIT_ATOM_DEBUG) selects IOSF_MBI which has unmet direct dependencies (PCI) arch/x86/Makefile:133: stack-protector enabled but compiler support broken /home/kisskb/slave/src/Makefile:677: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h HOSTCC scripts/basic/bin2c CHK include/config/kernel.release UPD include/config/kernel.release GEN ./Makefile WRAP arch/x86/include/generated/asm/clkdev.h WRAP arch/x86/include/generated/asm/early_ioremap.h WRAP arch/x86/include/generated/asm/cputime.h WRAP arch/x86/include/generated/asm/dma-contiguous.h WRAP arch/x86/include/generated/asm/mcs_spinlock.h WRAP arch/x86/include/generated/asm/mm-arch-hooks.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/kallsyms HOSTCC scripts/sortextable HOSTCC scripts/asn1_compiler HOSTCC scripts/extract-cert HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/livetree.o cc1: error: unrecognized command line option '-fstack-protector-strong' HOSTCC scripts/dtc/treesource.o /home/kisskb/slave/src/scripts/Makefile.build:289: recipe for target 'scripts/mod/empty.o' failed make[3]: *** [scripts/mod/empty.o] Error 1 make[3]: *** Waiting for unfinished jobs.... HOSTCC scripts/dtc/util.o HOSTCC scripts/dtc/srcpos.o cc1: error: unrecognized command line option '-fstack-protector-strong' HOSTCC scripts/dtc/checks.o SHIPPED scripts/dtc/dtc-parser.tab.h /home/kisskb/slave/src/scripts/Makefile.build:153: recipe for target 'scripts/mod/devicetable-offsets.s' failed make[3]: *** [scripts/mod/devicetable-offsets.s] Error 1 SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o /home/kisskb/slave/src/scripts/Makefile.build:440: recipe for target 'scripts/mod' failed make[2]: *** [scripts/mod] Error 2 make[2]: *** Waiting for unfinished jobs.... HOSTLD scripts/dtc/dtc /home/kisskb/slave/src/Makefile:558: recipe for target 'scripts' failed make[1]: *** [scripts] Error 2 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/kisskb/slave/build/linus_i386-randconfig_i386' Makefile:150: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 48 ARCH=i386 O=/home/kisskb/slave/build/linus_i386-randconfig_i386 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/i386-linux/bin/i386-linux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/linus_i386-randconfig_i386 # Build took: 0:00:11.180183