systemd 237-3ubuntu10.14 ADT test failure on Bionic ppc64el (test-seccomp)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libseccomp (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Bionic |
Invalid
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Dan Streetman | ||
systemd (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Bionic |
Invalid
|
Undecided
|
Unassigned |
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/
memoryseccomp-mmap terminated by signal ABRT.
Assertion 'wait_for_
Aborted (core dumped)
FAIL: test-seccomp (code: 134)
The testcase passed with systemd version 237-3ubuntu10.13 running on the same 4.15.0-45 kernel on ppc64el:
https:/
CVE References
tags: | added: kernel-adt-failure |
Changed in systemd (Ubuntu Bionic): | |
status: | New → Confirmed |
summary: |
- systemd 237-3ubuntu10.15 ADT test failure with linux-hwe - 4.18.0-17.18~18.04.1 + systemd 237-3ubuntu10.14 ADT test failure on Bionic (test-seccomp) |
summary: |
- systemd 237-3ubuntu10.14 ADT test failure on Bionic (test-seccomp) + systemd 237-3ubuntu10.14 ADT test failure on Bionic ppc64el (test- + seccomp) |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
This is not a bug in systemd.
The problem is that libseccomp was patched at version 2.3.1-2.1ubuntu4.1, in d/p/lp- 1815415- arch-update- syscalls- for-Linux- 4.9.patch, to add a definition for the pkey_mprotect syscall. The systemd test case checks for the definition of this syscall, and uses it if it's defined, which with the new libseccomp library, it is.
However, the ppc64el kernel doesn't add support for the pkey_mprotect syscall until 4.16.
Either the bionic 4.15 kernel should add support for pkey_mprotect syscall (commit 3350eb2ea127978 319ced883523d82 8046af4045, at least, possibly more), or libseccomp should remove it, at least for ppc64el builds on bionic. Adding support for it to the kernel for ppc64el is probably the best approach.