Re: 2.6.6-rc3: modular DVB tda1004x broken

Linus Torvalds
2004-05-02T00:28:47Z

On Sat, 1 May 2004, Chris Wedgwood wrote:
>
> I'm confused.

We all are, don't worry.

> I thought it has been decreed using kernel headers in userspace was a
> bad idea (DONT DO THAT) so in theory we can just ignore this issue?

Absolutely. But "in theory" is a thing we may want to strive for, but not
at the expense of "in practice".

Sadly, we used to encourage (yeah, yeah, I should 'fess up: it was me, I'm
guilty, I was stupid) user-space code to include kernel headers.
Admittedly, that was about ten years ago, and we've tried to fix it ever
since, but the thing is, I think backwards compatibility in the end is
more important than "in theory". And silently breaking things in subtle
ways would be bad.

What we _could_ do is to move _all_ the "_syscallX()" stuff into the
__KERNEL__ define, which would at least break any potential pre-glibc
users in a very visible way. What I _don't_ want to do is to have somebody
by mistake compile against updated kernel headers, and it still compiles,
but just doesn't work at run-time the way it's supposed to. THAT is
confusing and bad.

In short: either we should make non-kernel users break in _really_ obvious
(and hopefully easy-to-fix) ways, or we should keep things compatible.
None of the "oh, the return value changed subtly" thing, please ;)

Linus