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
perf trace: Handle "bpf-output" events associated with "__augmented_syscalls__" BPF map
[linux-2.6-microblaze.git]
/
fs
/
userfaultfd.c
diff --git
a/fs/userfaultfd.c
b/fs/userfaultfd.c
index
123bf7d
..
594d192
100644
(file)
--- a/
fs/userfaultfd.c
+++ b/
fs/userfaultfd.c
@@
-222,24
+222,26
@@
static inline bool userfaultfd_huge_must_wait(struct userfaultfd_ctx *ctx,
unsigned long reason)
{
struct mm_struct *mm = ctx->mm;
unsigned long reason)
{
struct mm_struct *mm = ctx->mm;
- pte_t *pte;
+ pte_t *pte
p, pte
;
bool ret = true;
VM_BUG_ON(!rwsem_is_locked(&mm->mmap_sem));
bool ret = true;
VM_BUG_ON(!rwsem_is_locked(&mm->mmap_sem));
- pte = huge_pte_offset(mm, address, vma_mmu_pagesize(vma));
- if (!pte)
+ ptep = huge_pte_offset(mm, address, vma_mmu_pagesize(vma));
+
+ if (!ptep)
goto out;
ret = false;
goto out;
ret = false;
+ pte = huge_ptep_get(ptep);
/*
* Lockless access: we're in a wait_event so it's ok if it
* changes under us.
*/
/*
* Lockless access: we're in a wait_event so it's ok if it
* changes under us.
*/
- if (huge_pte_none(
*
pte))
+ if (huge_pte_none(pte))
ret = true;
ret = true;
- if (!huge_pte_write(
*
pte) && (reason & VM_UFFD_WP))
+ if (!huge_pte_write(pte) && (reason & VM_UFFD_WP))
ret = true;
out:
return ret;
ret = true;
out:
return ret;