>I think this is very nasty DOS, which can appear even in real life (
>i.e. as result of working usual userspace programs, not this "exploit").
All 2.2.x kernels have also a potential deadlock condition in the
swapin-code. It spotted it down some month ago. You can trigger it only
going OOM (causing GFP to fail).
At first I fixed it in the page-fault generic code, but Linus suggested me
to do the right thing and to fix it in the core of the page-fault handler
code (as he did in 2.3.x). This change broken the handle_mm_fault
interface and so all archs will need to be updated (i386 and Alpha are
just updated with only my patch applyed). BTW, Alpha was not sending the
SIGBUS accessing a shared mapping beyond the end of the file (I fixed such
bug too in the patch).
Also in i386 now the kernel send a SIGTERM and not a SIGKILL if a process
running in iopl() > 0 goes OOM (so X won't be able to screw-up your
display anymore only by going OOM).
With this patch applyed you can still forbid the admin to alloc the memory
to run `kill`, but at least the machine won't deadlock.
ftp://ftp.suse.com/pub/people/andrea/kernel-patches/my-2.2.12/oom-2.2.11-H
But before to try again I suggest you to apply also this performance
patch and you'll get at least some more performance while the hard-disk
trashes ;).
ftp://ftp.suse.com/pub/people/andrea/kernel-patches/my-2.2.12/trashing-mem-2.2.10-A
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/