Users login

Create an account »

JOIN XATRIX

Users login

Home » Security Advisories» FreeBSD » NFS kernel panic

NFS kernel panic

Due to a locking issue in nfs_lookup() a call to vrele() might be made while holding the vnode mutex, which results in kernel panic when doing VFS operations under certain load patterns.

  • Vendor: FreeBSD
  • Vendor ID: EN-05:04.nfs
  • Date: December 19, 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

FreeBSD-EN-05:04.nfs Errata Notice
The FreeBSD Project

Topic: NFS Client may panic when encounted errors

Category: core
Module: nfsclient
Announced: 2005-12-19
Credits: Mohan Srinivasan, Xin LI
Affects: FreeBSD 6.0-RELEASE
Corrected: 2005-12-19 10:58:58 UTC

I. Background

The Network File System (NFS) allows a system to share directories and files
with others over a network. By using this, users and programs can access
files on remote systems almost as if they were local files.

II. Problem Description

Due to a locking issue in nfs_lookup() a call to vrele() might be made
while holding the vnode mutex, which results in kernel panic when doing
VFS operations under certain load patterns.

III. Impact

NFS clients that encountered the load pattern would crash and reboot.

IV. Solution

Do one of the following to update the source tree:

1) Upgrade your affected system to the RELENG_6_0 errata branch dated
after the correction date using cvsup(1) or cvs(1). This is the
preferred method.

2) Obtain the updated files using the cvsweb interface. Cvsweb is a
Web interface to the CVS repository. The URL to the general
interface is "http://cvsweb.freebsd.org/". You can obtain any of
the source files for the RELENG_6_0 branch by going to the src
directory ("http://cvsweb.freebsd.org/src") and then selecting
the "RELENG_6_0" branch tag. With the branch tag set navigate
to the files listed below in the "Correction details" section and
download them, making sure you get the correct revision numbers.
Copy the downloaded files into your /usr/src tree.

If using the second procedure you should make sure you have used that
same procedure to download all previous Errata Notices and Security
Advisories. We strongly discourage this procedure due to the problems
that may be caused by not doing that - using the first procedure takes
care of making sure all updates get applied.

Then follow the normal procedures for rebuilding/reinstalling the kernel.
Details about rebuilding/reinstalling are available here:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html

V. Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

- ---------------------------------------------------------------------------
RELENG_6_0

Revision Changes Path
1.416.2.3.2.6 +5 -0 src/UPDATING
1.69.2.8.2.2 +1 -1 src/sys/conf/newvers.sh
1.258.4.1 +1 -1 src/sys/nfsclient/nfs_vnops.c

- ---------------------------------------------------------------------------

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFDujwhFdaIBMps37IRAiPOAKCC9BmZhzFEBm6/kzKMDpZVXk7X/QCfTmsY
kHH+tM9KBV1Vau80d0G3vk4=
=UvNX
-----END PGP SIGNATURE-----

Newsletter signup

Signup to our monthly newsletter and stay in touch with IT news!

Free E-books

We've got ebooks! But they're not online. :( Please give us a few days to bring downloads back.

Contact

Have something to say or just wanna drop us a line? Please keep this in mind: to spam, we reply with spam.

Contact us »