* [brauner:pidfd_capabilities 6/7] kernel/fork.c:2743 clone3_args_valid() warn: signedness bug returning '(-22)'
@ 2020-01-25 6:55 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2020-01-25 6:55 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 3883 bytes --]
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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
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
^ permalink raw reply [flat|nested] 2+ messages in thread* [brauner:pidfd_capabilities 6/7] kernel/fork.c:2743 clone3_args_valid() warn: signedness bug returning '(-22)'
@ 2020-01-25 6:55 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2020-01-25 6:55 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3883 bytes --]
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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-01-25 6:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-25 6:55 [brauner:pidfd_capabilities 6/7] kernel/fork.c:2743 clone3_args_valid() warn: signedness bug returning '(-22)' Dan Carpenter
2020-01-25 6:55 ` Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.