OSDN Git Service

iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE
authorWill Deacon <will@kernel.org>
Wed, 15 Jan 2020 15:21:47 +0000 (15:21 +0000)
committerWill Deacon <will@kernel.org>
Wed, 15 Jan 2020 16:30:27 +0000 (16:30 +0000)
commitd71e01716b3606a6648df7e5646ae12c75babde4
tree6c36ad589a8008d4dd1dcca5570b4ef081a60c8a
parent73af06f589fe5656b07baa92e390d2d48464b18a
iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE

If, for some bizarre reason, the compiler decided to split up the write
of STE DWORD 0, we could end up making a partial structure valid.

Although this probably won't happen, follow the example of the
context-descriptor code and use WRITE_ONCE() to ensure atomicity of the
write.

Reported-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm-smmu-v3.c