[lkml]   [2007]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH -mm] DC395x SCSI driver: Shut up uninitialized variable build warning
Satyam Sharma wrote:
> drivers/scsi/dc395x.c: In function ‘dc395x_init_one’:
> drivers/scsi/dc395x.c:4272: warning: ‘ptr’ may be used uninitialized in this function
> has been verified to be a bogus warning. Let's shut it up.
> Signed-off-by: Satyam Sharma <>
> ---
> drivers/scsi/dc395x.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> --- linux-2.6.23-rc4-mm1/drivers/scsi/dc395x.c~fix 2007-09-02 20:57:51.000000000 +0530
> +++ linux-2.6.23-rc4-mm1/drivers/scsi/dc395x.c 2007-09-02 21:10:49.000000000 +0530
> @@ -4269,7 +4269,7 @@ static int __devinit adapter_sg_tables_a
> const unsigned srbs_per_page = PAGE_SIZE/SEGMENTX_LEN;
> int srb_idx = 0;
> unsigned i = 0;
> - struct SGentry *ptr;
> + struct SGentry * uninitialized_var(ptr);

For things like this, we need to see (perhaps a separate email in the
same thread) your build details: config, arch, compiler version, etc.

This warning does not appear on x86 or x86-64 here, with the current
version of gcc. And I'm not so sure we want to be adding these markers
for older versions of the compiler, or for what is ultimately a
temporary [situation | configuration] in the grand scheme of things.

I paid careful attention to my recent set of uninitialized_var() markers
(now upstream), making sure that they persisted across several compiler
versions, ensuring the warning was not a temporary optimizer bug quickly

I hope to encourage similar diligence in others :) These markers have
the very-real potential downside of hiding bugs, so they should be used


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-09-02 22:27    [W:0.286 / U:1.404 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site