> This is what I would do first [make sure you don't hit any resource,
> malloc, kernel memory mapping, etc limits -- this is a simulation that
> must eat all available memory continually]:
> main(){void *x;while(1)if(x=malloc(4096))memset(x,666,4096);}
>
> When the above used up all the memory try to ssh/login to the box as
> root and clean up the mess. Can you do it?
Three points:
- with strict overcommit and the "allocations must meet backing store"
rule (policy #3) the above can never use all physical memory
- if your point is that a rogue user can use all of the systems memory,
then you need per-user resource accounting.
- the point of this patch is to not use MORE memory than the system
has. I say nothing else except that I am trying to avoid OOM and push
the allocation failures into the allocations themselves. Assuming the
accounting is correct (and it seems to be) then Alan and I have
succeeded.
Robert Love
-
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/