• Jeremy Kerr's avatar
    mctp: Add refcounts to mctp_dev · 43f55f23
    Jeremy Kerr authored
    Currently, we tie the struct mctp_dev lifetime to the underlying struct
    net_device, and hold/put that device as a proxy for a separate mctp_dev
    refcount. This works because we're not holding any references to the
    mctp_dev that are different from the netdev lifetime.
    
    In a future change we'll break that assumption though, as we'll need to
    hold mctp_dev references in a workqueue, which might live past the
    netdev unregister notification.
    
    In order to support that, this change introduces a refcount on the
    mctp_dev, currently taken by the net_device->mctp_ptr reference, and
    released on netdev unregister events. We can then use this for future
    references that might outlast the net device.
    Signed-off-by: default avatarJeremy Kerr <jk@codeconstruct.com.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    43f55f23
device.c 9.14 KB