mailing list archives
Re: PTE bug.. more..
From: pedward () WEBCOM COM (pedward () WEBCOM COM)
Date: Sun, 7 Jun 1998 00:25:27 -0700
Alex, (I'm cc'ing this to bugtraq to further educate people, and set the
comment I first made, right)
I have located the positive source of the bug and am working on a patch.
The setrlimit will not work to prevent this. You can only limit the number
of processes a person can launch, to limit the havoc they can cause.
The bug stems from the way Linux manages PGD, PMD, and PTE structures. At
this time, Linux only deallocates PTEs when it frees page ranges. PMD and
PGD structures are not checked for use when entries are freed from them.
I am working on a patch against 2.1 series kernels, which will be backported
to the 2.0 series.
So, to summarize: It is a bug in that PMD and PGD structures are not
deallocated when they have dropped to 0 usage; no usage count can be
easily added to these because they are not "structures" in the normal
sense. I have an algorithm that works for a small percentage of cases,
I'm working on the rest, and I should have a working patch soon (I hope :).
I've tried to use ulimit (setrlimit) as you suggest but really nothing of
what you've said worked to me.
If for example two or more users launch ptebug on my Linux system
there is no way to block them, and they for sure will hang the computer
after a while.
I tried to limit everything ( number of process, virtual memory size, cpu
limit ) but nothing avoid my system to crash.
So I think that Sed (p6mip300 () infop6 cicrp jussieu fr) has discovered a
really serious bug and at the moment I can't see any fix for it
( of course I can deny the use of shell to the users but is not what I
Alex | mailto:hawk[at]ascu.unian.it | http://www.ascu.unian.it/~hawk
SySadm | [ascu|studenti|www].unian.it | phone/fax +39-71-2204491
[To err is human, to moo bovine.]
Perry Harrington System Software Engineer zelur xuniL ()
http://www.webcom.com perry.harrington () webcom com Think Blue. /\
- Re: PTE bug.. more.. pedward () WEBCOM COM (Jun 07)