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:	Mon, 30 Apr 2007 19:46:12 -0700 (PDT)
From:	David Rientjes <rientjes@...gle.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
cc:	Greg Kroah-Hartman <gregkh@...e.de>, linux-kernel@...r.kernel.org
Subject: Re: [patch] pci: type may be unused in pci_access_init()

On Mon, 30 Apr 2007, Andrew Morton wrote:

> On Mon, 30 Apr 2007 07:34:52 -0700 (PDT) David Rientjes <rientjes@...gle.com> wrote:
> 
> > The automatic 'type' variable is unused in !CONFIG_PCI_DIRECT and
> > !CONFIG_PCI_MMCONFIG.
> > 
> > Cc: Greg Kroah-Hartman <gregkh@...e.de>
> > Signed-off-by: David Rientjes <rientjes@...gle.com>
> > ---
> >  arch/i386/pci/init.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/arch/i386/pci/init.c b/arch/i386/pci/init.c
> > --- a/arch/i386/pci/init.c
> > +++ b/arch/i386/pci/init.c
> > @@ -6,7 +6,7 @@
> 
> Please use `diff -p'.
> 

The patch would have appeared the same, pci_access_init() is the first 
function (and there are no prototypes) in arch/i386/pci/init.c and at line 
6 it had not yet begun.

diff -rupN a/init.c b/init.c
--- a/init.c	2007-04-30 19:28:59.887833000 -0700
+++ b/init.c	2007-04-30 19:29:26.615993000 -0700
@@ -6,7 +6,7 @@
    in the right sequence from here. */
 static __init int pci_access_init(void)
 {
-	int type = 0;
+	int type __attribute__((unused)) = 0;
 
 #ifdef CONFIG_PCI_DIRECT
 	type = pci_direct_probe();


> >  #ifdef CONFIG_PCI_DIRECT
> >  	type = pci_direct_probe();
> 
> Of course, one could do 
> 
> 	int type = pci_direct_probe();
> 
> here instead, but that's a bit fragile.
> 

No, because 'type' can be referenced in the !CONFIG_PCI_DIRECT and 
CONFIG_PCI_MMCONFIG case:

static __init int pci_access_init(void)
{
	int type = 0;

#ifdef CONFIG_PCI_DIRECT
	type = pci_direct_probe();
#endif
#ifdef CONFIG_PCI_MMCONFIG
	pci_mmcfg_init(type);
#endif

...

So, due to the whacky implementation of __attribute_used__, we can just do 
this:
---
 arch/i386/pci/init.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/i386/pci/init.c b/arch/i386/pci/init.c
index b21b6da..508d6fd 100644
--- a/arch/i386/pci/init.c
+++ b/arch/i386/pci/init.c
@@ -6,7 +6,9 @@
    in the right sequence from here. */
 static __init int pci_access_init(void)
 {
+#if defined(CONFIG_PCI_DIRECT) || defined(CONFIG_PCI_MMCONFIG)
 	int type = 0;
+#endif
 
 #ifdef CONFIG_PCI_DIRECT
 	type = pci_direct_probe();
-
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