summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2014-06-16 06:49:18 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-17 08:59:04 +0100
commit48b1390233f8f2b64adc9ef9b5e59426014b5596 (patch)
treeff158fb127a2340c781c688ebb8c67314b0c2527
parent362ef0ab408ead92f4e2689386e93dd32450896d (diff)
downloadpoky-48b1390233f8f2b64adc9ef9b5e59426014b5596.tar.gz
systemd: check IFLA_VLAN_PROTOCOL
The older kernel's linux/if_link.h doesn't have IFLA_VLAN_PROTOCOL, we need check whether it has been defined or not. The maintainer said that he would fix it: http://thread.gmane.org/gmane.comp.sysutils.systemd.devel/18200 Also we need redefine IFLA_MAX from 34 to 35 when define IFLA_CARRIER, otherwise there would be error: | src/libsystemd/sd-rtnl/rtnl-types.c:233:9: error: array index in initializer exceeds array bounds | [IFLA_CARRIER] = { .type = NLA_U8 }, [YOCTO #6380] (From OE-Core rev: 0e626d5023fee4dbcc5d94e6b787b4c5fe4b2687) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/systemd/systemd/systemd-older-kernel.patch56
-rw-r--r--meta/recipes-core/systemd/systemd_213.bb2
2 files changed, 57 insertions, 1 deletions
diff --git a/meta/recipes-core/systemd/systemd/systemd-older-kernel.patch b/meta/recipes-core/systemd/systemd/systemd-older-kernel.patch
new file mode 100644
index 0000000000..18b50e797a
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/systemd-older-kernel.patch
@@ -0,0 +1,56 @@
1From 6109f02dcc4f2d7a461c5772bab494f5753a2203 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Thu, 29 May 2014 08:09:07 +0000
4Subject: [PATCH] rtnl-types.c: check IFLA_VLAN_PROTOCOL
5
6The older kernel's linux/if_link.h doesn't have IFLA_VLAN_PROTOCOL, we need
7check whether it has been defined or not.
8
9The maintainer said that he would fix it:
10
11http://thread.gmane.org/gmane.comp.sysutils.systemd.devel/18200
12
13Also we need redefine IFLA_MAX from 34 to 35 when define IFLA_CARRIER,
14otherwise there would be error:
15
16| src/libsystemd/sd-rtnl/rtnl-types.c:233:9: error: array index in initializer exceeds array bounds
17| [IFLA_CARRIER] = { .type = NLA_U8 },
18
19Upstream-Status: Pending
20
21Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
22---
23 src/libsystemd/sd-rtnl/rtnl-types.c | 2 ++
24 src/shared/missing.h | 2 ++
25 2 files changed, 4 insertions(+)
26
27diff --git a/src/libsystemd/sd-rtnl/rtnl-types.c b/src/libsystemd/sd-rtnl/rtnl-types.c
28index 44ac5ec..ab6161f 100644
29--- a/src/libsystemd/sd-rtnl/rtnl-types.c
30+++ b/src/libsystemd/sd-rtnl/rtnl-types.c
31@@ -67,7 +67,9 @@ static const NLType rtnl_link_info_data_vlan_types[IFLA_VLAN_MAX + 1] = {
32 [IFLA_VLAN_EGRESS_QOS] = { .type = NLA_NESTED },
33 [IFLA_VLAN_INGRESS_QOS] = { .type = NLA_NESTED },
34 */
35+#ifdef IFLA_VLAN_PROTOCOL
36 [IFLA_VLAN_PROTOCOL] = { .type = NLA_U16 },
37+#endif
38 };
39
40 static const NLType rtnl_link_info_data_bond_types[IFLA_BOND_MAX + 1] = {
41diff --git a/src/shared/missing.h b/src/shared/missing.h
42index d5ec2f8..732853f 100644
43--- a/src/shared/missing.h
44+++ b/src/shared/missing.h
45@@ -94,6 +94,8 @@
46
47 #ifndef IFLA_CARRIER
48 #define IFLA_CARRIER 33
49+ #undef IFLA_MAX
50+ #define IFLA_MAX 35
51 #ifndef IFLA_NUM_RX_QUEUES
52 #define IFLA_NUM_RX_QUEUES 32
53 #ifndef IFLA_NUM_TX_QUEUES
54--
551.8.3.4
56
diff --git a/meta/recipes-core/systemd/systemd_213.bb b/meta/recipes-core/systemd/systemd_213.bb
index 5f9057673c..279cf23097 100644
--- a/meta/recipes-core/systemd/systemd_213.bb
+++ b/meta/recipes-core/systemd/systemd_213.bb
@@ -31,11 +31,11 @@ SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;branch=master;protocol=
31 file://0001-uClibc-doesn-t-implement-pwritev-preadv.patch \ 31 file://0001-uClibc-doesn-t-implement-pwritev-preadv.patch \
32 file://uclibc-sysinfo_h.patch \ 32 file://uclibc-sysinfo_h.patch \
33 file://uclibc-get-physmem.patch \ 33 file://uclibc-get-physmem.patch \
34 \
35 file://touchscreen.rules \ 34 file://touchscreen.rules \
36 file://00-create-volatile.conf \ 35 file://00-create-volatile.conf \
37 file://init \ 36 file://init \
38 file://run-ptest \ 37 file://run-ptest \
38 file://systemd-older-kernel.patch \
39 " 39 "
40 40
41S = "${WORKDIR}/git" 41S = "${WORKDIR}/git"