[prev in list] [next in list] [prev in thread] [next in thread]
List: uclinux-dev
Subject: Re: R: [uClinux-dev] Problems with 2GB FAT16 SD/CF cards - resolved
From: Greg Ungerer <gerg () snapgear ! com>
Date: 2008-06-26 14:35:12
Message-ID: 4863A920.5040508 () snapgear ! com
[Download RAW message or body]
Hi Andrea,
Tarani, Andrea wrote:
> Warning!!
> The problem is not in busybox but in the uClibc.
> When you call the readdir routine the routine alloc a buffer up to the size of file \
> system block (up 64kb for nfs mounted directory). In the __getdents (int fd, char \
> *buf, size_t nbytes) routine, a temporary buffer of that size is allocated on stack \
> and get a stack overflow
Indeed it does. Use of alloca() in uClinux dangerous!
Did you fix this code?
Is there any reason we can't just change that alloca region to
be a local static array? Or perhaps a one time malloc of that
size (maintained and used for all subsequent calls)?
Regards
Greg
> -----Messaggio originale-----
> Da: uclinux-dev-bounces@uclinux.org [mailto:uclinux-dev-bounces@uclinux.org] Per \
> conto di Greg Ungerer
> Inviato: giovedì 26 giugno 2008 8.54
> A: uClinux development list
> Oggetto: Re: [uClinux-dev] Problems with 2GB FAT16 SD/CF cards - resolved
>
> Hi Wolfgang,
>
> Wolfgang Mües wrote:
> > DSLINUX (www.dslinux.org) is using mostly SD cards for file system
> > storage. With the advent of 2 GByte SD cards with FAT16 and 32KByte
> > clustersize, many user have reported problems (data aborts while
> > traversing directories).
> >
> > I have found that busybox needs more stack space to fix this problem.
> > This was a hard-to-nail-down error, because with directory traversal
> > problems, network scripts fail, gdbserver fails, etc.
>
> Any chance you can try the newest busybox version in the latest \
> uClinux-dist-test-20080620?
> According to the comments in its Makefile.flags:
>
> # Busybox is a stack-fatty so make sure we increase default size # TODO: use "make \
> stksizes" to find & fix big stack users # (we stole scripts/checkstack.pl from the \
> kernel... thanks guys!) # Reduced from 20k to 16k in 1.9.0. FLTFLAGS += -s 16000
>
>
> So they have reduced its stack size even further. If this proves to be too small \
> I'll increase before releasing...
> Regards
> Greg
>
>
>
> > --- trunk/user/busybox/Rules.mak 2007-10-25 18:45:33 UTC (rev
> > 2027)
> > +++ trunk/user/busybox/Rules.mak 2007-10-26 17:19:23 UTC (rev
> > 2028)
> > @@ -47,7 +47,8 @@
> > # MAKEFILES = $(TOPDIR).config
> > endif
> >
> > -FLTFLAGS += -s 20000
> > +# Note that 20K stack space is too low if we use 2GB SD cards
> > +FLTFLAGS += -s 30000
> >
> > # What OS are you compiling busybox for? This allows you to include
> > # OS specific things, syscall overrides, etc.
> >
> >
> >
>
> --
> ------------------------------------------------------------------------
> Greg Ungerer -- Chief Software Dude EMAIL: gerg@snapgear.com
> Secure Computing Corporation PHONE: +61 7 3435 2888
> 825 Stanley St, FAX: +61 7 3891 3630
> Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev@uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev@uclinux.org To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
>
>
> This message (including any attachments) contains confidential
> and/or proprietary information intended only for the addressee.
> Any unauthorized disclosure, copying, distribution or reliance on
> the contents of this information is strictly prohibited and may
> constitute a violation of law. If you are not the intended
> recipient, please notify the sender immediately by responding to
> this e-mail, and delete the message from your system. If you
> have any questions about this e-mail please notify the sender
> immediately.
> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev@uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev@uclinux.org
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
>
--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: gerg@snapgear.com
SnapGear -- a Secure Computing Company PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic