# 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/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/mipsel-linux-gcc --version # < /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/mipsel-linux-ld --version # < git log --format=%s --max-count=1 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71 # < make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allnoconfig_mipsel CROSS_COMPILE=/opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/mipsel-linux- allnoconfig # < make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allnoconfig_mipsel CROSS_COMPILE=/opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/mipsel-linux- help # make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allnoconfig_mipsel CROSS_COMPILE=/opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/mipsel-linux- olddefconfig # make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allnoconfig_mipsel CROSS_COMPILE=/opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/mipsel-linux- FIT description: Linux 5.13.0-rc6+ Created: Wed Jun 16 05:24:53 2021 Image 0 (kernel) Description: Linux 5.13.0-rc6+ Created: Wed Jun 16 05:24:53 2021 Type: Kernel Image Compression: gzip compressed Data Size: 1302997 Bytes = 1272.46 KiB = 1.24 MiB Architecture: MIPS OS: Linux Load Address: 0x80100000 Entry Point: 0x803228a4 Hash algo: sha1 Hash value: fd438cdd16cc1de1227adca252e3f8e05a6af738 Default Configuration: 'conf-default' Configuration 0 (conf-default) Description: Generic Linux kernel Kernel: kernel Completed OK # rm -rf /kisskb/build/linus_mips-allnoconfig_mipsel # Build took: 0:00:21.052349