[LWN Logo]
[LWN.net]

Sections:
 Main page
 Security
 Kernel
 Distributions
 On the Desktop
 Development
 Commerce
 Linux in the news
 Announcements
 Linux History
 Letters
All in one big page

See also: last week's Kernel page.

Kernel development


The current kernel release is still 2.4.9. Linus is currently up to 2.4.10-pre8, which includes a note from him that appears to settle the min/max issue for now. Prior to that was 2.4.10-pre7, a relatively large patch which included a great deal of stuff merged in from the "ac" series. Linus has suggested (scroll to the bottom) that, once the merge with Alan is complete, the 2.5 series will begin:

It still sounds very much like a 2.5.x thing (and hopefully I and Alan can merge enough that it's going to be RSN), but if done right it should be trivial to back-port to 2.4.x after testing.

Alan, meanwhile, is not standing still; his latest is 2.4.9-ac10. Among other things, Alan is claiming far better virtual memory performance for his kernels. Users of "ac" kernels, it seems, do not have to put up with the "living out of swap" feeling of the Linus series...

Alan also released 2.2.20pre10. This one includes a fix for 2.2 lockd when talking to HP/UX systems, NFS client fixes and cleanups for 64bit ISDN support.

What, exactly, is a local network address? Wietse Venema, the author of the Postfix mailer, has a bit of a problem on his hands. Postfix has to be able to handle mail addressed to recipients like user@[1.2.3.4]; that involves figuring out whether 1.2.3.4 is a local address or not. This determination, as it turns out, is not as easy as one might think.

The immediate problem is with IP aliasing. Linux has, for a long time, allowed more than one IP address to be assigned to a physical network interface. In more recent kernels, however, it is possible to set up aliases that do not have a separate name (i.e. eth0:0); if you ask the kernel for a list of local interface addresses (using the SIOCGIFCONF ioctl call), these "anonymous" aliases will be returned with an incorrect netmask. This is a relatively simple problem to fix, and Matthias Andree has put out a patch to deal with it.

It turns out, though, that SIOCGIFCONF does not return a complete list of local addresses. For example, 127.0.0.2 is a local address on almost all systems, as is the whole loopback subnet. The use of the advanced policy routing and proxying features in the 2.4 kernel complicates the situation further. The end result is that there is currently, no way to ask the kernel for the full list of local IP addresses. There are ways of finding out whether a specific address is local (the netlink interface), but there is no way of getting a list.

And, even if there were, life would not get easier for mailer authors. It is not unheard of to configure a system with different mailers operating on different IP addresses. So an address which is "local" for the purposes of the kernel should be treated as remote by the mailer. To complicate things even further, a properly configured mailer should look at the source of a message before deciding whether the IP number it is addressed to is local.

In other words, with modern networking stacks, there is no way for the kernel to provide a mailer with a list of "local" IP addresses. The best solution would appear to be to stick with the old SIOCGIFCONF interface, and to have the mailer support a configuration file for systems with more complicated setups. Or, more likely, do nothing; continue to use the old interface, and get local delivery wrong in some rare situations.

Yet another min/max implementation. One would think that the min/max discussion would fade away, and it mostly has. Morten Welinder, however, managed to come up with yet another implementation which uses the old, two-argument interface, avoids side effect problems, and catches comparisons between signed and unsigned values (which was part of the motivation for the original change). It works by using a pointer comparison, which brings about a more specific type comparison at compile time.

Linus proclaimed "we have a winner," and stated his intention to include the patch in 2.4.10-pre5 - though a real solution wasn't posted until -pre8.

Will write USB drivers for food. USB subsystem maintainer Johannes Erdfelt, once of VA Linux Systems, has announced that he will be taking a short break from his duties while he looks for a new job. It seems that, as VA cuts back, it is no longer able to support as many kernel hackers. One hopes that Johannes will find a new position which allows him to continue working with the kernel. Meanwhile, Greg Kroah-Hartman is running the USB show.

Other patches and updates released this week include:

  • David Miller has posted an updated 64-bit PCI patch with a number of fixes.

  • Alex Bligh has posted a proposal for dealing with fragmentation in the kernel's memory allocation code. It boils down to the creation of many new memory zones dedicated to certain types of tasks.

  • A new preemptible kernel patch is available from Robert Love. It fixes a few problems, and adds a new CONFIG_PREEMPT configuration option. Note that this patch is still not well-tested on SMP systems.

  • Andrew Morton has posted a new ext3 filesystem patch which incorporates some important fixes from Stephen Tweedie.

  • A new version of Richard Gooch's patch for the handling of large numbers of SCSI devices has been posted.

Section Editor: Jonathan Corbet


September 13, 2001

For other kernel news, see:

Other resources:

 

Next: Distributions

 
Eklektix, Inc. Linux powered! Copyright © 2001 Eklektix, Inc., all rights reserved
Linux ® is a registered trademark of Linus Torvalds