diff options
Diffstat (limited to 'fs/select.c')
-rw-r--r-- | fs/select.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/select.c b/fs/select.c index cae82e9e0dcc..437034ed85c6 100644 --- a/fs/select.c +++ b/fs/select.c @@ -777,7 +777,9 @@ static inline int get_sigset_argpack(struct sigset_argpack *to, { // the path is hot enough for overhead of copy_from_user() to matter if (from) { - if (!user_read_access_begin(from, sizeof(*from))) + if (can_do_masked_user_access()) + from = masked_user_access_begin(from); + else if (!user_read_access_begin(from, sizeof(*from))) return -EFAULT; unsafe_get_user(to->p, &from->p, Efault); unsafe_get_user(to->size, &from->size, Efault); |