lkml.org 
[lkml]   [1999]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: crash by high values in /proc/sys/net/core/[rw]mem_*
Hi Andi, Rick  !

On Wed, Feb 03, 1999 at 07:19:01PM +0100, Andi Kleen wrote:
> In article <19990203173256.B613@stefan.sime.com>,
> stefan@sime.com (Stefan Traby) writes:
> > Hi !
> > Linux 2.2.1 oopses after putting (silly) high values
> > into /proc/sys/net/core/[rw]mem_{default,max}.
>
> Linux 2.2 doesn't have per-user in-core memory limiting, although
> the basic infrastructure for it is there.
>
> Currently: don't do such stupid things as root.

According to my calculations my crash was *impossible*.
The values where high, but well calculated. The real stupid thing is in the
kernel.

I found the problem (in net/core/sock.c, SNDBUF-ioctl). The crash
occured because the system uses up to 2*sysctl_rmem_max.

---
if (val > sysctl_wmem_max)
val = sysctl_wmem_max;

sk->sndbuf = max(val*2,2048);
---



rmem_default = wmem_default = 64KB
rmem_max = wmem_max = 1MB

setsockopt(5, SOL_SOCKET, SO_SNDBUF, [1048576], 4) = 0
setsockopt(5, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 12338976) = 2009568

I really accept that SO_RCVBUF is a hint.
But I expect that sysctl_rmem_max is a hard limit that I can count on.
Somebody should really fix this or give me a good reason why that thing is
called *max.
Additional to the fix it would be to incrase the default values to 128KB
(because its the actual behavior).

--
ciao -
Stefan

Stefan Traby phone: +43-3133-6107-2
Mitterlasznitzstr. 13 fax: +43-3133-6107-9
8302 Nestelbach mailto://stefan@sime.com
Austria

-
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/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:1.136 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site