summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-10-20 08:51:54 -1000
committerLinus Torvalds <torvalds@linux-foundation.org>2026-10-20 08:51:54 -1000
commit939e5a481a881e989714754ca65ac35f195e8e34 (patch)
treee8728c48a25fc0856e180d83be14cd4d689efde9 /scripts/Makefile.thinlto
parent1d82db25c9b6c9ada9629edd95e2ae8eeebc1cc2 (diff)
downloadlinux-939e5a481a881e989714754ca65ac35f195e8e34.tar.gz
linux-939e5a481a881e989714754ca65ac35f195e8e34.zip
nios2: use scoped user access for the signal frame
rt_setup_ucontext() and rt_restore_ucontext() move the saved registers with __put_user() and __get_user(), OR-ing the errors together, relying on the access_ok() done on the whole frame by setup_rt_frame() and do_rt_sigreturn(). setup_rt_frame() writes the ucontext flags and link the same way. Do those accesses inside scoped_user_{write,read}_access() instead, with unsafe_{put,get}_user(). The gregs pointer is now derived inside each scope, from the pointer the scope checked. restore_altstack() is called after the scope. The access_ok() calls stay: do_rt_sigreturn() still needs its own for the __copy_from_user() of the signal mask. A fault part way through now stops at the first failing access instead of carrying on. Either way the task gets SIGSEGV. nios2 has no user_access_begin(), so the accesses themselves are the same as before. This is part of getting rid of __get_user() and __put_user() entirely. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions