Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1586542 > unrolled thread

[PATCH] uapi: fix linux/sysctl.h userspace compilation errors

Started by"Dmitry V. Levin" <ldv@altlinux.org>
First post2017-02-23 00:20 +0100
Last post2017-02-23 22:00 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] uapi: fix linux/sysctl.h userspace compilation errors "Dmitry V. Levin" <ldv@altlinux.org> - 2017-02-23 00:20 +0100
    Re: [PATCH] uapi: fix linux/sysctl.h userspace compilation errors ebiederm@xmission.com (Eric W. Biederman) - 2017-02-23 02:50 +0100
      [PATCH] uapi: stop including linux/sysctl.h in uapi/linux/netfilter.h "Dmitry V. Levin" <ldv@altlinux.org> - 2017-02-23 03:50 +0100
        Re: [PATCH] uapi: stop including linux/sysctl.h in  uapi/linux/netfilter.h Pablo Neira Ayuso <pablo@netfilter.org> - 2017-02-23 22:00 +0100

#1586542 — [PATCH] uapi: fix linux/sysctl.h userspace compilation errors

From"Dmitry V. Levin" <ldv@altlinux.org>
Date2017-02-23 00:20 +0100
Subject[PATCH] uapi: fix linux/sysctl.h userspace compilation errors
Message-ID<tdOmt-HE-11@gated-at.bofh.it>
Include <stddef.h> (guarded by #ifndef __KERNEL__) to fix the following
linux/sysctl.h userspace compilation errors:

/usr/include/linux/sysctl.h:38:2: error: unknown type name 'size_t'
  size_t *oldlenp;
/usr/include/linux/sysctl.h:40:2: error: unknown type name 'size_t'
  size_t newlen;

This also fixes userspace compilation of uapi headers that include
linux/sysctl.h, e.g. linux/netfilter.h.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
 include/uapi/linux/sysctl.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h
index d2b1215..c6d18aa 100644
--- a/include/uapi/linux/sysctl.h
+++ b/include/uapi/linux/sysctl.h
@@ -26,6 +26,10 @@
 #include <linux/types.h>
 #include <linux/compiler.h>
 
+#ifndef __KERNEL__
+#include <stddef.h>		/* For size_t. */
+#endif
+
 #define CTL_MAXNAME 10		/* how many path components do we allow in a
 				   call to sysctl?   In other words, what is
 				   the largest acceptable value for the nlen
-- 
ldv

[toc] | [next] | [standalone]


#1586601

Fromebiederm@xmission.com (Eric W. Biederman)
Date2017-02-23 02:50 +0100
Message-ID<tdQHD-2lQ-1@gated-at.bofh.it>
In reply to#1586542
"Dmitry V. Levin" <ldv@altlinux.org> writes:

> Include <stddef.h> (guarded by #ifndef __KERNEL__) to fix the following
> linux/sysctl.h userspace compilation errors:
>
> /usr/include/linux/sysctl.h:38:2: error: unknown type name 'size_t'
>   size_t *oldlenp;
> /usr/include/linux/sysctl.h:40:2: error: unknown type name 'size_t'
>   size_t newlen;
>
> This also fixes userspace compilation of uapi headers that include
> linux/sysctl.h, e.g. linux/netfilter.h.

Are these compilation errors new?

Perhaps we should just refactor linux/netfilter.h not to depend on
linux/sysctl.h.  The definitions in linux/sysctl.h are essentially dead
at this point and I would not expect any new, are really not any old
programs to depend on linux/sysctl.h.  As I don't expect new users of
linux/sysctl.h I don't see how changing anything in the header is
meaningful.

Either the old users work or the old users are broken.

Eric


> Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
> ---
>  include/uapi/linux/sysctl.h | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h
> index d2b1215..c6d18aa 100644
> --- a/include/uapi/linux/sysctl.h
> +++ b/include/uapi/linux/sysctl.h
> @@ -26,6 +26,10 @@
>  #include <linux/types.h>
>  #include <linux/compiler.h>
>  
> +#ifndef __KERNEL__
> +#include <stddef.h>		/* For size_t. */
> +#endif
> +
>  #define CTL_MAXNAME 10		/* how many path components do we allow in a
>  				   call to sysctl?   In other words, what is
>  				   the largest acceptable value for the nlen

[toc] | [prev] | [next] | [standalone]


#1586619 — [PATCH] uapi: stop including linux/sysctl.h in uapi/linux/netfilter.h

From"Dmitry V. Levin" <ldv@altlinux.org>
Date2017-02-23 03:50 +0100
Subject[PATCH] uapi: stop including linux/sysctl.h in uapi/linux/netfilter.h
Message-ID<tdRDI-2Xg-3@gated-at.bofh.it>
In reply to#1586601
linux/netfilter.h is the last uapi header file that includes
linux/sysctl.h but it does not depend on definitions provided
by this essentially dead header file.

Suggested-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
 include/uapi/linux/netfilter.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/uapi/linux/netfilter.h b/include/uapi/linux/netfilter.h
index 7550e91..c111a91 100644
--- a/include/uapi/linux/netfilter.h
+++ b/include/uapi/linux/netfilter.h
@@ -3,7 +3,6 @@
 
 #include <linux/types.h>
 #include <linux/compiler.h>
-#include <linux/sysctl.h>
 #include <linux/in.h>
 #include <linux/in6.h>
 
-- 
ldv

[toc] | [prev] | [next] | [standalone]


#1587121 — Re: [PATCH] uapi: stop including linux/sysctl.h in uapi/linux/netfilter.h

FromPablo Neira Ayuso <pablo@netfilter.org>
Date2017-02-23 22:00 +0100
SubjectRe: [PATCH] uapi: stop including linux/sysctl.h in uapi/linux/netfilter.h
Message-ID<te8Ey-6rD-23@gated-at.bofh.it>
In reply to#1586619
On Thu, Feb 23, 2017 at 05:49:28AM +0300, Dmitry V. Levin wrote:
> linux/netfilter.h is the last uapi header file that includes
> linux/sysctl.h but it does not depend on definitions provided
> by this essentially dead header file.

Applied, thanks.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web