OSDN Git Service

signal: Add unsafe_get_compat_sigset()
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Fri, 19 Mar 2021 11:06:50 +0000 (11:06 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 3 Apr 2021 10:22:18 +0000 (21:22 +1100)
commitfb05121fd6a20f0830ff2a4420c51af6ca4ac6e7
tree60661671efe604c38eef1f701e04aeb6b4236c7e
parent5cd29b1fd3e8f2b45fe6d011588d832417defe31
signal: Add unsafe_get_compat_sigset()

In the same way as commit 14026b94ccfe ("signal: Add
unsafe_put_compat_sigset()"), this time add
unsafe_get_compat_sigset() macro which is the 'unsafe'
version of get_compat_sigset()

For the bigendian, use unsafe_get_user() directly
to avoid intermediate copy through the stack.

For the littleendian, use a straight unsafe_copy_from_user().

This commit adds the generic fallback for unsafe_copy_from_user().
Architectures wanting to use unsafe_get_compat_sigset() have to
make sure they have their own unsafe_copy_from_user().

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/b05bf434ee13c76bc9df5f02653a10db5e7b54e5.1616151715.git.christophe.leroy@csgroup.eu
include/linux/compat.h
include/linux/uaccess.h