summaryrefslogtreecommitdiffstats
path: root/drivers/rapidio
diff options
context:
space:
mode:
authorAlexandre Bounine <alexandre.bounine@idt.com>2011-11-02 13:39:11 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-11-02 16:07:01 -0700
commit166c050bda80bb5dd627a287b6efcdfb68d172b4 (patch)
tree840b302ae67f40a735f9612ad5243d5f012aa57a /drivers/rapidio
parent48618fb4e522d9d02e217ac05f52749545c1af20 (diff)
downloadlinux-166c050bda80bb5dd627a287b6efcdfb68d172b4.tar.gz
linux-166c050bda80bb5dd627a287b6efcdfb68d172b4.tar.bz2
linux-166c050bda80bb5dd627a287b6efcdfb68d172b4.zip
RapidIO: fix potential null deref in rio_setup_device()
The "goto cleanup" path can deference "rswitch" when it is NULL. Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Cc: Dan Carpenter <error27@gmail.com> Cc: Kumar Gala <galak@kernel.crashing.org> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Chul Kim <chul.kim@idt.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rapidio')
-rw-r--r--drivers/rapidio/rio-scan.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/rapidio/rio-scan.c b/drivers/rapidio/rio-scan.c
index 0914f49b0a53..2bebd791a092 100644
--- a/drivers/rapidio/rio-scan.c
+++ b/drivers/rapidio/rio-scan.c
@@ -516,7 +516,7 @@ static struct rio_dev __devinit *rio_setup_device(struct rio_net *net,
return rdev;
cleanup:
- if (rio_is_switch(rdev))
+ if (rswitch)
kfree(rswitch->route_table);
kfree(rdev);