Lines Matching refs:groups

946 	WARN_ON(nlk_sk(sk)->groups);  in netlink_sock_destruct()
1080 for (i = 0; i < NLGRPLONGS(tbl->groups); i++) { in netlink_update_listeners()
1084 mask |= nlk_sk(sk)->groups[i]; in netlink_update_listeners()
1281 if (test_bit(i, nlk->groups)) in netlink_release()
1323 kfree(nlk->groups); in netlink_release()
1324 nlk->groups = NULL; in netlink_release()
1454 unsigned int groups; in netlink_realloc_groups() local
1460 groups = nl_table[sk->sk_protocol].groups; in netlink_realloc_groups()
1466 if (nlk->ngroups >= groups) in netlink_realloc_groups()
1469 new_groups = krealloc(nlk->groups, NLGRPSZ(groups), GFP_ATOMIC); in netlink_realloc_groups()
1475 NLGRPSZ(groups) - NLGRPSZ(nlk->ngroups)); in netlink_realloc_groups()
1477 nlk->groups = new_groups; in netlink_realloc_groups()
1478 nlk->ngroups = groups; in netlink_realloc_groups()
1484 static void netlink_undo_bind(int group, long unsigned int groups, in netlink_undo_bind() argument
1494 if (test_bit(undo, &groups)) in netlink_undo_bind()
1506 long unsigned int groups = nladdr->nl_groups; in netlink_bind() local
1516 if (groups) { in netlink_bind()
1533 if (nlk->netlink_bind && groups) { in netlink_bind()
1537 if (!test_bit(group, &groups)) in netlink_bind()
1542 netlink_undo_bind(group, groups, sk); in netlink_bind()
1555 netlink_undo_bind(nlk->ngroups, groups, sk); in netlink_bind()
1560 if (!groups && (nlk->groups == NULL || !(u32)nlk->groups[0])) in netlink_bind()
1565 hweight32(groups) - in netlink_bind()
1566 hweight32(nlk->groups[0])); in netlink_bind()
1567 nlk->groups[0] = (nlk->groups[0] & ~0xffffffffUL) | groups; in netlink_bind()
1629 nladdr->nl_groups = nlk->groups ? nlk->groups[0] : 0; in netlink_getname()
1937 if (listeners && group - 1 < nl_table[sk->sk_protocol].groups) in netlink_has_listeners()
1984 !test_bit(p->group - 1, nlk->groups)) in do_one_broadcast()
2110 !test_bit(p->group - 1, nlk->groups)) in do_one_set_err()
2163 old = test_bit(group - 1, nlk->groups); in netlink_update_socket_mc()
2166 __set_bit(group - 1, nlk->groups); in netlink_update_socket_mc()
2168 __clear_bit(group - 1, nlk->groups); in netlink_update_socket_mc()
2522 unsigned int groups; in __netlink_kernel_create() local
2544 if (!cfg || cfg->groups < 32) in __netlink_kernel_create()
2545 groups = 32; in __netlink_kernel_create()
2547 groups = cfg->groups; in __netlink_kernel_create()
2549 listeners = kzalloc(sizeof(*listeners) + NLGRPSZ(groups), GFP_KERNEL); in __netlink_kernel_create()
2565 nl_table[unit].groups = groups; in __netlink_kernel_create()
2602 int __netlink_change_ngroups(struct sock *sk, unsigned int groups) in __netlink_change_ngroups() argument
2607 if (groups < 32) in __netlink_change_ngroups()
2608 groups = 32; in __netlink_change_ngroups()
2610 if (NLGRPSZ(tbl->groups) < NLGRPSZ(groups)) { in __netlink_change_ngroups()
2611 new = kzalloc(sizeof(*new) + NLGRPSZ(groups), GFP_ATOMIC); in __netlink_change_ngroups()
2615 memcpy(new->masks, old->masks, NLGRPSZ(tbl->groups)); in __netlink_change_ngroups()
2620 tbl->groups = groups; in __netlink_change_ngroups()
2637 int netlink_change_ngroups(struct sock *sk, unsigned int groups) in netlink_change_ngroups() argument
2642 err = __netlink_change_ngroups(sk, groups); in netlink_change_ngroups()
3077 nlk->groups ? (u32)nlk->groups[0] : 0, in netlink_seq_show()
3172 int groups = 32; in netlink_add_usersock_entry() local
3174 listeners = kzalloc(sizeof(*listeners) + NLGRPSZ(groups), GFP_KERNEL); in netlink_add_usersock_entry()
3180 nl_table[NETLINK_USERSOCK].groups = groups; in netlink_add_usersock_entry()