# 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/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71 # < make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allmodconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=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_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # Added to kconfig CONFIG_DEBUG_INFO_BTF=n # Added to kconfig CONFIG_BPF_PRELOAD=n # < make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig .config:4553:warning: override: reassigning to symbol GCC_PLUGIN_CYC_COMPLEXITY .config:4555:warning: override: reassigning to symbol GCC_PLUGIN_LATENT_ENTROPY .config:4559:warning: override: reassigning to symbol UML_NET_ETHERTAP .config:4561:warning: override: reassigning to symbol UML_NET_SLIP .config:4564:warning: override: reassigning to symbol UML_NET_MCAST .config:4566:warning: override: reassigning to symbol UML_NET_SLIRP # make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 LINK linux Completed OK # rm -rf /kisskb/build/linus_um-allmodconfig_um-x86_64 # Build took: 0:08:07.189652