diff options
author | 2022-10-05 20:48:23 +0300 | |
---|---|---|
committer | 2022-10-06 08:30:13 +0200 | |
commit | 77be00f194b6e1647cddb644b7023b352c2c6ee8 (patch) | |
tree | 3237742d79ae30d18df367d2d3ce788c528f800c /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | xen/virtio: Fix n_pages calculation in xen_grant_dma_map(unmap)_page() (diff) | |
download | linux-dev-77be00f194b6e1647cddb644b7023b352c2c6ee8.tar.xz linux-dev-77be00f194b6e1647cddb644b7023b352c2c6ee8.zip |
xen/virtio: Fix potential deadlock when accessing xen_grant_dma_devices
As find_xen_grant_dma_data() is called from both interrupt and process
contexts, the access to xen_grant_dma_devices XArray must be protected
by xa_lock_irqsave to avoid deadlock scenario.
As XArray API doesn't provide xa_store_irqsave helper, call lockless
__xa_store directly and guard it externally.
Also move the storage of the XArray's entry to a separate helper.
Fixes: d6aca3504c7d ("xen/grant-dma-ops: Add option to restrict memory access under Xen")
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20221005174823.1800761-3-olekstysh@gmail.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions