[PATCH] fix posix lock on NFS
NFS client prevents mandatory lock, but there is a flaw on it; Locks are possibly left if the mode is changed while locking. This permits unlocking even if the mandatory lock bits are set. Signed-off-by: ASANO Masahiro <masano@tnes.nec.co.jp> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
d6f029130f
commit
0800c5f7a4
@@ -509,7 +509,8 @@ static int nfs_lock(struct file *filp, int cmd, struct file_lock *fl)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
/* No mandatory locks over NFS */
|
/* No mandatory locks over NFS */
|
||||||
if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID)
|
if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID &&
|
||||||
|
fl->fl_type != F_UNLCK)
|
||||||
return -ENOLCK;
|
return -ENOLCK;
|
||||||
|
|
||||||
if (IS_GETLK(cmd))
|
if (IS_GETLK(cmd))
|
||||||
|
Reference in New Issue
Block a user