devlink: expose get/put functions
authorJakub Kicinski <kuba@kernel.org>
Sat, 30 Oct 2021 17:18:50 +0000 (10:18 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 1 Nov 2021 13:26:07 +0000 (13:26 +0000)
commit46db1b77cd4f082c4e908c8f8086a2f7aae28b62
tree7d43077c2639337ffdd30b8430dcdc13e51ac3b2
parent095cfcfe13e5a6599cf0a41fe1e8bbfa76cd1c9d
devlink: expose get/put functions

Allow those who hold implicit reference on a devlink instance
to try to take a full ref on it. This will be used from netdev
code which has an implicit ref because of driver call ordering.

Note that after recent changes devlink_unregister() may happen
before netdev unregister, but devlink_free() should still happen
after, so we are safe to try, but we can't just refcount_inc()
and assume it's not zero.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/devlink.h
net/core/devlink.c