]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Open syscall emulation file O_RDONLY
authorChas Williams <3chas3@gmail.com>
Wed, 2 Dec 2015 15:38:42 +0000 (10:38 -0500)
committerStephan Wiesand <stephan.wiesand@desy.de>
Mon, 14 Dec 2015 12:52:33 +0000 (07:52 -0500)
As reported on the -info mailing list, docker is now exporting the
/proc filesystem as read only.  ioctl() doesn't need write permissions
to do its work, so change O_RDWR to O_RDONLY.

Reviewed-on: http://gerrit.openafs.org/12122
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 359e1f2a25d242984229edfb378c0b95c3ee8570)

Change-Id: I5ec9262a30c1aa40604e1265b4da00f4597c1cc8
Reviewed-on: http://gerrit.openafs.org/12124
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/sys/glue.c

index dfcc84a6eaf370e7f36a01707164ef6c272794a1..5ccda5683f910fb359b7a02e8b62738d6c69beaf 100644 (file)
@@ -29,9 +29,9 @@
 int proc_afs_syscall(long syscall, long param1, long param2, long param3,
                     long param4, int *rval) {
   struct afsprocdata syscall_data;
-  int fd = open(PROC_SYSCALL_FNAME, O_RDWR);
+  int fd = open(PROC_SYSCALL_FNAME, O_RDONLY);
   if(fd < 0)
-      fd = open(PROC_SYSCALL_ARLA_FNAME, O_RDWR);
+      fd = open(PROC_SYSCALL_ARLA_FNAME, O_RDONLY);
   if(fd < 0)
     return -1;
 
@@ -55,7 +55,7 @@ int ioctl_afs_syscall(long syscall, long param1, long param2, long param3,
     struct afssysargs syscall_data;
     void *ioctldata;
     int code;
-    int fd = open(SYSCALL_DEV_FNAME, O_RDWR);
+    int fd = open(SYSCALL_DEV_FNAME, O_RDONLY);
     int syscallnum;
 #ifdef AFS_DARWIN100_ENV
     struct afssysargs64 syscall64_data;
@@ -137,7 +137,7 @@ ioctl_sun_afs_syscall(long syscall, uintptr_t param1, uintptr_t param2,
     callnum = VIOC_SYSCALL;
 # endif /* !_ILP32 */
 
-    fd = open(SYSCALL_DEV_FNAME, O_RDWR);
+    fd = open(SYSCALL_DEV_FNAME, O_RDONLY);
     if (fd < 0) {
        return -1;
     }