lkml.org 
[lkml]   [2003]   [Mar]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] fix stack usage in fs/intermezzo/journal.c
On Fri, 14 Mar 2003 16:53:52 +0100 Joern Engel <joern@wohnheim.fh-wedel.de> wrote:

| Hi!
|
| This moves two 4k buffers from stack to heap. Compiles, untested, but
| looks trivial.
| --
|
| --- linux-2.5.64/fs/intermezzo/journal.c Mon Feb 24 20:05:05 2003
| +++ linux-2.5.64-i2o/fs/intermezzo/journal.c Thu Mar 13 13:14:12 2003
| @@ -1245,6 +1245,7 @@
| struct file *f;
| int len;
| loff_t read_off, write_off, bytes;
| + char *buf;
|
| ENTRY;
|
| @@ -1255,15 +1256,18 @@
| return f;
| }
|
| + buf = kmalloc(4096, GFP_KERNEL);
| + if (!buf)
| + return ERR_PTR(-ENOMEM);
| +
| write_off = 0;
| read_off = start;
| bytes = fset->fset_kml.fd_offset - start;
| while (bytes > 0) {
| - char buf[4096];
| int toread;
|
| - if (bytes > sizeof(buf))
| - toread = sizeof(buf);
| + if (bytes > sizeof(*buf))
| + toread = sizeof(*buf);

I guess one of us needs some guidance here.
I thought that sizeof(*buf) == 1 here, not 4096. Anybody?
I don't see how sizeof() can determine the kmalloc-ed size,
so I would use BUF_SIZE instead, with
#define BUF_SIZE 4096


Same for <record> below (snipped).

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