summaryrefslogtreecommitdiff
path: root/fs/signalfd.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2018-04-24 20:48:32 -0500
committerEric W. Biederman <ebiederm@xmission.com>2018-04-26 19:51:12 -0500
commit76b7f670730e87974f71df9f6129811e2769666e (patch)
treecee6f3c95f0dbead2fbce14269f93d182020fe8d /fs/signalfd.c
parent5611f55ee4df70d947bf239c587e742efdab028b (diff)
downloadlwn-76b7f670730e87974f71df9f6129811e2769666e.tar.gz
lwn-76b7f670730e87974f71df9f6129811e2769666e.zip
signal/signalfd: Add support for SIGSYS
I don't know why signalfd has never grown support for SIGSYS but grow it now. This corrects an oversight and removes a need for a default in the switch statement. Allowing gcc to warn when future members are added to the enum siginfo_layout, and signalfd does not handle them. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'fs/signalfd.c')
-rw-r--r--fs/signalfd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/signalfd.c b/fs/signalfd.c
index 31e960209a08..f652249f59f9 100644
--- a/fs/signalfd.c
+++ b/fs/signalfd.c
@@ -134,7 +134,6 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo,
new.ssi_stime = kinfo->si_stime;
break;
case SIL_RT:
- default:
/*
* This case catches also the signals queued by sigqueue().
*/
@@ -143,6 +142,11 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo,
new.ssi_ptr = (long) kinfo->si_ptr;
new.ssi_int = kinfo->si_int;
break;
+ case SIL_SYS:
+ new.ssi_call_addr = (long) kinfo->si_call_addr;
+ new.ssi_syscall = kinfo->si_syscall;
+ new.ssi_arch = kinfo->si_arch;
+ break;
}
if (copy_to_user(uinfo, &new, sizeof(struct signalfd_siginfo)))