Lines Matching defs:extack

2180 			     struct netlink_ext_ack *extack)
2192 if (extack->_msg && test_bit(NETLINK_F_EXT_ACK, &nlk->flags)) {
2194 if (!nla_put_string(skb, NLMSGERR_ATTR_MSG, extack->_msg))
2204 struct netlink_ext_ack extack = {};
2265 cb->extack = &extack;
2267 cb->extack = NULL;
2281 if (netlink_dump_done(nlk, skb, cb, &extack))
2290 if (netlink_dump_done(nlk, skb_shinfo(skb)->frag_list, cb, &extack))
2360 cb->extack = control->extack;
2362 cb->extack = NULL;
2397 const struct netlink_ext_ack *extack)
2401 if (!extack || !test_bit(NETLINK_F_EXT_ACK, &nlk->flags))
2405 if (extack->_msg)
2406 tlvlen += nla_total_size(strlen(extack->_msg) + 1);
2407 if (extack->cookie_len)
2408 tlvlen += nla_total_size(extack->cookie_len);
2414 if (extack->bad_attr)
2416 if (extack->policy)
2417 tlvlen += netlink_policy_dump_attr_size_estimate(extack->policy);
2418 if (extack->miss_type)
2420 if (extack->miss_nest)
2429 const struct netlink_ext_ack *extack)
2431 if (extack->_msg)
2432 WARN_ON(nla_put_string(skb, NLMSGERR_ATTR_MSG, extack->_msg));
2433 if (extack->cookie_len)
2435 extack->cookie_len, extack->cookie));
2440 if (extack->bad_attr &&
2441 !WARN_ON((u8 *)extack->bad_attr < in_skb->data ||
2442 (u8 *)extack->bad_attr >= in_skb->data + in_skb->len))
2444 (u8 *)extack->bad_attr - (u8 *)nlh));
2445 if (extack->policy)
2446 netlink_policy_dump_write_attr(skb, extack->policy,
2448 if (extack->miss_type)
2450 extack->miss_type));
2451 if (extack->miss_nest &&
2452 !WARN_ON((u8 *)extack->miss_nest < in_skb->data ||
2453 (u8 *)extack->miss_nest > in_skb->data + in_skb->len))
2455 (u8 *)extack->miss_nest - (u8 *)nlh));
2459 const struct netlink_ext_ack *extack)
2478 tlvlen = netlink_ack_tlv_len(nlk, err, extack);
2503 netlink_ack_tlv_fill(in_skb, skb, nlh, err, extack);
2523 struct netlink_ext_ack extack;
2530 memset(&extack, 0, sizeof(extack));
2545 err = cb(skb, nlh, &extack);
2551 netlink_ack(skb, nlh, err, &extack);