• Scott Wood's avatar
    powerpc: add barrier after writing kernel PTE · 47ce8af4
    Scott Wood authored
    There is no barrier between something like ioremap() writing to
    a PTE, and returning the value to a caller that may then store the
    pointer in a place that is visible to other CPUs.  Such callers
    generally don't perform barriers of their own.
    
    Even if callers of ioremap() and similar things did use barriers,
    the most logical choise would be smp_wmb(), which is not
    architecturally sufficient when BookE hardware tablewalk is used.  A
    full sync is specified by the architecture.
    
    For userspace mappings, OTOH, we generally already have an lwsync due
    to locking, and if we occasionally take a spurious fault due to not
    having a full sync with hardware tablewalk, it will not be fatal
    because we will retry rather than oops.
    Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
    47ce8af4
pgtable_32.c 10.7 KB