* [PATCH 1/2] uapi: move constants from <linux/kernel.h> to <linux/const.h>
@ 2021-01-01 20:22 Petr Vorel
2021-01-01 20:22 ` [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers Petr Vorel
0 siblings, 1 reply; 5+ messages in thread
From: Petr Vorel @ 2021-01-01 20:22 UTC (permalink / raw)
To: stable
Cc: Petr Vorel, Greg Kroah-Hartman, Sasha Levin, Rich Felker,
Peter Korsgaard, Baruch Siach, Florian Weimer, Andrew Morton
and include <linux/const.h> in UAPI headers instead of <linux/kernel.h>.
commit a85cbe6159ffc973e5702f70a3bd5185f8f3c38d upstream.
The reason is to avoid indirect <linux/sysinfo.h> include when using
some network headers: <linux/netlink.h> or others -> <linux/kernel.h>
-> <linux/sysinfo.h>.
This indirect include causes on MUSL redefinition of struct sysinfo when
included both <sys/sysinfo.h> and some of UAPI headers:
In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5,
from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5,
from ../include/tst_netlink.h:14,
from tst_crypto.c:13:
x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of `struct sysinfo'
struct sysinfo {
^~~~~~~
In file included from ../include/tst_safe_macros.h:15,
from ../include/tst_test.h:93,
from tst_crypto.c:11:
x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
Link: https://lkml.kernel.org/r/20201015190013.8901-1-petr.vorel@gmail.com
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Suggested-by: Rich Felker <dalias@aerifal.cx>
Acked-by: Rich Felker <dalias@libc.org>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
Hi,
could this fix be backported to stable releases?
Maybe safer to wait till v5.11 release.
Adjusted for stable/linux-5.4.y.
Kind regards,
Petr
include/uapi/linux/const.h | 5 +++++
include/uapi/linux/ethtool.h | 2 +-
include/uapi/linux/kernel.h | 9 +--------
include/uapi/linux/lightnvm.h | 2 +-
include/uapi/linux/mroute6.h | 2 +-
include/uapi/linux/netfilter/x_tables.h | 2 +-
include/uapi/linux/netlink.h | 2 +-
include/uapi/linux/sysctl.h | 2 +-
8 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/include/uapi/linux/const.h b/include/uapi/linux/const.h
index 5ed721ad5b19..af2a44c08683 100644
--- a/include/uapi/linux/const.h
+++ b/include/uapi/linux/const.h
@@ -28,4 +28,9 @@
#define _BITUL(x) (_UL(1) << (x))
#define _BITULL(x) (_ULL(1) << (x))
+#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
+#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
+
+#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
+
#endif /* _UAPI_LINUX_CONST_H */
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index 8938b76c4ee3..7857aa413627 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -14,7 +14,7 @@
#ifndef _UAPI_LINUX_ETHTOOL_H
#define _UAPI_LINUX_ETHTOOL_H
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/types.h>
#include <linux/if_ether.h>
diff --git a/include/uapi/linux/kernel.h b/include/uapi/linux/kernel.h
index 0ff8f7477847..fadf2db71fe8 100644
--- a/include/uapi/linux/kernel.h
+++ b/include/uapi/linux/kernel.h
@@ -3,13 +3,6 @@
#define _UAPI_LINUX_KERNEL_H
#include <linux/sysinfo.h>
-
-/*
- * 'kernel.h' contains some often-used function prototypes etc
- */
-#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
-#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
-
-#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
+#include <linux/const.h>
#endif /* _UAPI_LINUX_KERNEL_H */
diff --git a/include/uapi/linux/lightnvm.h b/include/uapi/linux/lightnvm.h
index f9a1be7fc696..ead2e72e5c88 100644
--- a/include/uapi/linux/lightnvm.h
+++ b/include/uapi/linux/lightnvm.h
@@ -21,7 +21,7 @@
#define _UAPI_LINUX_LIGHTNVM_H
#ifdef __KERNEL__
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/ioctl.h>
#else /* __KERNEL__ */
#include <stdio.h>
diff --git a/include/uapi/linux/mroute6.h b/include/uapi/linux/mroute6.h
index c36177a86516..a1fd6173e2db 100644
--- a/include/uapi/linux/mroute6.h
+++ b/include/uapi/linux/mroute6.h
@@ -2,7 +2,7 @@
#ifndef _UAPI__LINUX_MROUTE6_H
#define _UAPI__LINUX_MROUTE6_H
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/types.h>
#include <linux/sockios.h>
#include <linux/in6.h> /* For struct sockaddr_in6. */
diff --git a/include/uapi/linux/netfilter/x_tables.h b/include/uapi/linux/netfilter/x_tables.h
index a8283f7dbc51..b8c6bb233ac1 100644
--- a/include/uapi/linux/netfilter/x_tables.h
+++ b/include/uapi/linux/netfilter/x_tables.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_X_TABLES_H
#define _UAPI_X_TABLES_H
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/types.h>
#define XT_FUNCTION_MAXNAMELEN 30
diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h
index 0a4d73317759..622c78c821aa 100644
--- a/include/uapi/linux/netlink.h
+++ b/include/uapi/linux/netlink.h
@@ -2,7 +2,7 @@
#ifndef _UAPI__LINUX_NETLINK_H
#define _UAPI__LINUX_NETLINK_H
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/socket.h> /* for __kernel_sa_family_t */
#include <linux/types.h>
diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h
index 87aa2a6d9125..cc453ed0e65e 100644
--- a/include/uapi/linux/sysctl.h
+++ b/include/uapi/linux/sysctl.h
@@ -23,7 +23,7 @@
#ifndef _UAPI_LINUX_SYSCTL_H
#define _UAPI_LINUX_SYSCTL_H
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/types.h>
#include <linux/compiler.h>
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers
2021-01-01 20:22 [PATCH 1/2] uapi: move constants from <linux/kernel.h> to <linux/const.h> Petr Vorel
@ 2021-01-01 20:22 ` Petr Vorel
2021-01-01 20:27 ` Petr Vorel
0 siblings, 1 reply; 5+ messages in thread
From: Petr Vorel @ 2021-01-01 20:22 UTC (permalink / raw)
To: stable
Cc: Arnaldo Carvalho de Melo, Greg Kroah-Hartman, Sasha Levin,
Rich Felker, Peter Korsgaard, Baruch Siach, Florian Weimer,
Andrew Morton, Petr Vorel
From: Arnaldo Carvalho de Melo <acme@redhat.com>
commit 7ddcdea5b54492f54700f427f58690cf1e187e5e upstream.
To pick up the changes in:
a85cbe6159ffc973 ("uapi: move constants from <linux/kernel.h> to <linux/const.h>")
That causes no changes in tooling, just addresses this perf build
warning:
Warning: Kernel ABI header at 'tools/include/uapi/linux/const.h' differs from latest version at 'include/uapi/linux/const.h'
diff -u tools/include/uapi/linux/const.h include/uapi/linux/const.h
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
Fix for previous commit.
Kind regards,
Petr
tools/include/uapi/linux/const.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/include/uapi/linux/const.h b/tools/include/uapi/linux/const.h
index 5ed721ad5b19..af2a44c08683 100644
--- a/tools/include/uapi/linux/const.h
+++ b/tools/include/uapi/linux/const.h
@@ -28,4 +28,9 @@
#define _BITUL(x) (_UL(1) << (x))
#define _BITULL(x) (_ULL(1) << (x))
+#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
+#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
+
+#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
+
#endif /* _UAPI_LINUX_CONST_H */
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers
2021-01-01 20:22 ` [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers Petr Vorel
@ 2021-01-01 20:27 ` Petr Vorel
2021-01-04 10:29 ` Greg Kroah-Hartman
0 siblings, 1 reply; 5+ messages in thread
From: Petr Vorel @ 2021-01-01 20:27 UTC (permalink / raw)
To: stable
Cc: Arnaldo Carvalho de Melo, Greg Kroah-Hartman, Sasha Levin,
Rich Felker, Peter Korsgaard, Baruch Siach, Florian Weimer,
Andrew Morton
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
> commit 7ddcdea5b54492f54700f427f58690cf1e187e5e upstream.
> To pick up the changes in:
> a85cbe6159ffc973 ("uapi: move constants from <linux/kernel.h> to <linux/const.h>")
> That causes no changes in tooling, just addresses this perf build
> warning:
> Warning: Kernel ABI header at 'tools/include/uapi/linux/const.h' differs from latest version at 'include/uapi/linux/const.h'
> diff -u tools/include/uapi/linux/const.h include/uapi/linux/const.h
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: Ian Rogers <irogers@google.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Petr Vorel <petr.vorel@gmail.com>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> ---
> Fix for previous commit.
For stable/linux-5.4.y.
Kind regards,
Petr
> Kind regards,
> Petr
> tools/include/uapi/linux/const.h | 5 +++++
> 1 file changed, 5 insertions(+)
> diff --git a/tools/include/uapi/linux/const.h b/tools/include/uapi/linux/const.h
> index 5ed721ad5b19..af2a44c08683 100644
> --- a/tools/include/uapi/linux/const.h
> +++ b/tools/include/uapi/linux/const.h
> @@ -28,4 +28,9 @@
> #define _BITUL(x) (_UL(1) << (x))
> #define _BITULL(x) (_ULL(1) << (x))
> +#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
> +#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
> +
> +#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
> +
> #endif /* _UAPI_LINUX_CONST_H */
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers
2021-01-01 20:27 [PATCH 1/2] uapi: move constants from <linux/kernel.h> to <linux/const.h> Petr Vorel
@ 2021-01-01 20:27 ` Petr Vorel
0 siblings, 0 replies; 5+ messages in thread
From: Petr Vorel @ 2021-01-01 20:27 UTC (permalink / raw)
To: stable
Cc: Arnaldo Carvalho de Melo, Greg Kroah-Hartman, Sasha Levin,
Rich Felker, Peter Korsgaard, Baruch Siach, Florian Weimer,
Andrew Morton, Petr Vorel
From: Arnaldo Carvalho de Melo <acme@redhat.com>
commit 7ddcdea5b54492f54700f427f58690cf1e187e5e upstream.
To pick up the changes in:
a85cbe6159ffc973 ("uapi: move constants from <linux/kernel.h> to <linux/const.h>")
That causes no changes in tooling, just addresses this perf build
warning:
Warning: Kernel ABI header at 'tools/include/uapi/linux/const.h' differs from latest version at 'include/uapi/linux/const.h'
diff -u tools/include/uapi/linux/const.h include/uapi/linux/const.h
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
Fix for previous commit (for stable/linux-5.10.y.).
Kind regards,
Petr
tools/include/uapi/linux/const.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/include/uapi/linux/const.h b/tools/include/uapi/linux/const.h
index 5ed721ad5b19..af2a44c08683 100644
--- a/tools/include/uapi/linux/const.h
+++ b/tools/include/uapi/linux/const.h
@@ -28,4 +28,9 @@
#define _BITUL(x) (_UL(1) << (x))
#define _BITULL(x) (_ULL(1) << (x))
+#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
+#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
+
+#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
+
#endif /* _UAPI_LINUX_CONST_H */
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers
2021-01-01 20:27 ` Petr Vorel
@ 2021-01-04 10:29 ` Greg Kroah-Hartman
0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2021-01-04 10:29 UTC (permalink / raw)
To: Petr Vorel
Cc: stable, Arnaldo Carvalho de Melo, Sasha Levin, Rich Felker,
Peter Korsgaard, Baruch Siach, Florian Weimer, Andrew Morton
On Fri, Jan 01, 2021 at 09:27:47PM +0100, Petr Vorel wrote:
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> > commit 7ddcdea5b54492f54700f427f58690cf1e187e5e upstream.
>
> > To pick up the changes in:
>
> > a85cbe6159ffc973 ("uapi: move constants from <linux/kernel.h> to <linux/const.h>")
>
> > That causes no changes in tooling, just addresses this perf build
> > warning:
>
> > Warning: Kernel ABI header at 'tools/include/uapi/linux/const.h' differs from latest version at 'include/uapi/linux/const.h'
> > diff -u tools/include/uapi/linux/const.h include/uapi/linux/const.h
>
> > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > Cc: Ian Rogers <irogers@google.com>
> > Cc: Jiri Olsa <jolsa@kernel.org>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Cc: Petr Vorel <petr.vorel@gmail.com>
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> > ---
> > Fix for previous commit.
> For stable/linux-5.4.y.
Both now queued up, thanks.
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-01-04 10:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-01 20:22 [PATCH 1/2] uapi: move constants from <linux/kernel.h> to <linux/const.h> Petr Vorel
2021-01-01 20:22 ` [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers Petr Vorel
2021-01-01 20:27 ` Petr Vorel
2021-01-04 10:29 ` Greg Kroah-Hartman
-- strict thread matches above, loose matches on Subject: below --
2021-01-01 20:27 [PATCH 1/2] uapi: move constants from <linux/kernel.h> to <linux/const.h> Petr Vorel
2021-01-01 20:27 ` [PATCH 2/2] tools headers UAPI: Sync linux/const.h with the kernel headers Petr Vorel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.