Re: [PATCH] fork failures on ix86

Rik van Riel (H.H.vanRiel@phys.uu.nl)
Wed, 8 Jul 1998 09:31:55 +0200 (CEST)


On 7 Jul 1998, Kip Rugger wrote:

> Recent 2.1 kernels suffer memory fragmentation, eventually requests >4kB
> start failing. Among these are the requests made by fork for an 8kB kernel
> stack.
>
> This little hack changes fork to use the vmalloc service, so that the 8kB
> fork request can be satisfied with 2 non-contiguous 4kB pages.

The fork request can, yes. But the kernel stack definately
requires 8 kB of physically contiguous memory!

I guess you run a lightly loaded machine and haven't hit
the 4 kB point on your kernel stacks yet... With your patch
there's a good chance that such an event could:
- scribble over other memory
- even swap out (!) and zero out that other memory
- thus zero out the part of the 'stack' we were working
on and in the process kill some memory of other processes

Of course, you could also overwrite static kernel data,
page tables or, worse, inode data. I bet there are even
more possible disaster scenarios with your patch...

If you _are_ interested in memory management work, we've
still got several things to do...
Please check out the todo lists at:
http://www.phys.uu.nl/~riel/mm-patch/todo.html // Linux-MM
http://roadrunner.swansea.uk.linux.org/jobs.shtml // Building #3

Rik.
+-------------------------------------------------------------------+
| Linux memory management tour guide. H.H.vanRiel@phys.uu.nl |
| Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ |
+-------------------------------------------------------------------+

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu