]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] iscsi_ibft, be2iscsi, iscsi_boot: fix boot kobj data lifetime management
authorMike Christie <michaelc@cs.wisc.edu>
Fri, 24 Jun 2011 20:11:53 +0000 (15:11 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 29 Jun 2011 21:43:06 +0000 (16:43 -0500)
commit3caf9b2c8260528d837f152ca39da0ad8d4491db
treeacbeac8630b898610fe71295f11cbc71f956b8ba
parentd7108b6670665a8c8f379bc3cf642a8f6be90115
[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>
drivers/firmware/iscsi_ibft.c
drivers/scsi/be2iscsi/be_main.c
drivers/scsi/iscsi_boot_sysfs.c
include/linux/iscsi_boot_sysfs.h