Skip site navigation (1)Skip section navigation (2)
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>