fsi: master: Clarify master lifetimes & fix use-after-free in hub master
authorJeremy Kerr <jk@ozlabs.org>
Mon, 12 Feb 2018 05:15:47 +0000 (15:45 +1030)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Mar 2018 18:11:01 +0000 (19:11 +0100)
commite0c24bddf07c7735860fe654061938218732c92d
treea9b2deb85f7c3a08e2a7f4eeba99e0a471136a66
parent638bd9ac847e8cb25f59b6bdca29830ece477ed6
fsi: master: Clarify master lifetimes & fix use-after-free in hub master

Once we call fsi_master_unregister, the core will put_device,
potentially freeing the hub master. This change adds a comment
explaining the lifetime of an allocated fsi_master.

We then add a reference from the driver to the hub master, so it stays
around until we've finished ->remove().

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Tested-by: Christopher Bostic <cbostic@linux.vnet.ibm.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/fsi/fsi-master-hub.c
drivers/fsi/fsi-master.h