[FreeBSD-Announce] FreeBSD Errata Notice FreeBSD-EN-15:05.ufs

FreeBSD Errata Notices errata-notices at freebsd.org
Wed May 13 23:12:02 UTC 2015

Hash: SHA512

FreeBSD-EN-15:05.ufs                                            Errata Notice
                                                          The FreeBSD Project

Topic:          Deadlock on reboot with UFS tuned with SU+J

Category:       core
Module:         ufs
Announced:      2015-05-13
Credits:        Konstantin Belousov
Affects:        FreeBSD 10.1
Corrected:      2015-04-10 02:23:44 UTC (stable/10, 10.1-STABLE)
                2015-05-13 22:52:35 UTC (releng/10.1, 10.1-RELEASE-p10)

For general information regarding FreeBSD Errata Notices and Security
Advisories, including descriptions of the fields above, security
branches, and the following sections, please visit

I.   Background

The Unix File System (UFS) is one of several filesystems available on
FreeBSD.  UFS supports several optimization features, such as soft updates
and journaling, both of which keep track of filesystem metadata to ensure
a consistent state in the event of a crash or power failure.

II.  Problem Description

When the root filesystem is configured with soft updates and journaling
both enabled, which is the default for FreeBSD 10.1-RELEASE installations,
the system may deadlock after a source-based or binary upgrade when the
init(8) binary is replaced.  The deadlock occurs when issuing reboot(8)
or shutdown(8), after which the system becomes unresponsive when syncing
the filesystem.

III. Impact

When the deadlock occurs, a hard system reset or power cycle may be

IV.  Workaround

Systems that do not have soft updates and journaling enabled on a UFS root
filesystem are unaffected.

It is possible to work around the issue by waiting before issuing reboot(8)
or shutdown(8) after upgrading the userland.  It has been observed that
deferring the reboot(8) for a period of 60 seconds to be sufficient.  It is
encouraged to issue several sync(8) commands during this period, to help
ensure the filesystem writes have completed.

Additionally, disabling soft update journaling on the root filesystem can
also work around the issue.

V.   Solution

Perform one of the following:

1) Upgrade your system to a supported FreeBSD stable or release / security
branch (releng) dated after the correction date.

2) To update your present system via a binary patch:

Systems running a RELEASE version of FreeBSD on the i386 or amd64
platforms can be updated via the freebsd-update(8) utility:

# freebsd-update fetch
# freebsd-update install

3) To update your present system via a source code patch:

The following patches have been verified to apply to the applicable
FreeBSD release branches.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch https://security.FreeBSD.org/patches/EN-15:05/ufs.patch
# fetch https://security.FreeBSD.org/patches/EN-15:05/ufs.patch.asc
# gpg --verify ufs.patch.asc

b) Apply the patch.  Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch

c) Recompile your kernel as described in
<URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the

VI.  Correction details

The following list contains the correction revision numbers for each
affected branch.

Branch/path                                                      Revision
- -------------------------------------------------------------------------
stable/10/                                                        r281350
releng/10.1/                                                      r282873
- -------------------------------------------------------------------------

To see which files were modified by a particular revision, run the
following command, replacing NNNNNN with the revision number, on a
machine with Subversion installed:

# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base

Or visit the following URL, replacing NNNNNN with the revision number:


VII. References


The latest revision of this Errata Notice is available at

Version: GnuPG v2.1.2 (FreeBSD)


More information about the freebsd-announce mailing list