# git rev-parse -q --verify d725e66c06ab440032f49ef17e960896d0ec6d49^{commit} d725e66c06ab440032f49ef17e960896d0ec6d49 already have revision, skipping fetch # git checkout -q -f -B kisskb d725e66c06ab440032f49ef17e960896d0ec6d49 # git clean -qxdf # git log -1 commit d725e66c06ab440032f49ef17e960896d0ec6d49 Author: Linus Torvalds Date: Tue Jul 21 16:06:53 2015 -0700 Revert "fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()" This reverts commit a2673b6e040663bf16a552f8619e6bde9f4b9acf. Kinglong Mee reports a memory leak with that patch, and Jan Kara confirms: "Thanks for report! You are right that my patch introduces a race between fsnotify kthread and fsnotify_destroy_group() which can result in leaking inotify event on group destruction. I haven't yet decided whether the right fix is not to queue events for dying notification group (as that is pointless anyway) or whether we should just fix the original problem differently... Whenever I look at fsnotify code mark handling I get lost in the maze of locks, lists, and subtle differences between how different notification systems handle notification marks :( I'll think about it over night" and after thinking about it, Jan says: "OK, I have looked into the code some more and I found another relatively simple way of fixing the original oops. It will be IMHO better than trying to fixup this issue which has more potential for breakage. I'll ask Linus to revert the fsnotify fix he already merged and send a new fix" Reported-by: Kinglong Mee Requested-by: Jan Kara Cc: Andrew Morton Signed-off-by: Linus Torvalds # < /opt/cross/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < git log --format=%s --max-count=1 d725e66c06ab440032f49ef17e960896d0ec6d49 # < make -j 240 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- randconfig KCONFIG_SEED=0x2993DAF4 # Added to kconfig CONFIG_STANDALONE=y # yes \n | make -j 240 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -j 240 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- make[1]: Entering directory `/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[1]: Leaving directory `/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64' make[1]: Entering directory `/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64' arch/x86/Makefile:123: stack-protector enabled but compiler support broken /home/kisskb/slave/src/Makefile:654: 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/asm/unistd_32_ia32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/asm/unistd_64_x32.h SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_64.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h CHK include/config/kernel.release GEN ./Makefile WRAP arch/x86/include/generated/asm/clkdev.h WRAP arch/x86/include/generated/asm/dma-contiguous.h WRAP arch/x86/include/generated/asm/cputime.h WRAP arch/x86/include/generated/asm/mm-arch-hooks.h WRAP arch/x86/include/generated/asm/mcs_spinlock.h WRAP arch/x86/include/generated/asm/early_ioremap.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h HOSTCC scripts/kallsyms HOSTCC scripts/recordmcount HOSTCC scripts/sortextable HOSTCC scripts/asn1_compiler HOSTCC scripts/genksyms/genksyms.o SHIPPED scripts/genksyms/lex.lex.c SHIPPED scripts/genksyms/keywords.hash.c SHIPPED scripts/genksyms/parse.tab.c CC scripts/mod/empty.o SHIPPED scripts/genksyms/parse.tab.h HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/genksyms/parse.tab.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/genksyms/lex.lex.o cc1: error: unrecognized command line option '-fstack-protector-strong' cc1: error: unrecognized command line option '-fstack-protector-strong' make[3]: *** [scripts/mod/devicetable-offsets.s] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: *** [scripts/mod/empty.o] Error 1 make[2]: *** [scripts/mod] Error 2 make[2]: *** Waiting for unfinished jobs.... HOSTLD scripts/genksyms/genksyms make[1]: *** [scripts] Error 2 make[1]: *** Waiting for unfinished jobs.... UPD include/config/kernel.release make[1]: *** wait: No child processes. Stop. make: *** [sub-make] Error 2 Command 'make -j 240 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 # Build took: 0:00:16.589671