udp_diag.c (cdd38c5f1ce4398ec58fec95904b75824daab7b5) udp_diag.c (01757f536ac825e3614d583fee9acb48c64ed084)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * udp_diag.c Module for monitoring UDP transport protocols sockets.
4 *
5 * Authors: Pavel Emelyanov, <xemul@parallels.com>
6 */
7
8

--- 63 unchanged lines hidden (view full) ---

72
73 err = inet_sk_diag_fill(sk, NULL, rep, cb, req, 0,
74 netlink_net_capable(in_skb, CAP_NET_ADMIN));
75 if (err < 0) {
76 WARN_ON(err == -EMSGSIZE);
77 kfree_skb(rep);
78 goto out;
79 }
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * udp_diag.c Module for monitoring UDP transport protocols sockets.
4 *
5 * Authors: Pavel Emelyanov, <xemul@parallels.com>
6 */
7
8

--- 63 unchanged lines hidden (view full) ---

72
73 err = inet_sk_diag_fill(sk, NULL, rep, cb, req, 0,
74 netlink_net_capable(in_skb, CAP_NET_ADMIN));
75 if (err < 0) {
76 WARN_ON(err == -EMSGSIZE);
77 kfree_skb(rep);
78 goto out;
79 }
80 err = netlink_unicast(net->diag_nlsk, rep, NETLINK_CB(in_skb).portid,
81 MSG_DONTWAIT);
82 if (err > 0)
83 err = 0;
80 err = nlmsg_unicast(net->diag_nlsk, rep, NETLINK_CB(in_skb).portid);
81
84out:
85 if (sk)
86 sock_put(sk);
87out_nosk:
88 return err;
89}
90
91static void udp_dump(struct udp_table *table, struct sk_buff *skb,

--- 211 unchanged lines hidden ---
82out:
83 if (sk)
84 sock_put(sk);
85out_nosk:
86 return err;
87}
88
89static void udp_dump(struct udp_table *table, struct sk_buff *skb,

--- 211 unchanged lines hidden ---