Greg KH
unread,Mar 13, 2025, 6:03:30 AMMar 13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ma Ke, ldu...@suse.com, cle...@redhat.com, michael....@oracle.com, James.B...@hansenpartnership.com, martin....@oracle.com, James.B...@steeleye.com, open-...@googlegroups.com, linux...@vger.kernel.org, linux-...@vger.kernel.org, sta...@vger.kernel.org
On Thu, Mar 13, 2025 at 04:15:07PM +0800, Ma Ke wrote:
> Once device_add() failed, we should call put_device() to decrement
> reference count for cleanup. Or it could cause memory leak.
>
> As comment of device_add() says, 'if device_add() succeeds, you should
> call device_del() when you want to get rid of it. If device_add() has
> not succeeded, use only put_device() to drop the reference count'.
>
> Found by code review.
>
> Cc:
sta...@vger.kernel.org
> Fixes: 8434aa8b6fe5 ("[SCSI] iscsi: break up session creation into two stages")
> Signed-off-by: Ma Ke <
mak...@iscas.ac.cn>
> ---
> drivers/scsi/scsi_transport_iscsi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
> index 9c347c64c315..74333e182612 100644
> --- a/drivers/scsi/scsi_transport_iscsi.c
> +++ b/drivers/scsi/scsi_transport_iscsi.c
> @@ -2114,6 +2114,7 @@ int iscsi_add_session(struct iscsi_cls_session *session, unsigned int target_id)
> release_dev:
> device_del(&session->dev);
> release_ida:
> + put_device(&session->dev);
> if (session->ida_used)
> ida_free(&iscsi_sess_ida, session->target_id);
> destroy_wq:
How was this tested?
I do not think this change is correct at all, please prove it by showing
how it was tested.
thanks,
greg k-h