[lwp][rv64] restore tp register in arch_thread_signal_enter to fix user-mode memory access

This commit is contained in:
Yulong Wang 2025-07-12 13:10:48 +00:00 committed by Rbb666
parent 3c046646cb
commit e7a40ae6ec
2 changed files with 4 additions and 0 deletions

View File

@ -178,6 +178,9 @@ arch_thread_signal_enter:
/* restore user GP */ /* restore user GP */
LOAD gp, FRAME_OFF_GP(s3) LOAD gp, FRAME_OFF_GP(s3)
/* restore user TP */
LOAD tp, FRAME_OFF_TP(s3)
/** /**
* handler(signo, psi, ucontext); * handler(signo, psi, ucontext);
*/ */

View File

@ -41,6 +41,7 @@
#define FRAME_OFF_SSTATUS BYTES(2) #define FRAME_OFF_SSTATUS BYTES(2)
#define FRAME_OFF_SP BYTES(32) #define FRAME_OFF_SP BYTES(32)
#define FRAME_OFF_GP BYTES(3) #define FRAME_OFF_GP BYTES(3)
#define FRAME_OFF_TP BYTES(4)
/* switch frame */ /* switch frame */
#define RT_HW_SWITCH_CONTEXT_SSTATUS 0 #define RT_HW_SWITCH_CONTEXT_SSTATUS 0