2003-07-19 17:37:45

by Bernardo Innocenti

[permalink] [raw]
Subject: [TRIVIAL] fix include/linux/sysctl.h for userland


Include linux/compiler.h in include/linux/sysctl.h. Needed to get __user
defined when C library uses this header (ie: no __KERNEL__).

Please apply.

--- linux-2.6.0-test1.orig/include/linux/sysctl.h 2003-07-14 05:34:40.000000000 +0200
+++ linux-2.6.0-test1/include/linux/sysctl.h 2003-07-19 19:20:29.000000000 +0200
@@ -21,6 +21,7 @@
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/list.h>
+#include <linux/compiler.h>

struct file;


--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/

Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html



2003-07-19 17:45:12

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [TRIVIAL] fix include/linux/sysctl.h for userland

On Sat, Jul 19, 2003 at 07:52:35PM +0200, Bernardo Innocenti wrote:
>
> Include linux/compiler.h in include/linux/sysctl.h. Needed to get __user
> defined when C library uses this header (ie: no __KERNEL__).

It shouldn't be included from userspace, and glibc needs to be fixed not
to do so.

2003-07-19 17:46:55

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: [TRIVIAL] fix include/linux/sysctl.h for userland

On Sat, 19 Jul 2003 19:52:35 +0200, Bernardo Innocenti said:
>
> Include linux/compiler.h in include/linux/sysctl.h. Needed to get __user
> defined when C library uses this header (ie: no __KERNEL__).

Umm... shouldn't this be in the glibc-kernheaders version of sysctl.h
that ends up in /usr/include rather than the kernel version?


Attachments:
(No filename) (226.00 B)

2003-07-19 18:26:20

by Bernardo Innocenti

[permalink] [raw]
Subject: Re: [TRIVIAL] fix include/linux/sysctl.h for userland

On Sat, 19 Jul 2003 19:52:35 +0200, Bernardo Innocenti said:
> > Include linux/compiler.h in include/linux/sysctl.h. Needed to get __user
> > defined when C library uses this header (ie: no __KERNEL__).

On Saturday 19 July 2003 20:01, [email protected] wrote:
> Umm... shouldn't this be in the glibc-kernheaders version of sysctl.h
> that ends up in /usr/include rather than the kernel version?

On Saturday 19 July 2003 19:59, Christoph Hellwig wrote:
> It shouldn't be included from userspace, and glibc needs to be fixed not
> to do so.

Two reasons:

- I'm using uClibc, not glibc. uClibc doesn't have a fixed copy
of the kernel headers. Everything builds fine with real kernel
headers from both 2.4.x and 2.6.x, except for this small glitch.

- If we fix it now, the glibc guys will have one less patch to
apply when they update their copy.

The glibc-kernelheaders package exists only because the glibc
people cannot afford to work-around every single quirk in any
version of the kernel.

And if you often build system utilities you'll find out there is
quite a lot of userland code out there with legitimate reasons
for including kernel headers. Some examples: strace, nfsutils,
psutils, quota.

--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/

Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html