usermode-cachemgr-open-mode-checking-fix-20010605
[openafs.git] / src / afs / UKERNEL / afs_usrops.c
index 5bff120..0c1e9eb 100644 (file)
@@ -1845,7 +1845,7 @@ void uafs_Init(
        iob.out = tbuffer;
        iob.out_size = sizeof(tbuffer);
 
-#if defined(AFS_USR_SUN5_ENV) || defined(AFS_USR_OSF_ENV) || defined(AFS_USR_HPUX_ENV) || defined(AFS_USR_LINUX22_ENV)
+#if defined(AFS_USR_SUN5_ENV) || defined(AFS_USR_OSF_ENV) || defined(AFS_USR_HPUX_ENV) || defined(AFS_USR_LINUX22_ENV) || defined(AFS_USR_DARWIN_ENV) || defined(AFS_USR_FBSD_ENV)
        rc = syscall(AFS_SYSCALL, AFSCALL_PIOCTL, 0, _VICEIOCTL(8), &iob, 0);
 #elif defined(AFS_USR_SGI_ENV)
        rc = syscall(AFS_PIOCTL, 0, _VICEIOCTL(8), &iob, 0);
@@ -2678,6 +2678,7 @@ int uafs_open_r(
            if (flags & (O_WRONLY|O_RDWR)) {
                fileMode |= VWRITE;
            }
+           if (!fileMode) fileMode = VREAD;  /* since O_RDONLY is 0 */
            code = afs_access(fileP, fileMode, u.u_cred);
            if (code != 0) {
                VN_RELE(fileP);