summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@stusta.de>2005-11-28 12:46:00 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2005-12-14 15:42:54 -0800
commit2d6eac6c4fdaa69656d66c80754d267be233cc3f (patch)
treeed9abc6ceb0ccde1bc4c58e778ff27b0a947f4e6
parentd2b0e84d195a341c1cc5b45ec2098ee23bc1fe9d (diff)
[PATCH] drivers/infiniband/core/mad.c: fix a use-after-free
The Coverity checker spotted this obvious use-after-free caused by a wrong order of the cleanups. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/infiniband/core/mad.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
index a14ca87fda18..96855fceb250 100644
--- a/drivers/infiniband/core/mad.c
+++ b/drivers/infiniband/core/mad.c
@@ -356,9 +356,9 @@ error4:
spin_unlock_irqrestore(&port_priv->reg_lock, flags);
kfree(reg_req);
error3:
- kfree(mad_agent_priv);
-error2:
ib_dereg_mr(mad_agent_priv->agent.mr);
+error2:
+ kfree(mad_agent_priv);
error1:
return ret;
}