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
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to