net: netlink: add helper to retrieve NETLINK_F_STRICT_CHK
Dumps can read state of the NETLINK_F_STRICT_CHK flag from a field in the callback structure. For non-dump GET requests we need a way to access the state of that flag from a socket. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
133bbb18ab
Коммит
59c28058fa
|
@ -126,6 +126,7 @@ void __netlink_clear_multicast_users(struct sock *sk, unsigned int group);
|
|||
void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err,
|
||||
const struct netlink_ext_ack *extack);
|
||||
int netlink_has_listeners(struct sock *sk, unsigned int group);
|
||||
bool netlink_strict_get_check(struct sk_buff *skb);
|
||||
|
||||
int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 portid, int nonblock);
|
||||
int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 portid,
|
||||
|
|
|
@ -1371,6 +1371,14 @@ int netlink_has_listeners(struct sock *sk, unsigned int group)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(netlink_has_listeners);
|
||||
|
||||
bool netlink_strict_get_check(struct sk_buff *skb)
|
||||
{
|
||||
const struct netlink_sock *nlk = nlk_sk(NETLINK_CB(skb).sk);
|
||||
|
||||
return nlk->flags & NETLINK_F_STRICT_CHK;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netlink_strict_get_check);
|
||||
|
||||
static int netlink_broadcast_deliver(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
struct netlink_sock *nlk = nlk_sk(sk);
|
||||
|
|
Загрузка…
Ссылка в новой задаче