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

Dengke Du dengke.du at windriver.com
Fri Aug 11 01:15:38 UTC 2017


OK, I have send the fix when building with musl for the upstream:

     https://github.com/linux-test-project/ltp/pull/194

still waitting.


On 2017年08月10日 04:47, Burton, Ross wrote:
> Breaks with musl:
>
> http://errors.yoctoproject.org/Errors/Details/150199/
>
> Ross
>
> On 4 August 2017 at 11:00, Dengke Du <dengke.du at windriver.com 
> <mailto:dengke.du at windriver.com>> wrote:
>
>     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
>         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
>     <https://github.com/linux-test-project/ltp/commit/3f385652efe811fe7491474f8513baf44cf0a12d>
>
>     Signed-off-by: Dengke Du <dengke.du at windriver.com
>     <mailto: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
>     <http://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 <mailto: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
>     <mailto: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
>     <mailto: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
>     <https://github.com/linux-test-project/ltp/pull/176>]
>     -
>     -Signed-off-by: Dengke Du <dengke.du at windriver.com
>     <mailto: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
>     <mailto: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
>     <mailto:naresh.kamboju at linaro.org>>
>     -Upstream-Status: Accepted
>     [https://github.com/linux-test-project/ltp/commit/4141bdb441f7576a2e73abeb2a0fb1c7b8bd8647
>     <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 <mailto: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
>     <mailto:ebiggers at google.com>>
>     -Upstream-Status: Accepted
>     [https://github.com/linux-test-project/ltp/commit/25045624e941ee76a13febd36187e23c6c435507
>     <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
>     <mailto: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
>     <http://ltp_20170516.bb>
>     b/meta/recipes-extended/ltp/ltp_20170516.bb <http://ltp_20170516.bb>
>     index 86b8012..46c9741 100644
>     --- a/meta/recipes-extended/ltp/ltp_20170516.bb
>     <http://ltp_20170516.bb>
>     +++ b/meta/recipes-extended/ltp/ltp_20170516.bb
>     <http://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
>     <http://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
>     <http://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
>     <http://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 <http://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
>
>     --
>     _______________________________________________
>     Openembedded-core mailing list
>     Openembedded-core at lists.openembedded.org
>     <mailto:Openembedded-core at lists.openembedded.org>
>     http://lists.openembedded.org/mailman/listinfo/openembedded-core
>     <http://lists.openembedded.org/mailman/listinfo/openembedded-core>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170811/661cd322/attachment-0002.html>


More information about the Openembedded-core mailing list