change to check sequence of kill syscall, check sig num zero after uid checking
This commit is contained in:
@@ -926,11 +926,6 @@ do_kill(int pid, int tid, int sig, siginfo_t *info, int ptracecont)
|
|||||||
cpu_restore_interrupt(irqstate);
|
cpu_restore_interrupt(irqstate);
|
||||||
return -ESRCH;
|
return -ESRCH;
|
||||||
}
|
}
|
||||||
if(sig == 0){
|
|
||||||
ihk_mc_spinlock_unlock_noirq(savelock);
|
|
||||||
cpu_restore_interrupt(irqstate);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(sig != SIGCONT &&
|
if(sig != SIGCONT &&
|
||||||
proc->ftn->euid != 0 &&
|
proc->ftn->euid != 0 &&
|
||||||
@@ -943,6 +938,12 @@ do_kill(int pid, int tid, int sig, siginfo_t *info, int ptracecont)
|
|||||||
return -EPERM;
|
return -EPERM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(sig == 0){
|
||||||
|
ihk_mc_spinlock_unlock_noirq(savelock);
|
||||||
|
cpu_restore_interrupt(irqstate);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
doint = 0;
|
doint = 0;
|
||||||
if(tid == -1){
|
if(tid == -1){
|
||||||
ihk_mc_spinlock_lock_noirq(&tproc->sigshared->lock);
|
ihk_mc_spinlock_lock_noirq(&tproc->sigshared->lock);
|
||||||
|
|||||||
Reference in New Issue
Block a user