File locking related changes for v4.15
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJaDuoWAAoJEAAOaEEZVoIVXEQP/jQYoU9hgvEj8j3ZIgi56SDJ pR45w2zcJz2/uU43DEKyShyLgsuoBbJQ3l/gGBH/tl+xGm9NzB0gatoEu9GmKNYz /IN6/vUFnoIAUyD+iMZbpmsYKIkz0z2YJo261IfspAwIft/cvHJnYYGQrP9YXg9F c7bdDuANTKocdQigc4BQyOe3OfIBGfTwJhuakO+1yuZmGOVNyxEcdYbMM8FiTfc8 +62kvQQ3t7WMqSbM8M0QdGcYQjG0EwcVAuV7COurLJIva7hUkVel32MVUjoFcf28 BnRu2ztFJCubm1HA85twlJDtpeXbcMqrUl/CcwRMpwDaePd5GVB1h5iKqbZ51BZ1 fWT2STmt+8hY2B5eiXoYEaG3B7ZRr+r0oroxqOxpiZ/m4AVeouF+gPGv+NV5zgvD NGWC0MdklIJ4xaC99NEeP6kBhz0M74VKymFCTeHkVg9m4TqDepNvitKed0qagw19 uw8seei7TOTm4o117+l55NHmyfTHXFO4U0WLTJyeZcoEnUs0rOcHeqyy0RwCBMrK W2fJtdBLFr+tBIIrID4TnPhhYtSvIPjz+FpiRDobqhgvMva/PIvLGTWK4unrgIjG ZQ7YGnwWda8GjqKhgZacn/BSXyJzOAF9hJp0mz2ORaOxaMarEV55duiZufCvGuZw uUQWRCKuQX7Oi05i9jXp =fCeF -----END PGP SIGNATURE----- Merge tag 'locks-v4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux Pull file locking update from Jeff Layton: "A couple of fixes for a patch that went into v4.14, and the bug report just came in a few days ago.. It passes my (minimal) testing, and has been in linux-next for a few days now. I also would like to get my address changed in MAINTAINERS to clear that hurdle" * tag 'locks-v4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux: fcntl: don't cap l_start and l_end values for F_GETLK64 in compat syscall fcntl: don't leak fd reference when fixup_compat_flock fails MAINTAINERS: s/jlayton@poochiereds.net/jlayton@kernel.org/
This commit is contained in:
commit
5a3e0b196b
10 changed files with 10 additions and 20 deletions
|
@ -5216,7 +5216,7 @@ F: drivers/video/fbdev/s1d13xxxfb.c
|
|||
F: include/video/s1d13xxxfb.h
|
||||
|
||||
ERRSEQ ERROR TRACKING INFRASTRUCTURE
|
||||
M: Jeff Layton <jlayton@poochiereds.net>
|
||||
M: Jeff Layton <jlayton@kernel.org>
|
||||
S: Maintained
|
||||
F: lib/errseq.c
|
||||
F: include/linux/errseq.h
|
||||
|
@ -5404,7 +5404,7 @@ F: include/scsi/libfcoe.h
|
|||
F: include/uapi/scsi/fc/
|
||||
|
||||
FILE LOCKING (flock() and fcntl()/lockf())
|
||||
M: Jeff Layton <jlayton@poochiereds.net>
|
||||
M: Jeff Layton <jlayton@kernel.org>
|
||||
M: "J. Bruce Fields" <bfields@fieldses.org>
|
||||
L: linux-fsdevel@vger.kernel.org
|
||||
S: Maintained
|
||||
|
@ -7550,7 +7550,7 @@ S: Odd Fixes
|
|||
|
||||
KERNEL NFSD, SUNRPC, AND LOCKD SERVERS
|
||||
M: "J. Bruce Fields" <bfields@fieldses.org>
|
||||
M: Jeff Layton <jlayton@poochiereds.net>
|
||||
M: Jeff Layton <jlayton@kernel.org>
|
||||
L: linux-nfs@vger.kernel.org
|
||||
W: http://nfs.sourceforge.net/
|
||||
T: git git://linux-nfs.org/~bfields/linux.git
|
||||
|
|
|
@ -215,7 +215,6 @@ typedef struct compat_siginfo {
|
|||
} compat_siginfo_t;
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
/*
|
||||
* A pointer passed in from user mode. This should not
|
||||
|
|
|
@ -200,7 +200,6 @@ typedef struct compat_siginfo {
|
|||
} compat_siginfo_t;
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
/*
|
||||
* A pointer passed in from user mode. This should not
|
||||
|
|
|
@ -195,7 +195,6 @@ typedef struct compat_siginfo {
|
|||
} compat_siginfo_t;
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
struct compat_ipc64_perm {
|
||||
compat_key_t key;
|
||||
|
|
|
@ -185,7 +185,6 @@ typedef struct compat_siginfo {
|
|||
} compat_siginfo_t;
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
/*
|
||||
* A pointer passed in from user mode. This should not
|
||||
|
|
|
@ -263,7 +263,6 @@ typedef struct compat_siginfo {
|
|||
#define si_overrun _sifields._timer._overrun
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
/*
|
||||
* A pointer passed in from user mode. This should not
|
||||
|
|
|
@ -209,7 +209,6 @@ typedef struct compat_siginfo {
|
|||
} compat_siginfo_t;
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
/*
|
||||
* A pointer passed in from user mode. This should not
|
||||
|
|
|
@ -173,7 +173,6 @@ typedef struct compat_siginfo {
|
|||
} compat_siginfo_t;
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
struct compat_ipc64_perm {
|
||||
compat_key_t key;
|
||||
|
|
|
@ -210,7 +210,6 @@ typedef struct compat_siginfo {
|
|||
} compat_siginfo_t;
|
||||
|
||||
#define COMPAT_OFF_T_MAX 0x7fffffff
|
||||
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
|
||||
|
||||
struct compat_ipc64_perm {
|
||||
compat_key_t key;
|
||||
|
|
16
fs/fcntl.c
16
fs/fcntl.c
|
@ -563,6 +563,9 @@ static int put_compat_flock64(const struct flock *kfl, struct compat_flock64 __u
|
|||
{
|
||||
struct compat_flock64 fl;
|
||||
|
||||
BUILD_BUG_ON(sizeof(kfl->l_start) > sizeof(ufl->l_start));
|
||||
BUILD_BUG_ON(sizeof(kfl->l_len) > sizeof(ufl->l_len));
|
||||
|
||||
memset(&fl, 0, sizeof(struct compat_flock64));
|
||||
copy_flock_fields(&fl, kfl);
|
||||
if (copy_to_user(ufl, &fl, sizeof(struct compat_flock64)))
|
||||
|
@ -632,9 +635,8 @@ COMPAT_SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd,
|
|||
if (err)
|
||||
break;
|
||||
err = fixup_compat_flock(&flock);
|
||||
if (err)
|
||||
return err;
|
||||
err = put_compat_flock(&flock, compat_ptr(arg));
|
||||
if (!err)
|
||||
err = put_compat_flock(&flock, compat_ptr(arg));
|
||||
break;
|
||||
case F_GETLK64:
|
||||
case F_OFD_GETLK:
|
||||
|
@ -642,12 +644,8 @@ COMPAT_SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd,
|
|||
if (err)
|
||||
break;
|
||||
err = fcntl_getlk(f.file, convert_fcntl_cmd(cmd), &flock);
|
||||
if (err)
|
||||
break;
|
||||
err = fixup_compat_flock(&flock);
|
||||
if (err)
|
||||
return err;
|
||||
err = put_compat_flock64(&flock, compat_ptr(arg));
|
||||
if (!err)
|
||||
err = put_compat_flock64(&flock, compat_ptr(arg));
|
||||
break;
|
||||
case F_SETLK:
|
||||
case F_SETLKW:
|
||||
|
|
Loading…
Reference in a new issue