summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMingli Yu <Mingli.Yu@windriver.com>2019-04-12 11:27:57 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-04-12 13:40:21 +0100
commit861e0ad2a3d5e0ea4530d6375e2c0897c8bb2102 (patch)
tree953b2668e177e8a6aea258d0345dc44e5b0bf2c2 /meta
parent047aab4f458951855c38ab6e7f923d14aba62555 (diff)
downloadpoky-861e0ad2a3d5e0ea4530d6375e2c0897c8bb2102.tar.gz
nettle: fix ptest failure
Remove dlopen-test.patch which originally used to fix the test dlopen-test, but autually the patch didn't resolve the issue as dlopen-test.patch supposes the file /usr/lib/libnettle.so exists. Instead deploy ${D}${PTEST_PATH}/libnettle.so to fix the dlopen-test failure. Update the initialization for the salt to fix below Segmentation fault and also nettle-pbkdf2-test failure. # echo -n passwd| nettle-pbkdf2 -i 1 -l 16 salt [65534.886509] nettle-pbkdf2[708]: segfault at 1f594260 ip 00007f3332256998 sp 00007fff60d44410 error 4 in libnettle.so.6.5[7f3332244000+1d00] [65534.887525] Code: e8 6d db fe ff 44 01 6d 68 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 2e 0f 1f 84 00 00 00 00 00 49 89 dc e9 68 ff f Segmentation fault (From OE-Core rev: 83faaf7b2a5f4fc4ae504b300134409e90389770) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-support/nettle/nettle-3.4.1/0001-nettle-pbkdf2.c-change-the-initialization-for-salt.patch39
-rw-r--r--meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch20
-rw-r--r--meta/recipes-support/nettle/nettle_3.4.1.bb9
3 files changed, 44 insertions, 24 deletions
diff --git a/meta/recipes-support/nettle/nettle-3.4.1/0001-nettle-pbkdf2.c-change-the-initialization-for-salt.patch b/meta/recipes-support/nettle/nettle-3.4.1/0001-nettle-pbkdf2.c-change-the-initialization-for-salt.patch
new file mode 100644
index 0000000000..713823e294
--- /dev/null
+++ b/meta/recipes-support/nettle/nettle-3.4.1/0001-nettle-pbkdf2.c-change-the-initialization-for-salt.patch
@@ -0,0 +1,39 @@
1From 7510ee2877368464ecce7de515ce056e08c75245 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <Mingli.Yu@windriver.com>
3Date: Fri, 12 Apr 2019 10:30:14 +0800
4Subject: [PATCH] nettle-pbkdf2.c: change the initialization for salt
5
6use malloc and strncpy altogether to replace
7strdup for salt initialization to fix below
8Segmentation fault:
9 # echo -n passwd| nettle-pbkdf2 -i 1 -l 16 salt
10 [65534.886509] nettle-pbkdf2[708]: segfault at 1f594260 ip 00007f3332256998 sp 00007fff60d44410 error 4 in libnettle.so.6.5[7f3332244000+1d00]
11 [65534.887525] Code: e8 6d db fe ff 44 01 6d 68 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 2e 0f 1f 84 00 00 00 00 00 49 89 dc e9 68 ff f
12 Segmentation fault
13
14Upstream-Status: Submitted[http://lists.lysator.liu.se/pipermail/nettle-bugs/2019/007467.html]
15
16Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
17---
18 tools/nettle-pbkdf2.c | 5 ++++-
19 1 file changed, 4 insertions(+), 1 deletion(-)
20
21diff --git a/tools/nettle-pbkdf2.c b/tools/nettle-pbkdf2.c
22index 1f0a301..000acd3 100644
23--- a/tools/nettle-pbkdf2.c
24+++ b/tools/nettle-pbkdf2.c
25@@ -141,7 +141,10 @@ main (int argc, char **argv)
26 return EXIT_FAILURE;
27 }
28
29- salt = strdup (argv[0]);
30+ salt = malloc (strlen(argv[0]) + 1);
31+ if (! salt)
32+ die ("Failed to allocate memory for salt\n");
33+ strncpy(salt, argv[0], sizeof(salt) - 1);
34 salt_length = strlen(argv[0]);
35
36 if (hex_salt)
37--
382.7.4
39
diff --git a/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch b/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
deleted file mode 100644
index c4f0b7ea1c..0000000000
--- a/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1Replace relative path of libnettle.so with absolute path so the test
2program can find it.
3Relative paths are not suitable, as the folder strucure for ptest
4is different from the one expected by the nettle testsuite.
5
6Upstream-Status: Inappropriate [embedded specific]
7
8Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
9
10--- a/testsuite/dlopen-test.c 2016-10-01 00:28:38.000000000 -0700
11+++ b/testsuite/dlopen-test.c 2017-10-13 11:08:57.227572860 -0700
12@@ -9,7 +9,7 @@
13 main (int argc UNUSED, char **argv UNUSED)
14 {
15 #if HAVE_LIBDL
16- void *handle = dlopen ("../libnettle.so", RTLD_NOW);
17+ void *handle = dlopen ("/usr/lib/libnettle.so", RTLD_NOW);
18 int (*get_version)(void);
19 if (!handle)
20 {
diff --git a/meta/recipes-support/nettle/nettle_3.4.1.bb b/meta/recipes-support/nettle/nettle_3.4.1.bb
index dd49c30c84..612e058862 100644
--- a/meta/recipes-support/nettle/nettle_3.4.1.bb
+++ b/meta/recipes-support/nettle/nettle_3.4.1.bb
@@ -14,12 +14,9 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
14 file://Add-target-to-only-build-tests-not-run-them.patch \ 14 file://Add-target-to-only-build-tests-not-run-them.patch \
15 file://run-ptest \ 15 file://run-ptest \
16 file://check-header-files-of-openssl-only-if-enable_.patch \ 16 file://check-header-files-of-openssl-only-if-enable_.patch \
17 file://0001-nettle-pbkdf2.c-change-the-initialization-for-salt.patch \
17 " 18 "
18 19
19SRC_URI_append_class-target = "\
20 file://dlopen-test.patch \
21 "
22
23SRC_URI[md5sum] = "9bdebb0e2f638d3b9d91f7fc264b70c1" 20SRC_URI[md5sum] = "9bdebb0e2f638d3b9d91f7fc264b70c1"
24SRC_URI[sha256sum] = "f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad" 21SRC_URI[sha256sum] = "f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad"
25 22
@@ -47,6 +44,10 @@ do_install_ptest() {
47 # tools can be found in PATH, not in ../tools/ 44 # tools can be found in PATH, not in ../tools/
48 sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test 45 sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
49 install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ 46 install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
47 # libnettle.so is needed for dlopen-test
48 if [ -f ${D}${libdir}/libnettle.so.6.* ]; then
49 cp ${D}${libdir}/libnettle.so.6.* ${D}${PTEST_PATH}/libnettle.so
50 fi
50} 51}
51 52
52BBCLASSEXTEND = "native nativesdk" 53BBCLASSEXTEND = "native nativesdk"