lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 16 Oct 2008 12:54:38 +0900
From:	Tejun Heo <tj@...nel.org>
To:	Alex Chiang <achiang@...com>, Tejun Heo <tj@...nel.org>,
	jeff@...hat.com, linux-ide@...r.kernel.org,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] stop gcc warning about uninitialized 'dev' in	ata_scsi_scan_host

Alex Chiang wrote:
> * Tejun Heo <tj@...nel.org>:
>> Alex Chiang wrote:
>>> Shuts up gcc-3.4.5-glibc-2.3.6 when it complains of:
>>>
>>> drivers/ata/libata-scsi.c: In function `ata_scsi_scan_host':
>>> drivers/ata/libata-scsi.c:3225: warning: 'dev' might be used
>>> uninitialized in this function
>>>
>>> Signed-off-by: Alex Chiang <achiang@...com>
>> Nacked-by: Tejun Heo <tj@...nel.org>
>>
>> Some gcc versions complain about sata_via, others complain
>> about something else.  Some versions complain about some
>> iterator usages while not complaining about others, but none of
>> those complaints is actually wrong or dangerous.  I don't think
>> adding = NULL whenever some version of gcc complains is the
>> right approach.
> 
> Hm, ok.
> 
> I guess we don't want to sprinkle these around all over the place
> just to solve cosmetic issues, which makes sense, but is there
> some other approach we could take instead? Any suggestions? Or
> just live with it?

I think the current policy is blaming gcc but I also added quite a few
bogus NULL initializations here and there and caught several bugs thanks
to those warnings.  We can think about adding an additional annotation
with leading double underbars which indicate that certain pointer
arguments to functions expect (or are okay with) pointers to
uninitialized variables which should be able to remove many of those
spurious warnings (on the caller side, the compiler can ignore the
warning and on the callee side the compiler can check whether it's being
dereferenced without being written to).  Does anyone know whether gcc
already has that type of annotation?

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists