Jaswinder Singh Rajput wrote:
I am watching this problem from long time in -tip. Subject: [PATCH] scsi: scsi_transport_iscsi.c initialize the variable before it get used In some cases, err will be used uninitialized.
As you guys already discussed it will not get used uninitialized.
Also fixed compilation warning : CC drivers/scsi/scsi_transport_iscsi.o drivers/scsi/scsi_transport_iscsi.c: In function ‘iscsi_add_session’: drivers/scsi/scsi_transport_iscsi.c:678: warning: ‘err’ may be used uninitialized in this function
I did the attached patch to silence the compile warning. I goofed and forgot to send it before, because I had change my compiler and was not seeing the error message. I was planning on sending the attached with some other changes for the next feature window. I am going to fix up the patch to use UINT_MAX like James mentioned in the thread.
>From 32ffa5248bf11f4df76ebf3c4a023958a9131f9c Mon Sep 17 00:00:00 2001 From: Mike Christie <michaelc@xxxxxxxxxxx> Date: Mon, 18 May 2009 11:54:37 -0500 Subject: [PATCH] iscsi class: quiet iscsi_add_session compilation warning. If ISCSI_MAX_TARGET was zero then iscsi_add_session could return success when it had failed. This will currently not happen because ISCSI_MAX_TARGET is a macro and not a variable. But gcc likes to complain about it and people keep reporting it. This patch just initializes err to be -EINVAL so if we ever defined ISCSI_MAX_TARGET incorrectly we would fail gracefully. --- drivers/scsi/scsi_transport_iscsi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 0a2ce7b..f508567 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -675,7 +675,7 @@ int iscsi_add_session(struct iscsi_cls_session *session, unsigned int target_id) struct iscsi_cls_host *ihost; unsigned long flags; unsigned int id = target_id; - int err; + int err = -EINVAL; ihost = shost->shost_data; session->sid = atomic_add_return(1, &iscsi_session_nr); -- 1.6.0.6