diff options
| author | Jason Gunthorpe <jgg@nvidia.com> | 2020-06-26 14:49:10 -0300 |
|---|---|---|
| committer | Jason Gunthorpe <jgg@nvidia.com> | 2020-07-02 14:25:42 -0300 |
| commit | 0cb42c0265837fafa2b4f302c8a7fed2631d7869 (patch) | |
| tree | a7d90144f48831f74e09ef81f2972d1b38f16f48 /tools/perf/scripts/python | |
| parent | RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() (diff) | |
| download | linux-0cb42c0265837fafa2b4f302c8a7fed2631d7869.tar.gz linux-0cb42c0265837fafa2b4f302c8a7fed2631d7869.zip | |
RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued()
ib_unregister_device_queued() can only be used by drivers using the new
dealloc_device callback flow, and it has a safety WARN_ON to ensure
drivers are using it properly.
However, if unregister and register are raced there is a special
destruction path that maintains the uniform error handling semantic of
'caller does ib_dealloc_device() on failure'. This requires disabling the
dealloc_device callback which triggers the WARN_ON.
Instead of using NULL to disable the callback use a special function
pointer so the WARN_ON does not trigger.
Fixes: d0899892edd0 ("RDMA/device: Provide APIs from the core code to help unregistration")
Link: https://lore.kernel.org/r/0-v1-a36d512e0a99+762-syz_dealloc_driver_jgg@nvidia.com
Reported-by: syzbot+4088ed905e4ae2b0e13b@syzkaller.appspotmail.com
Suggested-by: Hillf Danton <hdanton@sina.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
