• Anjali Kulkarni's avatar
    connector/cn_proc: Allow non-root users access · bfdfdc2f
    Anjali Kulkarni authored
    There were a couple of reasons for not allowing non-root users access
    initially  - one is there was some point no proper receive buffer
    management in place for netlink multicast. But that should be long
    fixed. See link below for more context.
    
    Second is that some of the messages may contain data that is root only. But
    this should be handled with a finer granularity, which is being done at the
    protocol layer.  The only problematic protocols are nf_queue and the
    firewall netlink. Hence, this restriction for non-root access was relaxed
    for NETLINK_ROUTE initially:
    https://lore.kernel.org/all/20020612013101.A22399@wotan.suse.de/
    
    This restriction has also been removed for following protocols:
    NETLINK_KOBJECT_UEVENT, NETLINK_AUDIT, NETLINK_SOCK_DIAG,
    NETLINK_GENERIC, NETLINK_SELINUX.
    
    Since process connector messages are not sensitive (process fork, exit
    notifications etc.), and anyone can read /proc data, we can allow non-root
    access here. However, since process event notification is not the only
    consumer of NETLINK_CONNECTOR, we can make this change even more
    fine grained than the protocol level, by checking for multicast group
    within the protocol.
    
    Allow non-root access for NETLINK_CONNECTOR via NL_CFG_F_NONROOT_RECV
    but add new bind function cn_bind(), which allows non-root access only
    for CN_IDX_PROC multicast group.
    Signed-off-by: default avatarAnjali Kulkarni <anjali.k.kulkarni@oracle.com>
    Reviewed-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bfdfdc2f
connector.c 7.38 KB