Thread (19 messages) 19 messages, 2 authors, 2021-11-25

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

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help