summaryrefslogtreecommitdiff
path: root/COPYING
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2021-08-06 14:31:04 +0300
committerCatalin Marinas <catalin.marinas@arm.com>2021-08-06 15:52:03 +0300
commit5e10f9887ed85d4f59266d5c60dd09be96b5dbd4 (patch)
treeff4dcc17684744bb95c253fb15f20d9b7c44e2b0 /COPYING
parentede3241a5f235811b1e66f56cf8fbdfd01266efb (diff)
downloadlinux-5e10f9887ed85d4f59266d5c60dd09be96b5dbd4.tar.xz
arm64: mm: Fix TLBI vs ASID rollover
When switching to an 'mm_struct' for the first time following an ASID rollover, a new ASID may be allocated and assigned to 'mm->context.id'. This reassignment can happen concurrently with other operations on the mm, such as unmapping pages and subsequently issuing TLB invalidation. Consequently, we need to ensure that (a) accesses to 'mm->context.id' are atomic and (b) all page-table updates made prior to a TLBI using the old ASID are guaranteed to be visible to CPUs running with the new ASID. This was found by inspection after reviewing the VMID changes from Shameer but it looks like a real (yet hard to hit) bug. Cc: <stable@vger.kernel.org> Cc: Marc Zyngier <maz@kernel.org> Cc: Jade Alglave <jade.alglave@arm.com> Cc: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Signed-off-by: Will Deacon <will@kernel.org> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/20210806113109.2475-2-will@kernel.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions