PM: don't deliver signals to VM
This commit is contained in:
parent
3881e732a9
commit
edefb7b35f
1 changed files with 5 additions and 0 deletions
|
@ -530,6 +530,11 @@ int ksig; /* non-zero means signal comes from kernel */
|
||||||
if (proc_id == -1 && signo == SIGKILL &&
|
if (proc_id == -1 && signo == SIGKILL &&
|
||||||
(rmp->mp_flags & PRIV_PROC)) continue;
|
(rmp->mp_flags & PRIV_PROC)) continue;
|
||||||
|
|
||||||
|
/* Skip VM entirely as it might lead to a deadlock with its signal
|
||||||
|
* manager if the manager page faults at the same time.
|
||||||
|
*/
|
||||||
|
if (rmp->mp_endpoint == VM_PROC_NR) continue;
|
||||||
|
|
||||||
/* Disallow lethal signals sent by user processes to sys processes. */
|
/* Disallow lethal signals sent by user processes to sys processes. */
|
||||||
if (!ksig && SIGS_IS_LETHAL(signo) && (rmp->mp_flags & PRIV_PROC)) {
|
if (!ksig && SIGS_IS_LETHAL(signo) && (rmp->mp_flags & PRIV_PROC)) {
|
||||||
error_code = EPERM;
|
error_code = EPERM;
|
||||||
|
|
Loading…
Reference in a new issue