diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2018-04-24 20:48:32 -0500 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2018-04-26 19:51:12 -0500 |
commit | 76b7f670730e87974f71df9f6129811e2769666e (patch) | |
tree | cee6f3c95f0dbead2fbce14269f93d182020fe8d /fs/signalfd.c | |
parent | 5611f55ee4df70d947bf239c587e742efdab028b (diff) | |
download | lwn-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.c | 6 |
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))) |