Merge branch 'locks-3.15' of git://git.samba.org/jlayton/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 4 Apr 2014 21:21:20 +0000 (14:21 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 4 Apr 2014 21:21:20 +0000 (14:21 -0700)
Pull file locking updates from Jeff Layton:
 "Highlights:

   - maintainership change for fs/locks.c.  Willy's not interested in
     maintaining it these days, and is OK with Bruce and I taking it.
   - fix for open vs setlease race that Al ID'ed
   - cleanup and consolidation of file locking code
   - eliminate unneeded BUG() call
   - merge of file-private lock implementation"

* 'locks-3.15' of git://git.samba.org/jlayton/linux:
  locks: make locks_mandatory_area check for file-private locks
  locks: fix locks_mandatory_locked to respect file-private locks
  locks: require that flock->l_pid be set to 0 for file-private locks
  locks: add new fcntl cmd values for handling file private locks
  locks: skip deadlock detection on FL_FILE_PVT locks
  locks: pass the cmd value to fcntl_getlk/getlk64
  locks: report l_pid as -1 for FL_FILE_PVT locks
  locks: make /proc/locks show IS_FILE_PVT locks as type "FLPVT"
  locks: rename locks_remove_flock to locks_remove_file
  locks: consolidate checks for compatible filp->f_mode values in setlk handlers
  locks: fix posix lock range overflow handling
  locks: eliminate BUG() call when there's an unexpected lock on file close
  locks: add __acquires and __releases annotations to locks_start and locks_stop
  locks: remove "inline" qualifier from fl_link manipulation functions
  locks: clean up comment typo
  locks: close potential race between setlease and open
  MAINTAINERS: update entry for fs/locks.c

1  2 
MAINTAINERS
fs/compat.c
fs/file_table.c
fs/namei.c
include/linux/fs.h
mm/mmap.c
security/selinux/hooks.c

diff --cc MAINTAINERS
Simple merge
diff --cc fs/compat.c
index f86df85dff612b2910e6e33f35fc8d85c13b635b,f340dcf11f689cb45db686547974833c347d4f86..ca926ad0430cf715af12ebc3f0fa86d8c273d492
@@@ -399,8 -399,23 +399,23 @@@ static int put_compat_flock64(struct fl
  }
  #endif
  
 -asmlinkage long compat_sys_fcntl64(unsigned int fd, unsigned int cmd,
 -              unsigned long arg)
+ static unsigned int
+ convert_fcntl_cmd(unsigned int cmd)
+ {
+       switch (cmd) {
+       case F_GETLK64:
+               return F_GETLK;
+       case F_SETLK64:
+               return F_SETLK;
+       case F_SETLKW64:
+               return F_SETLKW;
+       }
+       return cmd;
+ }
 +COMPAT_SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd,
 +                     compat_ulong_t, arg)
  {
        mm_segment_t old_fs;
        struct flock f;
        return ret;
  }
  
 -asmlinkage long compat_sys_fcntl(unsigned int fd, unsigned int cmd,
 -              unsigned long arg)
 +COMPAT_SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd,
 +                     compat_ulong_t, arg)
  {
-       if ((cmd == F_GETLK64) || (cmd == F_SETLK64) || (cmd == F_SETLKW64))
+       switch (cmd) {
+       case F_GETLK64:
+       case F_SETLK64:
+       case F_SETLKW64:
+       case F_GETLKP:
+       case F_SETLKP:
+       case F_SETLKPW:
                return -EINVAL;
+       }
        return compat_sys_fcntl64(fd, cmd, arg);
  }
  
diff --cc fs/file_table.c
Simple merge
diff --cc fs/namei.c
Simple merge
Simple merge
diff --cc mm/mmap.c
Simple merge
Simple merge