summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorJames Morse <james.morse@arm.com>2017-06-29 17:26:37 +0100
committerChristoph Muellner <christoph.muellner@theobroma-systems.com>2018-04-03 10:52:37 +0200
commit44ab611404a1f503b15dfba89242b417c6f99855 (patch)
tree0277ed83928fe0e4130059038f469a522b55cb61 /security
parent43e0ec6b4451b1890cf76c7fe16ead3be34eebba (diff)
ptrace: Add compat PTRACE_{G,S}ETSIGMASK handlers
compat_ptrace_request() lacks handlers for PTRACE_{G,S}ETSIGMASK, instead using those in ptrace_request(). The compat variant should read a compat_sigset_t from userspace instead of ptrace_request()s sigset_t. While compat_sigset_t is the same size as sigset_t, it is defined as 2xu32, instead of a single u64. On a big-endian CPU this means that compat_sigset_t is passed to user-space using middle-endianness, where the least-significant u32 is written most significant byte first. If ptrace_request()s code is used userspace will read the most significant u32 where it expected the least significant. Instead of duplicating ptrace_request()s code as a special case in the arch code, handle it here. Fixes: 29000caecbe87 ("ptrace: add ability to get/set signal-blocked mask") CC: Andrey Vagin <avagin@openvz.org> Reported-by: Zhou Chengming <zhouchengming1@huawei.com> Signed-off-by: James Morse <james.morse@arm.com> Yury: Replace sigset_{to,from}_compat() with new {get,put}_compat_sigset() Signed-off-by: Yury Norov <ynorov@caviumnetworks.com>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions