LWN.net Logo

2.6.31 merge window, week 2

By Jake Edge
June 24, 2009

There have been around 2050 non-merge changesets merged into the mainline since last week's article, bringing the total to 8288 changes merged for 2.6.31. The merge window has closed, so all major features of 2.6.31 (with the possible exception of the S+Core architecture) will have been merged. Interesting changes since last week that are user visible include:

  • The MIPS architecture has added support for hugetlbfs, as well as hibernation support (but only for uni-processor systems).

  • The SLUB page allocator has added new diagnostic information printk()s for debugging OOM conditions.

  • A /proc/softirqs file has been added to show the number of software interrupts for each CPU. Also, a "softirq" line has been added to /proc/stat.

  • The gcov profiling infrastructure, for code coverage testing, has been merged. It adds functions needed by the profiling code, kbuild support for building kernels with gcov profiling, along with a debugfs interface to retrieve the profiling data.

  • An API for pulse-per-second (PPS) devices has been added. These are devices which provide a high-precision signal that can be used to adjust system clock time.

  • The EXT4_IOC_MOVE_EXT ioctl() has been added to support ext4 online defragmentation.

  • A sysfs interface to add I2C devices, which takes the place of various force_* module parameters, has been merged.

  • A command stream checker for Radeon r3xx-r5xx hardware has been added to stop user-space processes from accessing memory outside of what they own.

  • The perf tool has added multiple features, including raw data output as well as call graph profiling.

  • The PowerPC architecture has added support for software performance counters.

  • PCI end-to-end CRC checking (ECRC) can now be enabled or disabled with the ecrc boot parameter.

  • A PCI Express Advanced Error Reporting (AER) software error injector has been merged.

  • NFS version 4.1 client support has been added as an experimental feature. Server support for 4.1 is, as yet, not merged.

  • Firewire (IEEE 1394) now has support for IPv4 networking.

  • New device drivers

    • Architectures/processors/systems: Keymile KMETER1 PPC boards, X-ES Freescale MPC85xx-based single-board computers, Palm Treo 680 smartphones, Openmoko GTA02 / Freerunner phones, MINI2440 ARM-based development boards.

    • Network: Xtensa S6105 GMAC ethernet devices.

    • Input devices: TI DaVinci DM355 EVM keypads and IR remotes, TWL4030 Power buttons, WM97xx Atmel accelerated touchscreens, LM8323 keypad chips, W90P910 touchscreens, EETI touchscreen panels, Synaptics I2C touchpads,

    • Miscellaneous: Toshiba TXx9 SoC DMA controllers, TX4939 hardware random number generators, ST-Ericsson AB3100 Mixed Signal circuits (core functionality needed for other AB3100 devices), PCAP ASIC for EZX phones (needed to support other devices), Epson RX-8025SA/NB real-time clocks, IBM CPC925 PPC Memory Controller, PrimeCell PL061 GPIO devices, TI DaVinci DM355 EVM Keypad and IR remote devices, VIA SD/MMC card readers, MSM7K onboard serial devices, NAND Flash devices for OMAP2 and OMAP3, Broadcom BCM47xx watchdog timers, PNX833x hardware watchdog timers, TWL4030 watchdog timers, ST-Ericsson COH 901 327 watchdog timers, Freescale STMP3XXX watchdog timers, FibreChannel ELS/CT pass-thru support, Synopsys DesignWare I2C adapters, Maxim MAX17040 Fuel Gauge batteries.

    • Staging: Cavium Networks Octeon ethernet ports, CPC CAN USB driver, USB Quatech ESU-100 8 Port Serial Driver (as serqt_usb2, replacing the obsolete serqt_usb staging driver), RDC_17F3101X IDE devices, Displaylink USB framebuffer devices, Realtek RTL8192 USB wifi devices.

Changes visible to kernel developers include:

  • Quite a bit of Big Kernel Lock (BKL) removal code has been merged in the fs/ tree. Now, all of the super_operations and address_space_operations are called without holding the BKL.

  • IRQF_SAMPLE_RANDOM, which governs whether a driver's interrupts are used as an entropy source, has been added to the feature-removal-schedule.

  • The memory debugging infrastructure for DRM has been removed. "It hasn't been used in ages, and having the user tell your how much memory is being freed at free time is a recipe for disaster even if it was ever used."

  • David Miller is now the IDE subsystem maintainer, taking over from Bartlomiej Zolnierkiewicz, in a friendly handoff. Miller plans to put IDE into maintenance-only mode.

  • The SCSI device information matching has added support for multiple blacklist tables.

  • The instrumentation of jbd2 and ext4 has been converted from kernel markers to tracepoints.

  • OCFS2 has added support for lockdep, by adding the proper lockdep annotations for all of the cluster locks except those that are acquired for a node, rather than a process.

  • Access control list (ACL) information is now cached in struct inode for some filesystems (jfs, ext2, ext3, ext4, jffs2, btrfs, reiserfs, nilfs2, xfs).

Since the merge window has closed, the next step is stabilization. Something approaching 3000 more changes will likely make their way into the mainline before the 2.6.31 release, which should happen in late August or early September.


(Log in to post comments)

2.6.31 merge window, week 2

Posted Jun 25, 2009 14:08 UTC (Thu) by nix (subscriber, #2304) [Link]

A command stream checker for Radeon r3xx-r5xx hardware has been added to stop user-space processes from accessing memory outside of what they own.
This wasn't already present?! Wasn't this a gigantic security hole? (If not, why not?)

2.6.31 merge window, week 2

Posted Jun 25, 2009 16:23 UTC (Thu) by elanthis (guest, #6227) [Link]

Yes, but that was experimental code, not meant to be used by the general populace just yet and hence not enabled by default in kernel builds. The whole radeon-CP, TTM, DRI2, KMS stuff is all brand new, after all. Some distros have been enabling it by default, granted, but that's their security failing. :)

Note that the new checker is about video memory, not general process memory, so the security implications are a bit limited (although still serious enough to warrant fixing on multi-user systems, of course).

2.6.31 merge window, week 2

Posted Jun 25, 2009 19:07 UTC (Thu) by nix (subscriber, #2304) [Link]

Ah, good, it's not as bad as the mach64 DRI, which was never merged
anywhere because it allowed the video card to be instructed to DMA over
*anything*.

2.6.31 merge window, week 2

Posted Jul 3, 2009 1:17 UTC (Fri) by kabloom (guest, #59417) [Link]

It appears from last week's story about the merge window that this code is the second part of Radeon Kernel Modesetting which was merged last week, and it wasn't necessary before.

2.6.31 merge window, week 2

Posted Jun 29, 2009 1:55 UTC (Mon) by bfields (subscriber, #19510) [Link]

"Server support for 4.1 is, as yet, not merged. "

Actually, it was merged in 2.6.30. It's incomplete, though.

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds