The OpenNET Project
 
Search (keywords):  SOFT ARTICLES TIPS & TRICKS SECURITY
LINKS NEWS MAN DOCUMENTATION


[linux-alert] Insufficient allocations in net/unix/garbage.c


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
X-RDate: Wed, 09 Jan 1980 13:46:01 +0500 (SSK)
Date: Wed, 3 Dec 1997 22:36:03 +0000 (GMT)
From: (Alan Cox) <alan@lxorguk.ukuu.org.uk>
To: (Floody) <flood@evcom.net>
Subject: [linux-alert] Re: Insufficient allocations in net/unix/garbage.c
Cc: linux-alert@redhat.com, linux-security@redhat.com

[Mod: linux-kernel and flood@evcom.net (Floody) removed from the To: list --
alex]

> program which opens up a large number of unix domain sockets, eventually
> causing a kernel panic in the garbage collection routines (which test for
> this limit and panic if hit); on systems which have NR_FILE (or
> /proc/sys/kernel/file-max) set to a value larger than 1024 or so.  The

Yep. I know about this. The as shipped systems are all fine, if you up
it you need to change it. 2.1.x fixed this a while ago

> ! 	stack=(unix_socket **)kmalloc(max_stack * sizeof(unix_socket **),
> !                                       GFP_KERNEL);

This is not good. With a very large set of fd's you can now have the kmalloc
hang forever deadlocking the fd recovery. Use vmalloc and your idea is 
correct.

(see 2.1.x)

<< Previous INDEX Search src Set bookmark Go to bookmark Next >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру