Re: Linux kernel headers violate RFC2553

Felix von Leitner (leitner@fefe.de)
Fri, 8 Jun 2001 21:12:47 +0200


Thus spake David S. Miller (davem@redhat.com):
> > glibc works around this, but the diet libc uses the kernel headers and
> > thus exports the wrong API to user land.
> Don't user kernel headers for userspace.

What choice do I have?
Duplicate everything and then be out of sync when the specs change?

Using glibc-2.1.* for IPv6 did not work for 2.4 kernels for more than
ONE YEAR because of this, then glibc 2.2 became available. I am not
willing to follow this shining example of "Linux brokenness" that is
still being laughed about by avid BSD followers.

I hereby volunteer to submit patches for all places where the kernel
headers are not RFC compliant. The kernel headers are actually
_intended_ to be used from user space, as kernel specific parts are
escaped using "#ifdef __KERNEL__" all over the place. What reason would
there be for this if the kernel headers were not used from user space?

Even when using glibc the kernel headers are included in most programs.

> Kernel headers and user headers are distinctly different namespaces,
> and you have pointed out only one of many places where we use
> different names/structures/etc. for some kernel networking headers
> vs. what userspace wants.

Then, with all due respect, those places should be fixed.

There is no excuse for sloppy code and sloppy interfaces. At any rate,
"don't use our code, then" is not a valid excuse in my humble opinion.

Felix
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/