On 5/15/2018 12:40 AM, Johannes Thumshirn wrote:
fcloop_fcp_req() runs with the hctx_lock (a rcu_read_lock() locked
section) held, so memory allocations done in this context have to be
atomic.
...

Signed-off-by: Johannes Thumshirn <[email protected]>
---
  drivers/nvme/target/fcloop.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c
index 34712def81b1..d2209c60f95f 100644
--- a/drivers/nvme/target/fcloop.c
+++ b/drivers/nvme/target/fcloop.c
@@ -509,7 +509,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;

Reviewed-by:   James Smart  <[email protected]>

Reply via email to