ibft: Kernel oops when rmmoding iscsi_ibft with no iBFT present.
authorKonrad Rzeszutek Wilk <konrad@kernel.org>
Wed, 11 Aug 2010 20:35:40 +0000 (16:35 -0400)
committerKonrad Rzeszutek Wilk <konrad@kernel.org>
Wed, 11 Aug 2010 20:35:40 +0000 (16:35 -0400)
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>
 

drivers/firmware/iscsi_ibft.c

index 4f04ec0..6148a1c 100644 (file)
@@ -727,8 +727,10 @@ static void ibft_unregister(void)
 
 static void ibft_cleanup(void)
 {
-       ibft_unregister();
-       iscsi_boot_destroy_kset(boot_kset);
+       if (boot_kset) {
+               ibft_unregister();
+               iscsi_boot_destroy_kset(boot_kset);
+       }
 }
 
 static void __exit ibft_exit(void)