[OE-core] [PATCH 1/1] ltp: upgrade to upstream latest commit on 20170804

Dengke Du dengke.du at windriver.com
Fri Aug 4 09:54:22 UTC 2017


drop 4 patches because the upstream already contains them:

    0001-dirtyc0w-Include-stdint.h.patch
    0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch
    0037-faccessat-and-fchmodat-Fix-build-warnings.patch
    file://0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch

drop the do_compile_prepend function, because the upstream already fix
the parallel make race, we can check it here:

    https://github.com/linux-test-project/ltp/commit/3f385652efe811fe7491474f8513baf44cf0a12d

Signed-off-by: Dengke Du <dengke.du at windriver.com>
---
 .../ltp/ltp/0001-dirtyc0w-Include-stdint.h.patch   |  34 ------
 ...TH_MAX-undeclared-when-building-with-musl.patch |  31 -----
 ...faccessat-and-fchmodat-Fix-build-warnings.patch |  68 -----------
 ...d_key02-update-to-test-fix-for-nonempty-N.patch | 136 ---------------------
 meta/recipes-extended/ltp/ltp_20170516.bb          |  14 +--
 5 files changed, 1 insertion(+), 282 deletions(-)
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-dirtyc0w-Include-stdint.h.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0037-faccessat-and-fchmodat-Fix-build-warnings.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch

