All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andi Kleen <andi@firstfloor.org>,
	bzolnier@gmail.com, linux-ide@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Prevent IDE boot ops on NUMA system in mainline
Date: Mon, 11 Feb 2008 20:03:17 +0100	[thread overview]
Message-ID: <20080211190317.GA21824@one.firstfloor.org> (raw)
In-Reply-To: <alpine.LFD.1.00.0802110929230.2920@woody.linux-foundation.org>

On Mon, Feb 11, 2008 at 09:33:14AM -0800, Linus Torvalds wrote:
> 
> 
> On Mon, 11 Feb 2008, Andi Kleen wrote:
> > 
> > Without this patch a Opteron test system here oopses at boot with currentg git. 
> > 
> > Calling to_pci_dev() on a NULL pointer gives a negative value so the following NULL 
> > pointer check never triggers and then an illegal address is referenced. Check the 
> > unadjusted original device pointer for NULL instead.
> > 
> > Signed-off-by: Andi Kleen <ak@suse.de>
> > 
> > Index: linux/include/linux/ide.h
> > ===================================================================
> > --- linux.orig/include/linux/ide.h
> > +++ linux/include/linux/ide.h
> > @@ -1294,7 +1294,7 @@ static inline void ide_dump_identify(u8 
> >  static inline int hwif_to_node(ide_hwif_t *hwif)
> >  {
> >  	struct pci_dev *dev = to_pci_dev(hwif->dev);
> > -	return dev ? pcibus_to_node(dev->bus) : -1;
> > +	return hwif->dev ? pcibus_to_node(dev->bus) : -1;
> >  }
> 
> Ok, I applied this, but it causes a *lot* of noise about "unused variable 
> 'dev'" because pcibus_to_node() is defined to be -1 when you don't do any 
> strange NUMA thing (so that "dev->bus" usage thing is never even seen by 
> the compiler.
> 
> So we should probably make pcibus_to_node() be an inline function for that 
> case, or just make that thing be
> 
> 	return hwif->dev ?
> 		pcibus_to_node(to_pci_dev(hwif->dev)->bus)
> 	       :
> 		-1;
> 
> or something. Because now things are really noisy.

Yes sorry; I only checked NUMA builds before sending it off. 
The easiest way is probably just the traditional (void) cast
I fixed most of the topology macros while I was at it.

-Andi

---

Make topology fallback macros reference their arguments.

This avoids warnings with unreferenced variables in the !NUMA case.

Signed-off-by: Andi Kleen <ak@suse.de>

Index: linux/include/asm-generic/topology.h
===================================================================
--- linux.orig/include/asm-generic/topology.h
+++ linux/include/asm-generic/topology.h
@@ -30,19 +30,19 @@
 /* Other architectures wishing to use this simple topology API should fill
    in the below functions as appropriate in their own <asm/topology.h> file. */
 #ifndef cpu_to_node
-#define cpu_to_node(cpu)	(0)
+#define cpu_to_node(cpu)	((void)(cpu),0)
 #endif
 #ifndef parent_node
-#define parent_node(node)	(0)
+#define parent_node(node)	((void)(node),0)
 #endif
 #ifndef node_to_cpumask
-#define node_to_cpumask(node)	(cpu_online_map)
+#define node_to_cpumask(node)	((void)node, cpu_online_map)
 #endif
 #ifndef node_to_first_cpu
-#define node_to_first_cpu(node)	(0)
+#define node_to_first_cpu(node)	((void)(node),0)
 #endif
 #ifndef pcibus_to_node
-#define pcibus_to_node(node)	(-1)
+#define pcibus_to_node(bus)	((void)(bus), -1)
 #endif
 
 #ifndef pcibus_to_cpumask

  parent reply	other threads:[~2008-02-11 19:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-11  0:35 [PATCH] Prevent IDE boot ops on NUMA system in mainline Andi Kleen
2008-02-11 17:33 ` Linus Torvalds
2008-02-11 17:37   ` Linus Torvalds
2008-02-11 19:04     ` Andi Kleen
2008-02-11 19:03   ` Andi Kleen [this message]
2008-02-11 19:26 ` Bartlomiej Zolnierkiewicz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080211190317.GA21824@one.firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.