Whamcloud - gitweb
LU-10391 lnet: Fix NULL-deref in lnet_nidstr_r() 38/44838/7
authorMr NeilBrown <neilb@suse.de>
Fri, 3 Sep 2021 03:22:17 +0000 (13:22 +1000)
committerOleg Drokin <green@whamcloud.com>
Wed, 26 Jan 2022 05:13:48 +0000 (05:13 +0000)
commit8ed370864c4747281dab22f3fafceb5310c1cd53
treeccf913e76706fd6b7dbcd6841f6257b845c157c9
parenteb0eedbb1a68297b879cbec691ce85e1f208b89e
LU-10391 lnet: Fix NULL-deref in lnet_nidstr_r()

It is valid to pass NULL as the nid for lnet_nidstr_r() - it indicate
"any" nid.  LNET_NID_IS_ANY() tests for this and the function exits
early.

However, 'lnd' is assigned from "nid->nid_type" and 'nnum' from
"nid->nid_num", causing a NULL-pointer dereference.

So move these assignments later.

Fixes: 82a17076f880 ("LU-10391 lnet: introduce struct lnet_nid")
Test-Parameters: trivial
Test-Parameters: serverversion=2.12 serverdistro=el7.9 testlist=runtests
Test-Parameters: clientversion=2.12 testlist=runtests
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: Ie29dd4d0ef7fac0f11c1ece714278a7dd9860602
Reviewed-on: https://review.whamcloud.com/44838
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/lnet/nidstrings.c