lkml.org 
[lkml]   [2004]   [May]   [14]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 14 May 2004 15:15:20 -0700
FromAndrew Morton <>
SubjectRe: [4KSTACK][2.6.6] Stack overflow in radeonfb
Jörn Engel <joern@wohnheim.fh-wedel.de> wrote:
>
> On Fri, 14 May 2004 11:49:23 +0200, Arjan van de Ven wrote:
> > On Fri, May 14, 2004 at 11:47:39AM +0200, Andrew Morton wrote:
> > > There's a `make buildcheck' target in -mm (from Arjan) into which we could
> > > integrate such a tool.  Although probably it should be a different make
> > > target.
> > 
> > I added it to buildcheck for now, based on Keith Owens' check-stack.sh
> > script. I added a tiny bit of perl (shudder) to it to 
> > 1) Make it print in decimal not hex
> > 2) Filter the stack users to users of 400 bytes and higher
> > 
> > I arbitrarily used 400; that surely is debatable.
> 
> Keith' script has the major disadvantage of not working on anything
> but i386.  Here is my old script that works on a few more.

That's nice and simple.  All due respect to Keith, this is something
which humans have a chance of understanding too ;)

I removed the `vmlinux FORCE' targets from the makefile - that was forcing
a full rebuild after I'd just done one.  Just let it check ./vmlinux and if
it's not there, it errors out...

It doesn't do modules, and hence requires a prior allyesconfig.  I think it
would be better to do:

find . -name '*.o' | xargs objdump -d | perl scripts/checkstack.pl i386
but that produces slightly screwy output and, for some reason, duplicated
output:


0x    387c zconf_fopen:					 sub    $0x101c,%esp
0x     3c0 huft_build:					 sub    $0x5ac,%esp
0x       0 huft_build:					 sub    $0x5ac,%esp
0x       0 huft_build:					 sub    $0x59c,%esp
0x     d30 inflate_dynamic:				 sub    $0x528,%esp
0x    10f0 inflate_dynamic:				 sub    $0x528,%esp
0x     c10 inflate_dynamic:				 sub    $0x524,%esp
0x      23 zconfparse:					 sub    $0x50c,%esp
   3:	81 ec fc 04 00 00    	sub    $0x4fc,%esp yyparse:	 sub    $0x4fc,%esp
0x     f9c inflate_fixed:				 sub    $0x490,%esp
0x     bdc inflate_fixed:				 sub    $0x490,%esp
0x     abc inflate_fixed:				 sub    $0x490,%esp
0x    3d54 conf_read:					 sub    $0x41c,%esp
0x    fca0 snd_pcm_hw_params_old_user:			 sub    $0x358,%esp
0x    fc28 snd_pcm_hw_refine_old_user:			 sub    $0x358,%esp
0x    6c58 snd_pcm_hw_refine_old_user:			 sub    $0x358,%esp
0x   10448 snd_pcm_hw_refine_old_user:			 sub    $0x358,%esp
0x   104c0 snd_pcm_hw_params_old_user:			 sub    $0x358,%esp
0x    54e0 snd_pcm_hw_params_old_user:			 sub    $0x358,%esp
0x    5468 snd_pcm_hw_refine_old_user:			 sub    $0x358,%esp
0x    6cd0 snd_pcm_hw_params_old_user:			 sub    $0x358,%esp
0x    42db conf_write:					 sub    $0x30c,%esp
0x      c8 nlmclnt_proc:				 sub    $0x280,%esp
0x    1b54 snd_pcm_oss_get_formats:			 sub    $0x280,%esp
0x   1d074 snd_pcm_oss_get_formats:			 sub    $0x280,%esp
0x   761c8 nlmclnt_proc:				 sub    $0x280,%esp
0x   1c854 snd_pcm_oss_get_formats:			 sub    $0x280,%esp
0x     4b8 nlmclnt_proc:				 sub    $0x280,%esp
0x    1b54 snd_pcm_oss_get_formats:			 sub    $0x280,%esp


You wanna take a look at that please?


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:03    [from the cache]
©2003-2008