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>