Date: Mon, 10 Jan 2011 17:22:56 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: freebsd-stable@freebsd.org Subject: important NFS client patch for FreeBSD8.n Message-ID: <717625949.112359.1294698176010.JavaMail.root@erie.cs.uoguelph.ca>
next in thread | raw e-mail | index | archive | help
I just commited a patch (r217242) to head. Anyone who is using client side NFS on FreeBSD8.n should apply this patch. It is also available at: http://people.freebsd.org/~rmacklem/krpc.patch It fixes a problem where the kernel rpc assumes that 4 bytes of data exists in the first mbuf without checking. If the data straddles multiple mbufs, it uses garbage and then a typical case will wedge for a minute or so until it times out and establishes a new TCP connection. It also replaces m_pullup() with m_copydata(), since m_pullup() can fail for rare cases when there is data available. (m_pullup() uses MGET(, M_DONTWAIT,) which can fail when mbuf allocation is constrainted, for example.) Thanks to john.gemignani at isilon.com for spotting this problem, rick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?717625949.112359.1294698176010.JavaMail.root>