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] [day] [month] [year] [list]
Date:	Fri, 5 Jun 2009 12:49:22 -0500
From:	"Michael S. Zick" <lkml@...ethan.org>
To:	Roland Dreier <rdreier@...co.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [Compile Warning] 2.6.30-rc8 build

On Fri June 5 2009, Roland Dreier wrote:
> 
>  > I can't argue with gcc on this one either:
>  > 
>  > drivers/scsi/sd.c: In function 'sd_read_capacity':
>  > drivers/scsi/sd.c:1451: warning: comparison is always false due to limited range of data type
>  > 
>  > It reads to my eyes as if the function can never
>  > select read_capacity_16 for very large devices.
> 
> The code is:
> 
> 		if ((sizeof(sdkp->capacity) > 4) &&
> 		    (sdkp->capacity > 0xffffffffULL)) {
> 
> sdkp->capacity is a sector_t, and <linux/types.h> has:
> 
> 	#ifdef CONFIG_LBD
> 	typedef u64 sector_t;
> 	typedef u64 blkcnt_t;
> 	#else
> 	typedef unsigned long sector_t;
> 	typedef unsigned long blkcnt_t;
> 	#endif
> 
> so if you don't set CONFIG_LBD on a 32-bit architecture, then you are
> correct that sd.c won't ever hit the READ_CAPACITY(16) case, and the
> kernel won't be able to handle large SCSI disks.
> 
> 

Perhaps then let gcc coherce the test value into a local sector_t holder
to make the warning go away (it would still be protected by the >4 thing).

Not a problem here - NetBooks don't (yet) come with that big a disk.  ;)

Thanks
Mike
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