On 06/18/2020 08:01 PM, Christophe Leroy wrote:
> Fix it by using the recently added ptep_get() helper.
> 
> Fixes: 9e343b467c70 ("READ_ONCE: Enforce atomicity for {READ,WRITE}_ONCE() 
> memory accesses")
> Signed-off-by: Christophe Leroy <[email protected]>
> ---
>  mm/debug_vm_pgtable.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c
> index e45623016aea..61ab16fb2e36 100644
> --- a/mm/debug_vm_pgtable.c
> +++ b/mm/debug_vm_pgtable.c
> @@ -246,13 +246,13 @@ static void __init pgd_populate_tests(struct mm_struct 
> *mm, pgd_t *pgdp,
>  static void __init pte_clear_tests(struct mm_struct *mm, pte_t *ptep,
>                                  unsigned long vaddr)
>  {
> -     pte_t pte = READ_ONCE(*ptep);
> +     pte_t pte = ptep_get(ptep);
>  
>       pte = __pte(pte_val(pte) | RANDOM_ORVALUE);
>       set_pte_at(mm, vaddr, ptep, pte);
>       barrier();
>       pte_clear(mm, vaddr, ptep);
> -     pte = READ_ONCE(*ptep);
> +     pte = ptep_get(ptep);
>       WARN_ON(!pte_none(pte));
>  }

Tested this on arm64 and x86 platforms after applying the previous
series which adds ptep_get() and a follow up patch.

https://patchwork.kernel.org/project/linux-mm/list/?series=302949
https://patchwork.kernel.org/patch/11611929/

Build tested on s390 and arc platforms as well.

Reviewed-by: Anshuman Khandual <[email protected]>

Reply via email to