[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8577e467-ad74-d9bd-8f49-3ace18fc1126@grimberg.me>
Date: Thu, 31 May 2018 12:24:51 +0300
From: Sagi Grimberg <sagi@...mberg.me>
To: Christoph Hellwig <hch@....de>,
Johannes Thumshirn <jthumshirn@...e.de>
Cc: Keith Busch <keith.busch@...el.com>,
Linux NVMe Mailinglist <linux-nvme@...ts.infradead.org>,
Linux Kernel Mailinglist <linux-kernel@...r.kernel.org>,
Hannes Reinecke <hare@...e.de>
Subject: Re: [PATCH 2/5] nvme: don't hold nvmf_transports_rwsem for more than
transport lookups
>> diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c
>> index 7ae732a77fe8..febf82639b40 100644
>> --- a/drivers/nvme/host/fabrics.c
>> +++ b/drivers/nvme/host/fabrics.c
>> @@ -957,16 +957,17 @@ nvmf_create_ctrl(struct device *dev, const char *buf, size_t count)
>>
>> down_read(&nvmf_transports_rwsem);
>> ops = nvmf_lookup_transport(opts);
>> + up_read(&nvmf_transports_rwsem);
>
> And what protects us from the transport getting unregister right here
> from anothet thread waiting to acquire nvmf_transports_rwsem?
I think having the module_get inside as well would protect against it.
Powered by blists - more mailing lists