|
@@ -1378,7 +1378,7 @@ static int may_delete(struct inode *dir,struct dentry *victim,int isdir)
|
|
if (IS_APPEND(dir))
|
|
if (IS_APPEND(dir))
|
|
return -EPERM;
|
|
return -EPERM;
|
|
if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)||
|
|
if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)||
|
|
- IS_IMMUTABLE(victim->d_inode))
|
|
|
|
|
|
+ IS_IMMUTABLE(victim->d_inode) || IS_SWAPFILE(victim->d_inode))
|
|
return -EPERM;
|
|
return -EPERM;
|
|
if (isdir) {
|
|
if (isdir) {
|
|
if (!S_ISDIR(victim->d_inode->i_mode))
|
|
if (!S_ISDIR(victim->d_inode->i_mode))
|