2009/08/16 Linux Kernel Podcast
Audio: http://media.libsyn.com/media/jcm/linux_kernel_podcast_20090816.mp3
For the weekend August 16th, 2009, I’m Jon Masters with a summary of today’s LKML traffic.
In today’s issue: Asynchronous suspend and resume, kfifo, KVM, Security, and threaded interrupts.
Asynchronous suspend and resume. Rafael J. Wysocki posted an (updated) 7 part RFC patch series implementing asynchronous suspend and resume callbacks, which should allow for faster and smoother transitions. The patch series is currently targeted for 2.6.32 inclusion.
kfifo. Stefani Seibold posted the latest version 0.4 of a generic kernel FIFO implementation. This aims to replace the current kernel FIFO API, which apparently has “too many constrain[t]s”. This was accompanied by a patch from David VomLehn converting the usb-serial code to use kfifo as a write buffer.
KVM. Avi Kivity posted the first of four batches(!) of patches against 2.6.32. This first round contains 48 patches including Gregory Haskins’ irqfd infrastructure. Later patches will apparently add support for “new hardware features, [and] improvements in nested [SVM] support”, as well a conversion to the new trace infrastructure and x2apic emulation.
Security. Unless you were living under a rock in a remote monestary last week (and even then), you are probably aware of a major local NULL pointer exploit affecting nearly all 2.4 and 2.6 series Linux systems since 2001. This has been gaining a little attention in the (mostly Slashdot weenie) media over the past few days, and the script kiddies are taking interest. Consequently, it is worthwhile applying the one-line patch to affected systems, perhaps using ksplice for a dynamic update in the case that you are unable to reboot.
On another security related note, David Wagner drew attention to a security paper from this year’s USENIX playing up the impact of making various files world readable in the task directories under /proc. In one case, they are able to use the ESP and EIP information from a task stat file to recover information about another user’s keystrokes, which is potentially a security issue. This said, there have long been patches available (such as grsecurity) that hide various process statistics from other users, and it would be relatively trivial to adapt one of these for mainstream consumption. Co-incidentally, Kosaki Motohiro posted a patch (from Tatsuhiro Aoshima) adding more statistics to the aforementioned state file, for user time and system time consumed by the task. One awaits the next alarmist paper.
On a final security note, Casey Schaufler posted a patch series implementing an in-memory version of extended attributes, without requiring an underlying filesystem representation be in place. The current work provides support for sysfs files in the security domain so that certain otherwise privileged capabilities can be passed from one running task to the next and used to manipulate sysfs entries. Several justifying examples were included.
Threaded Interrupts. Michael Buesch posted asking whether threaded interrupts were broken because his system was unable to use them correctly with a particular wireless network driver that he was developing. He posted a fix for a crash that Thomas Gleixner thanked him for, but then got into a discussion in which it turned out that the interrupt line was being marked IRQ_DISABLED and the threaded handler was not being setup correctly. Thomas initially implied that there was a bug in Michael’s code but later discovered that a newly created kernel thread backing the interrupt was not being setup right in __setup_irq. He posted a patch – adding “Gah. I think I found it. I wonder why nobody else ever tripped over this” – that Michael confirmed is working.
In today’s miscellaneous items: version 8 of the IO Scheduler based IO Controller from Vivek Goyal, a patch implementing detection of RDC (a low power 486SX compatible SoC) x86 processors from Mark Kelly, an updated patch series implementing support for IRQ chips on slow buses (I2C, and SPI) from Thomas Gleixner, a patch inlining __fatal_signal_pending, since it took longer to call than to execute in instruction footprint, from Roland McGrath, a git tree corruption observed on a btrfs filesystem by Jeremy Fitzhardinge, some patches allowing rescheduling during scan and ignoring any aperature memory holes on x86_64 systems from Catalin Marinas, version 3 of the smells like ACPI Simple Firmware Interface from Len Brown, more static structure patches for the staging tree from Julia Lawall, a post from Robert Schwebel inciting further discussion of ways to reduce boot times (especially on ARM), a fix to splice ensuring that it updates mtime from Miklos Szeredi, some memory corruption fixers in the wireless stack from John Linville, version 4 of the clocksource/timekeeping rework from Martin Schwidefsky, some GFS2 fixes from Steven Whitehouse, some s390 updates for the forthcoming merge window, a fix for the AUX LOOP command not being properly implementing in many laptop kyboard controllers (affecting touchpad detection) from Dmitry Torokhov, a resent patch correcting the result returned by getcwd() on an unbound bind mount from Miklos Szeredi, a fix to scripts/verlinux providing more useful output from Christian Kujau, a typedef removal tool from Luis R. Rodriguez (who obviously did not find an existing tool in response to his questions from the last week), a fix for a theoretical IPI-related race condition in the performance counters code (__per_counter_read) from Paul Mackerras, some percpu fixes from Tejun Heo, ongoing debate about compcache and the relative merits of compressed swap, version three of the AlacrityVM guest drivers from Gregory Haskins, and a fix to mmap POSIX interface semantics ensuring that mmaped files must have been open()ed with read permission from Graff Yang.
Finally today, Pander Musubi (whose mail client is missconfigured not to supply his full name, but sourceforge knows) offered a build of the kernel intended to allow a Linux laptop to operate as a charger for other devices (over USB or Firewire interfaces for example), consuming as little power as possible by turning off “disks, screen, etc.”.
In today’s announcements: Thomas Gleixner announced release 2.6.31 rc6-rt2 of the preempt-rt patch. The latest release includes a threaded interrupt fix from Linus Torvalds, and a number of other minor fixes against a -rc6 rebase.
Greg Kroah-Hartman released the 2.6.27.30 and 2.6.30.5 stable kernels, which he “strongly encouraged” users to upgrade to. These contain, amongst other things, fixes for the local NULL pointer exploit currently in the wild. Tim Tassonis had previously inquired as to whether the fixes were going to be present in stable, having confirmed that 2.6.30.4 was vulnerable.
The latest kernel release is 2.6.31-rc6, which was released on Thursday.
Stephen Rothwell posted a linux-next tree for August 14th. He reminds everyone that the tree has now moved to a new location (still on kernel.org). Since Thursday, the kvm tree lost its build failure, and the net tree lost its conflict but gained another against the net-current tree. The total sub-tree count remains steady today at 140 trees.
That’s a summary of today’s Linux Kernel Mailing List traffic, for further information visit www.kernel.org. I’m Jon Masters.

