diff options
| author | Piotr Jaroszynski <[email protected]> | 2025-03-04 08:51:27 +0000 |
|---|---|---|
| committer | Will Deacon <[email protected]> | 2025-03-11 11:37:43 +0000 |
| commit | f7edb07ad7c66eab3dce57384f33b9799d579133 (patch) | |
| tree | 3b99b53ccfe1de0d0158c029e64e6595a7ef81f5 /tools/testing/selftests/net/lib/py/utils.py | |
| parent | arm64: mm: Populate vmemmap at the page level if not section aligned (diff) | |
| download | kernel-f7edb07ad7c66eab3dce57384f33b9799d579133.tar.gz kernel-f7edb07ad7c66eab3dce57384f33b9799d579133.zip | |
Fix mmu notifiers for range-based invalidates
Update the __flush_tlb_range_op macro not to modify its parameters as
these are unexepcted semantics. In practice, this fixes the call to
mmu_notifier_arch_invalidate_secondary_tlbs() in
__flush_tlb_range_nosync() to use the correct range instead of an empty
range with start=end. The empty range was (un)lucky as it results in
taking the invalidate-all path that doesn't cause correctness issues,
but can certainly result in suboptimal perf.
This has been broken since commit 6bbd42e2df8f ("mmu_notifiers: call
invalidate_range() when invalidating TLBs") when the call to the
notifiers was added to __flush_tlb_range(). It predates the addition of
the __flush_tlb_range_op() macro from commit 360839027a6e ("arm64: tlb:
Refactor the core flush algorithm of __flush_tlb_range") that made the
bug hard to spot.
Fixes: 6bbd42e2df8f ("mmu_notifiers: call invalidate_range() when invalidating TLBs")
Signed-off-by: Piotr Jaroszynski <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Robin Murphy <[email protected]>
Cc: Alistair Popple <[email protected]>
Cc: Raghavendra Rao Ananta <[email protected]>
Cc: SeongJae Park <[email protected]>
Cc: Jason Gunthorpe <[email protected]>
Cc: John Hubbard <[email protected]>
Cc: Nicolin Chen <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Reviewed-by: Catalin Marinas <[email protected]>
Reviewed-by: Alistair Popple <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'tools/testing/selftests/net/lib/py/utils.py')
0 files changed, 0 insertions, 0 deletions
