[PATCH] powerpc: fix uninitialised error in numa.c

Michael Neuling mikey at neuling.org
Wed Jun 20 16:01:45 EST 2012


chroma_defconfig currently gives me this with gcc 4.6:
  arch/powerpc/mm/numa.c:638:13: error: 'dm' may be used uninitialized in this function [-Werror=uninitialized]

It's a bogus warning/error since of_get_drconf_memory() only writes it
anyway.

Signed-off-by: Michael Neuling <mikey at neuling.org>
cc: stable at kernel.org
---
> > >  static void __init parse_drconf_memory(struct device_node *memory)
> > >  {
> > > -	const u32 *dm, *usm;
> > > +	const u32 *dm = NULL, *usm;
> > 
> > Woot bikeshed!  I think that's what the uninitialized_var() macro is for.
> 
> Doesn't work here.  Produces the same error.

My bad.. I was using it wrong

Still affects 3.4 and 3.3 stable.

diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 5ca3a15..7c28589 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -637,7 +637,7 @@ static inline int __init read_usm_ranges(const u32 **usm)
  */
 static void __init parse_drconf_memory(struct device_node *memory)
 {
-	const u32 *dm, *usm;
+	const u32 *uninitialized_var(dm), *usm;
 	unsigned int n, rc, ranges, is_kexec_kdump = 0;
 	unsigned long lmb_size, base, size, sz;
 	int nid;


More information about the Linuxppc-dev mailing list