diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2021-05-03 01:28:31 +0300 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2021-05-19 00:20:54 +0300 |
commit | 0683b53197b55343a166f1507086823030809a19 (patch) | |
tree | 19e83bcb655352a82cad92ec948df125d67737b1 /include/uapi/linux/signalfd.h | |
parent | af5eeab7e8e8c2f0fad10e4ab8cc8092012a2d5b (diff) | |
download | linux-0683b53197b55343a166f1507086823030809a19.tar.xz |
signal: Deliver all of the siginfo perf data in _perf
Don't abuse si_errno and deliver all of the perf data in _perf member
of siginfo_t.
Note: The data field in the perf data structures in a u64 to allow a
pointer to be encoded without needed to implement a 32bit and 64bit
version of the same structure. There already exists a 32bit and 64bit
versions siginfo_t, and the 32bit version can not include a 64bit
member as it only has 32bit alignment. So unsigned long is used in
siginfo_t instead of a u64 as unsigned long can encode a pointer on
all architectures linux supports.
v1: https://lkml.kernel.org/r/m11rarqqx2.fsf_-_@fess.ebiederm.org
v2: https://lkml.kernel.org/r/20210503203814.25487-10-ebiederm@xmission.com
v3: https://lkml.kernel.org/r/20210505141101.11519-11-ebiederm@xmission.com
Link: https://lkml.kernel.org/r/20210517195748.8880-4-ebiederm@xmission.com
Reviewed-by: Marco Elver <elver@google.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'include/uapi/linux/signalfd.h')
-rw-r--r-- | include/uapi/linux/signalfd.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/uapi/linux/signalfd.h b/include/uapi/linux/signalfd.h index 7e333042c7e3..e78dddf433fc 100644 --- a/include/uapi/linux/signalfd.h +++ b/include/uapi/linux/signalfd.h @@ -39,8 +39,8 @@ struct signalfd_siginfo { __s32 ssi_syscall; __u64 ssi_call_addr; __u32 ssi_arch; - __u32 __pad3; - __u64 ssi_perf; + __u32 ssi_perf_type; + __u64 ssi_perf_data; /* * Pad strcture to 128 bytes. Remember to update the |