Repository: kubernetes-sigs/security-profiles-operator
Pull request #539 (2021-07-14 13:07:00)

Add arm64 support for syscall names

#### What type of PR is this?


/kind feature


#### What this PR does / why we need it:
We now skip a syscall if no name has been found for it. Additionally, we
add the syscalls for the arm64 platform.

#### Which issue(s) this PR fixes:

<!--
*Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.

Fixes #

or

None
-->
None
#### Does this PR have test?
None
<!--
If tests aren't applicable just write N/A.
-->

#### Special notes for your reviewer:
None
#### Does this PR introduce a user-facing change?

<!--
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".

For more information on release notes see: https://git.k8s.io/community/contributors/guide/release-notes.md
-->

```release-note
Add arm64 support for retrieving the correct syscall names within the log enricher.
```


k8s-ci-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubernetes-sigs/security-profiles-operator/pull/539#" title="Author self-approved">saschagrunert</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubernetes-sigs%2Fsecurity-profiles-operator).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/kubernetes-sigs/security-profiles-operator/blob/master/OWNERS)~~ [saschagrunert]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
k8s-ci-robot: @saschagrunert: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-security-profiles-operator-verify | 41781f600b8b0beeaadfae1dca8f1dc78a3518c6 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_security-profiles-operator/539/pull-security-profiles-operator-verify/1415296778021900288) | `/test pull-security-profiles-operator-verify`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=security-profiles-operator&pr=539). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Asaschagrunert). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/security-profiles-operator/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
JAORMX: /lgtm
k8s-ci-robot: @saschagrunert: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-security-profiles-operator-verify | 32bb336533ab7f538e175069e6ba305e4f6f12c3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_security-profiles-operator/539/pull-security-profiles-operator-verify/1415297173158891520) | `/test pull-security-profiles-operator-verify`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=security-profiles-operator&pr=539). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Asaschagrunert). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/security-profiles-operator/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @saschagrunert: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-security-profiles-operator-verify | 32bb336533ab7f538e175069e6ba305e4f6f12c3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_security-profiles-operator/539/pull-security-profiles-operator-verify/1415297173158891520) | `/test pull-security-profiles-operator-verify`
pull-security-profiles-operator-build-image | 32bb336533ab7f538e175069e6ba305e4f6f12c3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_security-profiles-operator/539/pull-security-profiles-operator-build-image/1415297173221806080) | `/test pull-security-profiles-operator-build-image`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=security-profiles-operator&pr=539). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Asaschagrunert). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/security-profiles-operator/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: New changes are detected. LGTM label has been removed.
k8s-ci-robot: @saschagrunert: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-security-profiles-operator-build-image | 0340fbd6d76cc9b618870a12ea4399e6f99f5634 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_security-profiles-operator/539/pull-security-profiles-operator-build-image/1415299522300481536) | `/test pull-security-profiles-operator-build-image`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=security-profiles-operator&pr=539). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Asaschagrunert). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/security-profiles-operator/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->

Patch:
diff --git a/.golangci.yml b/.golangci.yml
index e23ca68bb..9affe1980 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -78,6 +78,8 @@ linters:
     # - wrapcheck
     # - wsl
 linters-settings:
+  gocognit:
+    min-complexity: 40
   nestif:
     min-complexity: 10
   gci:
diff --git a/examples/baseprofile-crun.yaml b/examples/baseprofile-crun.yaml
index a26df164b..f306424f2 100644
--- a/examples/baseprofile-crun.yaml
+++ b/examples/baseprofile-crun.yaml
@@ -2,7 +2,7 @@
 apiVersion: security-profiles-operator.x-k8s.io/v1alpha1
 kind: SeccompProfile
 metadata:
-  name: crun-v0.17
+  name: crun-v0.20.1
 spec:
   defaultAction: SCMP_ACT_ERRNO
   architectures:
@@ -10,17 +10,45 @@ spec:
   syscalls:
   - action: SCMP_ACT_ALLOW
     names:
+    - access
     - arch_prctl
+    - brk
     - capset
+    - chdir
     - close
+    - close_range
+    - dup2
     - execve
     - exit_group
+    - fchdir
+    - fstat
+    - getcwd
+    - getegid
+    - geteuid
+    - getgid
+    - getpid
+    - getppid
+    - getuid
+    - ioctl
+    - lseek
+    - mmap
+    - mount
+    - mprotect
+    - openat
+    - openat2
+    - pivot_root
     - prctl
     - read
     - rt_sigaction
     - rt_sigprocmask
     - select
     - set_tid_address
+    - sethostname
     - setresgid
     - setresuid
+    - setsid
+    - stat
+    - statx
+    - umask
+    - umount2
     - write
diff --git a/examples/baseprofile-runc.yaml b/examples/baseprofile-runc.yaml
index de4e2fdf2..402061016 100644
--- a/examples/baseprofile-runc.yaml
+++ b/examples/baseprofile-runc.yaml
@@ -2,7 +2,7 @@
 apiVersion: security-profiles-operator.x-k8s.io/v1alpha1
 kind: SeccompProfile
 metadata:
-  name: runc-v1.0.0-rc92
+  name: runc-v1.0.0
 spec:
   defaultAction: SCMP_ACT_ERRNO
   architectures:
@@ -10,28 +10,48 @@ spec:
   syscalls:
   - action: SCMP_ACT_ALLOW
     names:
+    - arch_prctl
+    - brk
     - capget
     - capset
     - chdir
     - close
+    - dup3
     - epoll_ctl
     - epoll_pwait
     - execve
+    - exit_group
+    - fchdir
     - fchown
     - fcntl
     - fstat
     - fstatfs
     - futex
+    - getcwd
     - getdents64
     - getpid
     - getppid
+    - getuid
+    - ioctl
+    - mmap
+    - mount
+    - mprotect
     - nanosleep
     - newfstatat
     - openat
+    - pivot_root
     - prctl
     - read
-    - sched_yield
+    - rt_sigaction
+    - rt_sigprocmask
+    - rt_sigreturn
+    - set_tid_address
     - setgid
     - setgroups
+    - sethostname
     - setuid
+    - statfs
+    - tgkill
+    - umask
+    - umount2
     - write
diff --git a/go.mod b/go.mod
index 203e23153..7a2bce3f5 100644
--- a/go.mod
+++ b/go.mod
@@ -20,9 +20,9 @@ require (
 	google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0
 	google.golang.org/protobuf v1.27.1
 	k8s.io/api v0.20.6
-	k8s.io/apimachinery v0.21.2
+	k8s.io/apimachinery v0.21.3
 	k8s.io/client-go v0.20.6
-	k8s.io/klog/v2 v2.9.0
+	k8s.io/klog/v2 v2.10.0
 	sigs.k8s.io/controller-runtime v0.8.3
 	sigs.k8s.io/controller-tools v0.5.0
 	sigs.k8s.io/mdtoc v1.0.1
diff --git a/go.sum b/go.sum
index 68c7bd00a..0b70defa0 100644
--- a/go.sum
+++ b/go.sum
@@ -1560,8 +1560,8 @@ k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRp
 k8s.io/apimachinery v0.20.2/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
 k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
 k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc=
-k8s.io/apimachinery v0.21.2 h1:vezUc/BHqWlQDnZ+XkrpXSmnANSLbpnlpwo0Lhk0gpc=
-k8s.io/apimachinery v0.21.2/go.mod h1:CdTY8fU/BlvAbJ2z/8kBwimGki5Zp8/fbVuLY8gJumM=
+k8s.io/apimachinery v0.21.3 h1:3Ju4nvjCngxxMYby0BimUk+pQHPOQp3eCGChk5kfVII=
+k8s.io/apimachinery v0.21.3/go.mod h1:H/IM+5vH9kZRNJ4l3x/fXP/5bOPJaVP/guptnZPeCFI=
 k8s.io/apiserver v0.0.0-20190918160949-bfa5e2e684ad/go.mod h1:XPCXEwhjaFN29a8NldXA901ElnKeKLrLtREO9ZhFyhg=
 k8s.io/apiserver v0.18.3/go.mod h1:tHQRmthRPLUtwqsOnJJMoI8SW3lnoReZeE861lH8vUw=
 k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU=
@@ -1604,8 +1604,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
 k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
 k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
 k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
-k8s.io/klog/v2 v2.9.0 h1:D7HV+n1V57XeZ0m6tdRkfknthUaM06VFbWldOFh8kzM=
-k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
+k8s.io/klog/v2 v2.10.0 h1:R2HDMDJsHVTHA2n4RjwbeYXdOcBymXdX/JRb1v0VGhE=
+k8s.io/klog/v2 v2.10.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
 k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
 k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
 k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM=
@@ -1647,8 +1647,8 @@ sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h
 sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
 sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
 sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
-sigs.k8s.io/structured-merge-diff/v4 v4.1.0 h1:C4r9BgJ98vrKnnVCjwCSXcWjWe0NKcUQkmzDXZXGwH8=
-sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
+sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno=
+sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4=
 sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
 sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
 sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
diff --git a/installation-usage.md b/installation-usage.md
index b2e9d264c..351f27d9b 100644
--- a/installation-usage.md
+++ b/installation-usage.md
@@ -147,7 +147,7 @@ $ kubectl --namespace my-namespace get deployment myapp --output=jsonpath='{.spe
 ### Base syscalls for a container runtime
 
 An example of the minimum required syscalls for a runtime such as
-[runc](https://github.com/opencontainers/runc) (tested on version 1.0.0-rc92) to
+[runc](https://github.com/opencontainers/runc) (tested on version 1.0.0) to
 launch a container can be found in [the
 examples](./examples/baseprofile-runc.yaml). You can use this example as a
 starting point for creating custom profiles for your application. You can also
@@ -163,7 +163,7 @@ metadata:
   name: profile1
 spec:
   defaultAction: SCMP_ACT_ERRNO
-  baseProfileName: runc-v1.0.0-rc92
+  baseProfileName: runc-v1.0.0
   syscalls:
     - action: SCMP_ACT_ALLOW
       names:
@@ -173,7 +173,7 @@ spec:
 If you're not using runc but the alternative
 [crun](https://github.com/containers/crun), then you can do the same by using
 the [corresponding example profile](./examples/baseprofile-crun.yaml) (tested
-with version 0.17).
+with version 0.20.1).
 
 ### Bind workloads to profiles with ProfileBindings
 
diff --git a/internal/pkg/daemon/enricher/enricher.go b/internal/pkg/daemon/enricher/enricher.go
index 889df9bc5..c00b61dc7 100644
--- a/internal/pkg/daemon/enricher/enricher.go
+++ b/internal/pkg/daemon/enricher/enricher.go
@@ -154,7 +154,15 @@ func (e *Enricher) Run() error {
 			continue
 		}
 
-		syscallName := systemCalls[auditLine.systemCallID]
+		syscallName, ok := systemCalls[auditLine.systemCallID]
+		if !ok {
+			e.logger.Info(
+				"no syscall name found for ID",
+				"syscallID", auditLine.systemCallID,
+			)
+			continue
+		}
+
 		e.logger.Info("audit",
 			"timestamp", auditLine.timestampID,
 			"type", auditLine.type_,
diff --git a/internal/pkg/daemon/enricher/syscall_amd64.go b/internal/pkg/daemon/enricher/syscall_amd64.go
new file mode 100644
index 000000000..50928865f
--- /dev/null
+++ b/internal/pkg/daemon/enricher/syscall_amd64.go
@@ -0,0 +1,417 @@
+// +build !arm64
+
+/*
+Copyright 2021 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package enricher
+
+// List of x86-x64 syscalls
+// Source: https://github.com/torvalds/linux/blob/v5.13/arch/x86/entry/syscalls/syscall_64.tbl
+var systemCalls = map[int]string{
+	0:   "read",
+	1:   "write",
+	2:   "open",
+	3:   "close",
+	4:   "stat",
+	5:   "fstat",
+	6:   "lstat",
+	7:   "poll",
+	8:   "lseek",
+	9:   "mmap",
+	10:  "mprotect",
+	11:  "munmap",
+	12:  "brk",
+	13:  "rt_sigaction",
+	14:  "rt_sigprocmask",
+	15:  "rt_sigreturn",
+	16:  "ioctl",
+	17:  "pread64",
+	18:  "pwrite64",
+	19:  "readv",
+	20:  "writev",
+	21:  "access",
+	22:  "pipe",
+	23:  "select",
+	24:  "sched_yield",
+	25:  "mremap",
+	26:  "msync",
+	27:  "mincore",
+	28:  "madvise",
+	29:  "shmget",
+	30:  "shmat",
+	31:  "shmctl",
+	32:  "dup",
+	33:  "dup2",
+	34:  "pause",
+	35:  "nanosleep",
+	36:  "getitimer",
+	37:  "alarm",
+	38:  "setitimer",
+	39:  "getpid",
+	40:  "sendfile",
+	41:  "socket",
+	42:  "connect",
+	43:  "accept",
+	44:  "sendto",
+	45:  "recvfrom",
+	46:  "sendmsg",
+	47:  "recvmsg",
+	48:  "shutdown",
+	49:  "bind",
+	50:  "listen",
+	51:  "getsockname",
+	52:  "getpeername",
+	53:  "socketpair",
+	54:  "setsockopt",
+	55:  "getsockopt",
+	56:  "clone",
+	57:  "fork",
+	58:  "vfork",
+	59:  "execve",
+	60:  "exit",
+	61:  "wait4",
+	62:  "kill",
+	63:  "uname",
+	64:  "semget",
+	65:  "semop",
+	66:  "semctl",
+	67:  "shmdt",
+	68:  "msgget",
+	69:  "msgsnd",
+	70:  "msgrcv",
+	71:  "msgctl",
+	72:  "fcntl",
+	73:  "flock",
+	74:  "fsync",
+	75:  "fdatasync",
+	76:  "truncate",
+	77:  "ftruncate",
+	78:  "getdents",
+	79:  "getcwd",
+	80:  "chdir",
+	81:  "fchdir",
+	82:  "rename",
+	83:  "mkdir",
+	84:  "rmdir",
+	85:  "creat",
+	86:  "link",
+	87:  "unlink",
+	88:  "symlink",
+	89:  "readlink",
+	90:  "chmod",
+	91:  "fchmod",
+	92:  "chown",
+	93:  "fchown",
+	94:  "lchown",
+	95:  "umask",
+	96:  "gettimeofday",
+	97:  "getrlimit",
+	98:  "getrusage",
+	99:  "sysinfo",
+	100: "times",
+	101: "ptrace",
+	102: "getuid",
+	103: "syslog",
+	104: "getgid",
+	105: "setuid",
+	106: "setgid",
+	107: "geteuid",
+	108: "getegid",
+	109: "setpgid",
+	110: "getppid",
+	111: "getpgrp",
+	112: "setsid",
+	113: "setreuid",
+	114: "setregid",
+	115: "getgroups",
+	116: "setgroups",
+	117: "setresuid",
+	118: "getresuid",
+	119: "setresgid",
+	120: "getresgid",
+	121: "getpgid",
+	122: "setfsuid",
+	123: "setfsgid",
+	124: "getsid",
+	125: "capget",
+	126: "capset",
+	127: "rt_sigpending",
+	128: "rt_sigtimedwait",
+	129: "rt_sigqueueinfo",
+	130: "rt_sigsuspend",
+	131: "sigaltstack",
+	132: "utime",
+	133: "mknod",
+	134: "uselib",
+	135: "personality",
+	136: "ustat",
+	137: "statfs",
+	138: "fstatfs",
+	139: "sysfs",
+	140: "getpriority",
+	141: "setpriority",
+	142: "sched_setparam",
+	143: "sched_getparam",
+	144: "sched_setscheduler",
+	145: "sched_getscheduler",
+	146: "sched_get_priority_max",
+	147: "sched_get_priority_min",
+	148: "sched_rr_get_interval",
+	149: "mlock",
+	150: "munlock",
+	151: "mlockall",
+	152: "munlockall",
+	153: "vhangup",
+	154: "modify_ldt",
+	155: "pivot_root",
+	156: "_sysctl",
+	157: "prctl",
+	158: "arch_prctl",
+	159: "adjtimex",
+	160: "setrlimit",
+	161: "chroot",
+	162: "sync",
+	163: "acct",
+	164: "settimeofday",
+	165: "mount",
+	166: "umount2",
+	167: "swapon",
+	168: "swapoff",
+	169: "reboot",
+	170: "sethostname",
+	171: "setdomainname",
+	172: "iopl",
+	173: "ioperm",
+	174: "create_module",
+	175: "init_module",
+	176: "delete_module",
+	177: "get_kernel_syms",
+	178: "query_module",
+	179: "quotactl",
+	180: "nfsservctl",
+	181: "getpmsg",
+	182: "putpmsg",
+	183: "afs_syscall",
+	184: "tuxcall",
+	185: "security",
+	186: "gettid",
+	187: "readahead",
+	188: "setxattr",
+	189: "lsetxattr",
+	190: "fsetxattr",
+	191: "getxattr",
+	192: "lgetxattr",
+	193: "fgetxattr",
+	194: "listxattr",
+	195: "llistxattr",
+	196: "flistxattr",
+	197: "removexattr",
+	198: "lremovexattr",
+	199: "fremovexattr",
+	200: "tkill",
+	201: "time",
+	202: "futex",
+	203: "sched_setaffinity",
+	204: "sched_getaffinity",
+	205: "set_thread_area",
+	206: "io_setup",
+	207: "io_destroy",
+	208: "io_getevents",
+	209: "io_submit",
+	210: "io_cancel",
+	211: "get_thread_area",
+	212: "lookup_dcookie",
+	213: "epoll_create",
+	214: "epoll_ctl_old",
+	215: "epoll_wait_old",
+	216: "remap_file_pages",
+	217: "getdents64",
+	218: "set_tid_address",
+	219: "restart_syscall",
+	220: "semtimedop",
+	221: "fadvise64",
+	222: "timer_create",
+	223: "timer_settime",
+	224: "timer_gettime",
+	225: "timer_getoverrun",
+	226: "timer_delete",
+	227: "clock_settime",
+	228: "clock_gettime",
+	229: "clock_getres",
+	230: "clock_nanosleep",
+	231: "exit_group",
+	232: "epoll_wait",
+	233: "epoll_ctl",
+	234: "tgkill",
+	235: "utimes",
+	236: "vserver",
+	237: "mbind",
+	238: "set_mempolicy",
+	239: "get_mempolicy",
+	240: "mq_open",
+	241: "mq_unlink",
+	242: "mq_timedsend",
+	243: "mq_timedreceive",
+	244: "mq_notify",
+	245: "mq_getsetattr",
+	246: "kexec_load",
+	247: "waitid",
+	248: "add_key",
+	249: "request_key",
+	250: "keyctl",
+	251: "ioprio_set",
+	252: "ioprio_get",
+	253: "inotify_init",
+	254: "inotify_add_watch",
+	255: "inotify_rm_watch",
+	256: "migrate_pages",
+	257: "openat",
+	258: "mkdirat",
+	259: "mknodat",
+	260: "fchownat",
+	261: "futimesat",
+	262: "newfstatat",
+	263: "unlinkat",
+	264: "renameat",
+	265: "linkat",
+	266: "symlinkat",
+	267: "readlinkat",
+	268: "fchmodat",
+	269: "faccessat",
+	270: "pselect6",
+	271: "ppoll",
+	272: "unshare",
+	273: "set_robust_list",
+	274: "get_robust_list",
+	275: "splice",
+	276: "tee",
+	277: "sync_file_range",
+	278: "vmsplice",
+	279: "move_pages",
+	280: "utimensat",
+	281: "epoll_pwait",
+	282: "signalfd",
+	283: "timerfd_create",
+	284: "eventfd",
+	285: "fallocate",
+	286: "timerfd_settime",
+	287: "timerfd_gettime",
+	288: "accept4",
+	289: "signalfd4",
+	290: "eventfd2",
+	291: "epoll_create1",
+	292: "dup3",
+	293: "pipe2",
+	294: "inotify_init1",
+	295: "preadv",
+	296: "pwritev",
+	297: "rt_tgsigqueueinfo",
+	298: "perf_event_open",
+	299: "recvmmsg",
+	300: "fanotify_init",
+	301: "fanotify_mark",
+	302: "prlimit64",
+	303: "name_to_handle_at",
+	304: "open_by_handle_at",
+	305: "clock_adjtime",
+	306: "syncfs",
+	307: "sendmmsg",
+	308: "setns",
+	309: "getcpu",
+	310: "process_vm_readv",
+	311: "process_vm_writev",
+	312: "kcmp",
+	313: "finit_module",
+	314: "sched_setattr",
+	315: "sched_getattr",
+	316: "renameat2",
+	317: "seccomp",
+	318: "getrandom",
+	319: "memfd_create",
+	320: "kexec_file_load",
+	321: "bpf",
+	322: "execveat",
+	323: "userfaultfd",
+	324: "membarrier",
+	325: "mlock2",
+	326: "copy_file_range",
+	327: "preadv2",
+	328: "pwritev2",
+	329: "pkey_mprotect",
+	330: "pkey_alloc",
+	331: "pkey_free",
+	332: "statx",
+	333: "io_pgetevents",
+	334: "rseq",
+	424: "pidfd_send_signal",
+	425: "io_uring_setup",
+	426: "io_uring_enter",
+	427: "io_uring_register",
+	428: "open_tree",
+	429: "move_mount",
+	430: "fsopen",
+	431: "fsconfig",
+	432: "fsmount",
+	433: "fspick",
+	434: "pidfd_open",
+	435: "clone3",
+	436: "close_range",
+	437: "openat2",
+	438: "pidfd_getfd",
+	439: "faccessat2",
+	440: "process_madvise",
+	441: "epoll_pwait2",
+	442: "mount_setattr",
+	444: "landlock_create_ruleset",
+	445: "landlock_add_rule",
+	446: "landlock_restrict_self",
+	512: "rt_sigaction",
+	513: "rt_sigreturn",
+	514: "ioctl",
+	515: "readv",
+	516: "writev",
+	517: "recvfrom",
+	518: "sendmsg",
+	519: "recvmsg",
+	520: "execve",
+	521: "ptrace",
+	522: "rt_sigpending",
+	523: "rt_sigtimedwait",
+	524: "rt_sigqueueinfo",
+	525: "sigaltstack",
+	526: "timer_create",
+	527: "mq_notify",
+	528: "kexec_load",
+	529: "waitid",
+	530: "set_robust_list",
+	531: "get_robust_list",
+	532: "vmsplice",
+	533: "move_pages",
+	534: "preadv",
+	535: "pwritev",
+	536: "rt_tgsigqueueinfo",
+	537: "recvmmsg",
+	538: "sendmmsg",
+	539: "process_vm_readv",
+	540: "process_vm_writev",
+	541: "setsockopt",
+	542: "getsockopt",
+	543: "io_setup",
+	544: "io_submit",
+	545: "execveat",
+	546: "preadv2",
+	547: "pwritev2",
+}
diff --git a/internal/pkg/daemon/enricher/syscall_arm64.go b/internal/pkg/daemon/enricher/syscall_arm64.go
new file mode 100644
index 000000000..f388d4eef
--- /dev/null
+++ b/internal/pkg/daemon/enricher/syscall_arm64.go
@@ -0,0 +1,291 @@
+// +build arm64
+
+/*
+Copyright 2021 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package enricher
+
+// List of arm64 syscalls
+// Source: https://github.com/golang/go/blob/go1.16.6/src/syscall/zsysnum_linux_arm64.go
+var systemCalls = map[int]string{
+	0:   "io_setup",
+	1:   "io_destroy",
+	2:   "io_submit",
+	3:   "io_cancel",
+	4:   "io_getevents",
+	5:   "setxattr",
+	6:   "lsetxattr",
+	7:   "fsetxattr",
+	8:   "getxattr",
+	9:   "lgetxattr",
+	10:  "fgetxattr",
+	11:  "listxattr",
+	12:  "llistxattr",
+	13:  "flistxattr",
+	14:  "removexattr",
+	15:  "lremovexattr",
+	16:  "fremovexattr",
+	17:  "getcwd",
+	18:  "lookup_dcookie",
+	19:  "eventfd2",
+	20:  "epoll_create1",
+	21:  "epoll_ctl",
+	22:  "epoll_pwait",
+	23:  "dup",
+	24:  "dup3",
+	25:  "fcntl",
+	26:  "inotify_init1",
+	27:  "inotify_add_watch",
+	28:  "inotify_rm_watch",
+	29:  "ioctl",
+	30:  "ioprio_set",
+	31:  "ioprio_get",
+	32:  "flock",
+	33:  "mknodat",
+	34:  "mkdirat",
+	35:  "unlinkat",
+	36:  "symlinkat",
+	37:  "linkat",
+	38:  "renameat",
+	39:  "umount2",
+	40:  "mount",
+	41:  "pivot_root",
+	42:  "nfsservctl",
+	43:  "statfs",
+	44:  "fstatfs",
+	45:  "truncate",
+	46:  "ftruncate",
+	47:  "fallocate",
+	48:  "faccessat",
+	49:  "chdir",
+	50:  "fchdir",
+	51:  "chroot",
+	52:  "fchmod",
+	53:  "fchmodat",
+	54:  "fchownat",
+	55:  "fchown",
+	56:  "openat",
+	57:  "close",
+	58:  "vhangup",
+	59:  "pipe2",
+	60:  "quotactl",
+	61:  "getdents64",
+	62:  "lseek",
+	63:  "read",
+	64:  "write",
+	65:  "readv",
+	66:  "writev",
+	67:  "pread64",
+	68:  "pwrite64",
+	69:  "preadv",
+	70:  "pwritev",
+	71:  "sendfile",
+	72:  "pselect6",
+	73:  "ppoll",
+	74:  "signalfd4",
+	75:  "vmsplice",
+	76:  "splice",
+	77:  "tee",
+	78:  "readlinkat",
+	79:  "fstatat",
+	80:  "fstat",
+	81:  "sync",
+	82:  "fsync",
+	83:  "fdatasync",
+	84:  "sync_file_range",
+	85:  "timerfd_create",
+	86:  "timerfd_settime",
+	87:  "timerfd_gettime",
+	88:  "utimensat",
+	89:  "acct",
+	90:  "capget",
+	91:  "capset",
+	92:  "personality",
+	93:  "exit",
+	94:  "exit_group",
+	95:  "waitid",
+	96:  "set_tid_address",
+	97:  "unshare",
+	98:  "futex",
+	99:  "set_robust_list",
+	100: "get_robust_list",
+	101: "nanosleep",
+	102: "getitimer",
+	103: "setitimer",
+	104: "kexec_load",
+	105: "init_module",
+	106: "delete_module",
+	107: "timer_create",
+	108: "timer_gettime",
+	109: "timer_getoverrun",
+	110: "timer_settime",
+	111: "timer_delete",
+	112: "clock_settime",
+	113: "clock_gettime",
+	114: "clock_getres",
+	115: "clock_nanosleep",
+	116: "syslog",
+	117: "ptrace",
+	118: "sched_setparam",
+	119: "sched_setscheduler",
+	120: "sched_getscheduler",
+	121: "sched_getparam",
+	122: "sched_setaffinity",
+	123: "sched_getaffinity",
+	124: "sched_yield",
+	125: "sched_get_priority_max",
+	126: "sched_get_priority_min",
+	127: "sched_rr_get_interval",
+	128: "restart_syscall",
+	129: "kill",
+	130: "tkill",
+	131: "tgkill",
+	132: "sigaltstack",
+	133: "rt_sigsuspend",
+	134: "rt_sigaction",
+	135: "rt_sigprocmask",
+	136: "rt_sigpending",
+	137: "rt_sigtimedwait",
+	138: "rt_sigqueueinfo",
+	139: "rt_sigreturn",
+	140: "setpriority",
+	141: "getpriority",
+	142: "reboot",
+	143: "setregid",
+	144: "setgid",
+	145: "setreuid",
+	146: "setuid",
+	147: "setresuid",
+	148: "getresuid",
+	149: "setresgid",
+	150: "getresgid",
+	151: "setfsuid",
+	152: "setfsgid",
+	153: "times",
+	154: "setpgid",
+	155: "getpgid",
+	156: "getsid",
+	157: "setsid",
+	158: "getgroups",
+	159: "setgroups",
+	160: "uname",
+	161: "sethostname",
+	162: "setdomainname",
+	163: "getrlimit",
+	164: "setrlimit",
+	165: "getrusage",
+	166: "umask",
+	167: "prctl",
+	168: "getcpu",
+	169: "gettimeofday",
+	170: "settimeofday",
+	171: "adjtimex",
+	172: "getpid",
+	173: "getppid",
+	174: "getuid",
+	175: "geteuid",
+	176: "getgid",
+	177: "getegid",
+	178: "gettid",
+	179: "sysinfo",
+	180: "mq_open",
+	181: "mq_unlink",
+	182: "mq_timedsend",
+	183: "mq_timedreceive",
+	184: "mq_notify",
+	185: "mq_getsetattr",
+	186: "msgget",
+	187: "msgctl",
+	188: "msgrcv",
+	189: "msgsnd",
+	190: "semget",
+	191: "semctl",
+	192: "semtimedop",
+	193: "semop",
+	194: "shmget",
+	195: "shmctl",
+	196: "shmat",
+	197: "shmdt",
+	198: "socket",
+	199: "socketpair",
+	200: "bind",
+	201: "listen",
+	202: "accept",
+	203: "connect",
+	204: "getsockname",
+	205: "getpeername",
+	206: "sendto",
+	207: "recvfrom",
+	208: "setsockopt",
+	209: "getsockopt",
+	210: "shutdown",
+	211: "sendmsg",
+	212: "recvmsg",
+	213: "readahead",
+	214: "brk",
+	215: "munmap",
+	216: "mremap",
+	217: "add_key",
+	218: "request_key",
+	219: "keyctl",
+	220: "clone",
+	221: "execve",
+	222: "mmap",
+	223: "fadvise64",
+	224: "swapon",
+	225: "swapoff",
+	226: "mprotect",
+	227: "msync",
+	228: "mlock",
+	229: "munlock",
+	230: "mlockall",
+	231: "munlockall",
+	232: "mincore",
+	233: "madvise",
+	234: "remap_file_pages",
+	235: "mbind",
+	236: "get_mempolicy",
+	237: "set_mempolicy",
+	238: "migrate_pages",
+	239: "move_pages",
+	240: "rt_tgsigqueueinfo",
+	241: "perf_event_open",
+	242: "accept4",
+	243: "recvmmsg",
+	244: "arch_specific_syscall",
+	260: "wait4",
+	261: "prlimit64",
+	262: "fanotify_init",
+	263: "fanotify_mark",
+	264: "name_to_handle_at",
+	265: "open_by_handle_at",
+	266: "clock_adjtime",
+	267: "syncfs",
+	268: "setns",
+	269: "sendmmsg",
+	270: "process_vm_readv",
+	271: "process_vm_writev",
+	272: "kcmp",
+	273: "finit_module",
+	274: "sched_setattr",
+	275: "sched_getattr",
+	276: "renameat2",
+	277: "seccomp",
+	278: "getrandom",
+	279: "memfd_create",
+	280: "bpf",
+	281: "execveat",
+}
diff --git a/internal/pkg/daemon/enricher/types.go b/internal/pkg/daemon/enricher/types.go
index 9ece93ab8..332ce4664 100644
--- a/internal/pkg/daemon/enricher/types.go
+++ b/internal/pkg/daemon/enricher/types.go
@@ -36,391 +36,3 @@ type containerInfo struct {
 	containerID   string
 	recordProfile string
 }
-
-// List of x86-x64 syscalls
-// Source: https://raw.githubusercontent.com/torvalds/linux/master/arch/x86/entry/syscalls/syscall_64.tbl
-var systemCalls = map[int]string{
-	0:   "read",
-	1:   "write",
-	2:   "open",
-	3:   "close",
-	4:   "stat",
-	5:   "fstat",
-	6:   "lstat",
-	7:   "poll",
-	8:   "lseek",
-	9:   "mmap",
-	10:  "mprotect",
-	11:  "munmap",
-	12:  "brk",
-	13:  "rt_sigaction",
-	14:  "rt_sigprocmask",
-	15:  "rt_sigreturn",
-	16:  "ioctl",
-	17:  "pread64",
-	18:  "pwrite64",
-	19:  "readv",
-	20:  "writev",
-	21:  "access",
-	22:  "pipe",
-	23:  "select",
-	24:  "sched_yield",
-	25:  "mremap",
-	26:  "msync",
-	27:  "mincore",
-	28:  "madvise",
-	29:  "shmget",
-	30:  "shmat",
-	31:  "shmctl",
-	32:  "dup",
-	33:  "dup2",
-	34:  "pause",
-	35:  "nanosleep",
-	36:  "getitimer",
-	37:  "alarm",
-	38:  "setitimer",
-	39:  "getpid",
-	40:  "sendfile",
-	41:  "socket",
-	42:  "connect",
-	43:  "accept",
-	44:  "sendto",
-	45:  "recvfrom",
-	46:  "sendmsg",
-	47:  "recvmsg",
-	48:  "shutdown",
-	49:  "bind",
-	50:  "listen",
-	51:  "getsockname",
-	52:  "getpeername",
-	53:  "socketpair",
-	54:  "setsockopt",
-	55:  "getsockopt",
-	56:  "clone",
-	57:  "fork",
-	58:  "vfork",
-	59:  "execve",
-	60:  "exit",
-	61:  "wait4",
-	62:  "kill",
-	63:  "uname",
-	64:  "semget",
-	65:  "semop",
-	66:  "semctl",
-	67:  "shmdt",
-	68:  "msgget",
-	69:  "msgsnd",
-	70:  "msgrcv",
-	71:  "msgctl",
-	72:  "fcntl",
-	73:  "flock",
-	74:  "fsync",
-	75:  "fdatasync",
-	76:  "truncate",
-	77:  "ftruncate",
-	78:  "getdents",
-	79:  "getcwd",
-	80:  "chdir",
-	81:  "fchdir",
-	82:  "rename",
-	83:  "mkdir",
-	84:  "rmdir",
-	85:  "creat",
-	86:  "link",
-	87:  "unlink",
-	88:  "symlink",
-	89:  "readlink",
-	90:  "chmod",
-	91:  "fchmod",
-	92:  "chown",
-	93:  "fchown",
-	94:  "lchown",
-	95:  "umask",
-	96:  "gettimeofday",
-	97:  "getrlimit",
-	98:  "getrusage",
-	99:  "sysinfo",
-	100: "times",
-	101: "ptrace",
-	102: "getuid",
-	103: "syslog",
-	104: "getgid",
-	105: "setuid",
-	106: "setgid",
-	107: "geteuid",
-	108: "getegid",
-	109: "setpgid",
-	110: "getppid",
-	111: "getpgrp",
-	112: "setsid",
-	113: "setreuid",
-	114: "setregid",
-	115: "getgroups",
-	116: "setgroups",
-	117: "setresuid",
-	118: "getresuid",
-	119: "setresgid",
-	120: "getresgid",
-	121: "getpgid",
-	122: "setfsuid",
-	123: "setfsgid",
-	124: "getsid",
-	125: "capget",
-	126: "capset",
-	127: "rt_sigpending",
-	128: "rt_sigtimedwait",
-	129: "rt_sigqueueinfo",
-	130: "rt_sigsuspend",
-	131: "sigaltstack",
-	132: "utime",
-	133: "mknod",
-	134: "uselib",
-	135: "personality",
-	136: "ustat",
-	137: "statfs",
-	138: "fstatfs",
-	139: "sysfs",
-	140: "getpriority",
-	141: "setpriority",
-	142: "sched_setparam",
-	143: "sched_getparam",
-	144: "sched_setscheduler",
-	145: "sched_getscheduler",
-	146: "sched_get_priority_max",
-	147: "sched_get_priority_min",
-	148: "sched_rr_get_interval",
-	149: "mlock",
-	150: "munlock",
-	151: "mlockall",
-	152: "munlockall",
-	153: "vhangup",
-	154: "modify_ldt",
-	155: "pivot_root",
-	156: "_sysctl",
-	157: "prctl",
-	158: "arch_prctl",
-	159: "adjtimex",
-	160: "setrlimit",
-	161: "chroot",
-	162: "sync",
-	163: "acct",
-	164: "settimeofday",
-	165: "mount",
-	166: "umount2",
-	167: "swapon",
-	168: "swapoff",
-	169: "reboot",
-	170: "sethostname",
-	171: "setdomainname",
-	172: "iopl",
-	173: "ioperm",
-	174: "create_module",
-	175: "init_module",
-	176: "delete_module",
-	177: "get_kernel_syms",
-	178: "query_module",
-	179: "quotactl",
-	180: "nfsservctl",
-	181: "getpmsg",
-	182: "putpmsg",
-	183: "afs_syscall",
-	184: "tuxcall",
-	185: "security",
-	186: "gettid",
-	187: "readahead",
-	188: "setxattr",
-	189: "lsetxattr",
-	190: "fsetxattr",
-	191: "getxattr",
-	192: "lgetxattr",
-	193: "fgetxattr",
-	194: "listxattr",
-	195: "llistxattr",
-	196: "flistxattr",
-	197: "removexattr",
-	198: "lremovexattr",
-	199: "fremovexattr",
-	200: "tkill",
-	201: "time",
-	202: "futex",
-	203: "sched_setaffinity",
-	204: "sched_getaffinity",
-	205: "set_thread_area",
-	206: "io_setup",
-	207: "io_destroy",
-	208: "io_getevents",
-	209: "io_submit",
-	210: "io_cancel",
-	211: "get_thread_area",
-	212: "lookup_dcookie",
-	213: "epoll_create",
-	214: "epoll_ctl_old",
-	215: "epoll_wait_old",
-	216: "remap_file_pages",
-	217: "getdents64",
-	218: "set_tid_address",
-	219: "restart_syscall",
-	220: "semtimedop",
-	221: "fadvise64",
-	222: "timer_create",
-	223: "timer_settime",
-	224: "timer_gettime",
-	225: "timer_getoverrun",
-	226: "timer_delete",
-	227: "clock_settime",
-	228: "clock_gettime",
-	229: "clock_getres",
-	230: "clock_nanosleep",
-	231: "exit_group",
-	232: "epoll_wait",
-	233: "epoll_ctl",
-	234: "tgkill",
-	235: "utimes",
-	236: "vserver",
-	237: "mbind",
-	238: "set_mempolicy",
-	239: "get_mempolicy",
-	240: "mq_open",
-	241: "mq_unlink",
-	242: "mq_timedsend",
-	243: "mq_timedreceive",
-	244: "mq_notify",
-	245: "mq_getsetattr",
-	246: "kexec_load",
-	247: "waitid",
-	248: "add_key",
-	249: "request_key",
-	250: "keyctl",
-	251: "ioprio_set",
-	252: "ioprio_get",
-	253: "inotify_init",
-	254: "inotify_add_watch",
-	255: "inotify_rm_watch",
-	256: "migrate_pages",
-	257: "openat",
-	258: "mkdirat",
-	259: "mknodat",
-	260: "fchownat",
-	261: "futimesat",
-	262: "newfstatat",
-	263: "unlinkat",
-	264: "renameat",
-	265: "linkat",
-	266: "symlinkat",
-	267: "readlinkat",
-	268: "fchmodat",
-	269: "faccessat",
-	270: "pselect6",
-	271: "ppoll",
-	272: "unshare",
-	273: "set_robust_list",
-	274: "get_robust_list",
-	275: "splice",
-	276: "tee",
-	277: "sync_file_range",
-	278: "vmsplice",
-	279: "move_pages",
-	280: "utimensat",
-	281: "epoll_pwait",
-	282: "signalfd",
-	283: "timerfd_create",
-	284: "eventfd",
-	285: "fallocate",
-	286: "timerfd_settime",
-	287: "timerfd_gettime",
-	288: "accept4",
-	289: "signalfd4",
-	290: "eventfd2",
-	291: "epoll_create1",
-	292: "dup3",
-	293: "pipe2",
-	294: "inotify_init1",
-	295: "preadv",
-	296: "pwritev",
-	297: "rt_tgsigqueueinfo",
-	298: "perf_event_open",
-	299: "recvmmsg",
-	300: "fanotify_init",
-	301: "fanotify_mark",
-	302: "prlimit64",
-	303: "name_to_handle_at",
-	304: "open_by_handle_at",
-	305: "clock_adjtime",
-	306: "syncfs",
-	307: "sendmmsg",
-	308: "setns",
-	309: "getcpu",
-	310: "process_vm_readv",
-	311: "process_vm_writev",
-	312: "kcmp",
-	313: "finit_module",
-	314: "sched_setattr",
-	315: "sched_getattr",
-	316: "renameat2",
-	317: "seccomp",
-	318: "getrandom",
-	319: "memfd_create",
-	320: "kexec_file_load",
-	321: "bpf",
-	322: "execveat",
-	323: "userfaultfd",
-	324: "membarrier",
-	325: "mlock2",
-	326: "copy_file_range",
-	327: "preadv2",
-	328: "pwritev2",
-	329: "pkey_mprotect",
-	330: "pkey_alloc",
-	331: "pkey_free",
-	332: "statx",
-	333: "io_pgetevents",
-	334: "rseq",
-	424: "pidfd_send_signal",
-	425: "io_uring_setup",
-	426: "io_uring_enter",
-	427: "io_uring_register",
-	428: "open_tree",
-	429: "move_mount",
-	430: "fsopen",
-	431: "fsconfig",
-	432: "fsmount",
-	433: "fspick",
-	434: "pidfd_open",
-	435: "clone3",
-	512: "rt_sigaction",
-	513: "rt_sigreturn",
-	514: "ioctl",
-	515: "readv",
-	516: "writev",
-	517: "recvfrom",
-	518: "sendmsg",
-	519: "recvmsg",
-	520: "execve",
-	521: "ptrace",
-	522: "rt_sigpending",
-	523: "rt_sigtimedwait",
-	524: "rt_sigqueueinfo",
-	525: "sigaltstack",
-	526: "timer_create",
-	527: "mq_notify",
-	528: "kexec_load",
-	529: "waitid",
-	530: "set_robust_list",
-	531: "get_robust_list",
-	532: "vmsplice",
-	533: "move_pages",
-	534: "preadv",
-	535: "pwritev",
-	536: "rt_tgsigqueueinfo",
-	537: "recvmmsg",
-	538: "sendmmsg",
-	539: "process_vm_readv",
-	540: "process_vm_writev",
-	541: "setsockopt",
-	542: "getsockopt",
-	543: "io_setup",
-	544: "io_submit",
-	545: "execveat",
-	546: "preadv2",
-	547: "pwritev2",
-}
diff --git a/vendor/k8s.io/klog/v2/OWNERS b/vendor/k8s.io/klog/v2/OWNERS
index 380e514f2..f689c1641 100644
--- a/vendor/k8s.io/klog/v2/OWNERS
+++ b/vendor/k8s.io/klog/v2/OWNERS
@@ -15,5 +15,4 @@ approvers:
   - tallclair
   - piosz
   - brancz
-  - DirectXMan12
   - lavalamp
diff --git a/vendor/k8s.io/klog/v2/klog.go b/vendor/k8s.io/klog/v2/klog.go
index 1e187f763..d24087def 100644
--- a/vendor/k8s.io/klog/v2/klog.go
+++ b/vendor/k8s.io/klog/v2/klog.go
@@ -1603,3 +1603,20 @@ func KRef(namespace, name string) ObjectRef {
 		Namespace: namespace,
 	}
 }
+
+// KObjs returns slice of ObjectRef from an slice of ObjectMeta
+func KObjs(arg interface{}) []ObjectRef {
+	s := reflect.ValueOf(arg)
+	if s.Kind() != reflect.Slice {
+		return nil
+	}
+	objectRefs := make([]ObjectRef, 0, s.Len())
+	for i := 0; i < s.Len(); i++ {
+		if v, ok := s.Index(i).Interface().(KMetadata); ok {
+			objectRefs = append(objectRefs, KObj(v))
+		} else {
+			return nil
+		}
+	}
+	return objectRefs
+}
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 758fdaefa..f10852ce3 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -515,7 +515,7 @@ k8s.io/api/storage/v1beta1
 k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
 k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
 k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1
-# k8s.io/apimachinery v0.21.2
+# k8s.io/apimachinery v0.21.3
 ## explicit
 k8s.io/apimachinery/pkg/api/equality
 k8s.io/apimachinery/pkg/api/errors
@@ -644,7 +644,7 @@ k8s.io/client-go/util/workqueue
 # k8s.io/component-base v0.20.6
 k8s.io/component-base/config
 k8s.io/component-base/config/v1alpha1
-# k8s.io/klog/v2 v2.9.0
+# k8s.io/klog/v2 v2.10.0
 ## explicit
 k8s.io/klog/v2
 k8s.io/klog/v2/klogr
@@ -722,7 +722,7 @@ sigs.k8s.io/release-utils/env
 sigs.k8s.io/release-utils/env/internal
 sigs.k8s.io/release-utils/log
 sigs.k8s.io/release-utils/util
-# sigs.k8s.io/structured-merge-diff/v4 v4.1.0
+# sigs.k8s.io/structured-merge-diff/v4 v4.1.2
 sigs.k8s.io/structured-merge-diff/v4/value
 # sigs.k8s.io/yaml v1.2.0
 sigs.k8s.io/yaml


Test patch:
diff --git a/test/tc_base_profiles_test.go b/test/tc_base_profiles_test.go
index c61a2f761..9f0bb0ffa 100644
--- a/test/tc_base_profiles_test.go
+++ b/test/tc_base_profiles_test.go
@@ -28,11 +28,11 @@ func (e *e2e) testCaseBaseProfile([]string) {
 	e.seccompOnlyTestCase()
 
 	baseProfilePath := "examples/baseprofile-runc.yaml"
-	baseProfileName := "runc-v1.0.0-rc92"
+	baseProfileName := "runc-v1.0.0"
 
 	if clusterType == clusterTypeVanilla {
 		baseProfilePath = "examples/baseprofile-crun.yaml"
-		baseProfileName = "crun-v0.17"
+		baseProfileName = "crun-v0.20.1"
 	}
 
 	helloProfile := fmt.Sprintf(`