# git rev-parse -q --verify b5372fe5dc84235dbe04998efdede3c4daa866a9^{commit} b5372fe5dc84235dbe04998efdede3c4daa866a9 already have revision, skipping fetch # git checkout -q -f -B kisskb b5372fe5dc84235dbe04998efdede3c4daa866a9 # git clean -qxdf # < git log -1 # commit b5372fe5dc84235dbe04998efdede3c4daa866a9 # Author: Kees Cook # Date: Mon Feb 18 16:36:48 2019 -0800 # # exec: load_script: Do not exec truncated interpreter path # # Commit 8099b047ecc4 ("exec: load_script: don't blindly truncate # shebang string") was trying to protect against a confused exec of a # truncated interpreter path. However, it was overeager and also refused # to truncate arguments as well, which broke userspace, and it was # reverted. This attempts the protection again, but allows arguments to # remain truncated. In an effort to improve readability, helper functions # and comments have been added. # # Co-developed-by: Linus Torvalds # Signed-off-by: Kees Cook # Cc: Andrew Morton # Cc: Oleg Nesterov # Cc: Samuel Dionne-Riel # Cc: Richard Weinberger # Cc: Graham Christensen # Cc: Michal Hocko # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 b5372fe5dc84235dbe04998efdede3c4daa866a9 # < make -s -j 24 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- allmodconfig # make -s -j 24 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- In file included from /kisskb/src/include/asm-generic/bug.h:18, from /kisskb/src/arch/arm64/include/asm/bug.h:37, from /kisskb/src/include/linux/bug.h:5, from /kisskb/src/include/linux/mmdebug.h:5, from /kisskb/src/include/linux/mm.h:9, from /kisskb/src/drivers/dma/imx-dma.c:14: /kisskb/src/drivers/dma/imx-dma.c: In function 'imxdma_sg_next': /kisskb/src/include/linux/kernel.h:846:29: warning: comparison of distinct pointer types lacks a cast (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) ^~ /kisskb/src/include/linux/kernel.h:860:4: note: in expansion of macro '__typecheck' (__typecheck(x, y) && __no_side_effects(x, y)) ^~~~~~~~~~~ /kisskb/src/include/linux/kernel.h:870:24: note: in expansion of macro '__safe_cmp' __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~ /kisskb/src/include/linux/kernel.h:879:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ /kisskb/src/drivers/dma/imx-dma.c:288:8: note: in expansion of macro 'min' now = min(d->len, sg_dma_len(sg)); ^~~ Completed OK # rm -rf /kisskb/build/linus_arm64-allmodconfig_arm64-gcc8 # Build took: 0:19:01.841633