diff --git a/meta/recipes-extended/ltp/ltp/0001-dirtyc0w-Include-stdint.h.patch b/meta/recipes-extended/ltp/ltp/0001-dirtyc0w-Include-stdint.h.patch
deleted file mode 100644
index 5c73be4..0000000
--- a/meta/recipes-extended/ltp/ltp/0001-dirtyc0w-Include-stdint.h.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 1b30d8dac1a37dc0abbb3b545db2824d6489e23f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem at gmail.com>
-Date: Fri, 9 Jun 2017 09:32:13 -0700
-Subject: [PATCH] dirtyc0w: Include stdint.h
-
-uintptr_t is defined in stdint.h
-
-Fixes
-| dirtyc0w_child.c:76:15: error: 'uintptr_t' undeclared (first use in this function); did you mean 'intptr_t'?
-|    lseek(mfd, (uintptr_t) map, SEEK_SET);
-|                ^~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem at gmail.com>
----
-Upstream-Status: Submitted
-
- testcases/kernel/security/dirtyc0w/dirtyc0w_child.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/testcases/kernel/security/dirtyc0w/dirtyc0w_child.c b/testcases/kernel/security/dirtyc0w/dirtyc0w_child.c
-index 5328a9bc4..49abdd6ba 100644
---- a/testcases/kernel/security/dirtyc0w/dirtyc0w_child.c
-+++ b/testcases/kernel/security/dirtyc0w/dirtyc0w_child.c
-@@ -23,6 +23,7 @@
- #include <sys/stat.h>
- #include <string.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <pwd.h>
- 
- #include "tst_safe_pthread.h"
--- 
-2.13.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch b/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch
deleted file mode 100644
index 020ddfe..0000000
--- a/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b906ec2fe4711a727e198cd9259287c042eef8e2 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du at windriver.com>
-Date: Thu, 9 Feb 2017 16:41:12 +0800
-Subject: [PATCH] fix PATH_MAX undeclared when building with musl
-
-fix PATH_MAX undeclared when building with musl.
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/176]
-
-Signed-off-by: Dengke Du <dengke.du at windriver.com>
----
- include/tst_test.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/tst_test.h b/include/tst_test.h
-index 335c82684..4dfa1511b 100644
---- a/include/tst_test.h
-+++ b/include/tst_test.h
-@@ -23,6 +23,9 @@
- #endif /* __TEST_H__ */
- 
- #include <unistd.h>
-+#ifndef __GLIBC__
-+#include <limits.h>
-+#endif
- 
- #include "tst_common.h"
- #include "tst_res_flags.h"
--- 
-2.11.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0037-faccessat-and-fchmodat-Fix-build-warnings.patch b/meta/recipes-extended/ltp/ltp/0037-faccessat-and-fchmodat-Fix-build-warnings.patch
deleted file mode 100644
index 99497d6..0000000
--- a/meta/recipes-extended/ltp/ltp/0037-faccessat-and-fchmodat-Fix-build-warnings.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 4141bdb441f7576a2e73abeb2a0fb1c7b8bd8647 Mon Sep 17 00:00:00 2001
-From: Naresh Kamboju <naresh.kamboju at linaro.org>
-Date: Mon, 19 Jun 2017 19:01:21 +0530
-Subject: [PATCH 1/7] faccessat and fchmodat: Fix build warnings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixing below build warnings.
-
-ltp-full-20170516/testcases/kernel/syscalls/faccessat$ make
-In file included from ../../../../include/old/test.h:51:0,
-                 from faccessat01.c:44:
-faccessat01.c: In function ‘setup’:
-../../../../include/old/old_safe_file_ops.h:55:27:
-warning: format not a string literal and no format arguments [-Wformat-security]
-                   (path), (fmt), ## __VA_ARGS__)
-                           ^
-faccessat01.c:132:2: note: in expansion of macro ‘SAFE_FILE_PRINTF’
-  SAFE_FILE_PRINTF(cleanup, testfile, testfile);
-  ^
-../../../../include/old/old_safe_file_ops.h:55:27:
-warning: format not a string literal and no format arguments [-Wformat-security]
-                   (path), (fmt), ## __VA_ARGS__)
-                           ^
-faccessat01.c:133:2: note: in expansion of macro ‘SAFE_FILE_PRINTF’
-  SAFE_FILE_PRINTF(cleanup, testfile2, testfile2);
-
-Signed-off-by: Naresh Kamboju <naresh.kamboju at linaro.org>
-Upstream-Status: Accepted [https://github.com/linux-test-project/ltp/commit/4141bdb441f7576a2e73abeb2a0fb1c7b8bd8647]
----
- testcases/kernel/syscalls/faccessat/faccessat01.c | 4 ++--
- testcases/kernel/syscalls/fchmodat/fchmodat01.c   | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/faccessat/faccessat01.c b/testcases/kernel/syscalls/faccessat/faccessat01.c
-index 622dfd3b0..def7fa755 100644
---- a/testcases/kernel/syscalls/faccessat/faccessat01.c
-+++ b/testcases/kernel/syscalls/faccessat/faccessat01.c
-@@ -129,8 +129,8 @@ void setup(void)
- 	fds[0] = SAFE_OPEN(cleanup, pathname, O_DIRECTORY);
- 	fds[1] = fds[4] = fds[0];
- 
--	SAFE_FILE_PRINTF(cleanup, testfile, testfile);
--	SAFE_FILE_PRINTF(cleanup, testfile2, testfile2);
-+	SAFE_FILE_PRINTF(cleanup, testfile, "%s", testfile);
-+	SAFE_FILE_PRINTF(cleanup, testfile2, "%s", testfile2);
- 
- 	fds[2] = SAFE_OPEN(cleanup, testfile3, O_CREAT | O_RDWR, 0600);
- 
-diff --git a/testcases/kernel/syscalls/fchmodat/fchmodat01.c b/testcases/kernel/syscalls/fchmodat/fchmodat01.c
-index 6bf66d8b8..7856ed3fa 100644
---- a/testcases/kernel/syscalls/fchmodat/fchmodat01.c
-+++ b/testcases/kernel/syscalls/fchmodat/fchmodat01.c
-@@ -127,8 +127,8 @@ void setup(void)
- 	fds[0] = SAFE_OPEN(cleanup, pathname, O_DIRECTORY);
- 	fds[1] = fds[4] = fds[0];
- 
--	SAFE_FILE_PRINTF(cleanup, testfile, testfile);
--	SAFE_FILE_PRINTF(cleanup, testfile2, testfile2);
-+	SAFE_FILE_PRINTF(cleanup, testfile, "%s", testfile);
-+	SAFE_FILE_PRINTF(cleanup, testfile2, "%s", testfile2);
- 
- 	fds[2] = SAFE_OPEN(cleanup, testfile3, O_CREAT | O_RDWR, 0600);
- 	fds[3] = 100;
--- 
-2.13.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch b/meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch
deleted file mode 100644
index 3759e1f..0000000
--- a/meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 25045624e941ee76a13febd36187e23c6c435507 Mon Sep 17 00:00:00 2001
-From: Eric Biggers <ebiggers at google.com>
-Date: Mon, 12 Jun 2017 11:55:21 -0700
-Subject: [PATCH 01/39] syscalls/add_key02: update to test fix for nonempty
- NULL payload
-
-add_key02 was supposed to be a "Basic test for the add_key() syscall",
-but it actually happened to test the obscure case of passing a NULL
-payload with nonzero length.  This case was mishandled by the kernel,
-which either returned EINVAL or crashed with a NULL pointer dereference,
-depending on the key type.  (The former applied to the test, as it used
-the "user" key type.)  The expected behavior in this case is that the
-syscall fail with EFAULT.
-
-Update the test to expect the fixed behavior from v4.12-rc5, and make
-the test more thorough by testing additional key types, including ones
-that caused a NULL pointer dereference in unfixed kernels.
-
-Signed-off-by: Eric Biggers <ebiggers at google.com>
-Upstream-Status: Accepted [https://github.com/linux-test-project/ltp/commit/25045624e941ee76a13febd36187e23c6c435507]
----
- testcases/kernel/syscalls/add_key/add_key02.c | 69 ++++++++++++++++++++-------
- 1 file changed, 51 insertions(+), 18 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/add_key/add_key02.c b/testcases/kernel/syscalls/add_key/add_key02.c
-index 866800d6f..2e3308dcd 100644
---- a/testcases/kernel/syscalls/add_key/add_key02.c
-+++ b/testcases/kernel/syscalls/add_key/add_key02.c
-@@ -1,5 +1,6 @@
- /******************************************************************************
-  * Copyright (c) Crackerjack Project., 2007				      *
-+ * Copyright (c) 2017 Google, Inc.                                            *
-  *									      *
-  * This program is free software;  you can redistribute it and/or modify      *
-  * it under the terms of the GNU General Public License as published by       *
-@@ -18,10 +19,17 @@
-  ******************************************************************************/
- 
- /*
-- * Basic test for the add_key() syscall.
-+ * Test that the add_key() syscall correctly handles a NULL payload with nonzero
-+ * length.  Specifically, it should fail with EFAULT rather than oopsing the
-+ * kernel with a NULL pointer dereference or failing with EINVAL, as it did
-+ * before (depending on the key type).  This is a regression test for commit
-+ * 5649645d725c ("KEYS: fix dereferencing NULL payload with nonzero length").
-  *
-- * History:   Porting from Crackerjack to LTP is done by
-- *	      Manas Kumar Nayak maknayak at in.ibm.com>
-+ * Note that none of the key types that exhibited the NULL pointer dereference
-+ * are guaranteed to be built into the kernel, so we just test as many as we
-+ * can, in the hope of catching one.  We also test with the "user" key type for
-+ * good measure, although it was one of the types that failed with EINVAL rather
-+ * than dereferencing NULL.
-  */
- 
- #include "config.h"
-@@ -33,36 +41,61 @@
- 
- #ifdef HAVE_LINUX_KEYCTL_H
- struct tcase {
--	char *type;
--	char *desc;
--	void *payload;
--	int plen;
--	int exp_errno;
-+	const char *type;
-+	size_t plen;
- } tcases[] = {
--	{"user", "firstkey", NULL, 1, EINVAL}
-+	/*
-+	 * The payload length we test for each key type needs to pass initial
-+	 * validation but is otherwise arbitrary.  Note: the "rxrpc_s" key type
-+	 * requires a payload of exactly 8 bytes.
-+	 */
-+	{ "asymmetric",		64 },
-+	{ "cifs.idmap",		64 },
-+	{ "cifs.spnego",	64 },
-+	{ "pkcs7_test",		64 },
-+	{ "rxrpc",		64 },
-+	{ "rxrpc_s",		 8 },
-+	{ "user",		64 },
- };
- #endif /* HAVE_LINUX_KEYCTL_H */
- 
- static void verify_add_key(unsigned int i)
- {
- #ifdef HAVE_LINUX_KEYCTL_H
--	TEST(tst_syscall(__NR_add_key, tcases[i].type, tcases[i].desc,
--	                 tcases[i].payload, tcases[i].plen,
--	                 KEY_SPEC_USER_KEYRING));
-+	TEST(tst_syscall(__NR_add_key, tcases[i].type, "abc:def",
-+			 NULL, tcases[i].plen, KEY_SPEC_PROCESS_KEYRING));
- 
- 	if (TEST_RETURN != -1) {
--		tst_res(TFAIL, "add_key() passed unexpectedly");
-+		tst_res(TFAIL,
-+			"add_key() with key type '%s' unexpectedly succeeded",
-+			tcases[i].type);
- 		return;
- 	}
- 
--	if (TEST_ERRNO == tcases[i].exp_errno) {
--		tst_res(TPASS | TTERRNO, "add_key() failed expectedly");
-+	if (TEST_ERRNO == EFAULT) {
-+		tst_res(TPASS, "received expected EFAULT with key type '%s'",
-+			tcases[i].type);
- 		return;
- 	}
- 
--	tst_res(TFAIL | TTERRNO,
--	        "add_key() failed unexpectedly, expected %s",
--	        tst_strerrno(tcases[i].exp_errno));
-+	if (TEST_ERRNO == ENODEV) {
-+		tst_res(TCONF, "kernel doesn't support key type '%s'",
-+			tcases[i].type);
-+		return;
-+	}
-+
-+	/*
-+	 * It's possible for the "asymmetric" key type to be supported, but with
-+	 * no asymmetric key parsers registered.  In that case, attempting to
-+	 * add a key of type asymmetric will fail with EBADMSG.
-+	 */
-+	if (TEST_ERRNO == EBADMSG && !strcmp(tcases[i].type, "asymmetric")) {
-+		tst_res(TCONF, "no asymmetric key parsers are registered");
-+		return;
-+	}
-+
-+	tst_res(TFAIL | TTERRNO, "unexpected error with key type '%s'",
-+		tcases[i].type);
- #else
- 	tst_brk(TCONF, "linux/keyctl.h was missing upon compilation.");
- #endif /* HAVE_LINUX_KEYCTL_H */
--- 
-2.13.0
-
diff --git a/meta/recipes-extended/ltp/ltp_20170516.bb b/meta/recipes-extended/ltp/ltp_20170516.bb
index 86b8012..46c9741 100644
--- a/meta/recipes-extended/ltp/ltp_20170516.bb
+++ b/meta/recipes-extended/ltp/ltp_20170516.bb
@@ -21,7 +21,7 @@ DEPENDS_append_libc-musl = " fts "
 EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
 CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
 CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "6c6c6ca40afb3611e52486f670085762ff451e91"
+SRCREV = "18916a2e6d8c997b7b29dcfa9550d5a15b22ed22"
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0001-add-_GNU_SOURCE-to-pec_listener.c.patch \
@@ -29,7 +29,6 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0003-Add-knob-to-control-tirpc-support.patch \
            file://0004-build-Add-option-to-select-libc-implementation.patch \
            file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
-           file://0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch \
            file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch \
            file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
            file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch \
@@ -49,9 +48,6 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0034-periodic_output.patch \
            file://0035-fix-test_proc_kill-hang.patch \
            file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
-           file://0001-dirtyc0w-Include-stdint.h.patch \
-           file://0037-faccessat-and-fchmodat-Fix-build-warnings.patch \
-           file://0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch \
            "
 
 S = "${WORKDIR}/git"
@@ -69,14 +65,6 @@ EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite "
 # ltp network/rpc test cases ftbfs when libtirpc is found
 EXTRA_OECONF += " --without-tirpc "
 
-# The makefiles make excessive use of make -C and several include testcases.mk
-# which triggers a build of the syscall header. To reproduce, build ltp,
-# then delete the header, then "make -j XX" and watch regen.sh run multiple
-# times. Its easier to generate this once here instead.
-do_compile_prepend () {
-	( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h )
-}
-
 do_install(){
     install -d ${D}/opt/ltp/
     oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
-- 
2.7.4




More information about the Openembedded-core mailing list