script_core 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/enterprise_script_service/libseccomp/.travis.yml +21 -7
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +22 -0
- data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +37 -26
- data/ext/enterprise_script_service/libseccomp/CREDITS +8 -0
- data/ext/enterprise_script_service/libseccomp/README.md +3 -1
- data/ext/enterprise_script_service/libseccomp/configure.ac +13 -8
- data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +6 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +12 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +38 -6
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +53 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_export_bpf.3 +20 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_load.3 +32 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +16 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_alloc.3 +113 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_fd.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_free.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_id_valid.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_receive.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_respond.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +64 -3
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_priority.3 +18 -3
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +12 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +116 -0
- data/ext/enterprise_script_service/libseccomp/src/.gitignore +2 -0
- data/ext/enterprise_script_service/libseccomp/src/Makefile.am +31 -17
- data/ext/enterprise_script_service/libseccomp/src/api.c +254 -58
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.c +47 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-gperf-generate +40 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +3 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +1 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +3 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.h +29 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.c +606 -8
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.c +31 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.h +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +171 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +1 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +166 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +1 -20
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +8 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +359 -143
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.c +36 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +172 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +1 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch.c +11 -3
- data/ext/enterprise_script_service/libseccomp/src/arch.h +7 -0
- data/ext/enterprise_script_service/libseccomp/src/db.c +268 -57
- data/ext/enterprise_script_service/libseccomp/src/db.h +16 -2
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +503 -148
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.h +2 -1
- data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +165 -37
- data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +37 -1
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +295 -5
- data/ext/enterprise_script_service/libseccomp/src/syscalls.c +56 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.csv +470 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.h +62 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.perf.template +82 -0
- data/ext/enterprise_script_service/libseccomp/src/system.c +196 -16
- data/ext/enterprise_script_service/libseccomp/src/system.h +68 -13
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +9 -2
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +1 -1
- data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +5 -5
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +35 -1
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -1
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.c → 18-sim-basic_allowlist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.py → 18-sim-basic_allowlist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_allowlist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.tests +33 -17
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.c → 34-sim-basic_denylist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.py → 34-sim-basic_denylist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_denylist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +25 -25
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +24 -3
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +16 -1
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.c +112 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.py +60 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.c +156 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.tests +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.c +128 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.c +134 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.sh +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.c +90 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.py +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.c +64 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.py +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.c +116 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +31 -10
- data/ext/enterprise_script_service/libseccomp/tests/regression +6 -3
- data/ext/enterprise_script_service/libseccomp/tests/util.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -1
- data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +4 -2
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +2 -0
- data/ext/enterprise_script_service/libseccomp/tools/util.c +14 -12
- data/ext/enterprise_script_service/libseccomp/tools/util.h +7 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +51 -0
- data/ext/enterprise_script_service/mruby/Doxyfile +1 -1
- data/ext/enterprise_script_service/mruby/README.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/limitations.md +10 -10
- data/ext/enterprise_script_service/mruby/include/mruby.h +13 -0
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +0 -1
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +13 -8
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +25 -29
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +17 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +3 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +9 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +6 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +3 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +5 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +5 -10
- data/ext/enterprise_script_service/mruby/mrblib/00class.rb +10 -0
- data/ext/enterprise_script_service/mruby/src/array.c +14 -11
- data/ext/enterprise_script_service/mruby/src/class.c +22 -21
- data/ext/enterprise_script_service/mruby/src/error.c +1 -2
- data/ext/enterprise_script_service/mruby/src/etc.c +0 -1
- data/ext/enterprise_script_service/mruby/src/gc.c +5 -5
- data/ext/enterprise_script_service/mruby/src/hash.c +8 -15
- data/ext/enterprise_script_service/mruby/src/kernel.c +4 -7
- data/ext/enterprise_script_service/mruby/src/numeric.c +28 -60
- data/ext/enterprise_script_service/mruby/src/object.c +11 -1
- data/ext/enterprise_script_service/mruby/src/proc.c +7 -8
- data/ext/enterprise_script_service/mruby/src/range.c +4 -12
- data/ext/enterprise_script_service/mruby/src/string.c +24 -21
- data/ext/enterprise_script_service/mruby/src/symbol.c +1 -2
- data/ext/enterprise_script_service/mruby/src/vm.c +28 -24
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +7 -0
- data/lib/script_core/version.rb +1 -1
- metadata +45 -21
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +0 -570
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +0 -542
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +0 -642
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +0 -642
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +0 -558
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +0 -692
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +0 -32
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +0 -32
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3cfa6713154bbd8ad099289142899dca5ba3f5dea5cc2c5a6d48f2119559b4b8
|
|
4
|
+
data.tar.gz: 6141a1d955d8ae69080c56f0d4b6966e9595d5f0992cc758ddc5ba6bdff9ab98
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a250786dcf497f2e93f3734a154f32ed31fe367b6f6df50d12e5b683850003275a9852f2f3ae5eec037b313fc16c66af034528cf3f5abbc3cb55bc6b24fb6b20
|
|
7
|
+
data.tar.gz: 4ab307f3a464f1cfe5e0c0fe0a43ec56c70055e88a02a6ade5f0fb33b510ac56e8240fdc758104d1089a5b420e940476436695285f46f921e6f97cabc9f5ed7c
|
|
@@ -4,13 +4,20 @@
|
|
|
4
4
|
# https://wiki.ubuntu.com/Releases
|
|
5
5
|
|
|
6
6
|
dist: bionic
|
|
7
|
-
sudo: false
|
|
8
7
|
|
|
9
8
|
notifications:
|
|
10
9
|
email:
|
|
11
10
|
on_success: always
|
|
12
11
|
on_failure: always
|
|
13
12
|
|
|
13
|
+
arch:
|
|
14
|
+
- amd64
|
|
15
|
+
- arm64
|
|
16
|
+
- ppc64le
|
|
17
|
+
|
|
18
|
+
os:
|
|
19
|
+
- linux
|
|
20
|
+
|
|
14
21
|
language: c
|
|
15
22
|
compiler:
|
|
16
23
|
- gcc
|
|
@@ -32,6 +39,7 @@ addons:
|
|
|
32
39
|
- valgrind
|
|
33
40
|
- clang
|
|
34
41
|
- lcov
|
|
42
|
+
- gperf
|
|
35
43
|
|
|
36
44
|
env:
|
|
37
45
|
global:
|
|
@@ -44,7 +52,10 @@ before_install:
|
|
|
44
52
|
# assume the distro has an old version of cython
|
|
45
53
|
- pip install cython
|
|
46
54
|
# see https://github.com/eddyxu/cpp-coveralls
|
|
47
|
-
-
|
|
55
|
+
- |
|
|
56
|
+
if [ $TRAVIS_CPU_ARCH == "amd64" ]; then
|
|
57
|
+
pip install cpp-coveralls
|
|
58
|
+
fi
|
|
48
59
|
|
|
49
60
|
# perform the build and fail immediately on error
|
|
50
61
|
install:
|
|
@@ -58,12 +69,15 @@ script:
|
|
|
58
69
|
- make check-build
|
|
59
70
|
- LIBSECCOMP_TSTCFG_STRESSCNT=5 make check
|
|
60
71
|
- LIBSECCOMP_TSTCFG_TYPE=live LIBSECCOMP_TSTCFG_MODE_LIST=c make -C tests check
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
- |
|
|
73
|
+
if [ $TRAVIS_CPU_ARCH == "amd64" -o -x scan-build ]; then
|
|
74
|
+
make clean && ./configure && scan-build --status-bugs make
|
|
75
|
+
fi
|
|
63
76
|
|
|
64
77
|
after_success:
|
|
65
78
|
# limit the code coverage tests to the 'test-code-coverage' target
|
|
66
|
-
- make clean && ./configure --enable-code-coverage && make test-code-coverage
|
|
67
79
|
# https://github.com/eddyxu/cpp-coveralls/blob/master/README.md
|
|
68
|
-
-
|
|
69
|
-
|
|
80
|
+
- |
|
|
81
|
+
if [ $TRAVIS_CPU_ARCH == "amd64" ]; then
|
|
82
|
+
make clean && ./configure --enable-code-coverage && make test-code-coverage && coveralls --gcov-options '\-lp' --exclude tests --exclude tools --exclude src/arch-syscall-check.c
|
|
83
|
+
fi
|
|
@@ -2,6 +2,28 @@ libseccomp: Releases
|
|
|
2
2
|
===============================================================================
|
|
3
3
|
https://github.com/seccomp/libseccomp
|
|
4
4
|
|
|
5
|
+
* Version 2.5.0 - July 20, 2020
|
|
6
|
+
- Add support for the seccomp user notifications, see the
|
|
7
|
+
seccomp_notify_alloc(3), seccomp_notify_receive(3), seccomp_notify_respond(3)
|
|
8
|
+
manpages for more information
|
|
9
|
+
- Add support for new filter optimization approaches, including a balanced tree
|
|
10
|
+
optimization, see the SCMP_FLTATR_CTL_OPTIMIZE filter attribute for more
|
|
11
|
+
information
|
|
12
|
+
- Add support for the 64-bit RISC-V architecture
|
|
13
|
+
- Performance improvements when adding new rules to a filter thanks to the use
|
|
14
|
+
of internal shadow transactions and improved syscall lookup tables
|
|
15
|
+
- Properly document the libseccomp API return values and include them in the
|
|
16
|
+
stable API promise
|
|
17
|
+
- Improvements to the s390 and s390x multiplexed syscall handling
|
|
18
|
+
- Multiple fixes and improvements to the libseccomp manpages
|
|
19
|
+
- Moved from manually maintained syscall tables to an automatically generated
|
|
20
|
+
syscall table in CSV format
|
|
21
|
+
- Update the syscall tables to Linux v5.8.0-rc5
|
|
22
|
+
- Python bindings and build now default to Python 3.x
|
|
23
|
+
- Improvements to the tests have boosted code coverage to over 93%
|
|
24
|
+
- Enable Travis CI testing on the aarch64 and ppc64le architectures
|
|
25
|
+
- Add code inspection via lgtm.com
|
|
26
|
+
|
|
5
27
|
* Version 2.4.3 - March 4, 2020
|
|
6
28
|
- Add list of authorized release signatures to README.md
|
|
7
29
|
- Fix multiplexing issue with s390/s390x shm* syscalls
|
|
@@ -8,7 +8,7 @@ to the rules described here, but by following the instructions below you
|
|
|
8
8
|
should have a much easier time getting your work merged with the upstream
|
|
9
9
|
project.
|
|
10
10
|
|
|
11
|
-
## Test Your Code
|
|
11
|
+
## Test Your Code Using Existing Tests
|
|
12
12
|
|
|
13
13
|
There are three possible tests you can run to verify your code. The first
|
|
14
14
|
test is used to check the formatting and coding style of your changes, you
|
|
@@ -38,7 +38,7 @@ command:
|
|
|
38
38
|
|
|
39
39
|
... if there are any faults or errors they will be displayed.
|
|
40
40
|
|
|
41
|
-
##
|
|
41
|
+
## Add New Tests for New Functionality
|
|
42
42
|
|
|
43
43
|
The libseccomp code includes a fairly extensive test suite and any submissions
|
|
44
44
|
which add functionality, or significantly change the existing code, should
|
|
@@ -50,29 +50,6 @@ base, and can be enabled via the "--enable-code-coverage" configure flag and
|
|
|
50
50
|
the "check-code-coverage" make target. Additional details on generating code
|
|
51
51
|
coverage information can be found in the .travis.yml file.
|
|
52
52
|
|
|
53
|
-
## Generate the Patch(es)
|
|
54
|
-
|
|
55
|
-
Depending on how you decided to work with the libseccomp code base and what
|
|
56
|
-
tools you are using there are different ways to generate your patch(es).
|
|
57
|
-
However, regardless of what tools you use, you should always generate your
|
|
58
|
-
patches using the "unified" diff/patch format and the patches should always
|
|
59
|
-
apply to the libseccomp source tree using the following command from the top
|
|
60
|
-
directory of the libseccomp sources:
|
|
61
|
-
|
|
62
|
-
# patch -p1 < changes.patch
|
|
63
|
-
|
|
64
|
-
If you are not using git, stacked git (stgit), or some other tool which can
|
|
65
|
-
generate patch files for you automatically, you may find the following command
|
|
66
|
-
helpful in generating patches, where "libseccomp.orig/" is the unmodified
|
|
67
|
-
source code directory and "libseccomp/" is the source code directory with your
|
|
68
|
-
changes:
|
|
69
|
-
|
|
70
|
-
# diff -purN libseccomp.orig/ libseccomp/
|
|
71
|
-
|
|
72
|
-
When in doubt please generate your patch and try applying it to an unmodified
|
|
73
|
-
copy of the libseccomp sources; if it fails for you, it will fail for the rest
|
|
74
|
-
of us.
|
|
75
|
-
|
|
76
53
|
## Explain Your Work
|
|
77
54
|
|
|
78
55
|
At the top of every patch you should include a description of the problem you
|
|
@@ -120,7 +97,37 @@ your real name, saying:
|
|
|
120
97
|
|
|
121
98
|
Signed-off-by: Random J Developer <random@developer.example.org>
|
|
122
99
|
|
|
123
|
-
|
|
100
|
+
You can add this to your commit description in `git` with `git commit -s`
|
|
101
|
+
|
|
102
|
+
## Post Your Patches Upstream
|
|
103
|
+
|
|
104
|
+
The libseccomp project accepts both GitHub pull requests and patches sent via
|
|
105
|
+
the mailing list. GitHub pull requests are preferred. This sections below
|
|
106
|
+
explain how to contribute via either method. Please read each step and perform
|
|
107
|
+
all steps that apply to your chosen contribution method.
|
|
108
|
+
|
|
109
|
+
### Submitting via Email
|
|
110
|
+
|
|
111
|
+
Depending on how you decided to work with the libseccomp code base and what
|
|
112
|
+
tools you are using there are different ways to generate your patch(es).
|
|
113
|
+
However, regardless of what tools you use, you should always generate your
|
|
114
|
+
patches using the "unified" diff/patch format and the patches should always
|
|
115
|
+
apply to the libseccomp source tree using the following command from the top
|
|
116
|
+
directory of the libseccomp sources:
|
|
117
|
+
|
|
118
|
+
# patch -p1 < changes.patch
|
|
119
|
+
|
|
120
|
+
If you are not using git, stacked git (stgit), or some other tool which can
|
|
121
|
+
generate patch files for you automatically, you may find the following command
|
|
122
|
+
helpful in generating patches, where "libseccomp.orig/" is the unmodified
|
|
123
|
+
source code directory and "libseccomp/" is the source code directory with your
|
|
124
|
+
changes:
|
|
125
|
+
|
|
126
|
+
# diff -purN libseccomp.orig/ libseccomp/
|
|
127
|
+
|
|
128
|
+
When in doubt please generate your patch and try applying it to an unmodified
|
|
129
|
+
copy of the libseccomp sources; if it fails for you, it will fail for the rest
|
|
130
|
+
of us.
|
|
124
131
|
|
|
125
132
|
Finally, you will need to email your patches to the mailing list so they can
|
|
126
133
|
be reviewed and potentially merged into the main libseccomp repository. When
|
|
@@ -132,3 +139,7 @@ a problem with your email client. When in doubt try a test first by sending
|
|
|
132
139
|
yourself an email with your patch and attempting to apply the emailed patch to
|
|
133
140
|
the libseccomp repository; if it fails for you, it will fail for the rest of
|
|
134
141
|
us trying to test your patch and include it in the main libseccomp repository.
|
|
142
|
+
|
|
143
|
+
### Submitting via GitHub
|
|
144
|
+
|
|
145
|
+
See [this guide](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) if you've never done this before.
|
|
@@ -2,11 +2,14 @@ libseccomp: Contributors
|
|
|
2
2
|
========================================================================
|
|
3
3
|
https://github.com/seccomp/libseccomp
|
|
4
4
|
|
|
5
|
+
Alex Murray <alex.murray@canonical.com>
|
|
6
|
+
Andreas Schwab <schwab@suse.de>
|
|
5
7
|
Andrew Jones <drjones@redhat.com>
|
|
6
8
|
Andy Lutomirski <luto@amacapital.net>
|
|
7
9
|
Ashley Lai <adlai@us.ibm.com>
|
|
8
10
|
Bogdan Purcareata <bogdan.purcareata@freescale.com>
|
|
9
11
|
Brian Cain <brian.cain@gmail.com>
|
|
12
|
+
Christopher Waldon <christopher.waldon.dev@gmail.com>
|
|
10
13
|
Chris Waldon <chris.waldon@ibm.com>
|
|
11
14
|
Colin Walters <walters@verbum.org>
|
|
12
15
|
Corey Bryant <coreyb@linux.vnet.ibm.com>
|
|
@@ -16,6 +19,7 @@ Eric Paris <eparis@redhat.com>
|
|
|
16
19
|
Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
17
20
|
Felix Abecassis <fabecassis@nvidia.com>
|
|
18
21
|
Felix Geyer <debfx@fobos.de>
|
|
22
|
+
Giuseppe Scrivano <gscrivan@redhat.com>
|
|
19
23
|
Heiko Carstens <heiko.carstens@de.ibm.com>
|
|
20
24
|
Helge Deller <deller@gmx.de>
|
|
21
25
|
Jake Edge <jake@lwn.net>
|
|
@@ -25,9 +29,11 @@ Jan Willeke <willeke@linux.vnet.ibm.com>
|
|
|
25
29
|
Jay Guo <guojiannan@cn.ibm.com>
|
|
26
30
|
Jiannan Guo <guojiannan1101@gmail.com>
|
|
27
31
|
Joe MacDonald <joe@deserted.net>
|
|
32
|
+
Jonah Petri <jonah@petri.us>
|
|
28
33
|
Justin Cormack <justin.cormack@docker.com>
|
|
29
34
|
Kees Cook <keescook@chromium.org>
|
|
30
35
|
Kyle R. Conway <kyle.r.conway@gmail.com>
|
|
36
|
+
Kenta Tada <Kenta.Tada@sony.com>
|
|
31
37
|
Luca Bruno <lucab@debian.org>
|
|
32
38
|
Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
|
33
39
|
Marcus Meissner <meissner@suse.de>
|
|
@@ -38,12 +44,14 @@ Mike Frysinger <vapier@gentoo.org>
|
|
|
38
44
|
Mike Strosaker <strosake@linux.vnet.ibm.com>
|
|
39
45
|
Miroslav Lichvar <mlichvar@redhat.com>
|
|
40
46
|
Paul Moore <paul@paul-moore.com>
|
|
47
|
+
Rolf Eike Beer <eb@emlix.com>
|
|
41
48
|
Serge Hallyn <serge.hallyn@ubuntu.com>
|
|
42
49
|
Stéphane Graber <stgraber@ubuntu.com>
|
|
43
50
|
Stephen Coleman <omegacoleman@gmail.com>
|
|
44
51
|
Thiago Marcos P. Santos <thiago.santos@intel.com>
|
|
45
52
|
Tobias Klauser <tklauser@distanz.ch>
|
|
46
53
|
Tom Hromatka <tom.hromatka@oracle.com>
|
|
54
|
+
Tudor Brindus <me@tbrindus.ca>
|
|
47
55
|
Tycho Andersen <tycho@tycho.ws>
|
|
48
56
|
Tyler Hicks <tyhicks@canonical.com>
|
|
49
57
|
valoq <valoq@mailbox.org>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-

