All of lore.kernel.org
 help / color / mirror / Atom feed
* sparc32 build failure in fault_32.c
@ 2011-03-06 22:55 Bob Breuer
  2011-03-09 21:01 ` David Miller
  2011-03-10 17:49 ` Bob Breuer
  0 siblings, 2 replies; 3+ messages in thread
From: Bob Breuer @ 2011-03-06 22:55 UTC (permalink / raw)
  To: sparclinux

Using gcc 3.3.4, I'm getting this build failure for sparc32:

arch/sparc/mm/fault_32.c: In function `do_sparc_fault':
arch/sparc/mm/fault_32.c:229: warning: `code' might be used
uninitialized in this function
make[3]: *** [arch/sparc/mm/fault_32.o] Error 1

I have no idea why gcc 3.3 is catching this while 4.x is not, but the
problem is caused by these lines:
  if (!ARCH_SUN4C && address >= TASK_SIZE)
<http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/sparc/mm/fault_32.c;h[836f5aea90bcd94d4e4ba1b3114a8115291135;hb=HEAD#l244>         
goto vmalloc_fault;
  code = SEGV_MAPERR;

This first branch can jump to vmalloc_fault before "code" gets
initialized, and from there can jump back to bad_area_nosemaphore, which
may then use "code" without it being initialized.

Would it be safe enough to initialize code to SEGV_MAPERR earlier, or
should vmalloc_fault have a different fault code?

Bob


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-03-10 17:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-06 22:55 sparc32 build failure in fault_32.c Bob Breuer
2011-03-09 21:01 ` David Miller
2011-03-10 17:49 ` Bob Breuer

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.