From a5c3034fa7089ae680b3b95da33936870f7b493f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 24 Aug 2012 23:00:13 +0200 Subject: swap: refuse start/stop of swaps in container --- src/core/swap.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/core/swap.c') diff --git a/src/core/swap.c b/src/core/swap.c index cd4d9ab3d7..41ece2708f 100644 --- a/src/core/swap.c +++ b/src/core/swap.c @@ -39,6 +39,7 @@ #include "exit-status.h" #include "def.h" #include "path-util.h" +#include "virt.h" static const UnitActiveState state_translation_table[_SWAP_STATE_MAX] = { [SWAP_DEAD] = UNIT_INACTIVE, @@ -797,6 +798,9 @@ static int swap_start(Unit *u) { assert(s->state == SWAP_DEAD || s->state == SWAP_FAILED); + if (detect_container(NULL) > 0) + return -EPERM; + s->result = SWAP_SUCCESS; swap_enter_activating(s); return 0; @@ -817,6 +821,9 @@ static int swap_stop(Unit *u) { assert(s->state == SWAP_ACTIVATING || s->state == SWAP_ACTIVE); + if (detect_container(NULL) > 0) + return -EPERM; + swap_enter_deactivating(s); return 0; } -- cgit v1.2.3-54-g00ecf