<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Please ignore this!<br>
</p>
<br>
<div class="moz-cite-prefix">On 2017年08月04日 17:54, Dengke Du wrote:<br>
</div>
<blockquote type="cite"
cite="mid:534752f69083b8fe2d35fc3ddc163bfbf62753b6.1501840357.git.dengke.du@windriver.com">
<pre wrap="">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
<a class="moz-txt-link-freetext" href="file://0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch">file://0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch</a>
drop the do_compile_prepend function, because the upstream already fix
the parallel make race, we can check it here:
<a class="moz-txt-link-freetext" href="https://github.com/linux-test-project/ltp/commit/3f385652efe811fe7491474f8513baf44cf0a12d">https://github.com/linux-test-project/ltp/commit/3f385652efe811fe7491474f8513baf44cf0a12d</a>
Signed-off-by: Dengke Du <a class="moz-txt-link-rfc2396E" href="mailto:dengke.du@windriver.com"><dengke.du@windriver.com></a>
---
.../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 <a class="moz-txt-link-rfc2396E" href="mailto:raj.khem@gmail.com"><raj.khem@gmail.com></a>
-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 <a class="moz-txt-link-rfc2396E" href="mailto:raj.khem@gmail.com"><raj.khem@gmail.com></a>
----
-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 <a class="moz-txt-link-rfc2396E" href="mailto:dengke.du@windriver.com"><dengke.du@windriver.com></a>
-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 [<a class="moz-txt-link-freetext" href="https://github.com/linux-test-project/ltp/pull/176">https://github.com/linux-test-project/ltp/pull/176</a>]
-
-Signed-off-by: Dengke Du <a class="moz-txt-link-rfc2396E" href="mailto:dengke.du@windriver.com"><dengke.du@windriver.com></a>
----
- 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 <a class="moz-txt-link-rfc2396E" href="mailto:naresh.kamboju@linaro.org"><naresh.kamboju@linaro.org></a>
-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 <a class="moz-txt-link-rfc2396E" href="mailto:naresh.kamboju@linaro.org"><naresh.kamboju@linaro.org></a>
-Upstream-Status: Accepted [<a class="moz-txt-link-freetext" href="https://github.com/linux-test-project/ltp/commit/4141bdb441f7576a2e73abeb2a0fb1c7b8bd8647">https://github.com/linux-test-project/ltp/commit/4141bdb441f7576a2e73abeb2a0fb1c7b8bd8647</a>]
----
- 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 <a class="moz-txt-link-rfc2396E" href="mailto:ebiggers@google.com"><ebiggers@google.com></a>
-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 <a class="moz-txt-link-rfc2396E" href="mailto:ebiggers@google.com"><ebiggers@google.com></a>
-Upstream-Status: Accepted [<a class="moz-txt-link-freetext" href="https://github.com/linux-test-project/ltp/commit/25045624e941ee76a13febd36187e23c6c435507">https://github.com/linux-test-project/ltp/commit/25045624e941ee76a13febd36187e23c6c435507</a>]
----
- 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 <a class="moz-txt-link-abbreviated" href="mailto:maknayak@in.ibm.com">maknayak@in.ibm.com</a>>
-+ * 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 \
<a class="moz-txt-link-freetext" href="file://0001-add-_GNU_SOURCE-to-pec_listener.c.patch">file://0001-add-_GNU_SOURCE-to-pec_listener.c.patch</a> \
@@ -29,7 +29,6 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
<a class="moz-txt-link-freetext" href="file://0003-Add-knob-to-control-tirpc-support.patch">file://0003-Add-knob-to-control-tirpc-support.patch</a> \
<a class="moz-txt-link-freetext" href="file://0004-build-Add-option-to-select-libc-implementation.patch">file://0004-build-Add-option-to-select-libc-implementation.patch</a> \
<a class="moz-txt-link-freetext" href="file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch">file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch</a> \
- <a class="moz-txt-link-freetext" href="file://0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch">file://0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch</a> \
<a class="moz-txt-link-freetext" href="file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch">file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch</a> \
<a class="moz-txt-link-freetext" href="file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch">file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch</a> \
<a class="moz-txt-link-freetext" href="file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch">file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch</a> \
@@ -49,9 +48,6 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
<a class="moz-txt-link-freetext" href="file://0034-periodic_output.patch">file://0034-periodic_output.patch</a> \
<a class="moz-txt-link-freetext" href="file://0035-fix-test_proc_kill-hang.patch">file://0035-fix-test_proc_kill-hang.patch</a> \
<a class="moz-txt-link-freetext" href="file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch">file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch</a> \
- <a class="moz-txt-link-freetext" href="file://0001-dirtyc0w-Include-stdint.h.patch">file://0001-dirtyc0w-Include-stdint.h.patch</a> \
- <a class="moz-txt-link-freetext" href="file://0037-faccessat-and-fchmodat-Fix-build-warnings.patch">file://0037-faccessat-and-fchmodat-Fix-build-warnings.patch</a> \
- <a class="moz-txt-link-freetext" href="file://0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch">file://0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch</a> \
"
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
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
</body>
</html>