From: Ludwig Nussel Date: Mon, 8 Apr 2013 14:51:47 +0200 Subject: apply ACL for nvidia device nodes set ACL on nvidia devices (bnc#808319). --- src/login/logind-acl.c | 3 +++ 1 file changed, 3 insertions(+) --- systemd-206.orig/src/login/logind-acl.c +++ systemd-206/src/login/logind-acl.c @@ -24,6 +24,7 @@ #include #include #include +#include #include "logind-acl.h" #include "util.h" @@ -287,6 +288,22 @@ int devnode_acl_all(struct udev *udev, r = devnode_acl(n, flush, del, old_uid, add, new_uid); } + /* only search for nvidia* if /dev/nvidiactl exists */ + if (!devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid)) { + char** directory; + char **f, *resolved; + + if (get_files_in_directory ("/dev", &directory)) { + STRV_FOREACH(f,directory) + if (startswith(*f,"nvidia")) { + resolved = strjoin("/dev/", *f, NULL); + devnode_acl(resolved, flush, del, old_uid, add, new_uid); + free(resolved); + } + } + strv_free(directory); + } + finish: udev_enumerate_unref(e); set_free_free(nodes);