Re: [git pull] x86 updates for v2.6.28, phase #1

From: Linus Torvalds
Date: Fri Oct 10 2008 - 11:16:34 EST




On Fri, 10 Oct 2008, Ingo Molnar wrote:
>
> Vegard Nossum (3):
> x86: consolidate header guards
> x86: consolidate header guards

Ok, so I pulled phase 1, but quite frankly, I think this was utter crap.
Why the hell did this go in?

The #1 "argument" for this was:

1. No leading underscore. Names with leading underscores are reserved.

but what the _hell_ do you think kernel header files are? They are system
header files, and they _should_ use the reserved name-space.

Quite frankly, it's entirely possible that some crazy - but perfectly
correct - user space program does something like

#include <sys/types.h>

int ASM_X86__TYPES_H = 1;

and the whole point in using underscores in system header files is that
those names are reserved TO THE SYSTEM, so that normal portable programs
never need to worry about their choice of names.

You just broke this. For no good reason. Just to make things uglier, and
just because people apparently don't understand _why_ leading underscores
are special. They are special exactly _because_ they are reserved for
system use, and there is little less "systemy" than the headers exported
by the kernel.

And yes, yes, we could add the f*cking things back when we export them as
header files, but what's the point, really? And no, I'm not guaranteeing
that we're being super-careful about namespace issues in all kernel
headers that can get exported to user space, but we _try_.

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