On Wed, 2008-11-19 at 21:17 +0100, Natanael Copa wrote:
> On Wed, 2008-11-19 at 21:11 +0100, Natanael Copa wrote:
> 
> > 
> > interestingly enough, this happens only on a grsecurity kernel, but not
> > on a default gentoo kernel (in chroot). tested in kvm only so far.
> 
> my bad. it does segfault on my desktop too with a normal gentoo kernel.
> 
> shorter testcase:
> 
> ash -c "foo() { ! false && echo foo; }; foo"
> 
> -nc

and gdb output:

(gdb) run
Starting program: /busybox/busybox-1.13.0/busybox_unstripped ash -c "foo() { ! 
false && echo foo;} ; foo"

Program received signal SIGSEGV, Segmentation fault.
0x080a9278 in evaltree (n=Cannot access memory at address 0xff177f5c
) at shell/ash.c:7904
7904    {
(gdb) bt
#0  0x080a9278 in evaltree (n=Cannot access memory at address 0xff177f5c
) at shell/ash.c:7904
#1  0x080a9316 in evaltree (n=0x8188a44, flags=134910742) at shell/ash.c:7940
#2  0x080a9316 in evaltree (n=0x8188a44, flags=134910742) at shell/ash.c:7940
#3  0x080a9316 in evaltree (n=0x8188a44, flags=134910742) at shell/ash.c:7940
...
#10474 0x080a9316 in evaltree (n=0x8188a44, flags=134910742)
    at shell/ash.c:7940

etc...


I think that should point you in right direction. Looks like a recursive func 
that is going bad.

-nc

_______________________________________________
busybox mailing list
busybox@busybox.net
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to