> @Dan did that already contain the fix you expect or would considering
a seccomp be useful?

For libseccomp, it looks like it doesn't need a rebuild; it appears to
only reference the symbol in its header (which is what causes this
problem for other packages that pull in that header); in its code, the
only reference is where its syscall number is defined is inside its
ppc64_syscall_table (and ppc_syscall_table), where it is defined
correctly.

ddstreet@thorin:~/bugs/lp1821625/sym-check/libseccomp/libseccomp-2.4.1$ grep -r 
pkey_mprotect
include/seccomp.h.in:#define __PNR_pkey_mprotect        -10201
include/seccomp.h.in:#ifndef __NR_pkey_mprotect
include/seccomp.h.in:#define __NR_pkey_mprotect __PNR_pkey_mprotect
include/seccomp.h.in:#endif /* __NR_pkey_mprotect */
include/seccomp.h:#define __PNR_pkey_mprotect   -10201
include/seccomp.h:#ifndef __NR_pkey_mprotect
include/seccomp.h:#define __NR_pkey_mprotect    __PNR_pkey_mprotect
include/seccomp.h:#endif /* __NR_pkey_mprotect */
src/arch-ppc-syscalls.c:        { "pkey_mprotect", 386 },
src/arch-x32-syscalls.c:        { "pkey_mprotect", (X32_SYSCALL_BIT + 329) },
src/arch-mips-syscalls.c:       { "pkey_mprotect", (__SCMP_NR_BASE + 363) },
src/arch-x86-syscalls.c:        { "pkey_mprotect", 380 },
src/arch-s390-syscalls.c:       { "pkey_mprotect", __PNR_pkey_mprotect },
src/arch-parisc-syscalls.c:     { "pkey_mprotect",      __PNR_pkey_mprotect },
src/arch-s390x-syscalls.c:      { "pkey_mprotect", __PNR_pkey_mprotect },
src/arch-ppc64-syscalls.c:      { "pkey_mprotect", 386 },
src/arch-aarch64-syscalls.c:    { "pkey_mprotect", 288 },
src/arch-arm-syscalls.c:        { "pkey_mprotect", (__SCMP_NR_BASE + 394) },
src/arch-mips64-syscalls.c:     { "pkey_mprotect", (__SCMP_NR_BASE + 323) },
src/arch-x86_64-syscalls.c:     { "pkey_mprotect", 329 },
src/arch-mips64n32-syscalls.c:  { "pkey_mprotect", (__SCMP_NR_BASE + 327) },


I still don't understand why libseccomp ever decided to define 
__NR_pkey_mprotect to a negative number (if the kernel header doesn't define 
it) in its public header file.  IMHO that should be done in its code, or at 
least in a private header file.

** Changed in: libseccomp (Ubuntu Bionic)
       Status: Incomplete => Invalid

** Changed in: libseccomp (Ubuntu)
       Status: Incomplete => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1821625

Title:
  systemd 237-3ubuntu10.14 ADT test failure on Bionic ppc64el (test-
  seccomp)

Status in libseccomp package in Ubuntu:
  Invalid
Status in linux package in Ubuntu:
  Fix Released
Status in systemd package in Ubuntu:
  Invalid
Status in libseccomp source package in Bionic:
  Invalid
Status in linux source package in Bionic:
  Fix Committed
Status in systemd source package in Bionic:
  Invalid

Bug description:
  Starting with systemd 237-3ubuntu10.14, the testcase test-seccomp is
  failing on Bionic on ppc64el with the error messages:

  Operating on architecture: ppc
  Failed to add n/a() rule for architecture ppc, skipping: Bad address
  Operating on architecture: ppc64
  Failed to add n/a() rule for architecture ppc64, skipping: Bad address
  Operating on architecture: ppc64-le
  Failed to add n/a() rule for architecture ppc64-le, skipping: Numerical 
argument out of domain
  Assertion 'p == MAP_FAILED' failed at ../src/test/test-seccomp.c:413, 
function test_memory_deny_write_execute_mmap(). Aborting.
  memoryseccomp-mmap terminated by signal ABRT.
  Assertion 'wait_for_terminate_and_check("memoryseccomp-mmap", pid, WAIT_LOG) 
== EXIT_SUCCESS' failed at ../src/test/test-seccomp.c:427, function 
test_memory_deny_write_execute_mmap(). Aborting.
  Aborted (core dumped)
  FAIL: test-seccomp (code: 134)

  Full logs at:
  
https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/ppc64el/s/systemd/20190302_025135_d0e38@/log.gz

  The testcase passed with systemd version 237-3ubuntu10.13 running on the same 
4.15.0-45 kernel on ppc64el:
  
https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/ppc64el/s/systemd/20190228_154406_6b12f@/log.gz

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1821625/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to