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>