nvme-fcloop: resolve warnings on RCU usage and sleep warnings
authorJames Smart <jsmart2021@gmail.com>
Thu, 20 Jun 2019 20:17:01 +0000 (13:17 -0700)
committerChristoph Hellwig <hch@lst.de>
Tue, 9 Jul 2019 20:16:09 +0000 (13:16 -0700)
With additional debugging enabled, seeing warnings for suspicious RCU
usage or Sleeping function called from invalid context.

These both map to allocation of a work structure which is currently
GFP_KERNEL, meaning it can sleep. For the RCU warning, the sequence was
sleeping while holding the RCU lock.

Convert the allocation to GFP_ATOMIC.

Signed-off-by: James Smart <jsmart2021@gmail.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/fcloop.c

index e64969d..b50b53d 100644 (file)
@@ -535,7 +535,7 @@ fcloop_fcp_req(struct nvme_fc_local_port *localport,
        if (!rport->targetport)
                return -ECONNREFUSED;
 
-       tfcp_req = kzalloc(sizeof(*tfcp_req), GFP_KERNEL);
+       tfcp_req = kzalloc(sizeof(*tfcp_req), GFP_ATOMIC);
        if (!tfcp_req)
                return -ENOMEM;