cvs-src summary for 11/04/04 to 18/04/04

Mark Johnston mjohnston at
Sun Apr 18 21:19:56 PDT 2004

FreeBSD cvs-src summary for 11/04/04 to 18/04/04
This is a regular weekly summary of FreeBSD's cutting-edge development.
It is intended to help the FreeBSD community keep up with the fast-paced
work going on in FreeBSD-CURRENT by distilling the deluge of data from
the CVS mailing list into a (hopefully) easy-to-read newsletter.  This
newsletter is marked up in reStructuredText_, so any odd punctuation
that you see is likely intended for the reST parser.

.. _reStructuredText:

You can get old summaries, and an HTML version of this one, at  Please send any comments to Mark Johnston
(mark at

For Lukasz Dudek and Szymon Roczniak's Polish translations of these
summaries, which may lag the English ones slightly, please see

.. contents::

New features
Support for alternate backup media in dump/restore
Brian Feldman (green) added support to dump and restore for a -P argument
that specifies a command line that will be run to write or read the data.
This allows support of non-file/tape media where the backup will be split
across multiple volumes.  His commit message gives an example of backing
up a slice to multiple DVD+Rs using the new syntax.

Speedups for all Promise cards and support for the Promise SX4/SX4000
Soeren Schmidt (sos) updated the ATA code to support the Promise command
sequencer present on all modern Promise cards.  This reduces command
overhead on the Promise cards by 5-8%, and also makes the SX4/SX4000 work
in RAID 0, 1, and 0+1 modes.  Work is underway to support the sequencer
in RAID, which is expected to speed up RAID significantly on the Promise

Netgraph ng_hub node added
Ruslan Ermilov (ru) added a new Netgraph node type named ng_hub that acts
like an Ethernet hub, distributing incoming packets to all nodes that are
connected to it.

ACPI-CA 20040402 imported
Nate Lawson (njl) imported version 20040402 of Intel's ACPI-CA
distribution, which is used by the system to work with the ACPI (Advanced
Configuration and Power Interface) code on newer PCs.  This version
reduces the likelihood of system control interrupt storms.  Kevin Oberman
also reports that it fixed a sound problem on his Thinkpad T30.

bsnmpd 1.6 imported
Hartmut Brandt (harti) imported bsnmpd version 1.6. bsnmpd is a
lightweight SNMP server used by the ATM implementation.

umct driver merged from -CURRENT
Robert Watson (rwatson) merged the umct driver, for MCT and Belkin
USB-serial adapters, to 4.x.  The driver was originally written by Scott
Long (scottl), based on the ubsa driver by Alexander Kabaev (kan), with
some documentation from the Linux mct_u232 driver.

Support for Linksys EG1032 and D-Link DGE-530T merged from -CURRENT
Stephen McKay (mckay) merged enhancements to the sk driver, for SysKonnect
Ethernet interfaces, to 4.x.  The driver now supports the Linksys EG1032
and D-Link DGE-530T cards.  Some of the changed code was obtained from
OpenBSD and NetBSD.

Support added for HP Modular Smart Array 20 and 500
Paul Saab changed the ciss SCSI-3 driver to support the HP Modular Smart
Array 20 and 500 storage arrays.  This support mostly involved adding
support for proxy SCSI controllers that send commands to devices located
behind them.

Notable changes
Sound code fixed to actually use MPSAFE flags
Brian Feldman (green) fixed a bug in the pcm headers that was causing
sound drivers to always use the Giant lock, even when marked safe to use
without it.  He has reset all of the drivers so they are not marked safe,
since they weren't actually tested because of the bug.  The fix also
increases the priority of the sound driver code, which may improve sound
performance.  This problem was pointed out by Yuriy Tsibizov.

Discussion topics
Upgrading GDB
David O'Brien (obrien) tweaked a GDB header file to fix a problem that
would not be present in GDB 6, spurring a discussion on upgrading the
system GDB.  Marcel Moolenaar (marcel) started by mentioning that he has
the GDB 6.1 pre-release in perforce, and plans to import it alongside
the current GDB 5.2 when GDB 6.1 is released.  If it is stable enough,
he proposes GDB 5.2 be removed before FreeBSD 5.3 is released.  David
responded, asking him to import GDB 6 as the system gdb, replacing 5.2,
and noting that he has the GDB 6 port working with full kernel debugging.
Marcel replied, saying that there are too many dependencies to import
GDB 6 as the system gdb and that he was planning to import it as gdb6
instead.  He suggested reimporting version 6 as the system gdb once it
was found to be stable.  Marcel also explained that he had a different
implementation strategy for kernel debugging under GDB.  Sam Leffler
(sam) agreed with David that having both gdb and gdb6 in the tree is
a bad idea, and that testing should be finished outside the tree.  M.
Warner Losh (imp) brought up his recent experience with the PCI code,
where the out-of-tree testing showed no major issues, but after it was
committed, serious issues appeared.  David reiterated his objection to
having gdb6 in the tree, saying he would ask core to force a backout if it
was imported and asking what dependencies required it to be in the tree.
Marcel replied, listing the in-tree dependencies that cause problems
testing GDB 6 outside the tree.  A heated discussion was still ongoing at
the time of this writing.

Committer changes
Prafulla Deuskar (pdeuskar) introduced Tony Ackerman (tackerman), who will
be taking over maintainership of the em driver and the upcoming Intel 10
gigabit Ethernet driver.

Marcel Moolenaar (marcel) introduced Marius Strobl (marius), who will be
focussing on sparc64 support, among other things.

Chris Costello (chris) has returned his commit bit for safekeeping.

Important bug fixes
CVS client and server vulnerabilities fixed
Jacques Vidrine (nectar) fixed vulnerabilities in the CVS client and
server.  The client vulnerability could allow a malicious CVS server to
overwrite files on the client.  The server vulnerability could allow
clients to check out files from outside the CVSROOT.  The vulnerabilities
has been assigned CVE IDs CAN-2004-0180_ (client) and CAN-2004-0405_
(server), and are addressed by `FreeBSD-SA-04:07.cvs`_.  The patches
Jacques committed were submitted by Derek Robert Price.  Later, Peter Wemm
(peter) updated CVS to version 1.11.15.

.. _CAN-2004-0180:
.. _CAN-2004-0405:
.. _`FreeBSD-SA-04:07.cvs`:

Interrupt storm workaround added
John Baldwin (jhb) added code to the interrupt handler that checks for
and works around interrupt storms by disabling interrupts that seem to be
triggering too often.  If an interrupt storm is detected in this way, a
message will be displayed to the console.

Other bug fixes
M. Warner Losh (imp), with help from Soeren Schmidt (sos), added a
workaround for PCI devices whose BAR (Base Address Register) always reads
as 0.  This fixes some VIA, AMD, nVidia, and ServerWorks south bridges and
ATA controllers that would have broken with the big PCI update.

Bill Paul (wpaul) made some enhancements to his NDISulator code, improving
support for the ADMtek Ethernet driver by making the code more closely match
Windows in the way it handles spinlocks.

Maxime Henrion (mux) fixed the NFS server to report 0 free space instead
of a huge value for a slice with negative free space (as reported by df.)

More information about the freebsd-current mailing list