|
|
2
2
|
===============================================================================
|
|
3
3
|
https://github.com/seccomp/libseccomp
|
|
4
4
|
|
|
5
5
|
[](https://bestpractices.coreinfrastructure.org/projects/608)
|
|
6
6
|
[](https://travis-ci.org/seccomp/libseccomp)
|
|
7
7
|
[](https://coveralls.io/github/seccomp/libseccomp?branch=master)
|
|
8
|
+
[](https://lgtm.com/projects/g/seccomp/libseccomp/context:cpp)
|
|
8
9
|
|
|
9
10
|
The libseccomp library provides an easy to use, platform independent, interface
|
|
10
11
|
to the Linux Kernel's syscall filtering mechanism. The libseccomp API is
|
|
@@ -52,6 +53,7 @@ The libseccomp library currently supports the architectures listed below:
|
|
|
52
53
|
* 64-bit PowerPC little endian (ppc64le)
|
|
53
54
|
* 32-bit s390 (s390)
|
|
54
55
|
* 64-bit s390x (s390x)
|
|
56
|
+
* 64-bit RISC-V (riscv64)
|
|
55
57
|
|
|
56
58
|
## Documentation
|
|
57
59
|
|
|
@@ -19,7 +19,7 @@ dnl #
|
|
|
19
19
|
dnl ####
|
|
20
20
|
dnl libseccomp defines
|
|
21
21
|
dnl ####
|
|
22
|
-
AC_INIT([libseccomp], [2.
|
|
22
|
+
AC_INIT([libseccomp], [2.5.0])
|
|
23
23
|
|
|
24
24
|
dnl ####
|
|
25
25
|
dnl autoconf configuration
|
|
@@ -66,7 +66,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
|
66
66
|
dnl ####
|
|
67
67
|
dnl build flags
|
|
68
68
|
dnl ####
|
|
69
|
-
AM_CPPFLAGS="-I\${top_srcdir}/include"
|
|
69
|
+
AM_CPPFLAGS="-I\${top_srcdir}/include -I\${top_builddir}/include"
|
|
70
70
|
AM_CFLAGS="-Wall"
|
|
71
71
|
AM_LDFLAGS="-Wl,-z -Wl,relro"
|
|
72
72
|
AC_SUBST([AM_CPPFLAGS])
|
|
@@ -91,11 +91,11 @@ AC_SUBST([VERSION_MICRO])
|
|
|
91
91
|
dnl ####
|
|
92
92
|
dnl cython checks
|
|
93
93
|
dnl ####
|
|
94
|
-
|
|
95
|
-
AS_IF([test "$
|
|
96
|
-
AS_ECHO("checking cython version... $(cython -V 2>&1 | cut -d' ' -f 3)")
|
|
97
|
-
CYTHON_VER_MAJ=$(cython -V 2>&1 | cut -d' ' -f 3 | cut -d'.' -f 1);
|
|
98
|
-
CYTHON_VER_MIN=$(cython -V 2>&1 | cut -d' ' -f 3 | cut -d'.' -f 2);
|
|
94
|
+
AC_CHECK_PROGS(cython, cython3 cython, "no")
|
|
95
|
+
AS_IF([test "$cython" != no], [
|
|
96
|
+
AS_ECHO("checking cython version... $($cython -V 2>&1 | cut -d' ' -f 3)")
|
|
97
|
+
CYTHON_VER_MAJ=$($cython -V 2>&1 | cut -d' ' -f 3 | cut -d'.' -f 1);
|
|
98
|
+
CYTHON_VER_MIN=$($cython -V 2>&1 | cut -d' ' -f 3 | cut -d'.' -f 2);
|
|
99
99
|
],[
|
|
100
100
|
CYTHON_VER_MAJ=0
|
|
101
101
|
CYTHON_VER_MIN=0
|
|
@@ -112,13 +112,18 @@ AS_IF([test "$enable_python" = yes], [
|
|
|
112
112
|
AS_IF([test "$CYTHON_VER_MAJ" -eq 0 -a "$CYTHON_VER_MIN" -lt 29], [
|
|
113
113
|
AC_MSG_ERROR([python bindings require cython 0.29 or higher])
|
|
114
114
|
])
|
|
115
|
-
AM_PATH_PYTHON
|
|
115
|
+
AM_PATH_PYTHON([3])
|
|
116
116
|
])
|
|
117
117
|
AM_CONDITIONAL([ENABLE_PYTHON], [test "$enable_python" = yes])
|
|
118
118
|
AC_DEFINE_UNQUOTED([ENABLE_PYTHON],
|
|
119
119
|
[$(test "$enable_python" = yes && echo 1 || echo 0)],
|
|
120
120
|
[Python bindings build flag.])
|
|
121
121
|
|
|
122
|
+
AC_CHECK_TOOL(GPERF, gperf)
|
|
123
|
+
if test -z "$GPERF"; then
|
|
124
|
+
AC_MSG_ERROR([please install gperf])
|
|
125
|
+
fi
|
|
126
|
+
|
|
122
127
|
dnl ####
|
|
123
128
|
dnl coverity checks
|
|
124
129
|
dnl ####
|
|
@@ -38,6 +38,12 @@ dist_man3_MANS = \
|
|
|
38
38
|
man/man3/seccomp_rule_add_array.3 \
|
|
39
39
|
man/man3/seccomp_rule_add_exact.3 \
|
|
40
40
|
man/man3/seccomp_rule_add_exact_array.3 \
|
|
41
|
+
man/man3/seccomp_notify_alloc.3 \
|
|
42
|
+
man/man3/seccomp_notify_fd.3 \
|
|
43
|
+
man/man3/seccomp_notify_free.3 \
|
|
44
|
+
man/man3/seccomp_notify_id_valid.3 \
|
|
45
|
+
man/man3/seccomp_notify_receive.3 \
|
|
46
|
+
man/man3/seccomp_notify_respond.3 \
|
|
41
47
|
man/man3/seccomp_syscall_priority.3 \
|
|
42
48
|
man/man3/seccomp_syscall_resolve_name.3 \
|
|
43
49
|
man/man3/seccomp_syscall_resolve_name_arch.3 \
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.TH "seccomp_api_get" 3 "
|
|
1
|
+
.TH "seccomp_api_get" 3 "13 June 2020" "paul@paul-moore.com" "libseccomp Documentation"
|
|
2
2
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
3
3
|
.SH NAME
|
|
4
4
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
@@ -49,7 +49,17 @@ the
|
|
|
49
49
|
syscall to load the seccomp filter into the kernel.
|
|
50
50
|
.TP
|
|
51
51
|
.B 3
|
|
52
|
-
The SCMP_FLTATR_CTL_LOG filter attribute and the SCMP_ACT_LOG action are
|
|
52
|
+
The SCMP_FLTATR_CTL_LOG filter attribute and the SCMP_ACT_LOG action are
|
|
53
|
+
supported.
|
|
54
|
+
.TP
|
|
55
|
+
.B 4
|
|
56
|
+
The SCMP_FLTATR_CTL_SSB filter attribute is supported.
|
|
57
|
+
.TP
|
|
58
|
+
.B 5
|
|
59
|
+
The SCMP_ACT_NOTIFY action and the notify APIs are supported.
|
|
60
|
+
.TP
|
|
61
|
+
.B 5
|
|
62
|
+
The simultaneous use of SCMP_FLTATR_CTL_TSYNC and the notify APIs are supported.
|
|
53
63
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
54
64
|
.SH RETURN VALUE
|
|
55
65
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.TH "seccomp_arch_add" 3 "
|
|
1
|
+
.TH "seccomp_arch_add" 3 "15 June 2020" "paul@paul-moore.com" "libseccomp Documentation"
|
|
2
2
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
3
3
|
.SH NAME
|
|
4
4
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
@@ -14,6 +14,23 @@ seccomp_arch_add, seccomp_arch_remove, seccomp_arch_exist, seccomp_arch_native \
|
|
|
14
14
|
.B #define SCMP_ARCH_NATIVE
|
|
15
15
|
.B #define SCMP_ARCH_X86
|
|
16
16
|
.B #define SCMP_ARCH_X86_64
|
|
17
|
+
.B #define SCMP_ARCH_X32
|
|
18
|
+
.B #define SCMP_ARCH_ARM
|
|
19
|
+
.B #define SCMP_ARCH_AARCH64
|
|
20
|
+
.B #define SCMP_ARCH_MIPS
|
|
21
|
+
.B #define SCMP_ARCH_MIPS64
|
|
22
|
+
.B #define SCMP_ARCH_MIPS64N32
|
|
23
|
+
.B #define SCMP_ARCH_MIPSEL
|
|
24
|
+
.B #define SCMP_ARCH_MIPSEL64
|
|
25
|
+
.B #define SCMP_ARCH_MIPSEL64N32
|
|
26
|
+
.B #define SCMP_ARCH_PPC
|
|
27
|
+
.B #define SCMP_ARCH_PPC64
|
|
28
|
+
.B #define SCMP_ARCH_PPC64LE
|
|
29
|
+
.B #define SCMP_ARCH_S390
|
|
30
|
+
.B #define SCMP_ARCH_S390X
|
|
31
|
+
.B #define SCMP_ARCH_PARISC
|
|
32
|
+
.B #define SCMP_ARCH_PARISC64
|
|
33
|
+
.B #define SCMP_ARCH_RISCV64
|
|
17
34
|
.sp
|
|
18
35
|
.BI "uint32_t seccomp_arch_resolve_name(const char *" arch_name ");"
|
|
19
36
|
.BI "uint32_t seccomp_arch_native();"
|
|
@@ -69,13 +86,28 @@ new architecture will be added to all of the architectures in the filter.
|
|
|
69
86
|
.SH RETURN VALUE
|
|
70
87
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
71
88
|
The
|
|
72
|
-
.BR seccomp_arch_add ()
|
|
89
|
+
.BR seccomp_arch_add (),
|
|
90
|
+
.BR seccomp_arch_remove (),
|
|
73
91
|
and
|
|
74
|
-
.BR seccomp_arch_remove ()
|
|
75
|
-
functions return zero on success, negative errno values on failure. The
|
|
76
92
|
.BR seccomp_arch_exist ()
|
|
77
|
-
|
|
78
|
-
|
|
93
|
+
functions return zero on success or one of the following error codes on
|
|
94
|
+
failure:
|
|
95
|
+
.TP
|
|
96
|
+
.B -EDOM
|
|
97
|
+
Architecture specific failure.
|
|
98
|
+
.TP
|
|
99
|
+
.B -EEXIST
|
|
100
|
+
In the case of
|
|
101
|
+
.BR seccomp_arch_add ()
|
|
102
|
+
the architecture already exists and in the case of
|
|
103
|
+
.BR seccomp_arch_remove ()
|
|
104
|
+
the architecture does not exist.
|
|
105
|
+
.TP
|
|
106
|
+
.B -EINVAL
|
|
107
|
+
Invalid input, either the context or architecture token is invalid.
|
|
108
|
+
.TP
|
|
109
|
+
.B -ENOMEM
|
|
110
|
+
The library was unable to allocate enough memory.
|
|
79
111
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
80
112
|
.SH EXAMPLES
|
|
81
113
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.TH "seccomp_attr_set" 3 "
|
|
1
|
+
.TH "seccomp_attr_set" 3 "06 June 2020" "paul@paul-moore.com" "libseccomp Documentation"
|
|
2
2
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
3
3
|
.SH NAME
|
|
4
4
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
@@ -94,10 +94,61 @@ the
|
|
|
94
94
|
action. Defaults to off (
|
|
95
95
|
.I value
|
|
96
96
|
== 0).
|
|
97
|
+
.TP
|
|
98
|
+
.B SCMP_FLTATR_CTL_SSB
|
|
99
|
+
A flag to disable Speculative Store Bypass mitigations for this filter.
|
|
100
|
+
Defaults to off (
|
|
101
|
+
.I value
|
|
102
|
+
== 0).
|
|
103
|
+
.TP
|
|
104
|
+
.B SCMP_FLTATR_CTL_OPTIMIZE
|
|
105
|
+
A flag to specify the optimization level of the seccomp filter. By default
|
|
106
|
+
libseccomp generates a set of sequential \'if\' statements for each rule in
|
|
107
|
+
the filter.
|
|
108
|
+
.BR seccomp_syscall_priority(3)
|
|
109
|
+
can be used to prioritize the order for the default cause. The binary tree
|
|
110
|
+
optimization sorts by syscall numbers and generates consistent
|
|
111
|
+
.BR O(log\ n)
|
|
112
|
+
filter traversal for every rule in the filter. The binary tree may be
|
|
113
|
+
advantageous for large filters. Note that
|
|
114
|
+
.BR seccomp_syscall_priority(3)
|
|
115
|
+
is ignored when SCMP_FLTATR_CTL_OPTIMIZE == 2.
|
|
116
|
+
.RS
|
|
117
|
+
.P
|
|
118
|
+
The different optimization levels are described below:
|
|
119
|
+
.TP
|
|
120
|
+
.B 0
|
|
121
|
+
Reserved value, not currently used.
|
|
122
|
+
.TP
|
|
123
|
+
.B 1
|
|
124
|
+
Rules sorted by priority and complexity (DEFAULT).
|
|
125
|
+
.TP
|
|
126
|
+
.B 2
|
|
127
|
+
Binary tree sorted by syscall number.
|
|
128
|
+
.RE
|
|
129
|
+
.TP
|
|
130
|
+
.B SCMP_FLTATR_API_SYSRAWRC
|
|
131
|
+
A flag to specify if libseccomp should pass system error codes back to the
|
|
132
|
+
caller instead of the default -ECANCELED. Defaults to off (
|
|
133
|
+
.I value
|
|
134
|
+
== 0).
|
|
97
135
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
98
136
|
.SH RETURN VALUE
|
|
99
137
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
100
|
-
Returns zero on success
|
|
138
|
+
Returns zero on success or one of the following error codes on
|
|
139
|
+
failure:
|
|
140
|
+
.TP
|
|
141
|
+
.B -EACCES
|
|
142
|
+
Setting the attribute with the given value is not allowed.
|
|
143
|
+
.TP
|
|
144
|
+
.B -EEXIST
|
|
145
|
+
The attribute does not exist.
|
|
146
|
+
.TP
|
|
147
|
+
.B -EINVAL
|
|
148
|
+
Invalid input, either the context or architecture token is invalid.
|
|
149
|
+
.TP
|
|
150
|
+
.B -EOPNOTSUPP
|
|
151
|
+
The library doesn't support the particular operation.
|
|
101
152
|
.\" //////////////////////////////////////////////////////////////////////////
|
|
102
153
|
.SH EXAMPLES
|
|
103
154
|
.\" //////////////////////////////////////////////////////////////////////////
|