summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Eremin <dmitry.eremin@intel.com>2016-03-02 22:01:55 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-03-02 23:23:49 (GMT)
commit2b51cb033bb7d961fec771c3a09ed71da2d31861 (patch)
tree44be38f390febdab3c61d1daab30a69ada63a44d
parent0d92363564de7b755f47ab91aaafa0ec197a36af (diff)
downloadlinux-2b51cb033bb7d961fec771c3a09ed71da2d31861.tar.xz
staging: lustre: fix socklnd issues found by Klocwork Insight tool
Null pointer 'best_iface' that comes from line 802 may be dereferenced at line 832. Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4629 Reviewed-on: http://review.whamcloud.com/9386 Reviewed-by: John L. Hammond <john.hammond@intel.com> Reviewed-by: Isaac Huang <he.huang@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
index 2c83b95..a710541 100644
--- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
+++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
@@ -804,6 +804,8 @@ ksocknal_select_ips(ksock_peer_t *peer, __u32 *peerips, int n_peerips)
ip = peer->ksnp_passive_ips[i];
best_iface = ksocknal_ip2iface(peer->ksnp_ni, ip);
+ /* peer passive ips are kept up to date */
+ LASSERT(best_iface);
} else {
/* choose a new interface */
LASSERT(i == peer->ksnp_n_passive_ips);
@@ -838,6 +840,8 @@ ksocknal_select_ips(ksock_peer_t *peer, __u32 *peerips, int n_peerips)
best_npeers = iface->ksni_npeers;
}
+ LASSERT(best_iface);
+
best_iface->ksni_npeers++;
ip = best_iface->ksni_ipaddr;
peer->ksnp_passive_ips[i] = ip;