lkml.org 
[lkml]   [2002]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Re: what`s wrong?
>On Apr 24, 2002  18:06 +0200, il boba wrote:
>> Is there anybody that can help me understand what`s wrong with this code?

>Yes, easily spotted a major problem without even reading the whole
>thing.

>> #define BUFSIZ 8192
>>
>> int init_module()
>> {
>> int err_frame[BUFSIZ];
>
>The entire kernel stack is only 8kB in size. You have already killed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>a bunch of random memory by allocating this much memory on the stack.
>You allocated 4*8192 = 32kB on the stack here.

Sure, the kernel stack is 8192 Bytes, but "err_frame[]" is a local variable. Does the kernel allocate memory for "err_frame[]" from the stack??

>> int init_err_frame(int err_frame[]) {
>> int i, k = 0, j = 0;
>> char buffer[BUFSIZ];
>
>Another 8kB on the stack here - further random corruption.
Here, I think, err_frame[] as a function parameter will take 8K in the kernel stack.
Am I correct?

Thank you.


-
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:25    [W:0.054 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site