Le 27/10/2025 à 09:44, Thomas Gleixner a écrit :
From: Thomas Gleixner <[email protected]>

Replace the open coded implementation with the scoped user access guard.

No functional change intended.

Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Alexander Viro <[email protected]>
Cc: Christian Brauner <[email protected]>
Cc: Jan Kara <[email protected]>
Cc: [email protected]

Reviewed-by: Christophe Leroy <[email protected]>

---
V4: Use read guard - Peterz
     Rename once more
V3: Adopt to scope changes
---
  fs/select.c |   12 ++++--------
  1 file changed, 4 insertions(+), 8 deletions(-)
---
--- a/fs/select.c
+++ b/fs/select.c
@@ -776,17 +776,13 @@ static inline int get_sigset_argpack(str
  {
        // the path is hot enough for overhead of copy_from_user() to matter
        if (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);
-               user_read_access_end();
+               scoped_user_read_access(from, Efault) {
+                       unsafe_get_user(to->p, &from->p, Efault);
+                       unsafe_get_user(to->size, &from->size, Efault);
+               }
        }
        return 0;
  Efault:
-       user_read_access_end();
        return -EFAULT;
  }


Reply via email to