[PATCH 5/6] mm/gup: Replace ACCESS_ONCE with READ_ONCE for STRICT_MM_TYPECHECKS
Christian Borntraeger
borntraeger at de.ibm.com
Wed Mar 25 20:18:29 AEDT 2015
Am 25.03.2015 um 10:11 schrieb Michael Ellerman:
> If STRICT_MM_TYPECHECKS is enabled the generic gup code fails to build
> because we are using ACCESS_ONCE on non-scalar types.
>
> Convert all uses to READ_ONCE.
There is a similar patch from Jason Low in Andrews patch.
If that happens in 4.0-rc, we probably want to merge this before 4.0.
>
> Cc: akpm at linux-foundation.org
> Cc: kirill.shutemov at linux.intel.com
> Cc: aarcange at redhat.com
> Cc: borntraeger at de.ibm.com
> Cc: steve.capper at linaro.org
> Cc: linux-mm at kvack.org
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> ---
> mm/gup.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/gup.c b/mm/gup.c
> index a6e24e246f86..120c3adc843c 100644
> --- a/mm/gup.c
> +++ b/mm/gup.c
> @@ -901,7 +901,7 @@ static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end,
> *
> * for an example see gup_get_pte in arch/x86/mm/gup.c
> */
> - pte_t pte = ACCESS_ONCE(*ptep);
> + pte_t pte = READ_ONCE(*ptep);
> struct page *page;
>
> /*
> @@ -1191,7 +1191,7 @@ int __get_user_pages_fast(unsigned long start, int nr_pages, int write,
> local_irq_save(flags);
> pgdp = pgd_offset(mm, addr);
> do {
> - pgd_t pgd = ACCESS_ONCE(*pgdp);
> + pgd_t pgd = READ_ONCE(*pgdp);
>
> next = pgd_addr_end(addr, end);
> if (pgd_none(pgd))
>
More information about the Linuxppc-dev
mailing list