Re: [PATCH net-next] devlink: Change devlink health locking mechanism

From: Jiri Pirko
Date: Mon Apr 29 2019 - 07:05:17 EST


Mon, Apr 29, 2019 at 11:41:45AM CEST, moshe@xxxxxxxxxxxx wrote:
>The devlink health reporters create/destroy and user commands currently
>use the devlink->lock as a locking mechanism. Different reporters have
>different rules in the driver and are being created/destroyed during
>different stages of driver load/unload/running. So during execution of a
>reporter recover the flow can go through another reporter's destroy and
>create. Such flow leads to deadlock trying to lock a mutex already
>held.
>
>With the new locking mechanism the different reporters share mutex lock
>only to protect access to shared reporters list.
>Added refcount per reporter, to protect the reporters from destroy while
>being used.
>
>Signed-off-by: Moshe Shemesh <moshe@xxxxxxxxxxxx>

Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx>