Re: [PATCH net-next 5/6] devlink: Reshuffle resource registration logic
From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-11-19 01:48:18
Also in:
intel-wired-lan, linux-rdma, lkml
From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-11-19 01:48:18
Also in:
intel-wired-lan, linux-rdma, lkml
On Thu, 18 Nov 2021 09:50:20 +0200 Leon Romanovsky wrote:
And it shouldn't. devlink_resource_find() will return valid resource only
if there driver is completely bogus with races or incorrect allocations of
resource_id.
devlink_*_register(..)
mutex_lock(&devlink->lock);
if (devlink_*_find(...)) {
mutex_unlock(&devlink->lock);
return ....;
}
.....
It is almost always wrong from locking and layering perspective the pattern above,
as it is racy by definition if not protected by top layer.
There are exceptions from the rule above, but devlink is clearly not the
one of such exceptions.Just drop the unnecessary "cleanup" patches and limit the amount of driver code we'll have to revert if your approach fails. I spent enough time going back and forth with you. Please.