OSDN Git Service

iommu/arm-smmu: Protect the lists used for assign/unassign with a spinlock
authorNeeti Desai <neetid@codeaurora.org>
Thu, 13 Aug 2015 00:54:44 +0000 (17:54 -0700)
committerDavid Keitel <dkeitel@codeaurora.org>
Tue, 22 Mar 2016 18:13:52 +0000 (11:13 -0700)
commitef93bf3565d7c1335b9641c20e1ad8d58cdb2a73
tree49d6689315568787814bc5f89f675b447db4b3e1
parentbbca324fc5098a3d529dd752c4e7c22660a90c36
iommu/arm-smmu: Protect the lists used for assign/unassign with a spinlock

Simultaneous assign or unassign on the same domain during map and unmap
operations manipulate the same pte_info lists and thus can ask hypervisor
to assign the same pte address twice which results in double mapping error.

The lists(pte_info_list and unassign_list) needs to be locked before
traversing it for making the assign/unassign calls.

Change-Id: Iebe3d703d80918af4ab18208f4b5a010c4c14791
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
drivers/iommu/arm-smmu.c