On Mon, Apr 09, 2018 at 01:37:11PM +0300, Sagi Grimberg wrote: > > > --- a/drivers/nvme/host/fabrics.c > > +++ b/drivers/nvme/host/fabrics.c > > @@ -493,7 +493,7 @@ EXPORT_SYMBOL_GPL(nvmf_should_reconnect) > > */ > > int nvmf_register_transport(struct nvmf_transport_ops *ops) > > { > > - if (!ops->create_ctrl) > > + if (!ops->create_ctrl || !ops->module) > > return -EINVAL; > > down_write(&nvmf_transports_rwsem); > > Hi Greg, > > I think that this part broke builtin compilation of nvme over fabrics > code. > > This was later fixed by Christoph in: > -- > commit 5a1e59533380a3fd04593e4ab2d4633ebf7745c1 > Author: Christoph Hellwig <hch@xxxxxx> > Date: Thu Feb 22 07:24:08 2018 -0800 > > nvme-fabrics: don't check for non-NULL module in nvmf_register_transport > > THIS_MODULE evaluates to NULL when used from code built into the kernel, > thus breaking built-in transport modules. Remove the bogus check. > > Fixes: 0de5cd36 ("nvme-fabrics: protect against module unload during > create_ctrl") > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Sagi Grimberg <sagi@xxxxxxxxxxx> > Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> > Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> > > diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c > index 5dd4ceefed8f..a1c58e35075e 100644 > --- a/drivers/nvme/host/fabrics.c > +++ b/drivers/nvme/host/fabrics.c > @@ -493,7 +493,7 @@ EXPORT_SYMBOL_GPL(nvmf_should_reconnect); > */ > int nvmf_register_transport(struct nvmf_transport_ops *ops) > { > - if (!ops->create_ctrl || !ops->module) > + if (!ops->create_ctrl) > return -EINVAL; > > down_write(&nvmf_transports_rwsem); > -- > > So I'd suggest taking that as well. Many thanks for letting me know, I've now queued up that patch as well. greg k-h