Home
last modified time | relevance | path

Searched refs:nlh (Results 1 – 25 of 171) sorted by relevance

1234567

/kernel/linux/linux-5.10/tools/testing/selftests/netfilter/
Dnf-queue.c77 static int queue_cb(const struct nlmsghdr *nlh, void *data) in queue_cb() argument
85 mnl_attr_parse(nlh, sizeof(struct nfgenmsg), parse_attr_cb, tb); in queue_cb()
123 struct nlmsghdr *nlh = mnl_nlmsg_put_header(buf); in nfq_build_cfg_request() local
130 nlh->nlmsg_type = (NFNL_SUBSYS_QUEUE << 8) | NFQNL_MSG_CONFIG; in nfq_build_cfg_request()
131 nlh->nlmsg_flags = NLM_F_REQUEST; in nfq_build_cfg_request()
133 nfg = mnl_nlmsg_put_extra_header(nlh, sizeof(*nfg)); in nfq_build_cfg_request()
139 mnl_attr_put(nlh, NFQA_CFG_CMD, sizeof(cmd), &cmd); in nfq_build_cfg_request()
141 return nlh; in nfq_build_cfg_request()
147 struct nlmsghdr *nlh = mnl_nlmsg_put_header(buf); in nfq_build_cfg_params() local
154 nlh->nlmsg_type = (NFNL_SUBSYS_QUEUE << 8) | NFQNL_MSG_CONFIG; in nfq_build_cfg_params()
[all …]
/kernel/linux/linux-5.10/drivers/staging/gdm724x/
Dnetlink_k.c20 #define ND_NLMSG_DATA(nlh) ((void *)((char *)NLMSG_DATA(nlh) + \ argument
23 #define ND_NLMSG_R_LEN(nlh) (nlh->nlmsg_len - ND_IFINDEX_LEN) argument
24 #define ND_NLMSG_IFIDX(nlh) NLMSG_DATA(nlh) argument
31 struct nlmsghdr *nlh; in netlink_rcv_cb() local
47 nlh = (struct nlmsghdr *)skb->data; in netlink_rcv_cb()
49 if (skb->len < nlh->nlmsg_len || nlh->nlmsg_len > ND_MAX_MSG_LEN) { in netlink_rcv_cb()
51 skb->len, nlh->nlmsg_len); in netlink_rcv_cb()
55 memcpy(&ifindex, ND_NLMSG_IFIDX(nlh), ND_IFINDEX_LEN); in netlink_rcv_cb()
56 msg = ND_NLMSG_DATA(nlh); in netlink_rcv_cb()
57 mlen = ND_NLMSG_R_LEN(nlh); in netlink_rcv_cb()
[all …]
/kernel/linux/linux-5.10/net/netfilter/
Dnfnetlink.c182 static int nfnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, in nfnetlink_rcv_msg() argument
191 if (nlmsg_len(nlh) < sizeof(struct nfgenmsg)) in nfnetlink_rcv_msg()
194 type = nlh->nlmsg_type; in nfnetlink_rcv_msg()
220 u8 cb_id = NFNL_MSG_TYPE(nlh->nlmsg_type); in nfnetlink_rcv_msg()
222 struct nlattr *attr = (void *)nlh + min_len; in nfnetlink_rcv_msg()
223 int attrlen = nlh->nlmsg_len - min_len; in nfnetlink_rcv_msg()
241 err = nc->call_rcu(net, net->nfnl, skb, nlh, in nfnetlink_rcv_msg()
252 err = nc->call(net, net->nfnl, skb, nlh, in nfnetlink_rcv_msg()
267 struct nlmsghdr *nlh; member
272 static int nfnl_err_add(struct list_head *list, struct nlmsghdr *nlh, int err, in nfnl_err_add() argument
[all …]
Dnfnetlink_cttimeout.c76 const struct nlmsghdr *nlh, in cttimeout_new_timeout() argument
101 if (nlh->nlmsg_flags & NLM_F_EXCL) in cttimeout_new_timeout()
109 if (nlh->nlmsg_flags & NLM_F_REPLACE) { in cttimeout_new_timeout()
162 struct nlmsghdr *nlh; in ctnl_timeout_fill_info() local
169 nlh = nfnl_msg_put(skb, portid, seq, event, flags, AF_UNSPEC, in ctnl_timeout_fill_info()
171 if (!nlh) in ctnl_timeout_fill_info()
192 nlmsg_end(skb, nlh); in ctnl_timeout_fill_info()
197 nlmsg_cancel(skb, nlh); in ctnl_timeout_fill_info()
223 cb->nlh->nlmsg_seq, in ctnl_timeout_dump()
224 NFNL_MSG_TYPE(cb->nlh->nlmsg_type), in ctnl_timeout_dump()
[all …]
/kernel/linux/linux-5.10/drivers/scsi/
Dscsi_netlink.c34 struct nlmsghdr *nlh; in scsi_nl_rcv_msg() local
42 nlh = nlmsg_hdr(skb); in scsi_nl_rcv_msg()
43 if ((nlh->nlmsg_len < (sizeof(*nlh) + sizeof(*hdr))) || in scsi_nl_rcv_msg()
44 (skb->len < nlh->nlmsg_len)) { in scsi_nl_rcv_msg()
50 rlen = NLMSG_ALIGN(nlh->nlmsg_len); in scsi_nl_rcv_msg()
54 if (nlh->nlmsg_type != SCSI_TRANSPORT_MSG) { in scsi_nl_rcv_msg()
59 hdr = nlmsg_data(nlh); in scsi_nl_rcv_msg()
71 if (nlh->nlmsg_len < (sizeof(*nlh) + hdr->msglen)) { in scsi_nl_rcv_msg()
99 if ((err) || (nlh->nlmsg_flags & NLM_F_ACK)) in scsi_nl_rcv_msg()
100 netlink_ack(skb, nlh, err, NULL); in scsi_nl_rcv_msg()
/kernel/linux/linux-5.10/drivers/infiniband/core/
Dnetlink.c131 void *ibnl_put_msg(struct sk_buff *skb, struct nlmsghdr **nlh, int seq, in ibnl_put_msg() argument
134 *nlh = nlmsg_put(skb, 0, seq, RDMA_NL_GET_TYPE(client, op), len, flags); in ibnl_put_msg()
135 if (!*nlh) in ibnl_put_msg()
137 return nlmsg_data(*nlh); in ibnl_put_msg()
141 int ibnl_put_attr(struct sk_buff *skb, struct nlmsghdr *nlh, in ibnl_put_attr() argument
145 nlmsg_cancel(skb, nlh); in ibnl_put_attr()
152 static int rdma_nl_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, in rdma_nl_rcv_msg() argument
155 int type = nlh->nlmsg_type; in rdma_nl_rcv_msg()
181 err = cb_table[op].doit(skb, nlh, extack); in rdma_nl_rcv_msg()
185 if ((nlh->nlmsg_flags & NLM_F_DUMP) || index == RDMA_NL_IWCM) { in rdma_nl_rcv_msg()
[all …]
Diwpm_msg.c67 struct nlmsghdr *nlh; in iwpm_register_pid() local
79 skb = iwpm_create_nlmsg(RDMA_NL_IWPM_REG_PID, &nlh, nl_client); in iwpm_register_pid()
84 nlh->nlmsg_seq = iwpm_get_nlmsg_seq(); in iwpm_register_pid()
85 nlmsg_request = iwpm_get_nlmsg_request(nlh->nlmsg_seq, nl_client, GFP_KERNEL); in iwpm_register_pid()
94 ret = ibnl_put_attr(skb, nlh, sizeof(u32), &msg_seq, IWPM_NLA_REG_PID_SEQ); in iwpm_register_pid()
97 ret = ibnl_put_attr(skb, nlh, IFNAMSIZ, in iwpm_register_pid()
101 ret = ibnl_put_attr(skb, nlh, IWPM_DEVNAME_SIZE, in iwpm_register_pid()
105 ret = ibnl_put_attr(skb, nlh, IWPM_ULIBNAME_SIZE, in iwpm_register_pid()
110 nlmsg_end(skb, nlh); in iwpm_register_pid()
151 struct nlmsghdr *nlh; in iwpm_add_mapping() local
[all …]
Dnldev.c870 static int nldev_get_doit(struct sk_buff *skb, struct nlmsghdr *nlh, in nldev_get_doit() argument
879 err = nlmsg_parse_deprecated(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, in nldev_get_doit()
896 nlh = nlmsg_put(msg, NETLINK_CB(skb).portid, nlh->nlmsg_seq, in nldev_get_doit()
904 nlmsg_end(msg, nlh); in nldev_get_doit()
916 static int nldev_set_doit(struct sk_buff *skb, struct nlmsghdr *nlh, in nldev_set_doit() argument
924 err = nlmsg_parse_deprecated(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, in nldev_set_doit()
975 struct nlmsghdr *nlh; in _nldev_get_dumpit() local
980 nlh = nlmsg_put(skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, in _nldev_get_dumpit()
985 nlmsg_cancel(skb, nlh); in _nldev_get_dumpit()
989 nlmsg_end(skb, nlh); in _nldev_get_dumpit()
[all …]
/kernel/linux/linux-5.10/net/phonet/
Dpn_netlink.c51 static int addr_doit(struct sk_buff *skb, struct nlmsghdr *nlh, in addr_doit() argument
69 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX, in addr_doit()
74 ifm = nlmsg_data(nlh); in addr_doit()
86 if (nlh->nlmsg_type == RTM_NEWADDR) in addr_doit()
91 phonet_address_notify(nlh->nlmsg_type, dev, pnaddr); in addr_doit()
99 struct nlmsghdr *nlh; in fill_addr() local
101 nlh = nlmsg_put(skb, portid, seq, event, sizeof(*ifm), 0); in fill_addr()
102 if (nlh == NULL) in fill_addr()
105 ifm = nlmsg_data(nlh); in fill_addr()
113 nlmsg_end(skb, nlh); in fill_addr()
[all …]
/kernel/linux/linux-5.10/tools/bpf/bpftool/
Dnet.c197 static int __dump_class_nlmsg(struct nlmsghdr *nlh, in __dump_class_nlmsg() argument
202 struct tcmsg *t = NLMSG_DATA(nlh); in __dump_class_nlmsg()
205 len = nlh->nlmsg_len - NLMSG_LENGTH(sizeof(*t)); in __dump_class_nlmsg()
217 struct nlmsghdr nlh; in netlink_get_class() member
220 .nlh.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcmsg)), in netlink_get_class()
221 .nlh.nlmsg_type = RTM_GETTCLASS, in netlink_get_class()
222 .nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST, in netlink_get_class()
228 req.nlh.nlmsg_seq = seq; in netlink_get_class()
229 if (send(sock, &req, req.nlh.nlmsg_len, 0) < 0) in netlink_get_class()
236 static int __dump_qdisc_nlmsg(struct nlmsghdr *nlh, in __dump_qdisc_nlmsg() argument
[all …]
/kernel/linux/linux-5.10/net/decnet/netfilter/
Ddn_rtmsg.c36 struct nlmsghdr *nlh; in dnrmg_build_message() local
48 nlh = nlmsg_put(skb, 0, 0, 0, size, 0); in dnrmg_build_message()
49 if (!nlh) { in dnrmg_build_message()
54 rtm = (struct nf_dn_rtmsg *)nlmsg_data(nlh); in dnrmg_build_message()
58 nlh->nlmsg_len = skb->tail - old_tail; in dnrmg_build_message()
97 #define RCV_SKB_FAIL(err) do { netlink_ack(skb, nlh, (err), NULL); return; } while (0)
101 struct nlmsghdr *nlh = nlmsg_hdr(skb); in dnrmg_receive_user_skb() local
103 if (skb->len < sizeof(*nlh) || in dnrmg_receive_user_skb()
104 nlh->nlmsg_len < sizeof(*nlh) || in dnrmg_receive_user_skb()
105 skb->len < nlh->nlmsg_len) in dnrmg_receive_user_skb()
/kernel/linux/patches/linux-4.19/prebuilts/usr/include/linux/
Dnetlink.h70 #define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0))) argument
71 #define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \ argument
72 (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
73 #define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \ argument
74 (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
75 (nlh)->nlmsg_len <= (len))
76 #define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len))) argument
/kernel/linux/linux-5.10/tools/include/uapi/linux/
Dnetlink.h94 #define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0))) argument
95 #define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \ argument
96 (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
97 #define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \ argument
98 (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
99 (nlh)->nlmsg_len <= (len))
100 #define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len))) argument
/kernel/linux/linux-5.10/net/xfrm/
Dxfrm_user.c679 static int xfrm_add_sa(struct sk_buff *skb, struct nlmsghdr *nlh, in xfrm_add_sa() argument
683 struct xfrm_usersa_info *p = nlmsg_data(nlh); in xfrm_add_sa()
697 if (nlh->nlmsg_type == XFRM_MSG_NEWSA) in xfrm_add_sa()
714 c.seq = nlh->nlmsg_seq; in xfrm_add_sa()
715 c.portid = nlh->nlmsg_pid; in xfrm_add_sa()
716 c.event = nlh->nlmsg_type; in xfrm_add_sa()
758 static int xfrm_del_sa(struct sk_buff *skb, struct nlmsghdr *nlh, in xfrm_del_sa() argument
765 struct xfrm_usersa_id *p = nlmsg_data(nlh); in xfrm_del_sa()
784 c.seq = nlh->nlmsg_seq; in xfrm_del_sa()
785 c.portid = nlh->nlmsg_pid; in xfrm_del_sa()
[all …]
/kernel/linux/linux-5.10/include/linux/netfilter/
Dnfnetlink.h12 const struct nlmsghdr *nlh,
16 const struct nlmsghdr *nlh,
20 const struct nlmsghdr *nlh,
59 static inline void nfnl_fill_hdr(struct nlmsghdr *nlh, u8 family, u8 version, in nfnl_fill_hdr() argument
64 nfmsg = nlmsg_data(nlh); in nfnl_fill_hdr()
75 struct nlmsghdr *nlh; in nfnl_msg_put() local
77 nlh = nlmsg_put(skb, portid, seq, type, sizeof(struct nfgenmsg), flags); in nfnl_msg_put()
78 if (!nlh) in nfnl_msg_put()
81 nfnl_fill_hdr(nlh, family, version, res_id); in nfnl_msg_put()
83 return nlh; in nfnl_msg_put()
/kernel/linux/patches/linux-5.10/prebuilts/usr/include/linux/
Dnetlink.h83 #define NLMSG_DATA(nlh) ((void *) (((char *) nlh) + NLMSG_LENGTH(0))) argument
84 #define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), (struct nlmsghdr *) (((char *)… argument
85 #define NLMSG_OK(nlh,len) ((len) >= (int) sizeof(struct nlmsghdr) && (nlh)->nlmsg_len >= sizeof(str… argument
86 #define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len))) argument
/kernel/linux/linux-5.10/include/uapi/linux/
Dnetlink.h94 #define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0))) argument
95 #define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \ argument
96 (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
97 #define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \ argument
98 (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
99 (nlh)->nlmsg_len <= (len))
100 #define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len))) argument
/kernel/linux/linux-5.10/net/ipv6/
Daddrlabel.c384 static int ip6addrlbl_newdel(struct sk_buff *skb, struct nlmsghdr *nlh, in ip6addrlbl_newdel() argument
394 err = nlmsg_parse_deprecated(nlh, sizeof(*ifal), tb, IFAL_MAX, in ip6addrlbl_newdel()
399 ifal = nlmsg_data(nlh); in ip6addrlbl_newdel()
415 switch (nlh->nlmsg_type) { in ip6addrlbl_newdel()
423 nlh->nlmsg_flags & NLM_F_REPLACE); in ip6addrlbl_newdel()
435 static void ip6addrlbl_putmsg(struct nlmsghdr *nlh, in ip6addrlbl_putmsg() argument
438 struct ifaddrlblmsg *ifal = nlmsg_data(nlh); in ip6addrlbl_putmsg()
453 struct nlmsghdr *nlh = nlmsg_put(skb, portid, seq, event, in ip6addrlbl_fill() local
455 if (!nlh) in ip6addrlbl_fill()
458 ip6addrlbl_putmsg(nlh, p->prefixlen, p->ifindex, lseq); in ip6addrlbl_fill()
[all …]
/kernel/linux/linux-5.10/include/net/
Dnetlink.h454 struct nlmsghdr *nlh; member
568 static inline void *nlmsg_data(const struct nlmsghdr *nlh) in nlmsg_data() argument
570 return (unsigned char *) nlh + NLMSG_HDRLEN; in nlmsg_data()
577 static inline int nlmsg_len(const struct nlmsghdr *nlh) in nlmsg_len() argument
579 return nlh->nlmsg_len - NLMSG_HDRLEN; in nlmsg_len()
587 static inline struct nlattr *nlmsg_attrdata(const struct nlmsghdr *nlh, in nlmsg_attrdata() argument
590 unsigned char *data = nlmsg_data(nlh); in nlmsg_attrdata()
599 static inline int nlmsg_attrlen(const struct nlmsghdr *nlh, int hdrlen) in nlmsg_attrlen() argument
601 return nlmsg_len(nlh) - NLMSG_ALIGN(hdrlen); in nlmsg_attrlen()
609 static inline int nlmsg_ok(const struct nlmsghdr *nlh, int remaining) in nlmsg_ok() argument
[all …]
/kernel/linux/linux-5.10/security/selinux/
Dnetlink.c43 static void selnl_add_payload(struct nlmsghdr *nlh, int len, int msgtype, void *data) in selnl_add_payload() argument
47 struct selnl_msg_setenforce *msg = nlmsg_data(nlh); in selnl_add_payload()
55 struct selnl_msg_policyload *msg = nlmsg_data(nlh); in selnl_add_payload()
72 struct nlmsghdr *nlh; in selnl_notify() local
81 nlh = nlmsg_put(skb, 0, 0, msgtype, len, 0); in selnl_notify()
82 if (!nlh) in selnl_notify()
84 selnl_add_payload(nlh, len, msgtype, data); in selnl_notify()
85 nlh->nlmsg_len = skb->tail - tmp; in selnl_notify()
/kernel/linux/linux-5.10/net/ipv4/
Dinet_diag.c206 static int inet_diag_parse_attrs(const struct nlmsghdr *nlh, int hdrlen, in inet_diag_parse_attrs() argument
212 nlmsg_for_each_attr(nla, nlh, hdrlen, remaining) { in inet_diag_parse_attrs()
244 struct nlmsghdr *nlh; in inet_sk_diag_fill() local
252 nlh = nlmsg_put(skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, in inet_sk_diag_fill()
253 cb->nlh->nlmsg_type, sizeof(*r), nlmsg_flags); in inet_sk_diag_fill()
254 if (!nlh) in inet_sk_diag_fill()
257 r = nlmsg_data(nlh); in inet_sk_diag_fill()
367 bool first_nlmsg = ((unsigned char *)nlh == skb->data); in inet_sk_diag_fill()
373 msg_len = skb_tail_pointer(skb) - (unsigned char *)nlh; in inet_sk_diag_fill()
405 nlmsg_end(skb, nlh); in inet_sk_diag_fill()
[all …]
/kernel/linux/linux-5.10/net/wimax/
Dop-msg.c171 struct nlmsghdr *nlh = (void *) msg->head; in wimax_msg_data_len() local
174 nla = nlmsg_find_attr(nlh, sizeof(struct genlmsghdr), in wimax_msg_data_len()
193 struct nlmsghdr *nlh = (void *) msg->head; in wimax_msg_data() local
196 nla = nlmsg_find_attr(nlh, sizeof(struct genlmsghdr), in wimax_msg_data()
214 struct nlmsghdr *nlh = (void *) msg->head; in wimax_msg_len() local
217 nla = nlmsg_find_attr(nlh, sizeof(struct genlmsghdr), in wimax_msg_len()
322 struct nlmsghdr *nlh = info->nlhdr; in wimax_gnl_doit_msg_from_user() local
374 nlh->nlmsg_len, nlh->nlmsg_type, nlh->nlmsg_flags, in wimax_gnl_doit_msg_from_user()
375 nlh->nlmsg_seq, nlh->nlmsg_pid); in wimax_gnl_doit_msg_from_user()
/kernel/linux/linux-5.10/crypto/
Dcrypto_user_base.c159 struct nlmsghdr *nlh; in crypto_report_alg() local
163 nlh = nlmsg_put(skb, NETLINK_CB(in_skb).portid, info->nlmsg_seq, in crypto_report_alg()
165 if (!nlh) { in crypto_report_alg()
170 ualg = nlmsg_data(nlh); in crypto_report_alg()
174 nlmsg_cancel(skb, nlh); in crypto_report_alg()
178 nlmsg_end(skb, nlh); in crypto_report_alg()
234 info.nlmsg_seq = cb->nlh->nlmsg_seq; in crypto_dump_report()
260 static int crypto_update_alg(struct sk_buff *skb, struct nlmsghdr *nlh, in crypto_update_alg() argument
264 struct crypto_user_alg *p = nlmsg_data(nlh); in crypto_update_alg()
296 static int crypto_del_alg(struct sk_buff *skb, struct nlmsghdr *nlh, in crypto_del_alg() argument
[all …]
/kernel/linux/linux-5.10/drivers/connector/
Dconnector.c67 struct nlmsghdr *nlh; in cn_netlink_send_mult() local
100 nlh = nlmsg_put(skb, 0, msg->seq, NLMSG_DONE, size, 0); in cn_netlink_send_mult()
101 if (!nlh) { in cn_netlink_send_mult()
106 data = nlmsg_data(nlh); in cn_netlink_send_mult()
133 struct nlmsghdr *nlh; in cn_call_callback() local
141 nlh = nlmsg_hdr(skb); in cn_call_callback()
142 if (nlh->nlmsg_len < NLMSG_HDRLEN + sizeof(struct cn_msg) + msg->len) in cn_call_callback()
172 struct nlmsghdr *nlh; in cn_rx_skb() local
176 nlh = nlmsg_hdr(skb); in cn_rx_skb()
177 len = nlmsg_len(nlh); in cn_rx_skb()
[all …]
/kernel/linux/linux-5.10/net/core/
Dsock_diag.c19 static int (*inet_rcv_compat)(struct sk_buff *skb, struct nlmsghdr *nlh);
165 void sock_diag_register_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh)) in sock_diag_register_inet_compat() argument
173 void sock_diag_unregister_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh)) in sock_diag_unregister_inet_compat() argument
213 static int __sock_diag_cmd(struct sk_buff *skb, struct nlmsghdr *nlh) in __sock_diag_cmd() argument
216 struct sock_diag_req *req = nlmsg_data(nlh); in __sock_diag_cmd()
219 if (nlmsg_len(nlh) < sizeof(*req)) in __sock_diag_cmd()
233 else if (nlh->nlmsg_type == SOCK_DIAG_BY_FAMILY) in __sock_diag_cmd()
234 err = hndl->dump(skb, nlh); in __sock_diag_cmd()
235 else if (nlh->nlmsg_type == SOCK_DESTROY && hndl->destroy) in __sock_diag_cmd()
236 err = hndl->destroy(skb, nlh); in __sock_diag_cmd()
[all …]

1234567