]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/cm: Make the local_id_table xarray non-irq
authorJason Gunthorpe <jgg@nvidia.com>
Wed, 4 Nov 2020 21:40:59 +0000 (17:40 -0400)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 12 Nov 2020 16:31:27 +0000 (12:31 -0400)
commite67034cd4478f9e2cf71be304b83a0186b437c26
tree0949b05a44dfdb947ab29e1dda7772bbd9d57135
parentc264010cc5c3df68366b65702bff545bebd1b7d0
RDMA/cm: Make the local_id_table xarray non-irq

The xarray is never mutated from an IRQ handler, only from work queues
under a spinlock_irq. Thus there is no reason for it be an IRQ type
xarray.

This was copied over from the original IDR code, but the recent rework put
the xarray inside another spinlock_irq which will unbalance the unlocking.

Fixes: fc9720dcb68d ("RDMA/cm: Make it clearer how concurrency works in cm_req_handler()")
Link: https://lore.kernel.org/r/0-v1-808b6da3bd3f+1857-cm_xarray_no_irq_jgg@nvidia.com
Reported-by: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/cm.c