|
|
Subscribe / Log in / New account

Kernel development

Brief items

Kernel release status

The current 2.6 kernel is 2.6.12.1, which was released on June 22, it contains fixes for two security problems: a timer-related denial of service issue, and a ptrace problem which is specific to ia-64 systems. Linux 2.6.13-rc1 was released on June 28, there are changes to: "ARM, x86[-64], ppc, sparc updates, networking, sound, infiniband, input layer, ISDN, MD, DVB, V4L, network drivers, pcmcia, isofs, jfs, nfs, xfs, knfsd.. You name it."

Comments (none posted)

Kernel development news

A summary of 2.6.12 API changes

The 2.6.12 kernel was over three months in the making; for all the talk of how the BitKeeper episode slowed down development, this kernel did not actually take much longer than its predecessor. The 2.6.11 process, from December 24 to March 2, took almost as long. Certainly there has been time to break a few interfaces in the kernel, though this cycle was not as disruptive as some of those which came before. Here is a list of internal kernel API changes in 2.6.12 which are most likely to be noticed by developers of external modules - drivers and such.

  • cancel_rearming_delayed_work() was added to the workqueue API.

  • The timeout value passed to usb_bulk_msg() and usb_control_msg() is now expressed in milliseconds instead of jiffies.

  • An interrupt-disabling spinlock is used in the rwsem implementation. It was never correct to call one of the variants of down_read() or down_write() with interrupts disabled, but it is even less correct now.

  • The fields in the net_device structure have been rearranged, which will break binary-only drivers.

  • kref_put() now returns an int value: nonzero if the kref was actually released.

  • kobject_add() and kobject_del() no longer generate hotplug events. If you need these events, you must call kobject_hotplug() explicitly. The wrapper functions kobject_register() and kobject_unregister() do still generate hotplug events.

  • kobj_map() no longer takes a subsystem argument; instead, it needs a pointer to a semaphore which it can use for mutual exclusion.

  • A new function, sysfs_chmod_file(), allows permissions to be changed on existing sysfs attributes.

  • There is a new generic sort() function which should be used in preference to creating yet another implementation.

  • A new attribute (__nocast) is being used with sparse to disable a number of implicit casts and find probable bugs.

  • io_remap_page_range() is now deprecated; use io_remap_pfn_range() instead.

  • A set of functions has been added to work with big-endian I/O memory.

  • synchronize_kernel() is deprecated. Callers should instead use either synchronize_sched() (to verify that all processors have quiesced) or synchronize_rcu() (to verify that all processors have exited RCU critical sections).

  • The flag argument to blk_queue_ordered() has changed to indicate how ordered writes are handled by the device. Possible values are QUEUE_ORDERED_NONE (ordering is not possible), QUEUE_ORDERED_TAG (ordering is forced with request tags), and QUEUE_ORDERED_FLUSH (ordering is done with explicit flush commands). For the last case, the request queue has two new methods, prepare_flush_fn() and end_flush_fn(), which are called before and after a barrier request.

  • A new function, valid_signal(), can (and should) be used to test whether signal numbers from user space are valid.

  • The Developers Certificate of Origin, the document acknowledged by all those "Signed-off-by:" headers, has changed. The new version adds a clause noting that contributions - and the information that goes with them - are public information which can be redistributed.

This list will be folded into the 2.6 API changes page when your editor returns from vacation.

Comments (3 posted)

Novell Linux Kernel Debugger (NLKD)

Novell has released a Linux Kernel Debugger which works with SUSE Linux Enterprise Server v9. "Novell engineering is introducing the Novell Linux Kernel Debugger (NLKD) as an open source project intended to provide an enhanced and robust debugging experience for Linux kernel developers."

Full Story (comments: 2)

Patches and updates

Kernel trees

Chris Wright Linux 2.6.12.1 ?

Architecture-specific

Core kernel code

Device drivers

Linas Vepstas : PCI Error Recovery ?
dmitry pervushin SPI core -- revisited ?
Roland Dreier IB/mthca: merge ?
Linas Vepstas PCI Error Recovery Overview ?
Russell King Serial updates ?
Olav Kongas isp116x-hcd cleanup ?
James.Smart@Emulex.Com Update Emulex lpfc driver to rev 8.0.29 ?
Johannes Stezenbach DVB update ?
Mauro Carvalho Chehab V4L CX88 patch - against 2.6.12-mm2 ?
Christoph Hellwig aic7xxx: sane pci probing ?
Christoph Hellwig aic7xxx: remove ahc_tailq ?

Documentation

Filesystems and block I/O

Janitorial

Pekka J Enberg fat: fix slab cache leak ?

Memory management

Nick Piggin remove PageReserved ?
Chandra Seetharaman CKRM: Memory controller for CKRM ?

Networking

Page editor: Forrest Cook
Next page: Distributions>>


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