nlk 339 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 341 net/netlink/af_netlink.c if (!(nlk->flags & NETLINK_F_RECV_NO_ENOBUFS)) { nlk 353 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 356 net/netlink/af_netlink.c clear_bit(NETLINK_S_CONGESTED, &nlk->state); nlk 357 net/netlink/af_netlink.c if (!test_bit(NETLINK_S_CONGESTED, &nlk->state)) nlk 358 net/netlink/af_netlink.c wake_up_interruptible(&nlk->wait); nlk 385 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 387 net/netlink/af_netlink.c if (nlk->cb_running) { nlk 388 net/netlink/af_netlink.c if (nlk->cb.done) nlk 389 net/netlink/af_netlink.c nlk->cb.done(&nlk->cb); nlk 390 net/netlink/af_netlink.c module_put(nlk->cb.module); nlk 391 net/netlink/af_netlink.c kfree_skb(nlk->cb.skb); nlk 408 net/netlink/af_netlink.c struct netlink_sock *nlk = container_of(work, struct netlink_sock, nlk 411 net/netlink/af_netlink.c sk_free(&nlk->sk); nlk 483 net/netlink/af_netlink.c const struct netlink_sock *nlk = ptr; nlk 485 net/netlink/af_netlink.c return nlk->portid != x->portid || nlk 486 net/netlink/af_netlink.c !net_eq(sock_net(&nlk->sk), read_pnet(&x->pnet)); nlk 625 net/netlink/af_netlink.c struct netlink_sock *nlk; nlk 635 net/netlink/af_netlink.c nlk = nlk_sk(sk); nlk 637 net/netlink/af_netlink.c nlk->cb_mutex = cb_mutex; nlk 639 net/netlink/af_netlink.c nlk->cb_mutex = &nlk->cb_def_mutex; nlk 640 net/netlink/af_netlink.c mutex_init(nlk->cb_mutex); nlk 641 net/netlink/af_netlink.c lockdep_set_class_and_name(nlk->cb_mutex, nlk 645 net/netlink/af_netlink.c init_waitqueue_head(&nlk->wait); nlk 657 net/netlink/af_netlink.c struct netlink_sock *nlk; nlk 700 net/netlink/af_netlink.c nlk = nlk_sk(sock->sk); nlk 701 net/netlink/af_netlink.c nlk->module = module; nlk 702 net/netlink/af_netlink.c nlk->netlink_bind = bind; nlk 703 net/netlink/af_netlink.c nlk->netlink_unbind = unbind; nlk 714 net/netlink/af_netlink.c struct netlink_sock *nlk = container_of(head, struct netlink_sock, rcu); nlk 715 net/netlink/af_netlink.c struct sock *sk = &nlk->sk; nlk 717 net/netlink/af_netlink.c kfree(nlk->groups); nlk 718 net/netlink/af_netlink.c nlk->groups = NULL; nlk 723 net/netlink/af_netlink.c if (nlk->cb_running && nlk->cb.done) { nlk 724 net/netlink/af_netlink.c INIT_WORK(&nlk->work, netlink_sock_destruct_work); nlk 725 net/netlink/af_netlink.c schedule_work(&nlk->work); nlk 735 net/netlink/af_netlink.c struct netlink_sock *nlk; nlk 742 net/netlink/af_netlink.c nlk = nlk_sk(sk); nlk 752 net/netlink/af_netlink.c if (nlk->netlink_unbind) { nlk 755 net/netlink/af_netlink.c for (i = 0; i < nlk->ngroups; i++) nlk 756 net/netlink/af_netlink.c if (test_bit(i, nlk->groups)) nlk 757 net/netlink/af_netlink.c nlk->netlink_unbind(sock_net(sk), i + 1); nlk 764 net/netlink/af_netlink.c wake_up_interruptible_all(&nlk->wait); nlk 768 net/netlink/af_netlink.c if (nlk->portid && nlk->bound) { nlk 772 net/netlink/af_netlink.c .portid = nlk->portid, nlk 778 net/netlink/af_netlink.c module_put(nlk->module); nlk 801 net/netlink/af_netlink.c call_rcu(&nlk->rcu, deferred_put_nlk_sk); nlk 918 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 920 net/netlink/af_netlink.c if (nlk->subscriptions && !subscriptions) nlk 922 net/netlink/af_netlink.c else if (!nlk->subscriptions && subscriptions) nlk 924 net/netlink/af_netlink.c nlk->subscriptions = subscriptions; nlk 929 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 942 net/netlink/af_netlink.c if (nlk->ngroups >= groups) nlk 945 net/netlink/af_netlink.c new_groups = krealloc(nlk->groups, NLGRPSZ(groups), GFP_ATOMIC); nlk 950 net/netlink/af_netlink.c memset((char *)new_groups + NLGRPSZ(nlk->ngroups), 0, nlk 951 net/netlink/af_netlink.c NLGRPSZ(groups) - NLGRPSZ(nlk->ngroups)); nlk 953 net/netlink/af_netlink.c nlk->groups = new_groups; nlk 954 net/netlink/af_netlink.c nlk->ngroups = groups; nlk 963 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 966 net/netlink/af_netlink.c if (!nlk->netlink_unbind) nlk 971 net/netlink/af_netlink.c nlk->netlink_unbind(sock_net(sk), undo + 1); nlk 979 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1001 net/netlink/af_netlink.c if (nlk->ngroups < BITS_PER_LONG) nlk 1002 net/netlink/af_netlink.c groups &= (1UL << nlk->ngroups) - 1; nlk 1004 net/netlink/af_netlink.c bound = nlk->bound; nlk 1009 net/netlink/af_netlink.c if (nladdr->nl_pid != nlk->portid) nlk 1014 net/netlink/af_netlink.c if (nlk->netlink_bind && groups) { nlk 1021 net/netlink/af_netlink.c err = nlk->netlink_bind(net, group + 1); nlk 1042 net/netlink/af_netlink.c if (!groups && (nlk->groups == NULL || !(u32)nlk->groups[0])) nlk 1047 net/netlink/af_netlink.c netlink_update_subscriptions(sk, nlk->subscriptions + nlk 1049 net/netlink/af_netlink.c hweight32(nlk->groups[0])); nlk 1050 net/netlink/af_netlink.c nlk->groups[0] = (nlk->groups[0] & ~0xffffffffUL) | groups; nlk 1066 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1074 net/netlink/af_netlink.c nlk->dst_portid = 0; nlk 1075 net/netlink/af_netlink.c nlk->dst_group = 0; nlk 1091 net/netlink/af_netlink.c if (!nlk->bound) nlk 1096 net/netlink/af_netlink.c nlk->dst_portid = nladdr->nl_pid; nlk 1097 net/netlink/af_netlink.c nlk->dst_group = ffs(nladdr->nl_groups); nlk 1107 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1114 net/netlink/af_netlink.c nladdr->nl_pid = nlk->dst_portid; nlk 1115 net/netlink/af_netlink.c nladdr->nl_groups = netlink_group_mask(nlk->dst_group); nlk 1117 net/netlink/af_netlink.c nladdr->nl_pid = nlk->portid; nlk 1119 net/netlink/af_netlink.c nladdr->nl_groups = nlk->groups ? nlk->groups[0] : 0; nlk 1136 net/netlink/af_netlink.c struct netlink_sock *nlk; nlk 1143 net/netlink/af_netlink.c nlk = nlk_sk(sock); nlk 1145 net/netlink/af_netlink.c nlk->dst_portid != nlk_sk(ssk)->portid) { nlk 1206 net/netlink/af_netlink.c struct netlink_sock *nlk; nlk 1208 net/netlink/af_netlink.c nlk = nlk_sk(sk); nlk 1211 net/netlink/af_netlink.c test_bit(NETLINK_S_CONGESTED, &nlk->state))) { nlk 1222 net/netlink/af_netlink.c add_wait_queue(&nlk->wait, &wait); nlk 1225 net/netlink/af_netlink.c test_bit(NETLINK_S_CONGESTED, &nlk->state)) && nlk 1230 net/netlink/af_netlink.c remove_wait_queue(&nlk->wait, &wait); nlk 1295 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1298 net/netlink/af_netlink.c if (nlk->netlink_rcv != NULL) { nlk 1303 net/netlink/af_netlink.c nlk->netlink_rcv(skb); nlk 1369 net/netlink/af_netlink.c const struct netlink_sock *nlk = nlk_sk(NETLINK_CB(skb).sk); nlk 1371 net/netlink/af_netlink.c return nlk->flags & NETLINK_F_STRICT_CHK; nlk 1377 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1380 net/netlink/af_netlink.c !test_bit(NETLINK_S_CONGESTED, &nlk->state)) { nlk 1406 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1412 net/netlink/af_netlink.c if (nlk->portid == p->portid || p->group - 1 >= nlk->ngroups || nlk 1413 net/netlink/af_netlink.c !test_bit(p->group - 1, nlk->groups)) nlk 1417 net/netlink/af_netlink.c if (!(nlk->flags & NETLINK_F_LISTEN_ALL_NSID)) nlk 1450 net/netlink/af_netlink.c if (nlk->flags & NETLINK_F_BROADCAST_SEND_ERROR) nlk 1470 net/netlink/af_netlink.c if (nlk->flags & NETLINK_F_BROADCAST_SEND_ERROR) nlk 1549 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1558 net/netlink/af_netlink.c if (nlk->portid == p->portid || p->group - 1 >= nlk->ngroups || nlk 1559 net/netlink/af_netlink.c !test_bit(p->group - 1, nlk->groups)) nlk 1562 net/netlink/af_netlink.c if (p->code == ENOBUFS && nlk->flags & NETLINK_F_RECV_NO_ENOBUFS) { nlk 1606 net/netlink/af_netlink.c static void netlink_update_socket_mc(struct netlink_sock *nlk, nlk 1612 net/netlink/af_netlink.c old = test_bit(group - 1, nlk->groups); nlk 1613 net/netlink/af_netlink.c subscriptions = nlk->subscriptions - old + new; nlk 1615 net/netlink/af_netlink.c __set_bit(group - 1, nlk->groups); nlk 1617 net/netlink/af_netlink.c __clear_bit(group - 1, nlk->groups); nlk 1618 net/netlink/af_netlink.c netlink_update_subscriptions(&nlk->sk, subscriptions); nlk 1619 net/netlink/af_netlink.c netlink_update_listeners(&nlk->sk); nlk 1626 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1640 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_RECV_PKTINFO; nlk 1642 net/netlink/af_netlink.c nlk->flags &= ~NETLINK_F_RECV_PKTINFO; nlk 1652 net/netlink/af_netlink.c if (!val || val - 1 >= nlk->ngroups) nlk 1654 net/netlink/af_netlink.c if (optname == NETLINK_ADD_MEMBERSHIP && nlk->netlink_bind) { nlk 1655 net/netlink/af_netlink.c err = nlk->netlink_bind(sock_net(sk), val); nlk 1660 net/netlink/af_netlink.c netlink_update_socket_mc(nlk, val, nlk 1663 net/netlink/af_netlink.c if (optname == NETLINK_DROP_MEMBERSHIP && nlk->netlink_unbind) nlk 1664 net/netlink/af_netlink.c nlk->netlink_unbind(sock_net(sk), val); nlk 1671 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_BROADCAST_SEND_ERROR; nlk 1673 net/netlink/af_netlink.c nlk->flags &= ~NETLINK_F_BROADCAST_SEND_ERROR; nlk 1678 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_RECV_NO_ENOBUFS; nlk 1679 net/netlink/af_netlink.c clear_bit(NETLINK_S_CONGESTED, &nlk->state); nlk 1680 net/netlink/af_netlink.c wake_up_interruptible(&nlk->wait); nlk 1682 net/netlink/af_netlink.c nlk->flags &= ~NETLINK_F_RECV_NO_ENOBUFS; nlk 1691 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_LISTEN_ALL_NSID; nlk 1693 net/netlink/af_netlink.c nlk->flags &= ~NETLINK_F_LISTEN_ALL_NSID; nlk 1698 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_CAP_ACK; nlk 1700 net/netlink/af_netlink.c nlk->flags &= ~NETLINK_F_CAP_ACK; nlk 1705 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_EXT_ACK; nlk 1707 net/netlink/af_netlink.c nlk->flags &= ~NETLINK_F_EXT_ACK; nlk 1712 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_STRICT_CHK; nlk 1714 net/netlink/af_netlink.c nlk->flags &= ~NETLINK_F_STRICT_CHK; nlk 1727 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1743 net/netlink/af_netlink.c val = nlk->flags & NETLINK_F_RECV_PKTINFO ? 1 : 0; nlk 1753 net/netlink/af_netlink.c val = nlk->flags & NETLINK_F_BROADCAST_SEND_ERROR ? 1 : 0; nlk 1763 net/netlink/af_netlink.c val = nlk->flags & NETLINK_F_RECV_NO_ENOBUFS ? 1 : 0; nlk 1774 net/netlink/af_netlink.c for (pos = 0; pos * 8 < nlk->ngroups; pos += sizeof(u32)) { nlk 1780 net/netlink/af_netlink.c if (put_user((u32)(nlk->groups[idx] >> shift), nlk 1786 net/netlink/af_netlink.c if (put_user(ALIGN(nlk->ngroups / 8, sizeof(u32)), optlen)) nlk 1795 net/netlink/af_netlink.c val = nlk->flags & NETLINK_F_CAP_ACK ? 1 : 0; nlk 1805 net/netlink/af_netlink.c val = nlk->flags & NETLINK_F_EXT_ACK ? 1 : 0; nlk 1814 net/netlink/af_netlink.c val = nlk->flags & NETLINK_F_STRICT_CHK ? 1 : 0; nlk 1846 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1876 net/netlink/af_netlink.c dst_portid = nlk->dst_portid; nlk 1877 net/netlink/af_netlink.c dst_group = nlk->dst_group; nlk 1880 net/netlink/af_netlink.c if (!nlk->bound) { nlk 1897 net/netlink/af_netlink.c NETLINK_CB(skb).portid = nlk->portid; nlk 1930 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 1965 net/netlink/af_netlink.c nlk->max_recvmsg_len = max(nlk->max_recvmsg_len, len); nlk 1966 net/netlink/af_netlink.c nlk->max_recvmsg_len = min_t(size_t, nlk->max_recvmsg_len, nlk 1987 net/netlink/af_netlink.c if (nlk->flags & NETLINK_F_RECV_PKTINFO) nlk 1989 net/netlink/af_netlink.c if (nlk->flags & NETLINK_F_LISTEN_ALL_NSID) nlk 1999 net/netlink/af_netlink.c if (nlk->cb_running && nlk 2031 net/netlink/af_netlink.c struct netlink_sock *nlk; nlk 2065 net/netlink/af_netlink.c nlk = nlk_sk(sk); nlk 2066 net/netlink/af_netlink.c nlk->flags |= NETLINK_F_KERNEL_SOCKET; nlk 2190 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(sk); nlk 2200 net/netlink/af_netlink.c mutex_lock(nlk->cb_mutex); nlk 2201 net/netlink/af_netlink.c if (!nlk->cb_running) { nlk 2214 net/netlink/af_netlink.c cb = &nlk->cb; nlk 2217 net/netlink/af_netlink.c if (alloc_min_size < nlk->max_recvmsg_len) { nlk 2218 net/netlink/af_netlink.c alloc_size = nlk->max_recvmsg_len; nlk 2243 net/netlink/af_netlink.c if (nlk->dump_done_errno > 0) { nlk 2245 net/netlink/af_netlink.c nlk->dump_done_errno = cb->dump(skb, cb); nlk 2249 net/netlink/af_netlink.c if (nlk->dump_done_errno > 0 || nlk 2250 net/netlink/af_netlink.c skb_tailroom(skb) < nlmsg_total_size(sizeof(nlk->dump_done_errno))) { nlk 2251 net/netlink/af_netlink.c mutex_unlock(nlk->cb_mutex); nlk 2261 net/netlink/af_netlink.c sizeof(nlk->dump_done_errno), nlk 2268 net/netlink/af_netlink.c memcpy(nlmsg_data(nlh), &nlk->dump_done_errno, nlk 2269 net/netlink/af_netlink.c sizeof(nlk->dump_done_errno)); nlk 2271 net/netlink/af_netlink.c if (extack._msg && nlk->flags & NETLINK_F_EXT_ACK) { nlk 2285 net/netlink/af_netlink.c nlk->cb_running = false; nlk 2288 net/netlink/af_netlink.c mutex_unlock(nlk->cb_mutex); nlk 2294 net/netlink/af_netlink.c mutex_unlock(nlk->cb_mutex); nlk 2303 net/netlink/af_netlink.c struct netlink_sock *nlk, *nlk2; nlk 2316 net/netlink/af_netlink.c nlk = nlk_sk(sk); nlk 2317 net/netlink/af_netlink.c mutex_lock(nlk->cb_mutex); nlk 2319 net/netlink/af_netlink.c if (nlk->cb_running) { nlk 2329 net/netlink/af_netlink.c cb = &nlk->cb; nlk 2348 net/netlink/af_netlink.c nlk->cb_running = true; nlk 2349 net/netlink/af_netlink.c nlk->dump_done_errno = INT_MAX; nlk 2351 net/netlink/af_netlink.c mutex_unlock(nlk->cb_mutex); nlk 2369 net/netlink/af_netlink.c mutex_unlock(nlk->cb_mutex); nlk 2384 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(NETLINK_CB(in_skb).sk); nlk 2386 net/netlink/af_netlink.c bool nlk_has_extack = nlk->flags & NETLINK_F_EXT_ACK; nlk 2396 net/netlink/af_netlink.c if (!(nlk->flags & NETLINK_F_CAP_ACK)) nlk 2558 net/netlink/af_netlink.c struct netlink_sock *nlk; nlk 2562 net/netlink/af_netlink.c nlk = rhashtable_walk_next(&iter->hti); nlk 2564 net/netlink/af_netlink.c if (IS_ERR(nlk)) { nlk 2565 net/netlink/af_netlink.c if (PTR_ERR(nlk) == -EAGAIN) nlk 2568 net/netlink/af_netlink.c return nlk; nlk 2571 net/netlink/af_netlink.c if (nlk) nlk 2580 net/netlink/af_netlink.c } while (sock_net(&nlk->sk) != seq_file_net(seq)); nlk 2582 net/netlink/af_netlink.c return nlk; nlk 2626 net/netlink/af_netlink.c struct netlink_sock *nlk = nlk_sk(s); nlk 2631 net/netlink/af_netlink.c nlk->portid, nlk 2632 net/netlink/af_netlink.c nlk->groups ? (u32)nlk->groups[0] : 0, nlk 2635 net/netlink/af_netlink.c nlk->cb_running, nlk 2736 net/netlink/af_netlink.c const struct netlink_sock *nlk = data; nlk 2739 net/netlink/af_netlink.c netlink_compare_arg_init(&arg, sock_net(&nlk->sk), nlk->portid); nlk 14 net/netlink/diag.c struct netlink_sock *nlk = nlk_sk(sk); nlk 16 net/netlink/diag.c if (nlk->groups == NULL) nlk 19 net/netlink/diag.c return nla_put(nlskb, NETLINK_DIAG_GROUPS, NLGRPSZ(nlk->ngroups), nlk 20 net/netlink/diag.c nlk->groups); nlk 25 net/netlink/diag.c struct netlink_sock *nlk = nlk_sk(sk); nlk 28 net/netlink/diag.c if (nlk->cb_running) nlk 30 net/netlink/diag.c if (nlk->flags & NETLINK_F_RECV_PKTINFO) nlk 32 net/netlink/diag.c if (nlk->flags & NETLINK_F_BROADCAST_SEND_ERROR) nlk 34 net/netlink/diag.c if (nlk->flags & NETLINK_F_RECV_NO_ENOBUFS) nlk 36 net/netlink/diag.c if (nlk->flags & NETLINK_F_LISTEN_ALL_NSID) nlk 38 net/netlink/diag.c if (nlk->flags & NETLINK_F_CAP_ACK) nlk 50 net/netlink/diag.c struct netlink_sock *nlk = nlk_sk(sk); nlk 64 net/netlink/diag.c rep->ndiag_portid = nlk->portid; nlk 65 net/netlink/diag.c rep->ndiag_dst_portid = nlk->dst_portid; nlk 66 net/netlink/diag.c rep->ndiag_dst_group = nlk->dst_group;