diff options
| author | Mitchel Humpherys <mitchelh@codeaurora.org> | 2015-06-26 19:11:53 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:13:14 -0700 |
| commit | 7543efb4bc84ea15e7d934785083ab5894e41ef9 (patch) | |
| tree | 51143055dbdcb21a2575f4fecf11b80cc9d8be81 /include | |
| parent | 49b6182ba50126865b8391dae930fba5b953a9a8 (diff) | |
iommu/arm-smmu: Protect against concurrent attach from different domains
Currently we're relying on the smmu_domain->lock for synchronizing
attach and detach. This is a problem because each domain has its own
smmu_domain->lock, so if multiple different domains try to attach to the
same device at the same time, they'll be racing.
Fix the race by holding a lock that's part of the smmu
structure (attach_lock should do just fine).
The test case that uncovered this was:
# cd /sys/kernel/debug/iommu/tests/soc:qcom,msm-audio-ion/
# while :; do cat profiling; done &
# while :; do cat profiling; done &
Change-Id: I8a60cdc214c91967aff63882e3a7280865ffda9e
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
