提交 166a7287 编写于 作者: F FUJITA Tomonori 提交者: James Bottomley

[SCSI] fix scsi_setup_command_freelist failure path race

Looks like that host_cmd_pool_mutex are necessary here.
Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
上级 210ba1d1
......@@ -319,17 +319,16 @@ int scsi_setup_command_freelist(struct Scsi_Host *shost)
GFP_KERNEL | shost->cmd_pool->gfp_mask);
if (!cmd)
goto fail2;
list_add(&cmd->list, &shost->free_list);
list_add(&cmd->list, &shost->free_list);
return 0;
fail2:
mutex_lock(&host_cmd_pool_mutex);
if (!--pool->users)
kmem_cache_destroy(pool->slab);
return -ENOMEM;
fail:
mutex_unlock(&host_cmd_pool_mutex);
return -ENOMEM;
}
/**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册