diff options
author | Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> | 2022-10-05 20:48:23 +0300 |
---|---|---|
committer | Juergen Gross <jgross@suse.com> | 2022-10-06 09:30:13 +0300 |
commit | 77be00f194b6e1647cddb644b7023b352c2c6ee8 (patch) | |
tree | 3237742d79ae30d18df367d2d3ce788c528f800c /drivers/xen/gntdev.c | |
parent | e433715b116553892ecad8796018ae4b64304252 (diff) | |
download | linux-77be00f194b6e1647cddb644b7023b352c2c6ee8.tar.xz |
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 'drivers/xen/gntdev.c')
0 files changed, 0 insertions, 0 deletions