mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 16:41:58 +00:00
powerpc/mm: Use pte_user() instead of open coding
We have a common declaration in pte-common.h Add a book3s specific one and switch to pte_user() in callchain.c. In a subsequent patch we will switch _PAGE_USER to _PAGE_PRIVILEGED in the book3s version only. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
7e1e63c5e9
commit
e7bfc462d3
@ -185,6 +185,11 @@ extern struct page *pgd_page(pgd_t pgd);
|
||||
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val((pte)) & ~_PAGE_PTE })
|
||||
#define __swp_entry_to_pte(x) __pte((x).val | _PAGE_PTE)
|
||||
|
||||
static inline bool pte_user(pte_t pte)
|
||||
{
|
||||
return !!(pte_val(pte) & _PAGE_USER);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MEM_SOFT_DIRTY
|
||||
#define _PAGE_SWP_SOFT_DIRTY (1UL << (SWP_TYPE_BITS + _PAGE_BIT_SWAP_TYPE))
|
||||
#else
|
||||
|
@ -137,7 +137,7 @@ static int read_user_stack_slow(void __user *ptr, void *buf, int nb)
|
||||
offset = addr & ((1UL << shift) - 1);
|
||||
|
||||
pte = READ_ONCE(*ptep);
|
||||
if (!pte_present(pte) || !(pte_val(pte) & _PAGE_USER))
|
||||
if (!pte_present(pte) || !pte_user(pte))
|
||||
goto err_out;
|
||||
pfn = pte_pfn(pte);
|
||||
if (!page_is_ram(pfn))
|
||||
|
Loading…
Reference in New Issue
Block a user