| From foo@baz Fri Nov 2 09:44:43 CET 2018 |
| From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> |
| Date: Wed, 17 Oct 2018 22:34:34 +0300 |
| Subject: net: ipmr: fix unresolved entry dumps |
| |
| From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> |
| |
| [ Upstream commit eddf016b910486d2123675a6b5fd7d64f77cdca8 ] |
| |
| If the skb space ends in an unresolved entry while dumping we'll miss |
| some unresolved entries. The reason is due to zeroing the entry counter |
| between dumping resolved and unresolved mfc entries. We should just |
| keep counting until the whole table is dumped and zero when we move to |
| the next as we have a separate table counter. |
| |
| Reported-by: Colin Ian King <colin.king@canonical.com> |
| Fixes: 8fb472c09b9d ("ipmr: improve hash scalability") |
| Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv4/ipmr.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| --- a/net/ipv4/ipmr.c |
| +++ b/net/ipv4/ipmr.c |
| @@ -2499,8 +2499,6 @@ static int ipmr_rtm_dumproute(struct sk_ |
| next_entry: |
| e++; |
| } |
| - e = 0; |
| - s_e = 0; |
| |
| spin_lock_bh(&mfc_unres_lock); |
| list_for_each_entry(mfc, &mrt->mfc_unres_queue, list) { |