[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <823b30ce-c95e-4fc4-e634-f49c4433bcc9@oracle.com>
Date: Wed, 9 Mar 2022 13:44:13 -0600
From: Mike Christie <michael.christie@...cle.com>
To: Wenchao Hao <haowenchao@...wei.com>, Lee Duncan <lduncan@...e.com>,
Chris Leech <cleech@...hat.com>,
"James E . J . Bottomley" <jejb@...ux.ibm.com>,
"Martin K . Petersen" <martin.petersen@...cle.com>,
open-iscsi@...glegroups.com, linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Wu Bo <wubo40@...wei.com>, Zhiqiang Liu <liuzhiqiang26@...wei.com>,
linfeilong@...wei.com
Subject: Re: [PATCH v3 0/3] scsi:iscsi: handle iscsi_cls_conn device with
sysfs correctly
On 3/9/22 7:57 PM, Wenchao Hao wrote:
> We found a NULL pointer dereference in iscsi_sw_tcp_conn_get_param(),
> the root reason is we did sysfs addition wrong.
>
> The origin implement do device setup in iscsi_create_conn() which
> bind the alloc/init and add in one function; do device teardown in
> iscsi_destroy_conn() which bind remove and free in one function.
>
> This implement makes it impossible to initialize resources of device
> before add it to sysfs during setup.
>
> So this patchset splict both the setup and teradown of iscsi_cls_conn to
> 2 steps.
>
> For setup flow, we should call iscsi_alloc_conn() and initialize some
> resources, then call iscsi_add_conn().
>
> For teradown flow, we should call iscsi_remove_conn() to remove device
> and free resources which related to iscsi_cls_conn, then call
> iscsi_put_conn() to free iscsi_cls_conn.
>
> V2 -> V3:
> * Fix some bugs and optimization the code implement.
>
> V1 -> V2:
> * add two more iscsi_free_conn() and iscsi_remove_conn() than V1
> * change the teardown flow of iscsi_cls_conn
>
> Wenchao Hao (3):
> scsi: iscsi: Add helper functions to manage iscsi_cls_conn
> scsi:libiscsi: Add iscsi_cls_conn to sysfs after been initialized
> scsi:libiscsi: teradown iscsi_cls_conn gracefully
>
> drivers/scsi/libiscsi.c | 23 +++++---
> drivers/scsi/scsi_transport_iscsi.c | 90 +++++++++++++++--------------
> include/scsi/scsi_transport_iscsi.h | 5 +-
> 3 files changed, 66 insertions(+), 52 deletions(-)
>
Nice. Thanks.
Reviewed-by: Mike Christie <michael.christie@...cle.com>
Powered by blists - more mailing lists