signal: Helpers for faults with specialized siginfo layouts
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 19 Jan 2018 00:54:31 +0000 (18:54 -0600)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 23 Jan 2018 01:07:10 +0000 (19:07 -0600)
commit382467358ac9675b1b6814400a9a9e36dc7da14f
tree4f3b36b32d2ab48f4dc3ce5dcf39125bcc099101
parentf8ec66014ffd95a783b1f9f3b62d7cadb96b78d5
signal: Helpers for faults with specialized siginfo layouts

The helpers added are:
send_sig_mceerr
force_sig_mceerr
force_sig_bnderr
force_sig_pkuerr

Filling out siginfo properly can ge tricky.  Especially for these
specialized cases where the temptation is to share code with other
cases which use a different subset of siginfo fields.  Unfortunately
that code sharing frequently results in bugs with the wrong siginfo
fields filled in, and makes it harder to verify that the siginfo
structure was properly initialized.

Provide these helpers instead that get all of the details right, and
guarantee that siginfo is properly initialized.

send_sig_mceerr and force_sig_mceer are a little special as two si
codes BUS_MCEERR_AO and BUS_MCEER_AR both use the same extended
signinfo layout.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
include/linux/sched/signal.h
kernel/signal.c