[PATCH 1/1] addrconf.c: Prevent missing IPv6 addresses

Brad Figg brad.figg at canonical.com
Fri Dec 16 19:27:00 UTC 2011


From: Neil Wilson <neil at brightbox.co.uk>

BugLink: http://bugs.launchpad.net/bugs/863394

Commit 5d5619b40c2474de01c64bdf6bb9f1211d3e967a introduced an
error that prevents certain IPv6 addresses showing up in netlink
'dump' listings. This patch backports the corrections from commit
234b27c3fd58fc0e15c04dd0fbf4337fac9c2a06
Signed-off-by: Brad Figg <brad.figg at canonical.com>
---
 net/ipv6/addrconf.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 8ac3d09..a5386de 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3523,6 +3523,8 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,
 							cb->nlh->nlmsg_seq,
 							RTM_NEWADDR,
 							NLM_F_MULTI);
+				if (err <= 0)
+				  break;
 			}
 			break;
 		case MULTICAST_ADDR:
@@ -3536,6 +3538,8 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,
 							  cb->nlh->nlmsg_seq,
 							  RTM_GETMULTICAST,
 							  NLM_F_MULTI);
+				if (err <= 0)
+				  break;
 			}
 			break;
 		case ANYCAST_ADDR:
@@ -3549,6 +3553,8 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,
 							  cb->nlh->nlmsg_seq,
 							  RTM_GETANYCAST,
 							  NLM_F_MULTI);
+				if (err <= 0)
+				  break;
 			}
 			break;
 		default:
-- 
1.7.5.4





More information about the kernel-team mailing list