stack of signal handler is not 16 byte align

refs #429
This commit is contained in:
Tomoki Shirasawa
2015-02-24 17:20:52 +09:00
parent 73743eeeb0
commit e91d1e5b7b

View File

@ -495,6 +495,7 @@ do_signal(unsigned long rc, void *regs0, struct process *proc, struct sig_pendin
usp = (unsigned long *)regs->rsp;
}
sigsp = ((struct sigsp *)usp) - 1;
sigsp = (struct sigsp *)((unsigned long)sigsp & 0xfffffffffffffff0UL);
if(copy_to_user(proc, &sigsp->regs, regs, sizeof(struct x86_regs)) ||
copy_to_user(proc, &sigsp->sigrc, &rc, sizeof(long))){
kfree(pending);