From 0f9963a8b8c1d60a467c0cdc04d5e7bfce9d7c75 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Thu, 31 May 2012 13:34:41 +0200 Subject: [PATCH] Revert "label: fix systemd-udev labeling of /run directory." This reverts commit 9b5af248f04b6cad8a5bca836e89a39e9f6823d9. Udev now explicitely labels only files/directories in /dev. The selinux array API is not released and will not work on other distros at this moment. --- src/shared/label.c | 6 +++--- src/shared/label.h | 2 +- src/test/test-udev.c | 3 +-- src/udev/udevadm.c | 4 +--- src/udev/udevd.c | 3 +-- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/shared/label.c b/src/shared/label.c index d91257462..9a5f79d7a 100644 --- a/src/shared/label.c +++ b/src/shared/label.c @@ -52,7 +52,7 @@ void label_retest_selinux(void) { #endif -int label_init(const char *prefixes[]) { +int label_init(const char *prefix) { int r = 0; #ifdef HAVE_SELINUX @@ -68,9 +68,9 @@ int label_init(const char *prefixes[]) { before_mallinfo = mallinfo(); before_timestamp = now(CLOCK_MONOTONIC); - if (prefixes) { + if (prefix) { struct selinux_opt options[] = { - { .type = SELABEL_OPT_SUBSET, .values = prefixes }, + { .type = SELABEL_OPT_SUBSET, .value = prefix }, }; label_hnd = selabel_open(SELABEL_CTX_FILE, options, ELEMENTSOF(options)); diff --git a/src/shared/label.h b/src/shared/label.h index 2eaabfa62..4f404b2f2 100644 --- a/src/shared/label.h +++ b/src/shared/label.h @@ -26,7 +26,7 @@ #include #include -int label_init(const char *prefixes[]); +int label_init(const char *prefix); void label_finish(void); int label_fix(const char *path, bool ignore_enoent); diff --git a/src/test/test-udev.c b/src/test/test-udev.c index bd9c05903..414eabc7b 100644 --- a/src/test/test-udev.c +++ b/src/test/test-udev.c @@ -45,13 +45,12 @@ int main(int argc, char *argv[]) const char *action; sigset_t mask, sigmask_orig; int err = -EINVAL; - const char *prefixes[] = { "/dev", "/run", NULL }; udev = udev_new(); if (udev == NULL) exit(EXIT_FAILURE); log_debug("version %s\n", VERSION); - label_init(prefixes); + label_init("/dev"); sigprocmask(SIG_SETMASK, NULL, &sigmask_orig); diff --git a/src/udev/udevadm.c b/src/udev/udevadm.c index fafa31bba..5217d7f9d 100644 --- a/src/udev/udevadm.c +++ b/src/udev/udevadm.c @@ -91,7 +91,6 @@ int main(int argc, char *argv[]) { "version", no_argument, NULL, 'V' }, {} }; - const char *prefixes[] = { "/dev", "/run", NULL }; const char *command; unsigned int i; int rc = 1; @@ -103,8 +102,7 @@ int main(int argc, char *argv[]) log_open(); log_parse_environment(); udev_set_log_fn(udev, udev_main_log); - - label_init(prefixes); + label_init("/dev"); for (;;) { int option; diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 43937db89..790531022 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1030,7 +1030,6 @@ int main(int argc, char *argv[]) int fd_ctrl = -1; int fd_netlink = -1; int fd_worker = -1; - const char *prefixes[] = { "/dev", "/run", NULL }; struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker; struct udev_ctrl_connection *ctrl_conn = NULL; int rc = 1; @@ -1043,7 +1042,7 @@ int main(int argc, char *argv[]) log_parse_environment(); udev_set_log_fn(udev, udev_main_log); log_debug("version %s\n", VERSION); - label_init(prefixes); + label_init("/dev"); for (;;) { int option; -- 2.30.2