Re: Patch "nvme-fabrics: protect against module unload during create_ctrl" has been added to the 4.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




--- 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.



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]