chiark / gitweb /
selinux: more context settings
[elogind.git] / udevd.c
diff --git a/udevd.c b/udevd.c
index 493bb54514ce4fa6ea16bf7b119354c409b6a788..7786ae6b8debba13d8c0d3ee76a44fe6aafa82e0 100644 (file)
--- a/udevd.c
+++ b/udevd.c
@@ -168,7 +168,9 @@ static void export_event_state(struct udevd_uevent_msg *msg, enum event_state st
                delete_path(filename_failed);
 
                create_path(filename);
+               selinux_setfscreatecon(filename, NULL, S_IFLNK);        
                symlink(msg->devpath, filename);
+               selinux_resetfscreatecon();
                break;
        case EVENT_FINISHED:
                if (msg->devpath_old != NULL) {
@@ -1116,6 +1118,14 @@ int main(int argc, char *argv[], char *envp[])
                close(fd);
        }
 
+       fd = open("/dev/kmsg", O_WRONLY);
+       if (fd > 0) {
+               const char *str = "<6>udevd version " UDEV_VERSION " started\n";
+
+               write(fd, str, strlen(str));
+               close(fd);
+       }
+
        /* set signal handlers */
        memset(&act, 0x00, sizeof(struct sigaction));
        act.sa_handler = (void (*)(int)) sig_handler;