priv: Use PRIV_VFS_LINK
authorMichael Neumann <mneumann@ntecs.de>
Sun, 12 Jul 2009 15:53:06 +0000 (17:53 +0200)
committerMichael Neumann <mneumann@ntecs.de>
Sun, 12 Jul 2009 15:53:06 +0000 (17:53 +0200)
sys/kern/kern_jail.c
sys/kern/vfs_syscalls.c
sys/sys/priv.h

index 03d0115..74eeb09 100644 (file)
@@ -684,6 +684,7 @@ prison_priv_check(struct ucred *cred, int priv)
        case PRIV_VFS_CHOWN:
        case PRIV_VFS_CHMOD:
        case PRIV_VFS_CHROOT:
+       case PRIV_VFS_LINK:
        case PRIV_VFS_MKNOD_BAD:
        case PRIV_VFS_MKNOD_WHT:
        case PRIV_VFS_MKNOD_DIR:
index 0ed5a2b..954e90a 100644 (file)
@@ -1996,9 +1996,9 @@ can_hardlink(struct vnode *vp, struct thread *td, struct ucred *cred)
                return (0);
 
        /*
-        * root cred can always hardlink
+        * Privileged user can always hardlink
         */
-       if (priv_check_cred(cred, PRIV_ROOT, PRISON_ROOT) == 0)
+       if (priv_check_cred(cred, PRIV_VFS_LINK, 0) == 0)
                return (0);
 
        /*
index 56fdd4c..9847ad5 100644 (file)
 #define        PRIV_VFS_GENERATION     326     /* stat() returns generation number. */
 #define        PRIV_VFS_GETFH          327     /* Can retrieve file handles. */
 #define        PRIV_VFS_GETQUOTA       328     /* getquota(). */
-#define        PRIV_VFS_LINK           329     /* bsd.hardlink_check_uid */
+#define        PRIV_VFS_LINK           329     /* security.hardlink_check_uid */
 #define        PRIV_VFS_MKNOD_BAD      330     /* Can mknod() to mark bad inodes. */
 #define        PRIV_VFS_MKNOD_DEV      331     /* Can mknod() to create dev nodes. */
 #define        PRIV_VFS_MKNOD_WHT      332     /* Can mknod() to create whiteout. */