connman: fix crash with iptables 1.6

The struct of xtables_globals has been modified in iptables 1.6.
If connman runs with iptables 1.6, it can crash.

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
0xb7dea89c in xtables_find_target () from /usr/lib/libxtables.so.11
0xb7deac1c in ?? () from /usr/lib/libxtables.so.11
0xb7dea793 in xtables_find_target () from /usr/lib/libxtables.so.11

The the missing function item of xtables is added to xtables_globals.
It can fix the above issue.

(From OE-Core rev: ae64dc3af8c49ef53ab3e847f7761cf5e59c5998)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Maxin B. John 2016-01-28 14:37:21 +02:00 committed by Richard Purdie
parent 7f54fab993
commit 51cebbfdd2
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,42 @@
From acea08a0e4234a4c1a87bedc087c73ff36de0c7b Mon Sep 17 00:00:00 2001
From: Wu Zheng <wu.zheng@intel.com>
Date: Thu, 28 Jan 2016 18:04:17 +0800
Subject: [PATCH] iptables: Add missing function item of xtables to match
iptables 1.6
The struct of xtables_globals has been modified in iptables 1.6.
If connman runs with iptables 1.6, it can crash.
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
0xb7dea89c in xtables_find_target () from /usr/lib/libxtables.so.11
0xb7deac1c in ?? () from /usr/lib/libxtables.so.11
0xb7dea793 in xtables_find_target () from /usr/lib/libxtables.so.11
The the missing function item of xtables is added to xtables_globals.
Upstream-Status: Backport
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Wu Zheng <wu.zheng@intel.com>
---
src/iptables.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/iptables.c b/src/iptables.c
index bc0c763..5ef757a 100644
--- a/src/iptables.c
+++ b/src/iptables.c
@@ -1566,6 +1566,9 @@ struct xtables_globals iptables_globals = {
.option_offset = 0,
.opts = iptables_opts,
.orig_opts = iptables_opts,
+#if XTABLES_VERSION_CODE > 10
+ .compat_rev = xtables_compatible_revision,
+#endif
};
static struct xtables_target *prepare_target(struct connman_iptables *table,
--
2.4.0

View File

@ -5,6 +5,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://0001-Detect-backtrace-API-availability-before-using-it.patch \
file://0002-resolve-musl-does-not-implement-res_ninit.patch \
file://0003-Fix-header-inclusions-for-musl.patch \
file://0001-iptables-Add-missing-function-item-of-xtables-to-mat.patch \
file://connman \
"
SRC_URI[md5sum] = "cb1c413fcc4f49430294bbd7a92f5f3c"