aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firmware/iscsi_ibft.c
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad@kernel.org>2010-08-11 16:35:40 -0400
committerKonrad Rzeszutek Wilk <konrad@kernel.org>2010-08-11 16:35:40 -0400
commita12415ff589ac5106e6b489f44c947b565fcb963 (patch)
tree9cdcd205ed63e79e68a280160c9f21426ca804c2 /drivers/firmware/iscsi_ibft.c
parent5abd9ccced7a726c817dd6b5b96bc933859138d1 (diff)
ibft: Kernel oops when rmmoding iscsi_ibft with no iBFT present.
We failed to check to see if actually allocated structures to contain the iBFT structure and went ahead to dereference it. This patch fixes the OOPS. Reported-by: "Jayamohan Kalickal" <jayamohank@serverengines.com>   Tested-by: "Jayamohan Kalickal" <jayamohank@serverengines.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> Signed-off-by: Peter Jones <pjones@redhat.com>  
Diffstat (limited to 'drivers/firmware/iscsi_ibft.c')
-rw-r--r--drivers/firmware/iscsi_ibft.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/firmware/iscsi_ibft.c b/drivers/firmware/iscsi_ibft.c
index 4f04ec0410a0..6148a1c67895 100644
--- a/drivers/firmware/iscsi_ibft.c
+++ b/drivers/firmware/iscsi_ibft.c
@@ -727,8 +727,10 @@ static void ibft_unregister(void)
727 727
728static void ibft_cleanup(void) 728static void ibft_cleanup(void)
729{ 729{
730 ibft_unregister(); 730 if (boot_kset) {
731 iscsi_boot_destroy_kset(boot_kset); 731 ibft_unregister();
732 iscsi_boot_destroy_kset(boot_kset);
733 }
732} 734}
733 735
734static void __exit ibft_exit(void) 736static void __exit ibft_exit(void)