Re: linux-next: WARNING: at kernel/panic.c:375__stack_chk_test+0x50/0x54()

From: Arjan van de Ven
Date: Thu May 01 2008 - 01:28:06 EST


On Wed, 30 Apr 2008 21:24:27 -0300
Kevin Winchester <kjwinchester@xxxxxxxxx> wrote:

> Arjan van de Ven wrote:
> > Kevin Winchester wrote:
> >> Hi Arjan,
> >>
> >> There doesn't seem to be an entry in MAINTAINERS for stack
> >> protector, but your signoff was on the last stack protector
> >> related commit I could find, so it's probably a good bet.
> >>
> >> I get the following in my dmesg after testing linux-next with the
> >> stack protector turned on. This is an x86-64 UP box if that
> >> helps. It appears to be related to the test for the feature (or
> >> perhaps that is supposed to happen when the feature is tested, I'm
> >> not sure...). Config below.
> >>
> >
> > the important question is: exactly what gcc are you using? (and if
> > you use a distro gcc, which distro)
> >
> > second question would be, what does the following command give?
> >
> > echo "int foo(void) { char X[200]; return 3; }" | $1 -S -xc -c -O0
> > -mcmodel=kernel -fstack-protector - -o -
> >
> > (this is the command from scripts/gcc-x86_64-has-stack-protector.sh
> > that the kernel uses to test at compiletime if you have stack
> > protector support)
>
> Ubuntu Hardy Heron
>
> kevin@alekhine:~$ gcc --version
> gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There
> is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE.
>
>
> kevin@alekhine:~$ echo "int foo(void) { char X[200]; return 3; }" |
> $1 -S -xc -c -O0 -mcmodel=kernel -fstack-protector - -o - bash: -S:
> command not found
>
> I assume that $1 was supposed to be gcc, so how about:

eh woops yes

>
> kevin@alekhine:~/linux/linux-2.6/scripts$ sh
> gcc-x86_64-has-stack-protector.sh gcc something something
>
> So I would assume that means I pass...


I would rather really like to see the assembly output this thing spits; to see if your compiler behaves sanely.
(Some distros tend to badly patch their gcc unfortunately and this may break the stack protector feature)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/