]> git.baikalelectronics.ru Git - kernel.git/commit
iommu/amd: Fix race in increase_address_space()/fetch_pte()
authorJoerg Roedel <jroedel@suse.de>
Mon, 4 May 2020 12:54:09 +0000 (14:54 +0200)
committerJoerg Roedel <jroedel@suse.de>
Tue, 5 May 2020 12:38:38 +0000 (14:38 +0200)
commitaabd7857921a1555e58a17b0c7486f32593a65ca
treed0e8986a3ae5a6ce7d6a8df492d170082cb5f3d8
parent422f3267816a289e77d7735d7ef93621285db504
iommu/amd: Fix race in increase_address_space()/fetch_pte()

The 'pt_root' and 'mode' struct members of 'struct protection_domain'
need to be get/set atomically, otherwise the page-table of the domain
can get corrupted.

Merge the fields into one atomic64_t struct member which can be
get/set atomically.

Fixes: 2631cc0e2db1 ("iommu/amd: Relax locking in dma_ops path")
Reported-by: Qian Cai <cai@lca.pw>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Tested-by: Qian Cai <cai@lca.pw>
Link: https://lore.kernel.org/r/20200504125413.16798-2-joro@8bytes.org
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c
drivers/iommu/amd_iommu_types.h