mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
RDMA/core: always drop device refcount in ib_del_sub_device_and_put()
Since nldev_deldev() (introduced by commit060c642b2a("RDMA/nldev: Add support to add/delete a sub IB device through netlink") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error. Reported-by: syzbot+881d65229ca4f9ae8c84@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 Fixes:bca5119762("RDMA/core: Support IB sub device with type "SMI"") Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Link: https://patch.msgid.link/80749a85-cbe2-460c-8451-42516013f9fa@I-love.SAKURA.ne.jp Reviewed-by: Parav Pandit <parav@nvidia.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
parent
de41cbc64d
commit
fa3c411d21
|
|
@ -2881,8 +2881,10 @@ int ib_del_sub_device_and_put(struct ib_device *sub)
|
|||
{
|
||||
struct ib_device *parent = sub->parent;
|
||||
|
||||
if (!parent)
|
||||
if (!parent) {
|
||||
ib_device_put(sub);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
mutex_lock(&parent->subdev_lock);
|
||||
list_del(&sub->subdev_list);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user