From ea4fe2df82d06e26578e3246d13f5b4f123aa0f1 Mon Sep 17 00:00:00 2001 From: bwzhou Date: Tue, 11 Mar 2008 05:00:21 +0000 Subject: [PATCH] Branch b1_6 b=13285 r=huanghe, deen checks for null iface and adds more debug info: cid-9.diff --- lnet/klnds/socklnd/socklnd.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lnet/klnds/socklnd/socklnd.c b/lnet/klnds/socklnd/socklnd.c index aecf265..7118a80 100644 --- a/lnet/klnds/socklnd/socklnd.c +++ b/lnet/klnds/socklnd/socklnd.c @@ -211,12 +211,20 @@ ksocknal_unlink_peer_locked (ksock_peer_t *peer) { int i; __u32 ip; + ksock_interface_t *iface; for (i = 0; i < peer->ksnp_n_passive_ips; i++) { LASSERT (i < LNET_MAX_INTERFACES); ip = peer->ksnp_passive_ips[i]; - ksocknal_ip2iface(peer->ksnp_ni, ip)->ksni_npeers--; + iface = ksocknal_ip2iface(peer->ksnp_ni, ip); + /* All IPs in peer->ksnp_passive_ips[] come from the + * interface list, therefore the call must succeed. */ + LASSERT (iface != NULL); + + CDEBUG(D_NET, "peer=%p iface=%p ksni_nroutes=%d\n", + peer, iface, iface->ksni_nroutes); + iface->ksni_npeers--; } LASSERT (list_empty(&peer->ksnp_conns)); -- 1.8.3.1