kmod: conditionalize kmod setup on CAP_SYS_MODULE, not whether we run in a container

It's generally preferrable to conditionalize on the actual ability to do
something then the context we run in.
This commit is contained in:
Lennart Poettering
2014-06-17 03:26:40 +02:00
parent a1259e0a14
commit c47fc1f025
2 changed files with 6 additions and 3 deletions
+5 -1
View File
@@ -27,7 +27,7 @@
#include "macro.h"
#include "execute.h"
#include "capability.h"
#include "kmod-setup.h"
static void systemd_kmod_log(
@@ -54,6 +54,7 @@ static bool cmdline_check_kdbus(void) {
}
int kmod_setup(void) {
static const struct {
const char *module;
const char *path;
@@ -76,6 +77,9 @@ int kmod_setup(void) {
unsigned int i;
int r;
if (have_effective_cap(CAP_SYS_MODULE) == 0)
return 0;
for (i = 0; i < ELEMENTSOF(kmod_table); i++) {
struct kmod_module *mod;
+1 -2
View File
@@ -1589,8 +1589,7 @@ int main(int argc, char *argv[]) {
status_welcome();
#ifdef HAVE_KMOD
if (detect_container(NULL) <= 0)
kmod_setup();
kmod_setup();
#endif
hostname_setup();
machine_id_setup("");