NetBSD Problem Report #7586

Received: (qmail 29230 invoked from network); 15 May 1999 03:16:19 -0000
Message-Id: <>
Date: Sat, 15 May 1999 03:16:09 GMT
From: (Bill Sommerfeld)
Subject: denial of service from mbuf exhaustion.
X-Send-Pr-Version: 3.95

>Number:         7586
>Category:       kern
>Synopsis:       denial of service from mbuf exhaustion.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 14 20:20:01 +0000 1999
>Closed-Date:    Mon Mar 05 16:36:58 +0000 2018
>Last-Modified:  Mon Mar 05 16:36:58 +0000 2018
>Originator:     Bill Sommerfeld
>Release:        1.4


System: NetBSD 1.4A NetBSD 1.4A (ORCHARDII) #60: Tue May 4 11:31:35 EDT 1999 i386

	it's far too easy to wedge up a system by consuming all
	available mbuf clusters... simply set up a bunch of sockets
	for reading, give them a huge rcvbuf size, and fire stuff at
	it and never read anything .

	discovered from watching sysmond (a random freeware network
	monitoring station) hose a system when it failed to service
	sockets regularly.
	add "reclaim" functions (called when the system is under
	memory pressure) which rip packets out of datagram and raw
	socket receive buffers if the buffers are too "old".

	it's not immediately obvious how to fix this for tcp sockets.
	(short of limiting the advertised window based on actual
	buffer space and precommitting buffers to each connection).
State-Changed-From-To: open->closed
State-Changed-When: Mon, 05 Mar 2018 16:36:58 +0000
fixed, mbufs use pools, which reclaim memory under pressure


NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD:,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.