diff options
author | Jens Axboe <axboe@kernel.dk> | 2020-04-08 08:41:26 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-04-08 08:41:26 -0600 |
commit | d9a9755a83d706fec22e4364b2f91568dfb8c4ea (patch) | |
tree | 892b449a307ae2a033bb0a4d7f87336d77321d70 /drivers/nvme/target/configfs.c | |
parent | d3ef5536274faf89e626276b833be122a16bdb81 (diff) | |
parent | 21f9024355e58772ec5d7fc3534aa5e29d72a8b6 (diff) |
Merge branch 'nvme-5.7' of git://git.infradead.org/nvme into block-5.7block-5.7-2020-04-09
Pull NVMe fixes from Christoph.
* 'nvme-5.7' of git://git.infradead.org/nvme:
nvmet-rdma: fix double free of rdma queue
nvme-fc: Revert "add module to ops template to allow module references"
nvme: fix deadlock caused by ANA update wrong locking
nvmet-rdma: fix bonding failover possible NULL deref
nvmet: fix NULL dereference when removing a referral
nvme: inherit stable pages constraint in the mpath stack device
nvme-tcp: fix possible crash in recv error flow
nvme-tcp: don't poll a non-live queue
nvme-tcp: fix possible crash in write_zeroes processing
nvmet-fc: fix typo in comment
nvme-rdma: Replace comma with a semicolon
nvme-fcloop: fix deallocation of working context
nvme: fix compat address handling in several ioctls
Diffstat (limited to 'drivers/nvme/target/configfs.c')
-rw-r--r-- | drivers/nvme/target/configfs.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/nvme/target/configfs.c b/drivers/nvme/target/configfs.c index 7aa10788b7c8..58cabd7b6fc5 100644 --- a/drivers/nvme/target/configfs.c +++ b/drivers/nvme/target/configfs.c @@ -1098,12 +1098,19 @@ static struct configfs_attribute *nvmet_referral_attrs[] = { NULL, }; -static void nvmet_referral_release(struct config_item *item) +static void nvmet_referral_notify(struct config_group *group, + struct config_item *item) { struct nvmet_port *parent = to_nvmet_port(item->ci_parent->ci_parent); struct nvmet_port *port = to_nvmet_port(item); nvmet_referral_disable(parent, port); +} + +static void nvmet_referral_release(struct config_item *item) +{ + struct nvmet_port *port = to_nvmet_port(item); + kfree(port); } @@ -1134,6 +1141,7 @@ static struct config_group *nvmet_referral_make( static struct configfs_group_operations nvmet_referral_group_ops = { .make_group = nvmet_referral_make, + .disconnect_notify = nvmet_referral_notify, }; static const struct config_item_type nvmet_referrals_type = { |