On Wed, Mar 15, 2000 at 04:00:42PM +0100, Rask Ingemann Lambertsen wrote:
> Den 14-Mar-00 00:06:14 skrev bert hubert følgende om "Re: Overcomittable memory (Was: Linux 2.2.15pre12)":
> > On Mon, Mar 13, 2000 at 12:13:37PM +0000, Paul Jakma wrote:
> [cut programs not reacting appropriately to malloc() returning NULL)
> >> then they should be fixed...
> > Most of the time there is no proper way to deal with OOM. Being really out
> > of memory probably means that you can't format your error message for
> > example.
> Well, guess what, then you won't get any error message, unless you were
> clever enough to have allocated a string buffer previously.
Allocated and touched.
char *ptr = malloc(1024);
if (!ptr) thats_tough();
for (i = 0; i < 1024; i++) ptr[i] = 0;
Only then you can be sure that this memory is there, because malloc
gave you a pointer and the for loop didn't get you killed. This works
because we sabotage COW through this, forcing a copy of the global COW
zero page if the malloc returns newly allocated pages (and doesn't
reuse existing ones, in which case memory is there already). And you
should also touch your stack, while you're at it.
 In the case of the global zero page it's not a real copy, Linux
just clears the allocated page.
-- Andreas E. Bombe <email@example.com> http://home.pages.de/~andreas.bombe/ DSA key 0x04880A44
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Mar 23 2000 - 21:00:19 EST