[6838] in bugtraq
Re: linux 2.0 PTE bug
daemon@ATHENA.MIT.EDU (pedward@WEBCOM.COM)
Thu May 28 12:16:04 1998
Date: Tue, 26 May 1998 14:11:00 -0700
Reply-To: pedward@WEBCOM.COM
From: pedward@WEBCOM.COM
X-To: p6mip300@infop6.cicrp.jussieu.fr
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To: <199805251151.NAA01512@ippc72.infop6.cicrp.jussieu.fr> from
"XXX_p6mip300" at May 25, 98 01:51:42 pm
>
> Hi all,
>
> there is the program :
[SNIP of wonderful reason to set rlimits]
>
> The idea is to take a lot of memory. So, we map all our virtual pages,
> to force the system to allow all the pte (am talking about PC box).
> So, the process will have allocated 768 pages that will never be
> swapped (that's the crucial point).
>
> So, that's simple, you run this program as much time as you need to take
> all the memory, and the PC won't be usable anymore (for my 64Mb box,
> i need to run it about 20 times).
>
> And then, you can have a wonderful light-show with your HD-led :) (PC will
> spend its time in swapping).
>
> How to solve it ?
> Well, we could swap the pgd / pmd / pte, but i really don't know
> if it is possible or what.
The default TASK_SIZE is set in /usr/src/linux/include/asm/processor.h it is the
virtual memory maximum map size. This in itself is not dynamically configurable
(it really has nothing to do with resources). The main factor is RLIMIT_AS,
defined in /usr/src/linux/include/asm/resource.h, it controls how much virtual
memory that a process can map, mmap utilizes virtual memory. You can
safely throttle people by running a program which calls setrlimit(2) with
RLIMIT_AS as the resource. By far, 3GB is too much.
This is only a DoS if you LET it be a DoS.
>
> If this bug is already well know, am sorry to disturb with it.
>
> It applies only on the 2.0 kernel, for the 2.1 (soon 2.2) i don't know
> if it works, will have to read the source.
>
> Sed.
> p6mip300@infop6.cicrp.jussieu.fr.
>
>
--Perry
--
Perry Harrington System Software Engineer zelur xuniL ()
http://www.webcom.com perry.harrington@webcom.com Think Blue. /\