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]
Message-Id: <20060929161852.4b6ae44a.rdunlap@xenotime.net>
Date:	Fri, 29 Sep 2006 16:18:52 -0700
From:	Randy Dunlap <rdunlap@...otime.net>
To:	Andrew Morton <akpm@...l.org>, len.brown@...el.com
Cc:	Martin Bligh <mbligh@...gle.com>,
	LKML <linux-kernel@...r.kernel.org>, linux-acpi@...r.kernel.org
Subject: Re: [PATCH] Fix up a multitude of ACPI compiler warnings on x86_64

On Fri, 29 Sep 2006 15:05:26 -0700 Andrew Morton wrote:

> On Fri, 29 Sep 2006 14:37:58 -0700
> Martin Bligh <mbligh@...gle.com> wrote:
> 
> > 32bit vs 64 bit issues. sizeof(sizeof) and sizeof(pointer) is variable,
> > but we're trying to shove it into unsigned int or u32.
> >
> > ...
> >
> > -	"RSDT/XSDT length (%X) is smaller than minimum (%X)",
> > +	"RSDT/XSDT length (%X) is smaller than minimum (%lX)",
> >  	table_ptr->length,
> > -	sizeof(struct acpi_table_header)));
> > +	(unsigned long) sizeof(struct acpi_table_header)));
> > 
> 
> These two sizeof()s have already been fixed by Randy in -mm's
> acpi-fix-printk-format-warnings.patch.
> 
> Randy's fix is the preferred one: sizeof() returns size_t and size_t's are
> printed with %z - there's no need to use a typecast.
> 
> (Actually Randy used %Z which avoids the warning which old gcc emitted with
> %z, but is old-fashioned.  I'll switch that to %z).
> 
> 
> acpi-fix-printk-format-warnings.patch was submitted to the ACPI developers
> on August 14 and on September 25 but remains unmerged.

Len and I discussed that patch some.  The question about it is:
why does gcc report this at all?  Is this a gcc problem or are
we misreading it somehow?

 drivers/acpi/tables/tbget.c: In function 'acpi_tb_get_this_table':
drivers/acpi/tables/tbget.c:326: warning: format '%X' expects type 'unsigned int', but argument 5 has type 'long unsigned int'

drivers/acpi/tables/tbrsdt.c: In function 'acpi_tb_validate_rsdt':
drivers/acpi/tables/tbrsdt.c:189: warning: format '%X' expects type 'unsigned int', but argument 5 has type 'long unsigned int'

Why does it think that sizeof(struct X) is long unsigned int?
(and only on 64-bit)

---
~Randy
-
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