diff options
author | Roopa Prabhu <roopa@cumulusnetworks.com> | 2017-03-20 08:01:28 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-22 20:48:49 +0300 |
commit | 7b8f7a402d4cfc3a1361a2766066127f9bccadc4 (patch) | |
tree | b44eafb94e7ea3bb32b4bb234746716cc5c535b2 /include/net/neighbour.h | |
parent | 7ada7ca562714632d0fc9abb24e27cab67bdbf0d (diff) | |
download | linux-7b8f7a402d4cfc3a1361a2766066127f9bccadc4.tar.xz |
neighbour: fix nlmsg_pid in notifications
neigh notifications today carry pid 0 for nlmsg_pid
in all cases. This patch fixes it to carry calling process
pid when available. Applications (eg. quagga) rely on
nlmsg_pid to ignore notifications generated by their own
netlink operations. This patch follows the routing subsystem
which already sets this correctly.
Reported-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/neighbour.h')
-rw-r--r-- | include/net/neighbour.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/neighbour.h b/include/net/neighbour.h index 5ebf69491160..9496179c7b4e 100644 --- a/include/net/neighbour.h +++ b/include/net/neighbour.h @@ -314,7 +314,8 @@ static inline struct neighbour *neigh_create(struct neigh_table *tbl, } void neigh_destroy(struct neighbour *neigh); int __neigh_event_send(struct neighbour *neigh, struct sk_buff *skb); -int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags); +int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags, + u32 nlmsg_pid); void __neigh_set_probe_once(struct neighbour *neigh); void neigh_changeaddr(struct neigh_table *tbl, struct net_device *dev); int neigh_ifdown(struct neigh_table *tbl, struct net_device *dev); |