Do a full exception_restore after an execve syscall to ensure that the
new program gets the right values for its arguments etc.
This commit is contained in:
parent
4f8d61b521
commit
85a25ab3d5
@ -1353,6 +1353,11 @@ ENTRY(do_syscall, 0)
|
||||
;;
|
||||
br.call.sptk.many rp=syscall // do the work
|
||||
|
||||
cmp.eq p6,p0=59,loc0 // do a full restore for execve
|
||||
;;
|
||||
(p6) add sp=-16,loc1
|
||||
(p6) br.dpnt.many exception_restore
|
||||
|
||||
rsm psr.dt|psr.ic // get ready to restore
|
||||
;;
|
||||
srlz.d // serialise psr.dt and psr.ic
|
||||
|
@ -1353,6 +1353,11 @@ ENTRY(do_syscall, 0)
|
||||
;;
|
||||
br.call.sptk.many rp=syscall // do the work
|
||||
|
||||
cmp.eq p6,p0=59,loc0 // do a full restore for execve
|
||||
;;
|
||||
(p6) add sp=-16,loc1
|
||||
(p6) br.dpnt.many exception_restore
|
||||
|
||||
rsm psr.dt|psr.ic // get ready to restore
|
||||
;;
|
||||
srlz.d // serialise psr.dt and psr.ic
|
||||
|
Loading…
x
Reference in New Issue
Block a user