diff options
author | Jann Horn <jannh@google.com> | 2019-03-30 03:12:32 +0100 |
---|---|---|
committer | Christian Brauner <christian@brauner.io> | 2019-04-01 23:03:18 +0200 |
commit | 556a888a14afe27164191955618990fb3ccc9aad (patch) | |
tree | f9071112a0fe3618bdb437b5b0fa18c6c066719f /COPYING | |
parent | Linux 5.1-rc3 (diff) | |
download | linux-556a888a14afe27164191955618990fb3ccc9aad.tar.xz linux-556a888a14afe27164191955618990fb3ccc9aad.zip |
signal: don't silently convert SI_USER signals to non-current pidfd
The current sys_pidfd_send_signal() silently turns signals with explicit
SI_USER context that are sent to non-current tasks into signals with
kernel-generated siginfo.
This is unlike do_rt_sigqueueinfo(), which returns -EPERM in this case.
If a user actually wants to send a signal with kernel-provided siginfo,
they can do that with pidfd_send_signal(pidfd, sig, NULL, 0); so allowing
this case is unnecessary.
Instead of silently replacing the siginfo, just bail out with an error;
this is consistent with other interfaces and avoids special-casing behavior
based on security checks.
Fixes: 3eb39f47934f ("signal: add pidfd_send_signal() syscall")
Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Christian Brauner <christian@brauner.io>
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions