chiark / gitweb /
sd-dhcp-client: log positive error number
[elogind.git] / src / core / smack-setup.c
index 611bfdb2df155b20e51bf84ff95a478246c50ec9..5f6dabf82a228fbcacb6194a7b132ba43404ae49 100644 (file)
@@ -87,7 +87,7 @@ static int write_rules(const char* dstpath, const char* srcdir) {
                 if (!policy) {
                         if (r == 0)
                                 r = -errno;
-                        close_nointr_nofail(fd);
+                        safe_close(fd);
                         log_error("Failed to open %s: %m", entry->d_name);
                         continue;
                 }
@@ -116,12 +116,14 @@ static int write_rules(const char* dstpath, const char* srcdir) {
 
 #endif
 
-int smack_setup(void) {
+int smack_setup(bool *loaded_policy) {
 
 #ifdef HAVE_SMACK
 
         int r;
 
+        assert(loaded_policy);
+
         r = write_rules("/sys/fs/smackfs/load2", SMACK_CONFIG);
         switch(r) {
         case -ENOENT:
@@ -163,6 +165,8 @@ int smack_setup(void) {
                 return 0;
         }
 
+        *loaded_policy = true;
+
 #endif
 
         return 0;