Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jul 2001 10:47:02 -0600
From:      "Weiguang SHI" <weiguang_shi@hotmail.com>
To:        zzhang@cs.binghamton.edu
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: using syscalls in a module (stack problem ?)
Message-ID:  <F155Z2K4xDh9vXsFFsA00002adb@hotmail.com>

next in thread | raw e-mail | index | archive | help
I guess this is it (/usr/src/sys/i386/i386/locore.s):

    348 /* now running relocated at KERNBASE where the system is linked to 
run */
    349 begin:
    350         /* set up bootstrap stack */
    351         movl    _proc0paddr,%esp        /* location of in-kernel 
pages */
    352         addl    $UPAGES*PAGE_SIZE,%esp  /* bootstrap stack end 
location */

where UPAGES is defined as 2 in 
/usr/src/sys/compile/MYKERNEL/machine/param.h

    101 #define UPAGES  2               /* pages of u-area */

Regards,
Weiguang

>From: Zhihui Zhang <zzhang@cs.binghamton.edu>
>To: msmith@freebsd.org, "Eugene L. Vorokov" <vel@bugz.infotecs.ru>
>CC: freebsd-hackers@FreeBSD.ORG
>Subject: Re: using syscalls in a module (stack problem ?)
>Date: Mon, 23 Jul 2001 12:07:47 -0400 (EDT)
>
>
>Just out of curiosity, Linux's kernel stack is one page. Where in the
>kernel source code that says that we can have two pages instead of one
>page kernel stack?
>
>-Zhihui
>
>
>On Mon, 23 Jul 2001, Eugene L. Vorokov wrote:
>
> > > > I call this function with (curproc, PATH_MAX+1), and everything is 
>fine
> > > > when I have just a few local variables defined in the caller (it all
> > > > works on MOD_LOAD only). However, if I have 2 buffers, 4096 bytes 
>each,
> > > > as local variables and then try to allocate userspace memory the 
>same
> > > > way, kernel crashes - sometimes inside mmap(), sometimes a bit 
>later.
> > > >
> > > > Why could this happen ? Is it related to possible stack overflow ?
> > >
> > > Yes.  The kernel stack is only two pages; you absolutely must not use
> > > large local variables in the kernel.
> >
> > I see. But I still can define them using "static", right ?
> >
> > Regards,
> > Eugene
> >
> >
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-hackers" in the body of the message
> >
>
>
>To Unsubscribe: send mail to majordomo@FreeBSD.org
>with "unsubscribe freebsd-hackers" in the body of the message


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F155Z2K4xDh9vXsFFsA00002adb>