Messages in this thread | | | Date | Thu, 18 Nov 2021 17:48:13 -0800 | From | Jakub Kicinski <> | Subject | Re: [PATCH net-next 5/6] devlink: Reshuffle resource registration logic |
| |
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.
| |