diff mbox series

scsi: iscsi: Do not put host in iscsi_set_flashnode_param()

Message ID 20200615081226.183068-1-jingxiangfeng@huawei.com (mailing list archive)
State Mainlined
Commit 68e12e5f61354eb42cfffbc20a693153fc39738e
Headers show
Series scsi: iscsi: Do not put host in iscsi_set_flashnode_param() | expand

Commit Message

Jing Xiangfeng June 15, 2020, 8:12 a.m. UTC
If scsi_host_lookup() failes we will jump to put_host, which may
cause panic. Jump to exit_set_fnode to fix it.

Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
---
 drivers/scsi/scsi_transport_iscsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mike Christie July 26, 2020, 5:31 a.m. UTC | #1
On 6/15/20 3:12 AM, Jing Xiangfeng wrote:
> If scsi_host_lookup() failes we will jump to put_host, which may
> cause panic. Jump to exit_set_fnode to fix it.
> 
> Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
> ---
>  drivers/scsi/scsi_transport_iscsi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
> index f4cc08e..c5e99f9 100644
> --- a/drivers/scsi/scsi_transport_iscsi.c
> +++ b/drivers/scsi/scsi_transport_iscsi.c
> @@ -3291,7 +3291,7 @@ static int iscsi_set_flashnode_param(struct iscsi_transport *transport,
>  		pr_err("%s could not find host no %u\n",
>  		       __func__, ev->u.set_flashnode.host_no);
>  		err = -ENODEV;
> -		goto put_host;
> +		goto exit_set_fnode;
>  	}
>  
>  	idx = ev->u.set_flashnode.flashnode_idx;
> 

Reviewed-by: Mike Christie <michael.christie@oracle.com>
Martin K. Petersen July 29, 2020, 4:10 a.m. UTC | #2
On Mon, 15 Jun 2020 16:12:26 +0800, Jing Xiangfeng wrote:

> If scsi_host_lookup() failes we will jump to put_host, which may
> cause panic. Jump to exit_set_fnode to fix it.

Applied to 5.9/scsi-queue, thanks!

[1/1] scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
      https://git.kernel.org/mkp/scsi/c/68e12e5f6135
diff mbox series

Patch

diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index f4cc08e..c5e99f9 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -3291,7 +3291,7 @@  static int iscsi_set_flashnode_param(struct iscsi_transport *transport,
 		pr_err("%s could not find host no %u\n",
 		       __func__, ev->u.set_flashnode.host_no);
 		err = -ENODEV;
-		goto put_host;
+		goto exit_set_fnode;
 	}
 
 	idx = ev->u.set_flashnode.flashnode_idx;