net: mctp: hold key reference when looking up a general key
authorPaolo Abeni <pabeni@redhat.com>
Tue, 24 Jan 2023 02:01:05 +0000 (10:01 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Jan 2023 13:07:37 +0000 (13:07 +0000)
commit6e54ea37e344f145665c2dc3cc534b92529e8de5
tree182e9dc75015c995d9cf8ea89c6a75ae959a3eab
parent5f41ae6fca9d40ab3cb9b0507931ef7a9b3ea50b
net: mctp: hold key reference when looking up a general key

Currently, we have a race where we look up a sock through a "general"
(ie, not directly associated with the (src,dest,tag) tuple) key, then
drop the key reference while still holding the key's sock.

This change expands the key reference until we've finished using the
sock, and hence the sock reference too.

Commit message changes from Jeremy Kerr <jk@codeconstruct.com.au>.

Reported-by: Noam Rathaus <noamr@ssd-disclosure.com>
Fixes: 73c618456dc5 ("mctp: locking, lifetime and validity changes for sk_keys")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mctp/route.c