Date: Thu, 8 Oct 1998 07:52:27 -0700 (PDT) From: leo@sai.msu.ru To: freebsd-gnats-submit@FreeBSD.ORG Subject: kern/8206: Unconected UDP socket declined, if not room for prepending IP/UDP header Message-ID: <199810081452.HAA11131@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 8206
>Category: kern
>Synopsis: Unconected UDP socket declined, if not room for prepending IP/UDP header
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Oct 8 08:00:00 PDT 1998
>Last-Modified:
>Originator: Serguei E. Leontiev
>Organization:
Sternberg Astronomical Institute
>Release: 2.2.x
>Environment:
FreeBSD ns.sai.msu.ru 2.2.6-980321-BETA FreeBSD 2.2.6-980321-BETA #0: Mon Mar 23 02:22:40 MSK 1998 leo@ns.sai.msu.ru:/var/src/sys/compile/NSALTQ i386
>Description:
Hi,
Symptom:
When TCP/IP overload (too enought free mbuf's) UDP service (syslog,
DNS server, etc.) declined.
Diagnose:
Unconnected UDP socket declined, because it don't disconetcted (from
temporarily conect) by M_PREPEND fail's.
System:
Code with bug use in all versions FreeBSD 2.2.x & 3.x (probably and
other BSD 4.4Lite OS).
Sorry for my best English.
>How-To-Repeat:
1. Configure syslogd to forwarded messages on other host;
2. Connect this host over slow line (PPP);
3. Start `logger "test message"' in infinite loop;
After error message about "No buffer space available".
Any syslog's messages don't forwarded on other host.
>Fix:
*** udp_usrreq.c.orig 1997/04/10 19:14:45
--- udp_usrreq.c 1998/10/07 13:38:08
***************
*** 407,414 ****
M_PREPEND(m, sizeof(struct udpiphdr), M_DONTWAIT);
if (m == 0) {
error = ENOBUFS;
! if (addr)
splx(s);
goto release;
}
--- 407,417 ----
M_PREPEND(m, sizeof(struct udpiphdr), M_DONTWAIT);
if (m == 0) {
error = ENOBUFS;
! if (addr) {
! in_pcbdisconnect(inp);
! inp->inp_laddr = laddr;
splx(s);
+ }
goto release;
}
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810081452.HAA11131>
