Messages in this thread | | | Date | Wed, 25 Mar 2015 10:18:29 +0100 | From | Christian Borntraeger <> | Subject | Re: [PATCH 5/6] mm/gup: Replace ACCESS_ONCE with READ_ONCE for STRICT_MM_TYPECHECKS |
| |
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@linux-foundation.org > Cc: kirill.shutemov@linux.intel.com > Cc: aarcange@redhat.com > Cc: borntraeger@de.ibm.com > Cc: steve.capper@linaro.org > Cc: linux-mm@kvack.org > Signed-off-by: Michael Ellerman <mpe@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)) >
| |