aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Qiu <zqiu@google.com>2015-12-16 15:30:45 -0800
committerPeter Qiu <zqiu@google.com>2015-12-16 15:30:45 -0800
commit7a8c2c1f3b25446cec0e7e897f74c9769f4fb6be (patch)
treeba7a2c16fad611f6d0dec76c9371d0b74e72b4af
parent21cfdb8e751c4d24d7d274dd48946eb0112006ad (diff)
downloadplatform_external_libbrillo-7a8c2c1f3b25446cec0e7e897f74c9769f4fb6be.tar.gz
platform_external_libbrillo-7a8c2c1f3b25446cec0e7e897f74c9769f4fb6be.tar.bz2
platform_external_libbrillo-7a8c2c1f3b25446cec0e7e897f74c9769f4fb6be.zip
minijail: add support for resetting child process's signal mask
This allows the caller to specify whether the child process should reset its signal mask or not. Bug: None BUG=chrome-os-partner:47785 TEST=Manual test using shill Change-Id: I584c4790fc402624345b39fb6fa78308d6897c85
-rw-r--r--brillo/minijail/minijail.cc4
-rw-r--r--brillo/minijail/minijail.h3
-rw-r--r--brillo/minijail/mock_minijail.h1
3 files changed, 8 insertions, 0 deletions
diff --git a/brillo/minijail/minijail.cc b/brillo/minijail/minijail.cc
index 0f2efaa..4d47c05 100644
--- a/brillo/minijail/minijail.cc
+++ b/brillo/minijail/minijail.cc
@@ -62,6 +62,10 @@ void Minijail::UseCapabilities(struct minijail* jail, uint64_t capmask) {
minijail_use_caps(jail, capmask);
}
+void Minijail::ResetSignalMask(struct minijail* jail) {
+ minijail_reset_signal_mask(jail);
+}
+
void Minijail::Enter(struct minijail* jail) {
minijail_enter(jail);
}
diff --git a/brillo/minijail/minijail.h b/brillo/minijail/minijail.h
index 271971d..4c1431d 100644
--- a/brillo/minijail/minijail.h
+++ b/brillo/minijail/minijail.h
@@ -52,6 +52,9 @@ class Minijail {
// minijail_use_caps
virtual void UseCapabilities(struct minijail* jail, uint64_t capmask);
+ // minijail_reset_signal_mask
+ virtual void ResetSignalMask(struct minijail* jail);
+
// minijail_enter
virtual void Enter(struct minijail* jail);
diff --git a/brillo/minijail/mock_minijail.h b/brillo/minijail/mock_minijail.h
index b09cd80..a855632 100644
--- a/brillo/minijail/mock_minijail.h
+++ b/brillo/minijail/mock_minijail.h
@@ -28,6 +28,7 @@ class MockMinijail : public brillo::Minijail {
const char* group));
MOCK_METHOD2(UseSeccompFilter, void(struct minijail* jail, const char* path));
MOCK_METHOD2(UseCapabilities, void(struct minijail* jail, uint64_t capmask));
+ MOCK_METHOD1(ResetSignalMask, void(struct minijail* jail));
MOCK_METHOD1(Enter, void(struct minijail* jail));
MOCK_METHOD3(Run,
bool(struct minijail* jail,