vm: remove stack handling for signals
. moved to the kernel as the handling was only reading it; the kernel may as well write it too
This commit is contained in:
@@ -545,6 +545,8 @@ void fpu_sigcontext(struct proc *pr, struct sigframe *fr, struct sigcontext *sc)
|
||||
}
|
||||
}
|
||||
|
||||
reg_t arch_get_sp(struct proc *p) { return p->p_reg.sp; }
|
||||
|
||||
#if !CONFIG_OXPCIE
|
||||
static void ser_init(void)
|
||||
{
|
||||
|
||||
@@ -206,6 +206,7 @@ void arch_do_syscall(struct proc *proc);
|
||||
int arch_phys_map(int index, phys_bytes *addr, phys_bytes *len, int
|
||||
*flags);
|
||||
int arch_phys_map_reply(int index, vir_bytes addr);
|
||||
reg_t arch_get_sp(struct proc *p);
|
||||
int arch_enable_paging(struct proc * caller);
|
||||
int vm_check_range(struct proc *caller,
|
||||
struct proc *target, vir_bytes vir_addr, size_t bytes);
|
||||
|
||||
@@ -38,6 +38,7 @@ int do_sigsend(struct proc * caller, message * m_ptr)
|
||||
return r;
|
||||
|
||||
/* Compute the user stack pointer where sigcontext will be stored. */
|
||||
smsg.sm_stkptr = arch_get_sp(rp);
|
||||
scp = (struct sigcontext *) smsg.sm_stkptr - 1;
|
||||
|
||||
/* Copy the registers to the sigcontext structure. */
|
||||
|
||||
Reference in New Issue
Block a user