]> git.eshelyaron.com Git - emacs.git/commitdiff
fileio.c fix for bug#11245
authorGlenn Morris <rgm@gnu.org>
Fri, 20 Apr 2012 17:34:51 +0000 (13:34 -0400)
committerGlenn Morris <rgm@gnu.org>
Fri, 20 Apr 2012 17:34:51 +0000 (13:34 -0400)
* src/fileio.c (Fcopy_file, Fset_file_selinux_context):
Ignore ENOTSUP failures from setfilecon functions.

src/ChangeLog
src/fileio.c

index c232420d0b1526dc27f1ab564d7fb55444b55564..2d5520c9dbb5f730ed9b9b6ffb18a003647d7b11 100644 (file)
@@ -1,3 +1,8 @@
+2012-04-20  Glenn Morris  <rgm@gnu.org>
+
+       * fileio.c (Fcopy_file, Fset_file_selinux_context):
+       Ignore ENOTSUP failures from setfilecon functions.  (Bug#11245)
+
 2012-04-20  Eli Zaretskii  <eliz@gnu.org>
 
        * dispnew.c (swap_glyph_pointers, copy_row_except_pointers): Don't
index 7efe919a9f03de28389084efc6844330424f9e21..0d1a87b65b7ddf4def723d18241809435be0ca29 100644 (file)
@@ -1,6 +1,6 @@
 /* File IO for GNU Emacs.
 
-Copyright (C) 1985-1988, 1993-2012  Free Software Foundation, Inc.
+Copyright (C) 1985-1988, 1993-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -2044,9 +2044,10 @@ on the system, we copy the SELinux context of FILE to NEWNAME.  */)
 #if HAVE_LIBSELINUX
   if (conlength > 0)
     {
-      /* Set the modified context back to the file. */
+      /* Set the modified context back to the file.  */
       fail = fsetfilecon (ofd, con);
-      if (fail)
+      /* See http://debbugs.gnu.org/11245 for ENOTSUP.  */
+      if (fail && errno != ENOTSUP)
        report_file_error ("Doing fsetfilecon", Fcons (newname, Qnil));
 
       freecon (con);
@@ -2917,10 +2918,11 @@ compiled with SELinux support.  */)
                error ("Doing context_range_set");
            }
 
-         /* Set the modified context back to the file. */
+         /* Set the modified context back to the file.  */
          fail = lsetfilecon (SSDATA (encoded_absname),
                              context_str (parsed_con));
-         if (fail)
+          /* See http://debbugs.gnu.org/11245 for ENOTSUP.  */
+         if (fail && errno != ENOTSUP)
            report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil));
 
          context_free (parsed_con);