net: mctp: add an explicit reference from a mctp_sk_key to sock
authorJeremy Kerr <jk@codeconstruct.com.au>
Tue, 24 Jan 2023 02:01:03 +0000 (10:01 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Jan 2023 13:07:37 +0000 (13:07 +0000)
commitde8a6b15d9654c3e4f672d76da9d9df8ee06331d
treeabcadce54cd7abc941e2d25e56c8524956c2187b
parenta9e9b78d53b91e6e52a2580aafece542655685b7
net: mctp: add an explicit reference from a mctp_sk_key to sock

Currently, we correlate the mctp_sk_key lifetime to the sock lifetime
through the sock hash/unhash operations, but this is pretty tenuous, and
there are cases where we may have a temporary reference to an unhashed
sk.

This change makes the reference more explicit, by adding a hold on the
sock when it's associated with a mctp_sk_key, released on final key
unref.

Fixes: 73c618456dc5 ("mctp: locking, lifetime and validity changes for sk_keys")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mctp/route.c