summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorAnjali Kulkarni <anjali.k.kulkarni@oracle.com>2023-07-19 22:18:18 +0200
committerDavid S. Miller <davem@davemloft.net>2023-07-23 12:34:22 +0200
commit2aa1f7a1f47ce8dac7593af605aaa859b3cf3bb1 (patch)
tree4bd4ccb2aaec83fa5e3bd30109955b386742c476 /drivers/base
parentnetlink: Add new netlink_release function (diff)
downloadlinux-2aa1f7a1f47ce8dac7593af605aaa859b3cf3bb1.tar.xz
linux-2aa1f7a1f47ce8dac7593af605aaa859b3cf3bb1.zip
connector/cn_proc: Add filtering to fix some bugs
The current proc connector code has the foll. bugs - if there are more than one listeners for the proc connector messages, and one of them deregisters for listening using PROC_CN_MCAST_IGNORE, they will still get all proc connector messages, as long as there is another listener. Another issue is if one client calls PROC_CN_MCAST_LISTEN, and another one calls PROC_CN_MCAST_IGNORE, then both will end up not getting any messages. This patch adds filtering and drops packet if client has sent PROC_CN_MCAST_IGNORE. This data is stored in the client socket's sk_user_data. In addition, we only increment or decrement proc_event_num_listeners once per client. This fixes the above issues. cn_release is the release function added for NETLINK_CONNECTOR. It uses the newly added netlink_release function added to netlink_sock. It will free sk_user_data. Signed-off-by: Anjali Kulkarni <anjali.k.kulkarni@oracle.com> Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/base')
0 files changed, 0 insertions, 0 deletions