Date: Tue, 2 Dec 2003 11:56:30 +0900 From: Taku YAMAMOTO <taku@cent.saitama-u.ac.jp> To: current@freebsd.org Subject: [PATCH] fixes of tcp_hostcache.c Message-ID: <20031202115630.717587dd.taku@cent.saitama-u.ac.jp>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --Multipart_Tue__2_Dec_2003_11_56_30_+0900_085b1000 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Greetings, I found two calls of bcopy() in tcp_hostcache.c got the source and the destination pointer wrongly. # Perhaps the author got confused with memcpy(), I guess. The fix is attached as a patch against tcp_hostcache.c as of revision 1.2. Please review and incorporate the patch to the tree because the bug makes hostcache useless with TCPv6 and/or brings TTCP (RFC1644) meaningless. Especially the bug renders it unusable to use TCPv6 and TTCP together. # To confirm this: sysctl net.inet.tcp.rfc1644=1; telnet ::1 Best regards, Taku -- -|-__ YAMAMOTO, Taku <taku@cent.saitama-u.ac.jp> | __ < --Multipart_Tue__2_Dec_2003_11_56_30_+0900_085b1000 Content-Type: text/plain; name="hostcache-bcopy.patch" Content-Disposition: attachment; filename="hostcache-bcopy.patch" Content-Transfer-Encoding: 7bit --- sys/netinet/tcp_hostcache.c.orig Sat Nov 29 01:33:03 2003 +++ sys/netinet/tcp_hostcache.c Tue Dec 2 10:17:57 2003 @@ -377,7 +377,7 @@ */ bzero(hc_entry, sizeof(*hc_entry)); if (inc->inc_isipv6) - bcopy(&hc_entry->ip6, &inc->inc6_faddr, sizeof(hc_entry->ip6)); + bcopy(&inc->inc6_faddr, &hc_entry->ip6, sizeof(hc_entry->ip6)); else hc_entry->ip4 = inc->inc_faddr; hc_entry->rmx_head = hc_head; @@ -474,7 +474,7 @@ hc_entry->rmx_hits++; hc_entry->rmx_expire = tcp_hostcache.expire; /* start over again */ - bcopy(tao, &hc_entry->rmx_tao, sizeof(*tao)); + bcopy(&hc_entry->rmx_tao, tao, sizeof(*tao)); THC_UNLOCK(&hc_entry->rmx_head->hch_mtx); } --Multipart_Tue__2_Dec_2003_11_56_30_+0900_085b1000--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031202115630.717587dd.taku>