• Patrick McHardy's avatar
    connector: convert to synchronous netlink message processing · 04f482fa
    Patrick McHardy authored
    Commits 01a16b21 (netlink: kill eff_cap from struct netlink_skb_parms)
    and c53fa1ed (netlink: kill loginuid/sessionid/sid members from struct
    netlink_skb_parms) removed some members from struct netlink_skb_parms
    that depend on the current context, all netlink users are now required
    to do synchronous message processing.
    
    connector however queues received messages and processes them in a work
    queue, which is not valid anymore. This patch converts connector to do
    synchronous message processing by invoking the registered callback handler
    directly from the netlink receive function.
    
    In order to avoid invoking the callback with connector locks held, a
    reference count is added to struct cn_callback_entry, the reference
    is taken when finding a matching callback entry on the device's queue_list
    and released after the callback handler has been invoked.
    Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
    Acked-by: default avatarEvgeniy Polyakov <zbr@ioremap.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    04f482fa
connector.c 6.79 KB