From: Geert Uytterhoeven
Sent: 24 February 2022 08:59
...
+register unsigned long current_stack_pointer __asm__("sp");
I don't know what HARDENED_USERCOPY does, so I don't know if you need
"usp" (see rdusp()) or "sp"?
HARDENED_USERCOPY significantly slows down some systems calls
(especially things like sendmsg()) by trying to run-time verify
that the kernel buffer doesn't overrun a stack frame or kmalloc()ed
buffer.
I've got measurable improvements by either using __copy_to/from_user()
(which skips the tests) or user_access_begin() and __get_user().
At the moment the code for reading a compat iovec[] is actually
faster than that for a native one!
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)