aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/devinet.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 20a9f9274f3f..5d985e367535 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1499,6 +1499,8 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb)
1499 idx = 0; 1499 idx = 0;
1500 head = &net->dev_index_head[h]; 1500 head = &net->dev_index_head[h];
1501 rcu_read_lock(); 1501 rcu_read_lock();
1502 cb->seq = atomic_read(&net->ipv4.dev_addr_genid) ^
1503 net->dev_base_seq;
1502 hlist_for_each_entry_rcu(dev, head, index_hlist) { 1504 hlist_for_each_entry_rcu(dev, head, index_hlist) {
1503 if (idx < s_idx) 1505 if (idx < s_idx)
1504 goto cont; 1506 goto cont;
@@ -1519,6 +1521,7 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb)
1519 rcu_read_unlock(); 1521 rcu_read_unlock();
1520 goto done; 1522 goto done;
1521 } 1523 }
1524 nl_dump_check_consistent(cb, nlmsg_hdr(skb));
1522 } 1525 }
1523cont: 1526cont:
1524 idx++; 1527 idx++;
@@ -1807,6 +1810,8 @@ static int inet_netconf_dump_devconf(struct sk_buff *skb,
1807 idx = 0; 1810 idx = 0;
1808 head = &net->dev_index_head[h]; 1811 head = &net->dev_index_head[h];
1809 rcu_read_lock(); 1812 rcu_read_lock();
1813 cb->seq = atomic_read(&net->ipv4.dev_addr_genid) ^
1814 net->dev_base_seq;
1810 hlist_for_each_entry_rcu(dev, head, index_hlist) { 1815 hlist_for_each_entry_rcu(dev, head, index_hlist) {
1811 if (idx < s_idx) 1816 if (idx < s_idx)
1812 goto cont; 1817 goto cont;
@@ -1824,6 +1829,7 @@ static int inet_netconf_dump_devconf(struct sk_buff *skb,
1824 rcu_read_unlock(); 1829 rcu_read_unlock();
1825 goto done; 1830 goto done;
1826 } 1831 }
1832 nl_dump_check_consistent(cb, nlmsg_hdr(skb));
1827cont: 1833cont:
1828 idx++; 1834 idx++;
1829 } 1835 }