All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
@ 2017-06-22 15:14 André Draszik
  2017-06-22 22:26 ` Khem Raj
  2017-06-23 11:42 ` [PATCH v2] " André Draszik
  0 siblings, 2 replies; 10+ messages in thread
From: André Draszik @ 2017-06-22 15:14 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

musl _does_ define IFF_LOWER_UP DORMANT ECHO so we should
prevent redefinition of these when on musl.

As per the included patch, this can be triggered by
(from connman 6to4.c):
    include <errno.h>
    include <stdio.h>
    include <stdlib.h>
    include <string.h>
    include <sys/socket.h>
    include <netinet/in.h>
    include <arpa/inet.h>
    include <net/if.h>
    include <linux/ip.h>
    include <linux/if_tunnel.h>
    include <linux/netlink.h>
    include <linux/rtnetlink.h>
    include <sys/ioctl.h>
    include <unistd.h>

In file included from ../git/src/6to4.c:34:0:
.../usr/include/linux/if.h:97:2: error: expected identifier before numeric constant
  IFF_LOWER_UP   = 1<<16, /* __volatile__ */
  ^

This is because at that time, IFF_LOWER_UP has been converted
to 0x10000 already:
enum net_device_flags {
 0x10000 = 1<<16,
 0x20000 = 1<<17,
 0x40000 = 1<<18,

};

By defining __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
to 0, we avoid the duplicated definition.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 ....h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch | 62 ++++++++++++++++++++++
 .../linux-libc-headers/linux-libc-headers_4.10.bb  |  1 +
 2 files changed, 63 insertions(+)
 create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch

diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
new file mode 100644
index 0000000000..fd1bb9edb8
--- /dev/null
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
@@ -0,0 +1,62 @@
+From 08a04c025395b0580913285045f2af36ee0985db Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
+Date: Thu, 15 Jun 2017 16:55:33 +0100
+Subject: [PATCH] libc-compat.h: musl _does_ define IFF_LOWER_UP DORMANT ECHO
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+To trigger this (from connman 6to4.c):
+    include <errno.h>
+    include <stdio.h>
+    include <stdlib.h>
+    include <string.h>
+    include <sys/socket.h>
+    include <netinet/in.h>
+    include <arpa/inet.h>
+    include <net/if.h>
+    include <linux/ip.h>
+    include <linux/if_tunnel.h>
+    include <linux/netlink.h>
+    include <linux/rtnetlink.h>
+    include <sys/ioctl.h>
+    include <unistd.h>
+
+In file included from ../git/src/6to4.c:34:0:
+/scratch/yocto/build-tgm-r3-poky-fpp-tgm.pyro/tmp/work/tgm_r3-poky-linux-musl/connman/1.33-git4+AUTOINC+aa5b3dc12b-r0/recipe-sysroot/usr/include/linux/if.h:97:2: error: expected identifier before numeric constant
+  IFF_LOWER_UP   = 1<<16, /* __volatile__ */
+  ^
+
+This is because at that time, IFF_LOWER_UP has been converted
+to 0x10000 already:
+enum net_device_flags {
+ 0x10000 = 1<<16,
+ 0x20000 = 1<<17,
+ 0x40000 = 1<<18,
+
+};
+
+Upstream-Status: Pending
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+Acked-by: Stephane Ayotte <sayotte@tycoint.com>
+---
+ include/uapi/linux/libc-compat.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h
+index f11ec0e..2003ae4 100644
+--- a/include/uapi/linux/libc-compat.h
++++ b/include/uapi/linux/libc-compat.h
+@@ -70,7 +70,8 @@
+ #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
+ /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
+ #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
+-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
++/* musl has these defined */
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
+ #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
+ 
+ #else /* _NET_IF_H */
+-- 
+2.11.0
+
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
index 108446aa34..29262789a8 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
@@ -4,6 +4,7 @@ SRC_URI_append_libc-musl = "\
     file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
     file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \
     file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
