]> git.ipfire.org Git - thirdparty/systemd.git/commit
shared/seccomp-util: address family filtering is broken on ppc
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 26 Nov 2020 10:23:54 +0000 (11:23 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 26 Nov 2020 13:23:15 +0000 (14:23 +0100)
commitd5923e38bc0e6cf9d7620ed5f1f8606fe7fe1168
treed5684a99e1c864a3be98348dd3615902fc1a9a66
parentebc815cd1c647faa934a446ceea91ff4bc9dffa4
shared/seccomp-util: address family filtering is broken on ppc

This reverts the gist of da1921a5c396547261c8c7fcd94173346eb3b718 and
0d9fca76bb69e162265b2d25cb79f1890c0da31b (for ppc).

Quoting #17559:
> libseccomp 2.5 added socket syscall multiplexing on ppc64(el):
> https://github.com/seccomp/libseccomp/pull/229
>
> Like with i386, s390 and s390x this breaks socket argument filtering, so
> RestrictAddressFamilies doesn't work.
>
> This causes the unit test to fail:
> /* test_restrict_address_families */
> Operating on architecture: ppc
> Failed to install socket family rules for architecture ppc, skipping: Operation canceled
> Operating on architecture: ppc64
> Failed to add socket() rule for architecture ppc64, skipping: Invalid argument
> Operating on architecture: ppc64-le
> Failed to add socket() rule for architecture ppc64-le, skipping: Invalid argument
> Assertion 'fd < 0' failed at src/test/test-seccomp.c:424, function test_restrict_address_families(). Aborting.
>
> The socket filters can't be added so `socket(AF_UNIX, SOCK_DGRAM, 0);` still
> works, triggering the assertion.

Fixes #17559.
src/shared/seccomp-util.c
src/test/test-seccomp.c