tree: https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git pidfd_capabilities head: 39f8e5a5a89ad52ff07fd5af7e514def2b527ed5 commit: aac4bbd536549cbb7440326d09a35ddf9c28f50b [6/7] pidfd: introduce caps If you fix the issue, kindly add following tag Reported-by: kbuild test robot Reported-by: Dan Carpenter smatch warnings: kernel/fork.c:2743 clone3_args_valid() warn: signedness bug returning '(-22)' kernel/pid.c:621 __pidfd_fget() error: uninitialized symbol 'oldcred'. # https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git/commit/?id=aac4bbd536549cbb7440326d09a35ddf9c28f50b git remote add brauner https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git git remote update brauner git checkout aac4bbd536549cbb7440326d09a35ddf9c28f50b vim +2743 kernel/fork.c fa729c4df55893 Christian Brauner 2019-10-31 2721 static bool clone3_args_valid(struct kernel_clone_args *kargs) ^^^^ 7f192e3cd316ba Christian Brauner 2019-05-25 2722 { b612e5df4587c9 Christian Brauner 2019-10-14 2723 /* Verify that no unknown flags are passed along. */ b612e5df4587c9 Christian Brauner 2019-10-14 2724 if (kargs->flags & ~(CLONE_LEGACY_FLAGS | CLONE_CLEAR_SIGHAND)) 7f192e3cd316ba Christian Brauner 2019-05-25 2725 return false; 7f192e3cd316ba Christian Brauner 2019-05-25 2726 7f192e3cd316ba Christian Brauner 2019-05-25 2727 /* 7f192e3cd316ba Christian Brauner 2019-05-25 2728 * - make the CLONE_DETACHED bit reuseable for clone3 7f192e3cd316ba Christian Brauner 2019-05-25 2729 * - make the CSIGNAL bits reuseable for clone3 7f192e3cd316ba Christian Brauner 2019-05-25 2730 */ 7f192e3cd316ba Christian Brauner 2019-05-25 2731 if (kargs->flags & (CLONE_DETACHED | CSIGNAL)) 7f192e3cd316ba Christian Brauner 2019-05-25 2732 return false; 7f192e3cd316ba Christian Brauner 2019-05-25 2733 b612e5df4587c9 Christian Brauner 2019-10-14 2734 if ((kargs->flags & (CLONE_SIGHAND | CLONE_CLEAR_SIGHAND)) == b612e5df4587c9 Christian Brauner 2019-10-14 2735 (CLONE_SIGHAND | CLONE_CLEAR_SIGHAND)) b612e5df4587c9 Christian Brauner 2019-10-14 2736 return false; b612e5df4587c9 Christian Brauner 2019-10-14 2737 7f192e3cd316ba Christian Brauner 2019-05-25 2738 if ((kargs->flags & (CLONE_THREAD | CLONE_PARENT)) && 7f192e3cd316ba Christian Brauner 2019-05-25 2739 kargs->exit_signal) 7f192e3cd316ba Christian Brauner 2019-05-25 2740 return false; 7f192e3cd316ba Christian Brauner 2019-05-25 2741 aac4bbd536549c Christian Brauner 2020-01-19 2742 if (kargs->pidfd_flags & ~PIDFD_CAP_GETFD) aac4bbd536549c Christian Brauner 2020-01-19 @2743 return -EINVAL; ^^^^^^^^^^^^^^ aac4bbd536549c Christian Brauner 2020-01-19 2744 aac4bbd536549c Christian Brauner 2020-01-19 2745 if ((kargs->pidfd_flags & PIDFD_CAP_GETFD) && aac4bbd536549c Christian Brauner 2020-01-19 2746 !ns_capable(current_user_ns(), CAP_SYS_PTRACE)) aac4bbd536549c Christian Brauner 2020-01-19 2747 return -EPERM; ^^^^^^^^^^^^^ This will return true which has security implications. aac4bbd536549c Christian Brauner 2020-01-19 2748 fa729c4df55893 Christian Brauner 2019-10-31 2749 if (!clone3_stack_valid(kargs)) fa729c4df55893 Christian Brauner 2019-10-31 2750 return false; fa729c4df55893 Christian Brauner 2019-10-31 2751 7f192e3cd316ba Christian Brauner 2019-05-25 2752 return true; 7f192e3cd316ba Christian Brauner 2019-05-25 2753 } --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation