# git rev-parse -q --verify 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71^{commit} 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71 already have revision, skipping fetch # git checkout -q -f -B kisskb 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71 # git clean -qxdf # < git log -1 # commit 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71 # Author: Linus Torvalds # Date: Tue Jun 15 09:26:19 2021 -0700 # # proc: only require mm_struct for writing # # Commit 591a22c14d3f ("proc: Track /proc/$pid/attr/ opener mm_struct") we # started using __mem_open() to track the mm_struct at open-time, so that # we could then check it for writes. # # But that also ended up making the permission checks at open time much # stricter - and not just for writes, but for reads too. And that in turn # caused a regression for at least Fedora 29, where NIC interfaces fail to # start when using NetworkManager. # # Since only the write side wanted the mm_struct test, ignore any failures # by __mem_open() at open time, leaving reads unaffected. The write() # time verification of the mm_struct pointer will then catch the failure # case because a NULL pointer will not match a valid 'current->mm'. # # Link: https://lore.kernel.org/netdev/YMjTlp2FSJYvoyFa@unreal/ # Fixes: 591a22c14d3f ("proc: Track /proc/$pid/attr/ opener mm_struct") # Reported-and-tested-by: Leon Romanovsky # Cc: Kees Cook # Cc: Christian Brauner # Cc: Andrea Righi # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71 # < make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_BPF_PRELOAD=n # Added to kconfig # < make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig .config:5178:warning: override: reassigning to symbol STANDALONE .config:5184:warning: override: reassigning to symbol GCC_PLUGIN_LATENT_ENTROPY # make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 # Build took: 0:03:26.162660