+    file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
    "
 
 SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090"
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-22 15:14 [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl André Draszik
@ 2017-06-22 22:26 ` Khem Raj
  2017-06-23 10:46   ` André Draszik
  2017-06-23 11:42 ` [PATCH v2] " André Draszik
  1 sibling, 1 reply; 10+ messages in thread
From: Khem Raj @ 2017-06-22 22:26 UTC (permalink / raw)
  To: André Draszik, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 5564 bytes --]

I would rather fix the package instead of kernel headers unless kernel
community accepts this patch

On Thu, Jun 22, 2017 at 11:14 AM André Draszik <git@andred.net> wrote:

> From: André Draszik <adraszik@tycoint.com>
>
> musl _does_ define IFF_LOWER_UP DORMANT ECHO so we should
> prevent redefinition of these when on musl.
>
> As per the included patch, this can be triggered by
> (from connman 6to4.c):
>     include <errno.h>
>     include <stdio.h>
>     include <stdlib.h>
>     include <string.h>
>     include <sys/socket.h>
>     include <netinet/in.h>
>     include <arpa/inet.h>
>     include <net/if.h>
>     include <linux/ip.h>
>     include <linux/if_tunnel.h>
>     include <linux/netlink.h>
>     include <linux/rtnetlink.h>
>     include <sys/ioctl.h>
>     include <unistd.h>
>
> In file included from ../git/src/6to4.c:34:0:
> .../usr/include/linux/if.h:97:2: error: expected identifier before numeric
> constant
>   IFF_LOWER_UP   = 1<<16, /* __volatile__ */
>   ^
>
> This is because at that time, IFF_LOWER_UP has been converted
> to 0x10000 already:
> enum net_device_flags {
>  0x10000 = 1<<16,
>  0x20000 = 1<<17,
>  0x40000 = 1<<18,
>
> };
>
> By defining __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
> to 0, we avoid the duplicated definition.
>
> Signed-off-by: André Draszik <adraszik@tycoint.com>
> ---
>  ....h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch | 62
> ++++++++++++++++++++++
>  .../linux-libc-headers/linux-libc-headers_4.10.bb  |  1 +
>  2 files changed, 63 insertions(+)
>  create mode 100644
> meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
>
> diff --git
> a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
> b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
> new file mode 100644
> index 0000000000..fd1bb9edb8
> --- /dev/null
> +++
> b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
> @@ -0,0 +1,62 @@
> +From 08a04c025395b0580913285045f2af36ee0985db Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
> +Date: Thu, 15 Jun 2017 16:55:33 +0100
> +Subject: [PATCH] libc-compat.h: musl _does_ define IFF_LOWER_UP DORMANT
> ECHO
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +To trigger this (from connman 6to4.c):
> +    include <errno.h>
> +    include <stdio.h>
> +    include <stdlib.h>
> +    include <string.h>
> +    include <sys/socket.h>
> +    include <netinet/in.h>
> +    include <arpa/inet.h>
> +    include <net/if.h>
> +    include <linux/ip.h>
> +    include <linux/if_tunnel.h>
> +    include <linux/netlink.h>
> +    include <linux/rtnetlink.h>
> +    include <sys/ioctl.h>
> +    include <unistd.h>
> +
> +In file included from ../git/src/6to4.c:34:0:
> +/scratch/yocto/build-tgm-r3-poky-fpp-tgm.pyro/tmp/work/tgm_r3-poky-linux-musl/connman/1.33-git4+AUTOINC+aa5b3dc12b-r0/recipe-sysroot/usr/include/linux/if.h:97:2:
> error: expected identifier before numeric constant
> +  IFF_LOWER_UP   = 1<<16, /* __volatile__ */
> +  ^
> +
> +This is because at that time, IFF_LOWER_UP has been converted
> +to 0x10000 already:
> +enum net_device_flags {
> + 0x10000 = 1<<16,
> + 0x20000 = 1<<17,
> + 0x40000 = 1<<18,
> +
> +};
> +
> +Upstream-Status: Pending
> +Signed-off-by: André Draszik <adraszik@tycoint.com>
> +Acked-by: Stephane Ayotte <sayotte@tycoint.com>
> +---
> + include/uapi/linux/libc-compat.h | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/include/uapi/linux/libc-compat.h
> b/include/uapi/linux/libc-compat.h
> +index f11ec0e..2003ae4 100644
> +--- a/include/uapi/linux/libc-compat.h
> ++++ b/include/uapi/linux/libc-compat.h
> +@@ -70,7 +70,8 @@
> + #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
> + /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
> + #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
> +-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
> ++/* musl has these defined */
> ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
> + #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
> +
> + #else /* _NET_IF_H */
> +--
> +2.11.0
> +
> diff --git a/meta/recipes-kernel/linux-libc-headers/
> linux-libc-headers_4.10.bb b/meta/recipes-kernel/linux-libc-headers/
> linux-libc-headers_4.10.bb
> index 108446aa34..29262789a8 100644
> --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
> +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
> @@ -4,6 +4,7 @@ SRC_URI_append_libc-musl = "\
>      file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
>      file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
> \
>      file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
> +
> file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
>     "
>
>  SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090"
> --
> 2.11.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 7273 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-22 22:26 ` Khem Raj
@ 2017-06-23 10:46   ` André Draszik
  2017-06-23 13:37     ` Khem Raj
  0 siblings, 1 reply; 10+ messages in thread
From: André Draszik @ 2017-06-23 10:46 UTC (permalink / raw)
  To: openembedded-core

connman is not doing anything wrong here.

The kernel is redefining IFF_LOWER_UP, because it thinks the libc doesn't
define it yet (and glibc doesn't).

libc-compat.h is the way to solve these kind of issues. There also is https:
//lkml.org/lkml/2017/3/12/238 which is very similar. I'll pick that instead.

Cheers,
Andre'

On Thu, 2017-06-22 at 22:26 +0000, Khem Raj wrote:
> I would rather fix the package instead of kernel headers unless kernel
> community accepts this patch
> 
> On Thu, Jun 22, 2017 at 11:14 AM André Draszik <git@andred.net> wrote:
> 
> > From: André Draszik <adraszik@tycoint.com>
> > 
> > musl _does_ define IFF_LOWER_UP DORMANT ECHO so we should
> > prevent redefinition of these when on musl.
> > 
> > As per the included patch, this can be triggered by
> > (from connman 6to4.c):
> >     include <errno.h>
> >     include <stdio.h>
> >     include <stdlib.h>
> >     include <string.h>
> >     include <sys/socket.h>
> >     include <netinet/in.h>
> >     include <arpa/inet.h>
> >     include <net/if.h>
> >     include <linux/ip.h>
> >     include <linux/if_tunnel.h>
> >     include <linux/netlink.h>
> >     include <linux/rtnetlink.h>
> >     include <sys/ioctl.h>
> >     include <unistd.h>
> > 
> > In file included from ../git/src/6to4.c:34:0:
> > .../usr/include/linux/if.h:97:2: error: expected identifier before
> > numeric
> > constant
> >   IFF_LOWER_UP   = 1<<16, /* __volatile__ */
> >   ^
> > 
> > This is because at that time, IFF_LOWER_UP has been converted
> > to 0x10000 already:
> > enum net_device_flags {
> >  0x10000 = 1<<16,
> >  0x20000 = 1<<17,
> >  0x40000 = 1<<18,
> > 
> > };
> > 
> > By defining __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
> > to 0, we avoid the duplicated definition.
> > 
> > Signed-off-by: André Draszik <adraszik@tycoint.com>
> > ---
> >  ....h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch | 62
> > ++++++++++++++++++++++
> >  .../linux-libc-headers/linux-libc-headers_4.10.bb  |  1 +
> >  2 files changed, 63 insertions(+)
> >  create mode 100644
> > meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
> > 
> > diff --git
> > a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
> > b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
> > new file mode 100644
> > index 0000000000..fd1bb9edb8
> > --- /dev/null
> > +++
> > b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
> > @@ -0,0 +1,62 @@
> > +From 08a04c025395b0580913285045f2af36ee0985db Mon Sep 17 00:00:00 2001
> > +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
> > +Date: Thu, 15 Jun 2017 16:55:33 +0100
> > +Subject: [PATCH] libc-compat.h: musl _does_ define IFF_LOWER_UP DORMANT
> > ECHO
> > +MIME-Version: 1.0
> > +Content-Type: text/plain; charset=UTF-8
> > +Content-Transfer-Encoding: 8bit
> > +
> > +To trigger this (from connman 6to4.c):
> > +    include <errno.h>
> > +    include <stdio.h>
> > +    include <stdlib.h>
> > +    include <string.h>
> > +    include <sys/socket.h>
> > +    include <netinet/in.h>
> > +    include <arpa/inet.h>
> > +    include <net/if.h>
> > +    include <linux/ip.h>
> > +    include <linux/if_tunnel.h>
> > +    include <linux/netlink.h>
> > +    include <linux/rtnetlink.h>
> > +    include <sys/ioctl.h>
> > +    include <unistd.h>
> > +
> > +In file included from ../git/src/6to4.c:34:0:
> > +/scratch/yocto/build-tgm-r3-poky-fpp-tgm.pyro/tmp/work/tgm_r3-poky-
> > linux-musl/connman/1.33-git4+AUTOINC+aa5b3dc12b-r0/recipe-
> > sysroot/usr/include/linux/if.h:97:2:
> > error: expected identifier before numeric constant
> > +  IFF_LOWER_UP   = 1<<16, /* __volatile__ */
> > +  ^
> > +
> > +This is because at that time, IFF_LOWER_UP has been converted
> > +to 0x10000 already:
> > +enum net_device_flags {
> > + 0x10000 = 1<<16,
> > + 0x20000 = 1<<17,
> > + 0x40000 = 1<<18,
> > +
> > +};
> > +
> > +Upstream-Status: Pending
> > +Signed-off-by: André Draszik <adraszik@tycoint.com>
> > +Acked-by: Stephane Ayotte <sayotte@tycoint.com>
> > +---
> > + include/uapi/linux/libc-compat.h | 3 ++-
> > + 1 file changed, 2 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/include/uapi/linux/libc-compat.h
> > b/include/uapi/linux/libc-compat.h
> > +index f11ec0e..2003ae4 100644
> > +--- a/include/uapi/linux/libc-compat.h
> > ++++ b/include/uapi/linux/libc-compat.h
> > +@@ -70,7 +70,8 @@
> > + #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
> > + /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO
> > */
> > + #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
> > +-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
> > ++/* musl has these defined */
> > ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
> > + #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
> > +
> > + #else /* _NET_IF_H */
> > +--
> > +2.11.0
> > +
> > diff --git a/meta/recipes-kernel/linux-libc-headers/
> > linux-libc-headers_4.10.bb b/meta/recipes-kernel/linux-libc-headers/
> > linux-libc-headers_4.10.bb
> > index 108446aa34..29262789a8 100644
> > --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
> > +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
> > @@ -4,6 +4,7 @@ SRC_URI_append_libc-musl = "\
> >      file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch
> > \
> >      file://0002-libc-compat.h-prevent-redefinition-of-struct-
> > ethhdr.patch
> > \
> >      file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
> > +
> > file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
> >     "
> > 
> >  SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090"
> > --
> > 2.11.0
> > 
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> > 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-22 15:14 [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl André Draszik
  2017-06-22 22:26 ` Khem Raj
@ 2017-06-23 11:42 ` André Draszik
  1 sibling, 0 replies; 10+ messages in thread
From: André Draszik @ 2017-06-23 11:42 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

musl _does_ define IFF_LOWER_UP DORMANT ECHO so we should
prevent redefinition of these when on musl.

As per the included patch, this can be triggered by
(from connman 6to4.c):
    include <errno.h>
    include <stdio.h>
    include <stdlib.h>
    include <string.h>
    include <sys/socket.h>
    include <netinet/in.h>
    include <arpa/inet.h>
    include <net/if.h>
    include <linux/ip.h>
    include <linux/if_tunnel.h>
    include <linux/netlink.h>
    include <linux/rtnetlink.h>
    include <sys/ioctl.h>
    include <unistd.h>

In file included from ../git/src/6to4.c:34:0:
.../usr/include/linux/if.h:97:2: error: expected identifier before numeric constant
  IFF_LOWER_UP   = 1<<16, /* __volatile__ */
  ^

This is because at that time, IFF_LOWER_UP has been converted
to 0x10000 already:
enum net_device_flags {
 0x10000 = 1<<16,
 0x20000 = 1<<17,
 0x40000 = 1<<18,

};

Backport a patch that addresses this.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 ....h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch | 46 ++++++++++++++++++++++
 .../linux-libc-headers/linux-libc-headers_4.10.bb  |  1 +
 2 files changed, 47 insertions(+)
 create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch

diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
new file mode 100644
index 0000000000..bde2132ebf
--- /dev/null
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
@@ -0,0 +1,46 @@
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,2/3] uapi glibc compat: fix build if libc defines IFF_ECHO
+From: Hauke Mehrtens <hauke@hauke-m.de>
+X-Patchwork-Id: 9686293
+Message-Id: <20170418210036.26039-3-hauke@hauke-m.de>
+To: davem@davemloft.net, netdev@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org, jarod@redhat.com, jogo@openwrt.org,
+ david.heidelberger@ixit.cz, maillist-linux@barfooze.de,
+ mikko.rapeli@iki.fi, dwmw2@infradead.org, Hauke Mehrtens <hauke@hauke-m.de>
+Date: Tue, 18 Apr 2017 23:00:35 +0200
+
+musl 1.1.15 defines IFF_ECHO and the other net_device_flags options.
+When a user application includes linux/if.h and net/if.h the compile
+will fail.
+
+Activate __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO only when
+it is needed. This should also make this work in case glibc will add
+these defines.
+
+Acked-by: Mikko Rapeli <mikko.rapeli@iki.fi>
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+Upstream-Status: Submitted [https://patchwork.kernel.org/patch/9686293/]
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+Acked-by: Stephane Ayotte <sayotte@tycoint.com>
+ include/uapi/linux/libc-compat.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h
+index 43a81136ea6e..ce2fa8a4ced6 100644
+--- a/include/uapi/linux/libc-compat.h
++++ b/include/uapi/linux/libc-compat.h
+@@ -64,9 +64,11 @@
+ /* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
+ #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
+ /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
++#ifndef IFF_ECHO
+ #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
+ #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
+ #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
++#endif /* IFF_ECHO */
+ 
+ #else /* _NET_IF_H */
+ 
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
index 108446aa34..29262789a8 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
@@ -4,6 +4,7 @@ SRC_URI_append_libc-musl = "\
     file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
     file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \
     file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
+    file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
    "
 
 SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090"
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-23 10:46   ` André Draszik
@ 2017-06-23 13:37     ` Khem Raj
  2017-06-23 14:17       ` Mikko.Rapeli
  0 siblings, 1 reply; 10+ messages in thread
From: Khem Raj @ 2017-06-23 13:37 UTC (permalink / raw)
  To: André Draszik; +Cc: Patches and discussions about the oe-core layer

On Fri, Jun 23, 2017 at 3:46 AM, André Draszik <git@andred.net> wrote:
> connman is not doing anything wrong here.
>

yes I am aware of this

> The kernel is redefining IFF_LOWER_UP, because it thinks the libc doesn't
> define it yet (and glibc doesn't).
>
> libc-compat.h is the way to solve these kind of issues. There also is https:
> //lkml.org/lkml/2017/3/12/238 which is very similar. I'll pick that instead.
>
see the comment https://lkml.org/lkml/2017/3/16/121
that worries me for this patch

I am not questioning the correctness of patch too. But
it would be better to get this patch accepted into kernel
before applying to OE since these are kind of patches which
you can get stuck with for life if upstream is not accepting it.

> Cheers,
> Andre'
>
> On Thu, 2017-06-22 at 22:26 +0000, Khem Raj wrote:
>> I would rather fix the package instead of kernel headers unless kernel
>> community accepts this patch
>>
>> On Thu, Jun 22, 2017 at 11:14 AM André Draszik <git@andred.net> wrote:
>>
>> > From: André Draszik <adraszik@tycoint.com>
>> >
>> > musl _does_ define IFF_LOWER_UP DORMANT ECHO so we should
>> > prevent redefinition of these when on musl.
>> >
>> > As per the included patch, this can be triggered by
>> > (from connman 6to4.c):
>> >     include <errno.h>
>> >     include <stdio.h>
>> >     include <stdlib.h>
>> >     include <string.h>
>> >     include <sys/socket.h>
>> >     include <netinet/in.h>
>> >     include <arpa/inet.h>
>> >     include <net/if.h>
>> >     include <linux/ip.h>
>> >     include <linux/if_tunnel.h>
>> >     include <linux/netlink.h>
>> >     include <linux/rtnetlink.h>
>> >     include <sys/ioctl.h>
>> >     include <unistd.h>
>> >
>> > In file included from ../git/src/6to4.c:34:0:
>> > .../usr/include/linux/if.h:97:2: error: expected identifier before
>> > numeric
>> > constant
>> >   IFF_LOWER_UP   = 1<<16, /* __volatile__ */
>> >   ^
>> >
>> > This is because at that time, IFF_LOWER_UP has been converted
>> > to 0x10000 already:
>> > enum net_device_flags {
>> >  0x10000 = 1<<16,
>> >  0x20000 = 1<<17,
>> >  0x40000 = 1<<18,
>> >
>> > };
>> >
>> > By defining __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
>> > to 0, we avoid the duplicated definition.
>> >
>> > Signed-off-by: André Draszik <adraszik@tycoint.com>
>> > ---
>> >  ....h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch | 62
>> > ++++++++++++++++++++++
>> >  .../linux-libc-headers/linux-libc-headers_4.10.bb  |  1 +
>> >  2 files changed, 63 insertions(+)
>> >  create mode 100644
>> > meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
>> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
>> >
>> > diff --git
>> > a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
>> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
>> > b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
>> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
>> > new file mode 100644
>> > index 0000000000..fd1bb9edb8
>> > --- /dev/null
>> > +++
>> > b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-
>> > compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch
>> > @@ -0,0 +1,62 @@
>> > +From 08a04c025395b0580913285045f2af36ee0985db Mon Sep 17 00:00:00 2001
>> > +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
>> > +Date: Thu, 15 Jun 2017 16:55:33 +0100
>> > +Subject: [PATCH] libc-compat.h: musl _does_ define IFF_LOWER_UP DORMANT
>> > ECHO
>> > +MIME-Version: 1.0
>> > +Content-Type: text/plain; charset=UTF-8
>> > +Content-Transfer-Encoding: 8bit
>> > +
>> > +To trigger this (from connman 6to4.c):
>> > +    include <errno.h>
>> > +    include <stdio.h>
>> > +    include <stdlib.h>
>> > +    include <string.h>
>> > +    include <sys/socket.h>
>> > +    include <netinet/in.h>
>> > +    include <arpa/inet.h>
>> > +    include <net/if.h>
>> > +    include <linux/ip.h>
>> > +    include <linux/if_tunnel.h>
>> > +    include <linux/netlink.h>
>> > +    include <linux/rtnetlink.h>
>> > +    include <sys/ioctl.h>
>> > +    include <unistd.h>
>> > +
>> > +In file included from ../git/src/6to4.c:34:0:
>> > +/scratch/yocto/build-tgm-r3-poky-fpp-tgm.pyro/tmp/work/tgm_r3-poky-
>> > linux-musl/connman/1.33-git4+AUTOINC+aa5b3dc12b-r0/recipe-
>> > sysroot/usr/include/linux/if.h:97:2:
>> > error: expected identifier before numeric constant
>> > +  IFF_LOWER_UP   = 1<<16, /* __volatile__ */
>> > +  ^
>> > +
>> > +This is because at that time, IFF_LOWER_UP has been converted
>> > +to 0x10000 already:
>> > +enum net_device_flags {
>> > + 0x10000 = 1<<16,
>> > + 0x20000 = 1<<17,
>> > + 0x40000 = 1<<18,
>> > +
>> > +};
>> > +
>> > +Upstream-Status: Pending
>> > +Signed-off-by: André Draszik <adraszik@tycoint.com>
>> > +Acked-by: Stephane Ayotte <sayotte@tycoint.com>
>> > +---
>> > + include/uapi/linux/libc-compat.h | 3 ++-
>> > + 1 file changed, 2 insertions(+), 1 deletion(-)
>> > +
>> > +diff --git a/include/uapi/linux/libc-compat.h
>> > b/include/uapi/linux/libc-compat.h
>> > +index f11ec0e..2003ae4 100644
>> > +--- a/include/uapi/linux/libc-compat.h
>> > ++++ b/include/uapi/linux/libc-compat.h
>> > +@@ -70,7 +70,8 @@
>> > + #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
>> > + /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO
>> > */
>> > + #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
>> > +-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
>> > ++/* musl has these defined */
>> > ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
>> > + #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
>> > +
>> > + #else /* _NET_IF_H */
>> > +--
>> > +2.11.0
>> > +
>> > diff --git a/meta/recipes-kernel/linux-libc-headers/
>> > linux-libc-headers_4.10.bb b/meta/recipes-kernel/linux-libc-headers/
>> > linux-libc-headers_4.10.bb
>> > index 108446aa34..29262789a8 100644
>> > --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
>> > +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb
>> > @@ -4,6 +4,7 @@ SRC_URI_append_libc-musl = "\
>> >      file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch
>> > \
>> >      file://0002-libc-compat.h-prevent-redefinition-of-struct-
>> > ethhdr.patch
>> > \
>> >      file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
>> > +
>> > file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
>> >     "
>> >
>> >  SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090"
>> > --
>> > 2.11.0
>> >
>> > --
>> > _______________________________________________
>> > Openembedded-core mailing list
>> > Openembedded-core@lists.openembedded.org
>> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> >
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-23 13:37     ` Khem Raj
@ 2017-06-23 14:17       ` Mikko.Rapeli
  2017-06-23 23:20         ` Khem Raj
  0 siblings, 1 reply; 10+ messages in thread
From: Mikko.Rapeli @ 2017-06-23 14:17 UTC (permalink / raw)
  To: raj.khem; +Cc: openembedded-core

Hi,

I'm chipping in since I've been messing with these things a bit in upstream
Linux kernel.

On Fri, Jun 23, 2017 at 06:37:52AM -0700, Khem Raj wrote:
> On Fri, Jun 23, 2017 at 3:46 AM, André Draszik <git@andred.net> wrote:
> > connman is not doing anything wrong here.
> >
> 
> yes I am aware of this
> 
> > The kernel is redefining IFF_LOWER_UP, because it thinks the libc doesn't
> > define it yet (and glibc doesn't).
> >
> > libc-compat.h is the way to solve these kind of issues. There also is https:
> > //lkml.org/lkml/2017/3/12/238 which is very similar. I'll pick that instead.
> >
> see the comment https://lkml.org/lkml/2017/3/16/121
> that worries me for this patch

I'm aware of those review comments but I have not seen any patches posted which
fix the problem in some other way. Thus I would propose to apply these patches
as a workaround until upstream fixes the issues.

These header files do not change that often either.

> I am not questioning the correctness of patch too. But
> it would be better to get this patch accepted into kernel
> before applying to OE since these are kind of patches which
> you can get stuck with for life if upstream is not accepting it.

Upstream-Status: Denied

would be a correct marker for now I guess.

Hope this helps,

-Mikko

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-23 14:17       ` Mikko.Rapeli
@ 2017-06-23 23:20         ` Khem Raj
  2017-06-23 23:41           ` Denys Dmytriyenko
  2017-06-26  7:02           ` Mikko.Rapeli
  0 siblings, 2 replies; 10+ messages in thread
From: Khem Raj @ 2017-06-23 23:20 UTC (permalink / raw)
  To: Mikko.Rapeli; +Cc: Patches and discussions about the oe-core layer

On Fri, Jun 23, 2017 at 7:17 AM,  <Mikko.Rapeli@bmw.de> wrote:
> Hi,
>
> I'm chipping in since I've been messing with these things a bit in upstream
> Linux kernel.
>
> On Fri, Jun 23, 2017 at 06:37:52AM -0700, Khem Raj wrote:
>> On Fri, Jun 23, 2017 at 3:46 AM, André Draszik <git@andred.net> wrote:
>> > connman is not doing anything wrong here.
>> >
>>
>> yes I am aware of this
>>
>> > The kernel is redefining IFF_LOWER_UP, because it thinks the libc doesn't
>> > define it yet (and glibc doesn't).
>> >
>> > libc-compat.h is the way to solve these kind of issues. There also is https:
>> > //lkml.org/lkml/2017/3/12/238 which is very similar. I'll pick that instead.
>> >
>> see the comment https://lkml.org/lkml/2017/3/16/121
>> that worries me for this patch
>
> I'm aware of those review comments but I have not seen any patches posted which
> fix the problem in some other way. Thus I would propose to apply these patches
> as a workaround until upstream fixes the issues.
>
> These header files do not change that often either.

problem is you become incompatible ABI forever that worries me.
However if bruce is fine to carry this patch as part of linux-yocto
I might relent. It still will be hassle where folks will have to apply
this patch to there kernels if they are building musl based systems.

>
>> I am not questioning the correctness of patch too. But
>> it would be better to get this patch accepted into kernel
>> before applying to OE since these are kind of patches which
>> you can get stuck with for life if upstream is not accepting it.
>
> Upstream-Status: Denied
>
> would be a correct marker for now I guess.

I would rather see some progress made to get it resolved :)
we need to actually remove glibc'ness completely from kernel.
and this will fix itself.
>
> Hope this helps,
>
> -Mikko


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-23 23:20         ` Khem Raj
@ 2017-06-23 23:41           ` Denys Dmytriyenko
  2017-06-24  0:54             ` Andre McCurdy
  2017-06-26  7:02           ` Mikko.Rapeli
  1 sibling, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2017-06-23 23:41 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

On Fri, Jun 23, 2017 at 04:20:41PM -0700, Khem Raj wrote:
> On Fri, Jun 23, 2017 at 7:17 AM,  <Mikko.Rapeli@bmw.de> wrote:
> > Hi,
> >
> > I'm chipping in since I've been messing with these things a bit in upstream
> > Linux kernel.
> >
> > On Fri, Jun 23, 2017 at 06:37:52AM -0700, Khem Raj wrote:
> >> On Fri, Jun 23, 2017 at 3:46 AM, André Draszik <git@andred.net> wrote:
> >> > connman is not doing anything wrong here.
> >> >
> >>
> >> yes I am aware of this
> >>
> >> > The kernel is redefining IFF_LOWER_UP, because it thinks the libc doesn't
> >> > define it yet (and glibc doesn't).
> >> >
> >> > libc-compat.h is the way to solve these kind of issues. There also is https:
> >> > //lkml.org/lkml/2017/3/12/238 which is very similar. I'll pick that instead.
> >> >
> >> see the comment https://lkml.org/lkml/2017/3/16/121
> >> that worries me for this patch
> >
> > I'm aware of those review comments but I have not seen any patches posted which
> > fix the problem in some other way. Thus I would propose to apply these patches
> > as a workaround until upstream fixes the issues.
> >
> > These header files do not change that often either.
> 
> problem is you become incompatible ABI forever that worries me.

+1


> However if bruce is fine to carry this patch as part of linux-yocto
> I might relent. It still will be hassle where folks will have to apply
> this patch to there kernels if they are building musl based systems.

Don't forget that not everyone is using linux-yocto kernel!


> >> I am not questioning the correctness of patch too. But
> >> it would be better to get this patch accepted into kernel
> >> before applying to OE since these are kind of patches which
> >> you can get stuck with for life if upstream is not accepting it.
> >
> > Upstream-Status: Denied
> >
> > would be a correct marker for now I guess.
> 
> I would rather see some progress made to get it resolved :)
> we need to actually remove glibc'ness completely from kernel.
> and this will fix itself.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-23 23:41           ` Denys Dmytriyenko
@ 2017-06-24  0:54             ` Andre McCurdy
  0 siblings, 0 replies; 10+ messages in thread
From: Andre McCurdy @ 2017-06-24  0:54 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: Patches and discussions about the oe-core layer

On Fri, Jun 23, 2017 at 4:41 PM, Denys Dmytriyenko <denis@denix.org> wrote:
> On Fri, Jun 23, 2017 at 04:20:41PM -0700, Khem Raj wrote:
>> On Fri, Jun 23, 2017 at 7:17 AM,  <Mikko.Rapeli@bmw.de> wrote:
>> > Hi,
>> >
>> > I'm chipping in since I've been messing with these things a bit in upstream
>> > Linux kernel.
>> >
>> > On Fri, Jun 23, 2017 at 06:37:52AM -0700, Khem Raj wrote:
>> >> On Fri, Jun 23, 2017 at 3:46 AM, André Draszik <git@andred.net> wrote:
>> >> > connman is not doing anything wrong here.
>> >> >
>> >>
>> >> yes I am aware of this
>> >>
>> >> > The kernel is redefining IFF_LOWER_UP, because it thinks the libc doesn't
>> >> > define it yet (and glibc doesn't).
>> >> >
>> >> > libc-compat.h is the way to solve these kind of issues. There also is https:
>> >> > //lkml.org/lkml/2017/3/12/238 which is very similar. I'll pick that instead.
>> >> >
>> >> see the comment https://lkml.org/lkml/2017/3/16/121
>> >> that worries me for this patch
>> >
>> > I'm aware of those review comments but I have not seen any patches posted which
>> > fix the problem in some other way. Thus I would propose to apply these patches
>> > as a workaround until upstream fixes the issues.
>> >
>> > These header files do not change that often either.
>>
>> problem is you become incompatible ABI forever that worries me.
>
> +1
>
>> However if bruce is fine to carry this patch as part of linux-yocto
>> I might relent. It still will be hassle where folks will have to apply
>> this patch to there kernels if they are building musl based systems.
>
> Don't forget that not everyone is using linux-yocto kernel!

Neither is linux-libc-headers, so getting these musl patches into the
linux-yocto kernel isn't going to change much...

>> >> I am not questioning the correctness of patch too. But
>> >> it would be better to get this patch accepted into kernel
>> >> before applying to OE since these are kind of patches which
>> >> you can get stuck with for life if upstream is not accepting it.
>> >
>> > Upstream-Status: Denied
>> >
>> > would be a correct marker for now I guess.
>>
>> I would rather see some progress made to get it resolved :)
>> we need to actually remove glibc'ness completely from kernel.
>> and this will fix itself.
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl
  2017-06-23 23:20         ` Khem Raj
  2017-06-23 23:41           ` Denys Dmytriyenko
@ 2017-06-26  7:02           ` Mikko.Rapeli
  1 sibling, 0 replies; 10+ messages in thread
From: Mikko.Rapeli @ 2017-06-26  7:02 UTC (permalink / raw)
  To: raj.khem; +Cc: mikko.rapeli, openembedded-core

On Fri, Jun 23, 2017 at 04:20:41PM -0700, Khem Raj wrote:
> On Fri, Jun 23, 2017 at 7:17 AM,  <Mikko.Rapeli@bmw.de> wrote:
> > Hi,
> >
> > I'm chipping in since I've been messing with these things a bit in upstream
> > Linux kernel.
> >
> > On Fri, Jun 23, 2017 at 06:37:52AM -0700, Khem Raj wrote:
> >> On Fri, Jun 23, 2017 at 3:46 AM, André Draszik <git@andred.net> wrote:
> >> > connman is not doing anything wrong here.
> >> >
> >>
> >> yes I am aware of this
> >>
> >> > The kernel is redefining IFF_LOWER_UP, because it thinks the libc doesn't
> >> > define it yet (and glibc doesn't).
> >> >
> >> > libc-compat.h is the way to solve these kind of issues. There also is https:
> >> > //lkml.org/lkml/2017/3/12/238 which is very similar. I'll pick that instead.
> >> >
> >> see the comment https://lkml.org/lkml/2017/3/16/121
> >> that worries me for this patch
> >
> > I'm aware of those review comments but I have not seen any patches posted which
> > fix the problem in some other way. Thus I would propose to apply these patches
> > as a workaround until upstream fixes the issues.
> >
> > These header files do not change that often either.
> 
> problem is you become incompatible ABI forever that worries me.
> However if bruce is fine to carry this patch as part of linux-yocto
> I might relent. It still will be hassle where folks will have to apply
> this patch to there kernels if they are building musl based systems.

API or ABI? But agreed this is a problem.

> >
> >> I am not questioning the correctness of patch too. But
> >> it would be better to get this patch accepted into kernel
> >> before applying to OE since these are kind of patches which
> >> you can get stuck with for life if upstream is not accepting it.
> >
> > Upstream-Status: Denied
> >
> > would be a correct marker for now I guess.
> 
> I would rather see some progress made to get it resolved :)
> we need to actually remove glibc'ness completely from kernel.
> and this will fix itself.

Yes. With the glibc'ness in the kernel headers I was just following existing
examples and adding some more. Some of those changes got accepted and only
later came the resistance to remove glibc'ness completely. No-one else
has proposed patches. Maybe I should invent some hobby project time again
for this...

-Mikko

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-06-26  7:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-22 15:14 [PATCH] linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl André Draszik
2017-06-22 22:26 ` Khem Raj
2017-06-23 10:46   ` André Draszik
2017-06-23 13:37     ` Khem Raj
2017-06-23 14:17       ` Mikko.Rapeli
2017-06-23 23:20         ` Khem Raj
2017-06-23 23:41           ` Denys Dmytriyenko
2017-06-24  0:54             ` Andre McCurdy
2017-06-26  7:02           ` Mikko.Rapeli
2017-06-23 11:42 ` [PATCH v2] " André Draszik

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.