summaryrefslogtreecommitdiff
path: root/include/uapi/linux/kernel-page-flags.h
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2016-12-06 21:47:04 -0500
committerBen Hutchings <ben@decadent.org.uk>2017-02-23 03:54:43 +0000
commit76d794a5acd7668dc7a2497fcc43a6bacd0f1872 (patch)
treede5b0a8008954488771bc720e6edad3ebade6872 /include/uapi/linux/kernel-page-flags.h
parenta4ab1eeb4f60563209664142185a4969c703f02d (diff)
parisc: Purge TLB before setting PTE
commit c78e710c1c9fbeff43dddc0aa3d0ff458e70b0cc upstream. The attached change interchanges the order of purging the TLB and setting the corresponding page table entry. TLB purges are strongly ordered. It occurred to me one night that setting the PTE first might have subtle ordering issues on SMP machines and cause random memory corruption. A TLB lock guards the insertion of user TLB entries. So after the TLB is purged, a new entry can't be inserted until the lock is released. This ensures that the new PTE value is used when the lock is released. Since making this change, no random segmentation faults have been observed on the Debian hppa buildd servers. Signed-off-by: John David Anglin <dave.anglin@bell.net> Signed-off-by: Helge Deller <deller@gmx.de> [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'include/uapi/linux/kernel-page-flags.h')
0 files changed, 0 insertions, 0 deletions