[SCSI] iscsi_ibft, be2iscsi, iscsi_boot: fix boot kobj data lifetime management
be2iscsi passes the boot functions its phba object which is allocated in the shost, but iscsi_ibft passes in a object allocated for each item to display. The problem is that iscsi_boot_sysfs was managing the lifetime of the object passed in and doing a kfree on release. This causes a double free for be2iscsi which frees the shost in its pci_remove. This patch fixes the problem by adding a release callback which the drivers can call kfree or a put() type of function (needed for be2iscsi which will do a get/put on the shost). Signed-off-by:Mike Christie <michaelc@cs.wisc.edu> Signed-off-by:
James Bottomley <JBottomley@Parallels.com>
Showing
- drivers/firmware/iscsi_ibft.c 11 additions, 3 deletionsdrivers/firmware/iscsi_ibft.c
- drivers/scsi/be2iscsi/be_main.c 99 additions, 91 deletionsdrivers/scsi/be2iscsi/be_main.c
- drivers/scsi/iscsi_boot_sysfs.c 19 additions, 9 deletionsdrivers/scsi/iscsi_boot_sysfs.c
- include/linux/iscsi_boot_sysfs.h 13 additions, 3 deletionsinclude/linux/iscsi_boot_sysfs.h
Loading
Please register or sign in to comment