Browse Source

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>
Konrad Rzeszutek Wilk 15 năm trước cách đây
mục cha
commit
a12415ff58
1 tập tin đã thay đổi với 4 bổ sung2 xóa
  1. 4 2
      drivers/firmware/iscsi_ibft.c

+ 4 - 2
drivers/firmware/iscsi_ibft.c

@@ -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)