IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one()
authorRalph Campbell <ralph.campbell@qlogic.com>
Tue, 22 Jul 2008 21:18:33 +0000 (14:18 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 22 Jul 2008 21:18:33 +0000 (14:18 -0700)
commit64b784b583061ebfe1d484dd1fdc5a26c6d4293f
tree2eef2e4af37b00a6ab9c4bf2d2d60dffce980204
parentd35cb360c29956510b2fe1a953bd4968536f7216
IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one()

If update_sm_ah() fails, it leaves the port's sm_ah as NULL.  Then if
the device or module is removed, ib_sa_remove_one() will dereference a
NULL pointer when it calls kref_put().  Fix this by testing if sm_ah
is NULL before dropping the reference.

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/sa_query.c