patch-2.1.100 linux/fs/sysv/namei.c
Next file: linux/fs/umsdos/namei.c
Previous file: linux/fs/super.c
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Wed May 6 10:56:06 1998
- Orig file:
v2.1.99/linux/fs/sysv/namei.c
- Orig date:
Thu Feb 12 20:56:12 1998
diff -u --recursive --new-file v2.1.99/linux/fs/sysv/namei.c linux/fs/sysv/namei.c
@@ -419,7 +419,7 @@
if ((dir->i_mode & S_ISVTX) &&
current->fsuid != inode->i_uid &&
- current->fsuid != dir->i_uid && !fsuser())
+ current->fsuid != dir->i_uid && !capable(CAP_FOWNER))
goto end_rmdir;
if (inode->i_dev != dir->i_dev)
goto end_rmdir;
@@ -484,7 +484,7 @@
}
if ((dir->i_mode & S_ISVTX) &&
current->fsuid != inode->i_uid &&
- current->fsuid != dir->i_uid && !fsuser())
+ current->fsuid != dir->i_uid && !capable(CAP_FOWNER))
goto end_unlink;
if (de->inode != inode->i_ino) {
retval = -ENOENT;
@@ -643,7 +643,7 @@
retval = -EPERM;
if ((old_dir->i_mode & S_ISVTX) &&
current->fsuid != old_inode->i_uid &&
- current->fsuid != old_dir->i_uid && !fsuser())
+ current->fsuid != old_dir->i_uid && !capable(CAP_FOWNER))
goto end_rename;
new_inode = new_dentry->d_inode;
new_bh = sysv_find_entry(new_dir, new_dentry->d_name.name,
@@ -675,7 +675,7 @@
retval = -EPERM;
if (new_inode && (new_dir->i_mode & S_ISVTX) &&
current->fsuid != new_inode->i_uid &&
- current->fsuid != new_dir->i_uid && !fsuser())
+ current->fsuid != new_dir->i_uid && !capable(CAP_FOWNER))
goto end_rename;
if (S_ISDIR(old_inode->i_mode)) {
retval = -ENOTDIR;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov