af_netlink.c (be0c22a46cfb79ab2342bb28fde99afa94ef868e) af_netlink.c (1ce85fe402137824246bad03ff85f3913d565c17)
1/*
2 * NETLINK Kernel-user communication protocol.
3 *
4 * Authors: Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

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

1755 if (group) {
1756 int exclude_pid = 0;
1757
1758 if (report) {
1759 atomic_inc(&skb->users);
1760 exclude_pid = pid;
1761 }
1762
1/*
2 * NETLINK Kernel-user communication protocol.
3 *
4 * Authors: Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

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

1755 if (group) {
1756 int exclude_pid = 0;
1757
1758 if (report) {
1759 atomic_inc(&skb->users);
1760 exclude_pid = pid;
1761 }
1762
1763 /* errors reported via destination sk->sk_err */
1764 nlmsg_multicast(sk, skb, exclude_pid, group, flags);
1763 /* errors reported via destination sk->sk_err, but propagate
1764 * delivery errors if NETLINK_BROADCAST_ERROR flag is set */
1765 err = nlmsg_multicast(sk, skb, exclude_pid, group, flags);
1765 }
1766
1766 }
1767
1767 if (report)
1768 err = nlmsg_unicast(sk, skb, pid);
1768 if (report) {
1769 int err2;
1769
1770
1771 err2 = nlmsg_unicast(sk, skb, pid);
1772 if (!err || err == -ESRCH)
1773 err = err2;
1774 }
1775
1770 return err;
1771}
1772EXPORT_SYMBOL(nlmsg_notify);
1773
1774#ifdef CONFIG_PROC_FS
1775struct nl_seq_iter {
1776 struct seq_net_private p;
1777 int link;

--- 249 unchanged lines hidden ---
1776 return err;
1777}
1778EXPORT_SYMBOL(nlmsg_notify);
1779
1780#ifdef CONFIG_PROC_FS
1781struct nl_seq_iter {
1782 struct seq_net_private p;
1783 int link;

--- 249 unchanged lines hidden ---