projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge v5.14-rc3 into usb-next
[linux-2.6-microblaze.git]
/
fs
/
userfaultfd.c
diff --git
a/fs/userfaultfd.c
b/fs/userfaultfd.c
index
f6e0f0c
..
5c2d806
100644
(file)
--- a/
fs/userfaultfd.c
+++ b/
fs/userfaultfd.c
@@
-1236,23
+1236,21
@@
static __always_inline void wake_userfault(struct userfaultfd_ctx *ctx,
}
static __always_inline int validate_range(struct mm_struct *mm,
}
static __always_inline int validate_range(struct mm_struct *mm,
- __u64
*
start, __u64 len)
+ __u64 start, __u64 len)
{
__u64 task_size = mm->task_size;
{
__u64 task_size = mm->task_size;
- *start = untagged_addr(*start);
-
- if (*start & ~PAGE_MASK)
+ if (start & ~PAGE_MASK)
return -EINVAL;
if (len & ~PAGE_MASK)
return -EINVAL;
if (!len)
return -EINVAL;
return -EINVAL;
if (len & ~PAGE_MASK)
return -EINVAL;
if (!len)
return -EINVAL;
- if (
*
start < mmap_min_addr)
+ if (start < mmap_min_addr)
return -EINVAL;
return -EINVAL;
- if (
*
start >= task_size)
+ if (start >= task_size)
return -EINVAL;
return -EINVAL;
- if (len > task_size -
*
start)
+ if (len > task_size - start)
return -EINVAL;
return 0;
}
return -EINVAL;
return 0;
}
@@
-1316,7
+1314,7
@@
static int userfaultfd_register(struct userfaultfd_ctx *ctx,
vm_flags |= VM_UFFD_MINOR;
}
vm_flags |= VM_UFFD_MINOR;
}
- ret = validate_range(mm,
&
uffdio_register.range.start,
+ ret = validate_range(mm, uffdio_register.range.start,
uffdio_register.range.len);
if (ret)
goto out;
uffdio_register.range.len);
if (ret)
goto out;
@@
-1522,7
+1520,7
@@
static int userfaultfd_unregister(struct userfaultfd_ctx *ctx,
if (copy_from_user(&uffdio_unregister, buf, sizeof(uffdio_unregister)))
goto out;
if (copy_from_user(&uffdio_unregister, buf, sizeof(uffdio_unregister)))
goto out;
- ret = validate_range(mm,
&
uffdio_unregister.start,
+ ret = validate_range(mm, uffdio_unregister.start,
uffdio_unregister.len);
if (ret)
goto out;
uffdio_unregister.len);
if (ret)
goto out;
@@
-1671,7
+1669,7
@@
static int userfaultfd_wake(struct userfaultfd_ctx *ctx,
if (copy_from_user(&uffdio_wake, buf, sizeof(uffdio_wake)))
goto out;
if (copy_from_user(&uffdio_wake, buf, sizeof(uffdio_wake)))
goto out;
- ret = validate_range(ctx->mm,
&
uffdio_wake.start, uffdio_wake.len);
+ ret = validate_range(ctx->mm, uffdio_wake.start, uffdio_wake.len);
if (ret)
goto out;
if (ret)
goto out;
@@
-1711,7
+1709,7
@@
static int userfaultfd_copy(struct userfaultfd_ctx *ctx,
sizeof(uffdio_copy)-sizeof(__s64)))
goto out;
sizeof(uffdio_copy)-sizeof(__s64)))
goto out;
- ret = validate_range(ctx->mm,
&
uffdio_copy.dst, uffdio_copy.len);
+ ret = validate_range(ctx->mm, uffdio_copy.dst, uffdio_copy.len);
if (ret)
goto out;
/*
if (ret)
goto out;
/*
@@
-1768,7
+1766,7
@@
static int userfaultfd_zeropage(struct userfaultfd_ctx *ctx,
sizeof(uffdio_zeropage)-sizeof(__s64)))
goto out;
sizeof(uffdio_zeropage)-sizeof(__s64)))
goto out;
- ret = validate_range(ctx->mm,
&
uffdio_zeropage.range.start,
+ ret = validate_range(ctx->mm, uffdio_zeropage.range.start,
uffdio_zeropage.range.len);
if (ret)
goto out;
uffdio_zeropage.range.len);
if (ret)
goto out;
@@
-1818,7
+1816,7
@@
static int userfaultfd_writeprotect(struct userfaultfd_ctx *ctx,
sizeof(struct uffdio_writeprotect)))
return -EFAULT;
sizeof(struct uffdio_writeprotect)))
return -EFAULT;
- ret = validate_range(ctx->mm,
&
uffdio_wp.range.start,
+ ret = validate_range(ctx->mm, uffdio_wp.range.start,
uffdio_wp.range.len);
if (ret)
return ret;
uffdio_wp.range.len);
if (ret)
return ret;
@@
-1866,7
+1864,7
@@
static int userfaultfd_continue(struct userfaultfd_ctx *ctx, unsigned long arg)
sizeof(uffdio_continue) - (sizeof(__s64))))
goto out;
sizeof(uffdio_continue) - (sizeof(__s64))))
goto out;
- ret = validate_range(ctx->mm,
&
uffdio_continue.range.start,
+ ret = validate_range(ctx->mm, uffdio_continue.range.start,
uffdio_continue.range.len);
if (ret)
goto out;
uffdio_continue.range.len);
if (ret)
goto out;