diff options
| author | Jakub Kicinski <[email protected]> | 2023-04-20 23:27:33 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2023-04-20 23:29:51 +0000 |
| commit | 681c5b51dc6b8ff1ec05555243eccf64a08cb2fd (patch) | |
| tree | 713e0523bc617cbda9ff930568dd2341907b87b8 /fs/userfaultfd.c | |
| parent | net: libwx: fix memory leak in wx_setup_rx_resources (diff) | |
| parent | wifi: ath9k: Don't mark channelmap stack variable read-only in ath9k_mci_upda... (diff) | |
| download | kernel-681c5b51dc6b8ff1ec05555243eccf64a08cb2fd.tar.gz kernel-681c5b51dc6b8ff1ec05555243eccf64a08cb2fd.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Adjacent changes:
net/mptcp/protocol.h
63740448a32e ("mptcp: fix accept vs worker race")
2a6a870e44dd ("mptcp: stops worker on unaccepted sockets at listener close")
ddb1a072f858 ("mptcp: move first subflow allocation at mpc access time")
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'fs/userfaultfd.c')
| -rw-r--r-- | fs/userfaultfd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index 44d1ee429eb0..40f9e1a2ebdd 100644 --- a/fs/userfaultfd.c +++ b/fs/userfaultfd.c @@ -1955,8 +1955,10 @@ static int userfaultfd_api(struct userfaultfd_ctx *ctx, ret = -EFAULT; if (copy_from_user(&uffdio_api, buf, sizeof(uffdio_api))) goto out; - /* Ignore unsupported features (userspace built against newer kernel) */ - features = uffdio_api.features & UFFD_API_FEATURES; + features = uffdio_api.features; + ret = -EINVAL; + if (uffdio_api.api != UFFD_API || (features & ~UFFD_API_FEATURES)) + goto err_out; ret = -EPERM; if ((features & UFFD_FEATURE_EVENT_FORK) && !capable(CAP_SYS_PTRACE)) goto err_out; |
