Browse code

move default seccomp profile into package

Signed-off-by: Jessica Frazelle <acidburn@docker.com>

Jessica Frazelle authored on 2016/01/20 07:57:03
Showing 9 changed files
... ...
@@ -11,6 +11,7 @@ import (
11 11
 	"github.com/docker/docker/daemon/execdriver"
12 12
 	derr "github.com/docker/docker/errors"
13 13
 	"github.com/docker/docker/pkg/mount"
14
+	"github.com/docker/docker/profiles/seccomp"
14 15
 
15 16
 	"github.com/docker/docker/volume"
16 17
 	"github.com/opencontainers/runc/libcontainer/apparmor"
... ...
@@ -71,7 +72,7 @@ func (d *Driver) createContainer(c *execdriver.Command, hooks execdriver.Hooks)
71 71
 		}
72 72
 
73 73
 		if c.SeccompProfile == "" {
74
-			container.Seccomp = getDefaultSeccompProfile()
74
+			container.Seccomp = seccomp.GetDefaultProfile()
75 75
 		}
76 76
 	}
77 77
 	// add CAP_ prefix to all caps for new libcontainer update to match
... ...
@@ -88,7 +89,7 @@ func (d *Driver) createContainer(c *execdriver.Command, hooks execdriver.Hooks)
88 88
 	}
89 89
 
90 90
 	if c.SeccompProfile != "" && c.SeccompProfile != "unconfined" {
91
-		container.Seccomp, err = loadSeccompProfile(c.SeccompProfile)
91
+		container.Seccomp, err = seccomp.LoadProfile(c.SeccompProfile)
92 92
 		if err != nil {
93 93
 			return nil, err
94 94
 		}
95 95
deleted file mode 100644
... ...
@@ -1,92 +0,0 @@
1
-// +build linux
2
-
3
-package native
4
-
5
-import (
6
-	"encoding/json"
7
-	"fmt"
8
-
9
-	"github.com/docker/engine-api/types"
10
-	"github.com/opencontainers/runc/libcontainer/configs"
11
-	"github.com/opencontainers/runc/libcontainer/seccomp"
12
-)
13
-
14
-func getDefaultSeccompProfile() *configs.Seccomp {
15
-	return defaultSeccompProfile
16
-}
17
-
18
-func loadSeccompProfile(body string) (*configs.Seccomp, error) {
19
-	var config types.Seccomp
20
-	if err := json.Unmarshal([]byte(body), &config); err != nil {
21
-		return nil, fmt.Errorf("Decoding seccomp profile failed: %v", err)
22
-	}
23
-
24
-	return setupSeccomp(&config)
25
-}
26
-
27
-func setupSeccomp(config *types.Seccomp) (newConfig *configs.Seccomp, err error) {
28
-	if config == nil {
29
-		return nil, nil
30
-	}
31
-
32
-	// No default action specified, no syscalls listed, assume seccomp disabled
33
-	if config.DefaultAction == "" && len(config.Syscalls) == 0 {
34
-		return nil, nil
35
-	}
36
-
37
-	newConfig = new(configs.Seccomp)
38
-	newConfig.Syscalls = []*configs.Syscall{}
39
-
40
-	// if config.Architectures == 0 then libseccomp will figure out the architecture to use
41
-	if len(config.Architectures) > 0 {
42
-		newConfig.Architectures = []string{}
43
-		for _, arch := range config.Architectures {
44
-			newArch, err := seccomp.ConvertStringToArch(string(arch))
45
-			if err != nil {
46
-				return nil, err
47
-			}
48
-			newConfig.Architectures = append(newConfig.Architectures, newArch)
49
-		}
50
-	}
51
-
52
-	// Convert default action from string representation
53
-	newConfig.DefaultAction, err = seccomp.ConvertStringToAction(string(config.DefaultAction))
54
-	if err != nil {
55
-		return nil, err
56
-	}
57
-
58
-	// Loop through all syscall blocks and convert them to libcontainer format
59
-	for _, call := range config.Syscalls {
60
-		newAction, err := seccomp.ConvertStringToAction(string(call.Action))
61
-		if err != nil {
62
-			return nil, err
63
-		}
64
-
65
-		newCall := configs.Syscall{
66
-			Name:   call.Name,
67
-			Action: newAction,
68
-			Args:   []*configs.Arg{},
69
-		}
70
-
71
-		// Loop through all the arguments of the syscall and convert them
72
-		for _, arg := range call.Args {
73
-			newOp, err := seccomp.ConvertStringToOperator(string(arg.Op))
74
-			if err != nil {
75
-				return nil, err
76
-			}
77
-
78
-			newArg := configs.Arg{
79
-				Index:    arg.Index,
80
-				Value:    arg.Value,
81
-				ValueTwo: arg.ValueTwo,
82
-				Op:       newOp,
83
-			}
84
-
85
-			newCall.Args = append(newCall.Args, &newArg)
86
-		}
87
-
88
-		newConfig.Syscalls = append(newConfig.Syscalls, &newCall)
89
-	}
90
-
91
-	return newConfig, nil
92
-}
93 1
deleted file mode 100644
... ...
@@ -1,1600 +0,0 @@
1
-// +build linux,seccomp
2
-
3
-package native
4
-
5
-import (
6
-	"syscall"
7
-
8
-	"github.com/opencontainers/runc/libcontainer/configs"
9
-	libseccomp "github.com/seccomp/libseccomp-golang"
10
-)
11
-
12
-func arches() []string {
13
-	var native, err = libseccomp.GetNativeArch()
14
-	if err != nil {
15
-		return []string{}
16
-	}
17
-	var a = native.String()
18
-	switch a {
19
-	case "amd64":
20
-		return []string{"amd64", "x86", "x32"}
21
-	case "arm64":
22
-		return []string{"arm64", "arm"}
23
-	case "mips64":
24
-		return []string{"mips64", "mips64n32", "mips"}
25
-	case "mips64n32":
26
-		return []string{"mips64", "mips64n32", "mips"}
27
-	case "mipsel64":
28
-		return []string{"mipsel64", "mipsel64n32", "mipsel"}
29
-	case "mipsel64n32":
30
-		return []string{"mipsel64", "mipsel64n32", "mipsel"}
31
-	default:
32
-		return []string{a}
33
-	}
34
-}
35
-
36
-var defaultSeccompProfile = &configs.Seccomp{
37
-	DefaultAction: configs.Errno,
38
-	Architectures: arches(),
39
-	Syscalls: []*configs.Syscall{
40
-		{
41
-			Name:   "accept",
42
-			Action: configs.Allow,
43
-			Args:   []*configs.Arg{},
44
-		},
45
-		{
46
-			Name:   "accept4",
47
-			Action: configs.Allow,
48
-			Args:   []*configs.Arg{},
49
-		},
50
-		{
51
-			Name:   "access",
52
-			Action: configs.Allow,
53
-			Args:   []*configs.Arg{},
54
-		},
55
-		{
56
-			Name:   "alarm",
57
-			Action: configs.Allow,
58
-			Args:   []*configs.Arg{},
59
-		},
60
-		{
61
-			Name:   "arch_prctl",
62
-			Action: configs.Allow,
63
-			Args:   []*configs.Arg{},
64
-		},
65
-		{
66
-			Name:   "bind",
67
-			Action: configs.Allow,
68
-			Args:   []*configs.Arg{},
69
-		},
70
-		{
71
-			Name:   "brk",
72
-			Action: configs.Allow,
73
-			Args:   []*configs.Arg{},
74
-		},
75
-		{
76
-			Name:   "capget",
77
-			Action: configs.Allow,
78
-			Args:   []*configs.Arg{},
79
-		},
80
-		{
81
-			Name:   "capset",
82
-			Action: configs.Allow,
83
-			Args:   []*configs.Arg{},
84
-		},
85
-		{
86
-			Name:   "chdir",
87
-			Action: configs.Allow,
88
-			Args:   []*configs.Arg{},
89
-		},
90
-		{
91
-			Name:   "chmod",
92
-			Action: configs.Allow,
93
-			Args:   []*configs.Arg{},
94
-		},
95
-		{
96
-			Name:   "chown",
97
-			Action: configs.Allow,
98
-			Args:   []*configs.Arg{},
99
-		},
100
-		{
101
-			Name:   "chown32",
102
-			Action: configs.Allow,
103
-			Args:   []*configs.Arg{},
104
-		},
105
-		{
106
-			Name:   "chroot",
107
-			Action: configs.Allow,
108
-			Args:   []*configs.Arg{},
109
-		},
110
-		{
111
-			Name:   "clock_getres",
112
-			Action: configs.Allow,
113
-			Args:   []*configs.Arg{},
114
-		},
115
-		{
116
-			Name:   "clock_gettime",
117
-			Action: configs.Allow,
118
-			Args:   []*configs.Arg{},
119
-		},
120
-		{
121
-			Name:   "clock_nanosleep",
122
-			Action: configs.Allow,
123
-			Args:   []*configs.Arg{},
124
-		},
125
-		{
126
-			Name:   "clone",
127
-			Action: configs.Allow,
128
-			Args: []*configs.Arg{
129
-				{
130
-					Index:    0,
131
-					Value:    syscall.CLONE_NEWNS | syscall.CLONE_NEWUTS | syscall.CLONE_NEWIPC | syscall.CLONE_NEWUSER | syscall.CLONE_NEWPID | syscall.CLONE_NEWNET,
132
-					ValueTwo: 0,
133
-					Op:       configs.MaskEqualTo,
134
-				},
135
-			},
136
-		},
137
-		{
138
-			Name:   "close",
139
-			Action: configs.Allow,
140
-			Args:   []*configs.Arg{},
141
-		},
142
-		{
143
-			Name:   "connect",
144
-			Action: configs.Allow,
145
-			Args:   []*configs.Arg{},
146
-		},
147
-		{
148
-			Name:   "creat",
149
-			Action: configs.Allow,
150
-			Args:   []*configs.Arg{},
151
-		},
152
-		{
153
-			Name:   "dup",
154
-			Action: configs.Allow,
155
-			Args:   []*configs.Arg{},
156
-		},
157
-		{
158
-			Name:   "dup2",
159
-			Action: configs.Allow,
160
-			Args:   []*configs.Arg{},
161
-		},
162
-		{
163
-			Name:   "dup3",
164
-			Action: configs.Allow,
165
-			Args:   []*configs.Arg{},
166
-		},
167
-		{
168
-			Name:   "epoll_create",
169
-			Action: configs.Allow,
170
-			Args:   []*configs.Arg{},
171
-		},
172
-		{
173
-			Name:   "epoll_create1",
174
-			Action: configs.Allow,
175
-			Args:   []*configs.Arg{},
176
-		},
177
-		{
178
-			Name:   "epoll_ctl",
179
-			Action: configs.Allow,
180
-			Args:   []*configs.Arg{},
181
-		},
182
-		{
183
-			Name:   "epoll_ctl_old",
184
-			Action: configs.Allow,
185
-			Args:   []*configs.Arg{},
186
-		},
187
-		{
188
-			Name:   "epoll_pwait",
189
-			Action: configs.Allow,
190
-			Args:   []*configs.Arg{},
191
-		},
192
-		{
193
-			Name:   "epoll_wait",
194
-			Action: configs.Allow,
195
-			Args:   []*configs.Arg{},
196
-		},
197
-		{
198
-			Name:   "epoll_wait_old",
199
-			Action: configs.Allow,
200
-			Args:   []*configs.Arg{},
201
-		},
202
-		{
203
-			Name:   "eventfd",
204
-			Action: configs.Allow,
205
-			Args:   []*configs.Arg{},
206
-		},
207
-		{
208
-			Name:   "eventfd2",
209
-			Action: configs.Allow,
210
-			Args:   []*configs.Arg{},
211
-		},
212
-		{
213
-			Name:   "execve",
214
-			Action: configs.Allow,
215
-			Args:   []*configs.Arg{},
216
-		},
217
-		{
218
-			Name:   "execveat",
219
-			Action: configs.Allow,
220
-			Args:   []*configs.Arg{},
221
-		},
222
-		{
223
-			Name:   "exit",
224
-			Action: configs.Allow,
225
-			Args:   []*configs.Arg{},
226
-		},
227
-		{
228
-			Name:   "exit_group",
229
-			Action: configs.Allow,
230
-			Args:   []*configs.Arg{},
231
-		},
232
-		{
233
-			Name:   "faccessat",
234
-			Action: configs.Allow,
235
-			Args:   []*configs.Arg{},
236
-		},
237
-		{
238
-			Name:   "fadvise64",
239
-			Action: configs.Allow,
240
-			Args:   []*configs.Arg{},
241
-		},
242
-		{
243
-			Name:   "fadvise64_64",
244
-			Action: configs.Allow,
245
-			Args:   []*configs.Arg{},
246
-		},
247
-		{
248
-			Name:   "fallocate",
249
-			Action: configs.Allow,
250
-			Args:   []*configs.Arg{},
251
-		},
252
-		{
253
-			Name:   "fanotify_init",
254
-			Action: configs.Allow,
255
-			Args:   []*configs.Arg{},
256
-		},
257
-		{
258
-			Name:   "fanotify_mark",
259
-			Action: configs.Allow,
260
-			Args:   []*configs.Arg{},
261
-		},
262
-		{
263
-			Name:   "fchdir",
264
-			Action: configs.Allow,
265
-			Args:   []*configs.Arg{},
266
-		},
267
-		{
268
-			Name:   "fchmod",
269
-			Action: configs.Allow,
270
-			Args:   []*configs.Arg{},
271
-		},
272
-		{
273
-			Name:   "fchmodat",
274
-			Action: configs.Allow,
275
-			Args:   []*configs.Arg{},
276
-		},
277
-		{
278
-			Name:   "fchown",
279
-			Action: configs.Allow,
280
-			Args:   []*configs.Arg{},
281
-		},
282
-		{
283
-			Name:   "fchown32",
284
-			Action: configs.Allow,
285
-			Args:   []*configs.Arg{},
286
-		},
287
-		{
288
-			Name:   "fchownat",
289
-			Action: configs.Allow,
290
-			Args:   []*configs.Arg{},
291
-		},
292
-		{
293
-			Name:   "fcntl",
294
-			Action: configs.Allow,
295
-			Args:   []*configs.Arg{},
296
-		},
297
-		{
298
-			Name:   "fcntl64",
299
-			Action: configs.Allow,
300
-			Args:   []*configs.Arg{},
301
-		},
302
-		{
303
-			Name:   "fdatasync",
304
-			Action: configs.Allow,
305
-			Args:   []*configs.Arg{},
306
-		},
307
-		{
308
-			Name:   "fgetxattr",
309
-			Action: configs.Allow,
310
-			Args:   []*configs.Arg{},
311
-		},
312
-		{
313
-			Name:   "flistxattr",
314
-			Action: configs.Allow,
315
-			Args:   []*configs.Arg{},
316
-		},
317
-		{
318
-			Name:   "flock",
319
-			Action: configs.Allow,
320
-			Args:   []*configs.Arg{},
321
-		},
322
-		{
323
-			Name:   "fork",
324
-			Action: configs.Allow,
325
-			Args:   []*configs.Arg{},
326
-		},
327
-		{
328
-			Name:   "fremovexattr",
329
-			Action: configs.Allow,
330
-			Args:   []*configs.Arg{},
331
-		},
332
-		{
333
-			Name:   "fsetxattr",
334
-			Action: configs.Allow,
335
-			Args:   []*configs.Arg{},
336
-		},
337
-		{
338
-			Name:   "fstat",
339
-			Action: configs.Allow,
340
-			Args:   []*configs.Arg{},
341
-		},
342
-		{
343
-			Name:   "fstat64",
344
-			Action: configs.Allow,
345
-			Args:   []*configs.Arg{},
346
-		},
347
-		{
348
-			Name:   "fstatat64",
349
-			Action: configs.Allow,
350
-			Args:   []*configs.Arg{},
351
-		},
352
-		{
353
-			Name:   "fstatfs",
354
-			Action: configs.Allow,
355
-			Args:   []*configs.Arg{},
356
-		},
357
-		{
358
-			Name:   "fstatfs64",
359
-			Action: configs.Allow,
360
-			Args:   []*configs.Arg{},
361
-		},
362
-		{
363
-			Name:   "fsync",
364
-			Action: configs.Allow,
365
-			Args:   []*configs.Arg{},
366
-		},
367
-		{
368
-			Name:   "ftruncate",
369
-			Action: configs.Allow,
370
-			Args:   []*configs.Arg{},
371
-		},
372
-		{
373
-			Name:   "ftruncate64",
374
-			Action: configs.Allow,
375
-			Args:   []*configs.Arg{},
376
-		},
377
-		{
378
-			Name:   "futex",
379
-			Action: configs.Allow,
380
-			Args:   []*configs.Arg{},
381
-		},
382
-		{
383
-			Name:   "futimesat",
384
-			Action: configs.Allow,
385
-			Args:   []*configs.Arg{},
386
-		},
387
-		{
388
-			Name:   "getcpu",
389
-			Action: configs.Allow,
390
-			Args:   []*configs.Arg{},
391
-		},
392
-		{
393
-			Name:   "getcwd",
394
-			Action: configs.Allow,
395
-			Args:   []*configs.Arg{},
396
-		},
397
-		{
398
-			Name:   "getdents",
399
-			Action: configs.Allow,
400
-			Args:   []*configs.Arg{},
401
-		},
402
-		{
403
-			Name:   "getdents64",
404
-			Action: configs.Allow,
405
-			Args:   []*configs.Arg{},
406
-		},
407
-		{
408
-			Name:   "getegid",
409
-			Action: configs.Allow,
410
-			Args:   []*configs.Arg{},
411
-		},
412
-		{
413
-			Name:   "getegid32",
414
-			Action: configs.Allow,
415
-			Args:   []*configs.Arg{},
416
-		},
417
-		{
418
-			Name:   "geteuid",
419
-			Action: configs.Allow,
420
-			Args:   []*configs.Arg{},
421
-		},
422
-		{
423
-			Name:   "geteuid32",
424
-			Action: configs.Allow,
425
-			Args:   []*configs.Arg{},
426
-		},
427
-		{
428
-			Name:   "getgid",
429
-			Action: configs.Allow,
430
-			Args:   []*configs.Arg{},
431
-		},
432
-		{
433
-			Name:   "getgid32",
434
-			Action: configs.Allow,
435
-			Args:   []*configs.Arg{},
436
-		},
437
-		{
438
-			Name:   "getgroups",
439
-			Action: configs.Allow,
440
-			Args:   []*configs.Arg{},
441
-		},
442
-		{
443
-			Name:   "getgroups32",
444
-			Action: configs.Allow,
445
-			Args:   []*configs.Arg{},
446
-		},
447
-		{
448
-			Name:   "getitimer",
449
-			Action: configs.Allow,
450
-			Args:   []*configs.Arg{},
451
-		},
452
-		{
453
-			Name:   "getpeername",
454
-			Action: configs.Allow,
455
-			Args:   []*configs.Arg{},
456
-		},
457
-		{
458
-			Name:   "getpgid",
459
-			Action: configs.Allow,
460
-			Args:   []*configs.Arg{},
461
-		},
462
-		{
463
-			Name:   "getpgrp",
464
-			Action: configs.Allow,
465
-			Args:   []*configs.Arg{},
466
-		},
467
-		{
468
-			Name:   "getpid",
469
-			Action: configs.Allow,
470
-			Args:   []*configs.Arg{},
471
-		},
472
-		{
473
-			Name:   "getppid",
474
-			Action: configs.Allow,
475
-			Args:   []*configs.Arg{},
476
-		},
477
-		{
478
-			Name:   "getpriority",
479
-			Action: configs.Allow,
480
-			Args:   []*configs.Arg{},
481
-		},
482
-		{
483
-			Name:   "getrandom",
484
-			Action: configs.Allow,
485
-			Args:   []*configs.Arg{},
486
-		},
487
-		{
488
-			Name:   "getresgid",
489
-			Action: configs.Allow,
490
-			Args:   []*configs.Arg{},
491
-		},
492
-		{
493
-			Name:   "getresgid32",
494
-			Action: configs.Allow,
495
-			Args:   []*configs.Arg{},
496
-		},
497
-		{
498
-			Name:   "getresuid",
499
-			Action: configs.Allow,
500
-			Args:   []*configs.Arg{},
501
-		},
502
-		{
503
-			Name:   "getresuid32",
504
-			Action: configs.Allow,
505
-			Args:   []*configs.Arg{},
506
-		},
507
-		{
508
-			Name:   "getrlimit",
509
-			Action: configs.Allow,
510
-			Args:   []*configs.Arg{},
511
-		},
512
-		{
513
-			Name:   "get_robust_list",
514
-			Action: configs.Allow,
515
-			Args:   []*configs.Arg{},
516
-		},
517
-		{
518
-			Name:   "getrusage",
519
-			Action: configs.Allow,
520
-			Args:   []*configs.Arg{},
521
-		},
522
-		{
523
-			Name:   "getsid",
524
-			Action: configs.Allow,
525
-			Args:   []*configs.Arg{},
526
-		},
527
-		{
528
-			Name:   "getsockname",
529
-			Action: configs.Allow,
530
-			Args:   []*configs.Arg{},
531
-		},
532
-		{
533
-			Name:   "getsockopt",
534
-			Action: configs.Allow,
535
-			Args:   []*configs.Arg{},
536
-		},
537
-		{
538
-			Name:   "get_thread_area",
539
-			Action: configs.Allow,
540
-			Args:   []*configs.Arg{},
541
-		},
542
-		{
543
-			Name:   "gettid",
544
-			Action: configs.Allow,
545
-			Args:   []*configs.Arg{},
546
-		},
547
-		{
548
-			Name:   "gettimeofday",
549
-			Action: configs.Allow,
550
-			Args:   []*configs.Arg{},
551
-		},
552
-		{
553
-			Name:   "getuid",
554
-			Action: configs.Allow,
555
-			Args:   []*configs.Arg{},
556
-		},
557
-		{
558
-			Name:   "getuid32",
559
-			Action: configs.Allow,
560
-			Args:   []*configs.Arg{},
561
-		},
562
-		{
563
-			Name:   "getxattr",
564
-			Action: configs.Allow,
565
-			Args:   []*configs.Arg{},
566
-		},
567
-		{
568
-			Name:   "inotify_add_watch",
569
-			Action: configs.Allow,
570
-			Args:   []*configs.Arg{},
571
-		},
572
-		{
573
-			Name:   "inotify_init",
574
-			Action: configs.Allow,
575
-			Args:   []*configs.Arg{},
576
-		},
577
-		{
578
-			Name:   "inotify_init1",
579
-			Action: configs.Allow,
580
-			Args:   []*configs.Arg{},
581
-		},
582
-		{
583
-			Name:   "inotify_rm_watch",
584
-			Action: configs.Allow,
585
-			Args:   []*configs.Arg{},
586
-		},
587
-		{
588
-			Name:   "io_cancel",
589
-			Action: configs.Allow,
590
-			Args:   []*configs.Arg{},
591
-		},
592
-		{
593
-			Name:   "ioctl",
594
-			Action: configs.Allow,
595
-			Args:   []*configs.Arg{},
596
-		},
597
-		{
598
-			Name:   "io_destroy",
599
-			Action: configs.Allow,
600
-			Args:   []*configs.Arg{},
601
-		},
602
-		{
603
-			Name:   "io_getevents",
604
-			Action: configs.Allow,
605
-			Args:   []*configs.Arg{},
606
-		},
607
-		{
608
-			Name:   "ioprio_get",
609
-			Action: configs.Allow,
610
-			Args:   []*configs.Arg{},
611
-		},
612
-		{
613
-			Name:   "ioprio_set",
614
-			Action: configs.Allow,
615
-			Args:   []*configs.Arg{},
616
-		},
617
-		{
618
-			Name:   "io_setup",
619
-			Action: configs.Allow,
620
-			Args:   []*configs.Arg{},
621
-		},
622
-		{
623
-			Name:   "io_submit",
624
-			Action: configs.Allow,
625
-			Args:   []*configs.Arg{},
626
-		},
627
-		{
628
-			Name:   "kill",
629
-			Action: configs.Allow,
630
-			Args:   []*configs.Arg{},
631
-		},
632
-		{
633
-			Name:   "lchown",
634
-			Action: configs.Allow,
635
-			Args:   []*configs.Arg{},
636
-		},
637
-		{
638
-			Name:   "lchown32",
639
-			Action: configs.Allow,
640
-			Args:   []*configs.Arg{},
641
-		},
642
-		{
643
-			Name:   "lgetxattr",
644
-			Action: configs.Allow,
645
-			Args:   []*configs.Arg{},
646
-		},
647
-		{
648
-			Name:   "link",
649
-			Action: configs.Allow,
650
-			Args:   []*configs.Arg{},
651
-		},
652
-		{
653
-			Name:   "linkat",
654
-			Action: configs.Allow,
655
-			Args:   []*configs.Arg{},
656
-		},
657
-		{
658
-			Name:   "listen",
659
-			Action: configs.Allow,
660
-			Args:   []*configs.Arg{},
661
-		},
662
-		{
663
-			Name:   "listxattr",
664
-			Action: configs.Allow,
665
-			Args:   []*configs.Arg{},
666
-		},
667
-		{
668
-			Name:   "llistxattr",
669
-			Action: configs.Allow,
670
-			Args:   []*configs.Arg{},
671
-		},
672
-		{
673
-			Name:   "_llseek",
674
-			Action: configs.Allow,
675
-			Args:   []*configs.Arg{},
676
-		},
677
-		{
678
-			Name:   "lremovexattr",
679
-			Action: configs.Allow,
680
-			Args:   []*configs.Arg{},
681
-		},
682
-		{
683
-			Name:   "lseek",
684
-			Action: configs.Allow,
685
-			Args:   []*configs.Arg{},
686
-		},
687
-		{
688
-			Name:   "lsetxattr",
689
-			Action: configs.Allow,
690
-			Args:   []*configs.Arg{},
691
-		},
692
-		{
693
-			Name:   "lstat",
694
-			Action: configs.Allow,
695
-			Args:   []*configs.Arg{},
696
-		},
697
-		{
698
-			Name:   "lstat64",
699
-			Action: configs.Allow,
700
-			Args:   []*configs.Arg{},
701
-		},
702
-		{
703
-			Name:   "madvise",
704
-			Action: configs.Allow,
705
-			Args:   []*configs.Arg{},
706
-		},
707
-		{
708
-			Name:   "memfd_create",
709
-			Action: configs.Allow,
710
-			Args:   []*configs.Arg{},
711
-		},
712
-		{
713
-			Name:   "mincore",
714
-			Action: configs.Allow,
715
-			Args:   []*configs.Arg{},
716
-		},
717
-		{
718
-			Name:   "mkdir",
719
-			Action: configs.Allow,
720
-			Args:   []*configs.Arg{},
721
-		},
722
-		{
723
-			Name:   "mkdirat",
724
-			Action: configs.Allow,
725
-			Args:   []*configs.Arg{},
726
-		},
727
-		{
728
-			Name:   "mknod",
729
-			Action: configs.Allow,
730
-			Args:   []*configs.Arg{},
731
-		},
732
-		{
733
-			Name:   "mknodat",
734
-			Action: configs.Allow,
735
-			Args:   []*configs.Arg{},
736
-		},
737
-		{
738
-			Name:   "mlock",
739
-			Action: configs.Allow,
740
-			Args:   []*configs.Arg{},
741
-		},
742
-		{
743
-			Name:   "mlockall",
744
-			Action: configs.Allow,
745
-			Args:   []*configs.Arg{},
746
-		},
747
-		{
748
-			Name:   "mmap",
749
-			Action: configs.Allow,
750
-			Args:   []*configs.Arg{},
751
-		},
752
-		{
753
-			Name:   "mmap2",
754
-			Action: configs.Allow,
755
-			Args:   []*configs.Arg{},
756
-		},
757
-		{
758
-			Name:   "mprotect",
759
-			Action: configs.Allow,
760
-			Args:   []*configs.Arg{},
761
-		},
762
-		{
763
-			Name:   "mq_getsetattr",
764
-			Action: configs.Allow,
765
-			Args:   []*configs.Arg{},
766
-		},
767
-		{
768
-			Name:   "mq_notify",
769
-			Action: configs.Allow,
770
-			Args:   []*configs.Arg{},
771
-		},
772
-		{
773
-			Name:   "mq_open",
774
-			Action: configs.Allow,
775
-			Args:   []*configs.Arg{},
776
-		},
777
-		{
778
-			Name:   "mq_timedreceive",
779
-			Action: configs.Allow,
780
-			Args:   []*configs.Arg{},
781
-		},
782
-		{
783
-			Name:   "mq_timedsend",
784
-			Action: configs.Allow,
785
-			Args:   []*configs.Arg{},
786
-		},
787
-		{
788
-			Name:   "mq_unlink",
789
-			Action: configs.Allow,
790
-			Args:   []*configs.Arg{},
791
-		},
792
-		{
793
-			Name:   "mremap",
794
-			Action: configs.Allow,
795
-			Args:   []*configs.Arg{},
796
-		},
797
-		{
798
-			Name:   "msgctl",
799
-			Action: configs.Allow,
800
-			Args:   []*configs.Arg{},
801
-		},
802
-		{
803
-			Name:   "msgget",
804
-			Action: configs.Allow,
805
-			Args:   []*configs.Arg{},
806
-		},
807
-		{
808
-			Name:   "msgrcv",
809
-			Action: configs.Allow,
810
-			Args:   []*configs.Arg{},
811
-		},
812
-		{
813
-			Name:   "msgsnd",
814
-			Action: configs.Allow,
815
-			Args:   []*configs.Arg{},
816
-		},
817
-		{
818
-			Name:   "msync",
819
-			Action: configs.Allow,
820
-			Args:   []*configs.Arg{},
821
-		},
822
-		{
823
-			Name:   "munlock",
824
-			Action: configs.Allow,
825
-			Args:   []*configs.Arg{},
826
-		},
827
-		{
828
-			Name:   "munlockall",
829
-			Action: configs.Allow,
830
-			Args:   []*configs.Arg{},
831
-		},
832
-		{
833
-			Name:   "munmap",
834
-			Action: configs.Allow,
835
-			Args:   []*configs.Arg{},
836
-		},
837
-		{
838
-			Name:   "nanosleep",
839
-			Action: configs.Allow,
840
-			Args:   []*configs.Arg{},
841
-		},
842
-		{
843
-			Name:   "newfstatat",
844
-			Action: configs.Allow,
845
-			Args:   []*configs.Arg{},
846
-		},
847
-		{
848
-			Name:   "_newselect",
849
-			Action: configs.Allow,
850
-			Args:   []*configs.Arg{},
851
-		},
852
-		{
853
-			Name:   "open",
854
-			Action: configs.Allow,
855
-			Args:   []*configs.Arg{},
856
-		},
857
-		{
858
-			Name:   "openat",
859
-			Action: configs.Allow,
860
-			Args:   []*configs.Arg{},
861
-		},
862
-		{
863
-			Name:   "pause",
864
-			Action: configs.Allow,
865
-			Args:   []*configs.Arg{},
866
-		},
867
-		{
868
-			Name:   "pipe",
869
-			Action: configs.Allow,
870
-			Args:   []*configs.Arg{},
871
-		},
872
-		{
873
-			Name:   "pipe2",
874
-			Action: configs.Allow,
875
-			Args:   []*configs.Arg{},
876
-		},
877
-		{
878
-			Name:   "poll",
879
-			Action: configs.Allow,
880
-			Args:   []*configs.Arg{},
881
-		},
882
-		{
883
-			Name:   "ppoll",
884
-			Action: configs.Allow,
885
-			Args:   []*configs.Arg{},
886
-		},
887
-		{
888
-			Name:   "prctl",
889
-			Action: configs.Allow,
890
-			Args:   []*configs.Arg{},
891
-		},
892
-		{
893
-			Name:   "pread64",
894
-			Action: configs.Allow,
895
-			Args:   []*configs.Arg{},
896
-		},
897
-		{
898
-			Name:   "preadv",
899
-			Action: configs.Allow,
900
-			Args:   []*configs.Arg{},
901
-		},
902
-		{
903
-			Name:   "prlimit64",
904
-			Action: configs.Allow,
905
-			Args:   []*configs.Arg{},
906
-		},
907
-		{
908
-			Name:   "pselect6",
909
-			Action: configs.Allow,
910
-			Args:   []*configs.Arg{},
911
-		},
912
-		{
913
-			Name:   "pwrite64",
914
-			Action: configs.Allow,
915
-			Args:   []*configs.Arg{},
916
-		},
917
-		{
918
-			Name:   "pwritev",
919
-			Action: configs.Allow,
920
-			Args:   []*configs.Arg{},
921
-		},
922
-		{
923
-			Name:   "read",
924
-			Action: configs.Allow,
925
-			Args:   []*configs.Arg{},
926
-		},
927
-		{
928
-			Name:   "readahead",
929
-			Action: configs.Allow,
930
-			Args:   []*configs.Arg{},
931
-		},
932
-		{
933
-			Name:   "readlink",
934
-			Action: configs.Allow,
935
-			Args:   []*configs.Arg{},
936
-		},
937
-		{
938
-			Name:   "readlinkat",
939
-			Action: configs.Allow,
940
-			Args:   []*configs.Arg{},
941
-		},
942
-		{
943
-			Name:   "readv",
944
-			Action: configs.Allow,
945
-			Args:   []*configs.Arg{},
946
-		},
947
-		{
948
-			Name:   "recv",
949
-			Action: configs.Allow,
950
-			Args:   []*configs.Arg{},
951
-		},
952
-		{
953
-			Name:   "recvfrom",
954
-			Action: configs.Allow,
955
-			Args:   []*configs.Arg{},
956
-		},
957
-		{
958
-			Name:   "recvmmsg",
959
-			Action: configs.Allow,
960
-			Args:   []*configs.Arg{},
961
-		},
962
-		{
963
-			Name:   "recvmsg",
964
-			Action: configs.Allow,
965
-			Args:   []*configs.Arg{},
966
-		},
967
-		{
968
-			Name:   "remap_file_pages",
969
-			Action: configs.Allow,
970
-			Args:   []*configs.Arg{},
971
-		},
972
-		{
973
-			Name:   "removexattr",
974
-			Action: configs.Allow,
975
-			Args:   []*configs.Arg{},
976
-		},
977
-		{
978
-			Name:   "rename",
979
-			Action: configs.Allow,
980
-			Args:   []*configs.Arg{},
981
-		},
982
-		{
983
-			Name:   "renameat",
984
-			Action: configs.Allow,
985
-			Args:   []*configs.Arg{},
986
-		},
987
-		{
988
-			Name:   "renameat2",
989
-			Action: configs.Allow,
990
-			Args:   []*configs.Arg{},
991
-		},
992
-		{
993
-			Name:   "rmdir",
994
-			Action: configs.Allow,
995
-			Args:   []*configs.Arg{},
996
-		},
997
-		{
998
-			Name:   "rt_sigaction",
999
-			Action: configs.Allow,
1000
-			Args:   []*configs.Arg{},
1001
-		},
1002
-		{
1003
-			Name:   "rt_sigpending",
1004
-			Action: configs.Allow,
1005
-			Args:   []*configs.Arg{},
1006
-		},
1007
-		{
1008
-			Name:   "rt_sigprocmask",
1009
-			Action: configs.Allow,
1010
-			Args:   []*configs.Arg{},
1011
-		},
1012
-		{
1013
-			Name:   "rt_sigqueueinfo",
1014
-			Action: configs.Allow,
1015
-			Args:   []*configs.Arg{},
1016
-		},
1017
-		{
1018
-			Name:   "rt_sigreturn",
1019
-			Action: configs.Allow,
1020
-			Args:   []*configs.Arg{},
1021
-		},
1022
-		{
1023
-			Name:   "rt_sigsuspend",
1024
-			Action: configs.Allow,
1025
-			Args:   []*configs.Arg{},
1026
-		},
1027
-		{
1028
-			Name:   "rt_sigtimedwait",
1029
-			Action: configs.Allow,
1030
-			Args:   []*configs.Arg{},
1031
-		},
1032
-		{
1033
-			Name:   "rt_tgsigqueueinfo",
1034
-			Action: configs.Allow,
1035
-			Args:   []*configs.Arg{},
1036
-		},
1037
-		{
1038
-			Name:   "sched_getaffinity",
1039
-			Action: configs.Allow,
1040
-			Args:   []*configs.Arg{},
1041
-		},
1042
-		{
1043
-			Name:   "sched_getattr",
1044
-			Action: configs.Allow,
1045
-			Args:   []*configs.Arg{},
1046
-		},
1047
-		{
1048
-			Name:   "sched_getparam",
1049
-			Action: configs.Allow,
1050
-			Args:   []*configs.Arg{},
1051
-		},
1052
-		{
1053
-			Name:   "sched_get_priority_max",
1054
-			Action: configs.Allow,
1055
-			Args:   []*configs.Arg{},
1056
-		},
1057
-		{
1058
-			Name:   "sched_get_priority_min",
1059
-			Action: configs.Allow,
1060
-			Args:   []*configs.Arg{},
1061
-		},
1062
-		{
1063
-			Name:   "sched_getscheduler",
1064
-			Action: configs.Allow,
1065
-			Args:   []*configs.Arg{},
1066
-		},
1067
-		{
1068
-			Name:   "sched_rr_get_interval",
1069
-			Action: configs.Allow,
1070
-			Args:   []*configs.Arg{},
1071
-		},
1072
-		{
1073
-			Name:   "sched_setaffinity",
1074
-			Action: configs.Allow,
1075
-			Args:   []*configs.Arg{},
1076
-		},
1077
-		{
1078
-			Name:   "sched_setattr",
1079
-			Action: configs.Allow,
1080
-			Args:   []*configs.Arg{},
1081
-		},
1082
-		{
1083
-			Name:   "sched_setparam",
1084
-			Action: configs.Allow,
1085
-			Args:   []*configs.Arg{},
1086
-		},
1087
-		{
1088
-			Name:   "sched_setscheduler",
1089
-			Action: configs.Allow,
1090
-			Args:   []*configs.Arg{},
1091
-		},
1092
-		{
1093
-			Name:   "sched_yield",
1094
-			Action: configs.Allow,
1095
-			Args:   []*configs.Arg{},
1096
-		},
1097
-		{
1098
-			Name:   "seccomp",
1099
-			Action: configs.Allow,
1100
-			Args:   []*configs.Arg{},
1101
-		},
1102
-		{
1103
-			Name:   "select",
1104
-			Action: configs.Allow,
1105
-			Args:   []*configs.Arg{},
1106
-		},
1107
-		{
1108
-			Name:   "semctl",
1109
-			Action: configs.Allow,
1110
-			Args:   []*configs.Arg{},
1111
-		},
1112
-		{
1113
-			Name:   "semget",
1114
-			Action: configs.Allow,
1115
-			Args:   []*configs.Arg{},
1116
-		},
1117
-		{
1118
-			Name:   "semop",
1119
-			Action: configs.Allow,
1120
-			Args:   []*configs.Arg{},
1121
-		},
1122
-		{
1123
-			Name:   "semtimedop",
1124
-			Action: configs.Allow,
1125
-			Args:   []*configs.Arg{},
1126
-		},
1127
-		{
1128
-			Name:   "send",
1129
-			Action: configs.Allow,
1130
-			Args:   []*configs.Arg{},
1131
-		},
1132
-		{
1133
-			Name:   "sendfile",
1134
-			Action: configs.Allow,
1135
-			Args:   []*configs.Arg{},
1136
-		},
1137
-		{
1138
-			Name:   "sendfile64",
1139
-			Action: configs.Allow,
1140
-			Args:   []*configs.Arg{},
1141
-		},
1142
-		{
1143
-			Name:   "sendmmsg",
1144
-			Action: configs.Allow,
1145
-			Args:   []*configs.Arg{},
1146
-		},
1147
-		{
1148
-			Name:   "sendmsg",
1149
-			Action: configs.Allow,
1150
-			Args:   []*configs.Arg{},
1151
-		},
1152
-		{
1153
-			Name:   "sendto",
1154
-			Action: configs.Allow,
1155
-			Args:   []*configs.Arg{},
1156
-		},
1157
-		{
1158
-			Name:   "setdomainname",
1159
-			Action: configs.Allow,
1160
-			Args:   []*configs.Arg{},
1161
-		},
1162
-		{
1163
-			Name:   "setfsgid",
1164
-			Action: configs.Allow,
1165
-			Args:   []*configs.Arg{},
1166
-		},
1167
-		{
1168
-			Name:   "setfsgid32",
1169
-			Action: configs.Allow,
1170
-			Args:   []*configs.Arg{},
1171
-		},
1172
-		{
1173
-			Name:   "setfsuid",
1174
-			Action: configs.Allow,
1175
-			Args:   []*configs.Arg{},
1176
-		},
1177
-		{
1178
-			Name:   "setfsuid32",
1179
-			Action: configs.Allow,
1180
-			Args:   []*configs.Arg{},
1181
-		},
1182
-		{
1183
-			Name:   "setgid",
1184
-			Action: configs.Allow,
1185
-			Args:   []*configs.Arg{},
1186
-		},
1187
-		{
1188
-			Name:   "setgid32",
1189
-			Action: configs.Allow,
1190
-			Args:   []*configs.Arg{},
1191
-		},
1192
-		{
1193
-			Name:   "setgroups",
1194
-			Action: configs.Allow,
1195
-			Args:   []*configs.Arg{},
1196
-		},
1197
-		{
1198
-			Name:   "setgroups32",
1199
-			Action: configs.Allow,
1200
-			Args:   []*configs.Arg{},
1201
-		},
1202
-		{
1203
-			Name:   "sethostname",
1204
-			Action: configs.Allow,
1205
-			Args:   []*configs.Arg{},
1206
-		},
1207
-		{
1208
-			Name:   "setitimer",
1209
-			Action: configs.Allow,
1210
-			Args:   []*configs.Arg{},
1211
-		},
1212
-		{
1213
-			Name:   "setpgid",
1214
-			Action: configs.Allow,
1215
-			Args:   []*configs.Arg{},
1216
-		},
1217
-		{
1218
-			Name:   "setpriority",
1219
-			Action: configs.Allow,
1220
-			Args:   []*configs.Arg{},
1221
-		},
1222
-		{
1223
-			Name:   "setregid",
1224
-			Action: configs.Allow,
1225
-			Args:   []*configs.Arg{},
1226
-		},
1227
-		{
1228
-			Name:   "setregid32",
1229
-			Action: configs.Allow,
1230
-			Args:   []*configs.Arg{},
1231
-		},
1232
-		{
1233
-			Name:   "setresgid",
1234
-			Action: configs.Allow,
1235
-			Args:   []*configs.Arg{},
1236
-		},
1237
-		{
1238
-			Name:   "setresgid32",
1239
-			Action: configs.Allow,
1240
-			Args:   []*configs.Arg{},
1241
-		},
1242
-		{
1243
-			Name:   "setresuid",
1244
-			Action: configs.Allow,
1245
-			Args:   []*configs.Arg{},
1246
-		},
1247
-		{
1248
-			Name:   "setresuid32",
1249
-			Action: configs.Allow,
1250
-			Args:   []*configs.Arg{},
1251
-		},
1252
-		{
1253
-			Name:   "setreuid",
1254
-			Action: configs.Allow,
1255
-			Args:   []*configs.Arg{},
1256
-		},
1257
-		{
1258
-			Name:   "setreuid32",
1259
-			Action: configs.Allow,
1260
-			Args:   []*configs.Arg{},
1261
-		},
1262
-		{
1263
-			Name:   "setrlimit",
1264
-			Action: configs.Allow,
1265
-			Args:   []*configs.Arg{},
1266
-		},
1267
-		{
1268
-			Name:   "set_robust_list",
1269
-			Action: configs.Allow,
1270
-			Args:   []*configs.Arg{},
1271
-		},
1272
-		{
1273
-			Name:   "setsid",
1274
-			Action: configs.Allow,
1275
-			Args:   []*configs.Arg{},
1276
-		},
1277
-		{
1278
-			Name:   "setsockopt",
1279
-			Action: configs.Allow,
1280
-			Args:   []*configs.Arg{},
1281
-		},
1282
-		{
1283
-			Name:   "set_thread_area",
1284
-			Action: configs.Allow,
1285
-			Args:   []*configs.Arg{},
1286
-		},
1287
-		{
1288
-			Name:   "set_tid_address",
1289
-			Action: configs.Allow,
1290
-			Args:   []*configs.Arg{},
1291
-		},
1292
-		{
1293
-			Name:   "setuid",
1294
-			Action: configs.Allow,
1295
-			Args:   []*configs.Arg{},
1296
-		},
1297
-		{
1298
-			Name:   "setuid32",
1299
-			Action: configs.Allow,
1300
-			Args:   []*configs.Arg{},
1301
-		},
1302
-		{
1303
-			Name:   "setxattr",
1304
-			Action: configs.Allow,
1305
-			Args:   []*configs.Arg{},
1306
-		},
1307
-		{
1308
-			Name:   "shmat",
1309
-			Action: configs.Allow,
1310
-			Args:   []*configs.Arg{},
1311
-		},
1312
-		{
1313
-			Name:   "shmctl",
1314
-			Action: configs.Allow,
1315
-			Args:   []*configs.Arg{},
1316
-		},
1317
-		{
1318
-			Name:   "shmdt",
1319
-			Action: configs.Allow,
1320
-			Args:   []*configs.Arg{},
1321
-		},
1322
-		{
1323
-			Name:   "shmget",
1324
-			Action: configs.Allow,
1325
-			Args:   []*configs.Arg{},
1326
-		},
1327
-		{
1328
-			Name:   "shutdown",
1329
-			Action: configs.Allow,
1330
-			Args:   []*configs.Arg{},
1331
-		},
1332
-		{
1333
-			Name:   "sigaltstack",
1334
-			Action: configs.Allow,
1335
-			Args:   []*configs.Arg{},
1336
-		},
1337
-		{
1338
-			Name:   "signalfd",
1339
-			Action: configs.Allow,
1340
-			Args:   []*configs.Arg{},
1341
-		},
1342
-		{
1343
-			Name:   "signalfd4",
1344
-			Action: configs.Allow,
1345
-			Args:   []*configs.Arg{},
1346
-		},
1347
-		{
1348
-			Name:   "sigreturn",
1349
-			Action: configs.Allow,
1350
-			Args:   []*configs.Arg{},
1351
-		},
1352
-		{
1353
-			Name:   "socket",
1354
-			Action: configs.Allow,
1355
-			Args:   []*configs.Arg{},
1356
-		},
1357
-		{
1358
-			Name:   "socketpair",
1359
-			Action: configs.Allow,
1360
-			Args:   []*configs.Arg{},
1361
-		},
1362
-		{
1363
-			Name:   "splice",
1364
-			Action: configs.Allow,
1365
-			Args:   []*configs.Arg{},
1366
-		},
1367
-		{
1368
-			Name:   "stat",
1369
-			Action: configs.Allow,
1370
-			Args:   []*configs.Arg{},
1371
-		},
1372
-		{
1373
-			Name:   "stat64",
1374
-			Action: configs.Allow,
1375
-			Args:   []*configs.Arg{},
1376
-		},
1377
-		{
1378
-			Name:   "statfs",
1379
-			Action: configs.Allow,
1380
-			Args:   []*configs.Arg{},
1381
-		},
1382
-		{
1383
-			Name:   "statfs64",
1384
-			Action: configs.Allow,
1385
-			Args:   []*configs.Arg{},
1386
-		},
1387
-		{
1388
-			Name:   "symlink",
1389
-			Action: configs.Allow,
1390
-			Args:   []*configs.Arg{},
1391
-		},
1392
-		{
1393
-			Name:   "symlinkat",
1394
-			Action: configs.Allow,
1395
-			Args:   []*configs.Arg{},
1396
-		},
1397
-		{
1398
-			Name:   "sync",
1399
-			Action: configs.Allow,
1400
-			Args:   []*configs.Arg{},
1401
-		},
1402
-		{
1403
-			Name:   "sync_file_range",
1404
-			Action: configs.Allow,
1405
-			Args:   []*configs.Arg{},
1406
-		},
1407
-		{
1408
-			Name:   "syncfs",
1409
-			Action: configs.Allow,
1410
-			Args:   []*configs.Arg{},
1411
-		},
1412
-		{
1413
-			Name:   "sysinfo",
1414
-			Action: configs.Allow,
1415
-			Args:   []*configs.Arg{},
1416
-		},
1417
-		{
1418
-			Name:   "syslog",
1419
-			Action: configs.Allow,
1420
-			Args:   []*configs.Arg{},
1421
-		},
1422
-		{
1423
-			Name:   "tee",
1424
-			Action: configs.Allow,
1425
-			Args:   []*configs.Arg{},
1426
-		},
1427
-		{
1428
-			Name:   "tgkill",
1429
-			Action: configs.Allow,
1430
-			Args:   []*configs.Arg{},
1431
-		},
1432
-		{
1433
-			Name:   "time",
1434
-			Action: configs.Allow,
1435
-			Args:   []*configs.Arg{},
1436
-		},
1437
-		{
1438
-			Name:   "timer_create",
1439
-			Action: configs.Allow,
1440
-			Args:   []*configs.Arg{},
1441
-		},
1442
-		{
1443
-			Name:   "timer_delete",
1444
-			Action: configs.Allow,
1445
-			Args:   []*configs.Arg{},
1446
-		},
1447
-		{
1448
-			Name:   "timerfd_create",
1449
-			Action: configs.Allow,
1450
-			Args:   []*configs.Arg{},
1451
-		},
1452
-		{
1453
-			Name:   "timerfd_gettime",
1454
-			Action: configs.Allow,
1455
-			Args:   []*configs.Arg{},
1456
-		},
1457
-		{
1458
-			Name:   "timerfd_settime",
1459
-			Action: configs.Allow,
1460
-			Args:   []*configs.Arg{},
1461
-		},
1462
-		{
1463
-			Name:   "timer_getoverrun",
1464
-			Action: configs.Allow,
1465
-			Args:   []*configs.Arg{},
1466
-		},
1467
-		{
1468
-			Name:   "timer_gettime",
1469
-			Action: configs.Allow,
1470
-			Args:   []*configs.Arg{},
1471
-		},
1472
-		{
1473
-			Name:   "timer_settime",
1474
-			Action: configs.Allow,
1475
-			Args:   []*configs.Arg{},
1476
-		},
1477
-		{
1478
-			Name:   "times",
1479
-			Action: configs.Allow,
1480
-			Args:   []*configs.Arg{},
1481
-		},
1482
-		{
1483
-			Name:   "tkill",
1484
-			Action: configs.Allow,
1485
-			Args:   []*configs.Arg{},
1486
-		},
1487
-		{
1488
-			Name:   "truncate",
1489
-			Action: configs.Allow,
1490
-			Args:   []*configs.Arg{},
1491
-		},
1492
-		{
1493
-			Name:   "truncate64",
1494
-			Action: configs.Allow,
1495
-			Args:   []*configs.Arg{},
1496
-		},
1497
-		{
1498
-			Name:   "ugetrlimit",
1499
-			Action: configs.Allow,
1500
-			Args:   []*configs.Arg{},
1501
-		},
1502
-		{
1503
-			Name:   "umask",
1504
-			Action: configs.Allow,
1505
-			Args:   []*configs.Arg{},
1506
-		},
1507
-		{
1508
-			Name:   "uname",
1509
-			Action: configs.Allow,
1510
-			Args:   []*configs.Arg{},
1511
-		},
1512
-		{
1513
-			Name:   "unlink",
1514
-			Action: configs.Allow,
1515
-			Args:   []*configs.Arg{},
1516
-		},
1517
-		{
1518
-			Name:   "unlinkat",
1519
-			Action: configs.Allow,
1520
-			Args:   []*configs.Arg{},
1521
-		},
1522
-		{
1523
-			Name:   "utime",
1524
-			Action: configs.Allow,
1525
-			Args:   []*configs.Arg{},
1526
-		},
1527
-		{
1528
-			Name:   "utimensat",
1529
-			Action: configs.Allow,
1530
-			Args:   []*configs.Arg{},
1531
-		},
1532
-		{
1533
-			Name:   "utimes",
1534
-			Action: configs.Allow,
1535
-			Args:   []*configs.Arg{},
1536
-		},
1537
-		{
1538
-			Name:   "vfork",
1539
-			Action: configs.Allow,
1540
-			Args:   []*configs.Arg{},
1541
-		},
1542
-		{
1543
-			Name:   "vhangup",
1544
-			Action: configs.Allow,
1545
-			Args:   []*configs.Arg{},
1546
-		},
1547
-		{
1548
-			Name:   "vmsplice",
1549
-			Action: configs.Allow,
1550
-			Args:   []*configs.Arg{},
1551
-		},
1552
-		{
1553
-			Name:   "wait4",
1554
-			Action: configs.Allow,
1555
-			Args:   []*configs.Arg{},
1556
-		},
1557
-		{
1558
-			Name:   "waitid",
1559
-			Action: configs.Allow,
1560
-			Args:   []*configs.Arg{},
1561
-		},
1562
-		{
1563
-			Name:   "waitpid",
1564
-			Action: configs.Allow,
1565
-			Args:   []*configs.Arg{},
1566
-		},
1567
-		{
1568
-			Name:   "write",
1569
-			Action: configs.Allow,
1570
-			Args:   []*configs.Arg{},
1571
-		},
1572
-		{
1573
-			Name:   "writev",
1574
-			Action: configs.Allow,
1575
-			Args:   []*configs.Arg{},
1576
-		},
1577
-		// i386 specific syscalls
1578
-		{
1579
-			Name:   "modify_ldt",
1580
-			Action: configs.Allow,
1581
-			Args:   []*configs.Arg{},
1582
-		},
1583
-		// arm specific syscalls
1584
-		{
1585
-			Name:   "breakpoint",
1586
-			Action: configs.Allow,
1587
-			Args:   []*configs.Arg{},
1588
-		},
1589
-		{
1590
-			Name:   "cacheflush",
1591
-			Action: configs.Allow,
1592
-			Args:   []*configs.Arg{},
1593
-		},
1594
-		{
1595
-			Name:   "set_tls",
1596
-			Action: configs.Allow,
1597
-			Args:   []*configs.Arg{},
1598
-		},
1599
-	},
1600
-}
1601 1
deleted file mode 100644
... ...
@@ -1,9 +0,0 @@
1
-// +build linux,!seccomp
2
-
3
-package native
4
-
5
-import "github.com/opencontainers/runc/libcontainer/configs"
6
-
7
-var (
8
-	defaultSeccompProfile *configs.Seccomp
9
-)
10 1
new file mode 100755
... ...
@@ -0,0 +1,27 @@
0
+{
1
+    "defaultAction": "SCMP_ACT_ERRNO",
2
+    "syscalls": [
3
+        {
4
+            "name": "clone",
5
+            "action": "SCMP_ACT_ALLOW",
6
+            "args": [
7
+                {
8
+                    "index": 0,
9
+                    "value": 2080505856,
10
+                    "valueTwo": 0,
11
+                    "op": "SCMP_CMP_MASKED_EQ"
12
+                }
13
+            ]
14
+        },
15
+        {
16
+            "name": "open",
17
+            "action": "SCMP_ACT_ALLOW",
18
+            "args": []
19
+        },
20
+        {
21
+            "name": "close",
22
+            "action": "SCMP_ACT_ALLOW",
23
+            "args": []
24
+        }
25
+    ]
26
+}
0 27
new file mode 100644
... ...
@@ -0,0 +1,94 @@
0
+// +build linux
1
+
2
+package seccomp
3
+
4
+import (
5
+	"encoding/json"
6
+	"fmt"
7
+
8
+	"github.com/docker/engine-api/types"
9
+	"github.com/opencontainers/runc/libcontainer/configs"
10
+	"github.com/opencontainers/runc/libcontainer/seccomp"
11
+)
12
+
13
+// GetDefaultProfile returns the default seccomp profile.
14
+func GetDefaultProfile() *configs.Seccomp {
15
+	return defaultSeccompProfile
16
+}
17
+
18
+// LoadProfile takes a file path a decodes the seccomp profile.
19
+func LoadProfile(body string) (*configs.Seccomp, error) {
20
+	var config types.Seccomp
21
+	if err := json.Unmarshal([]byte(body), &config); err != nil {
22
+		return nil, fmt.Errorf("Decoding seccomp profile failed: %v", err)
23
+	}
24
+
25
+	return setupSeccomp(&config)
26
+}
27
+
28
+func setupSeccomp(config *types.Seccomp) (newConfig *configs.Seccomp, err error) {
29
+	if config == nil {
30
+		return nil, nil
31
+	}
32
+
33
+	// No default action specified, no syscalls listed, assume seccomp disabled
34
+	if config.DefaultAction == "" && len(config.Syscalls) == 0 {
35
+		return nil, nil
36
+	}
37
+
38
+	newConfig = new(configs.Seccomp)
39
+	newConfig.Syscalls = []*configs.Syscall{}
40
+
41
+	// if config.Architectures == 0 then libseccomp will figure out the architecture to use
42
+	if len(config.Architectures) > 0 {
43
+		newConfig.Architectures = []string{}
44
+		for _, arch := range config.Architectures {
45
+			newArch, err := seccomp.ConvertStringToArch(string(arch))
46
+			if err != nil {
47
+				return nil, err
48
+			}
49
+			newConfig.Architectures = append(newConfig.Architectures, newArch)
50
+		}
51
+	}
52
+
53
+	// Convert default action from string representation
54
+	newConfig.DefaultAction, err = seccomp.ConvertStringToAction(string(config.DefaultAction))
55
+	if err != nil {
56
+		return nil, err
57
+	}
58
+
59
+	// Loop through all syscall blocks and convert them to libcontainer format
60
+	for _, call := range config.Syscalls {
61
+		newAction, err := seccomp.ConvertStringToAction(string(call.Action))
62
+		if err != nil {
63
+			return nil, err
64
+		}
65
+
66
+		newCall := configs.Syscall{
67
+			Name:   call.Name,
68
+			Action: newAction,
69
+			Args:   []*configs.Arg{},
70
+		}
71
+
72
+		// Loop through all the arguments of the syscall and convert them
73
+		for _, arg := range call.Args {
74
+			newOp, err := seccomp.ConvertStringToOperator(string(arg.Op))
75
+			if err != nil {
76
+				return nil, err
77
+			}
78
+
79
+			newArg := configs.Arg{
80
+				Index:    arg.Index,
81
+				Value:    arg.Value,
82
+				ValueTwo: arg.ValueTwo,
83
+				Op:       newOp,
84
+			}
85
+
86
+			newCall.Args = append(newCall.Args, &newArg)
87
+		}
88
+
89
+		newConfig.Syscalls = append(newConfig.Syscalls, &newCall)
90
+	}
91
+
92
+	return newConfig, nil
93
+}
0 94
new file mode 100644
... ...
@@ -0,0 +1,1600 @@
0
+// +build linux,seccomp
1
+
2
+package seccomp
3
+
4
+import (
5
+	"syscall"
6
+
7
+	"github.com/opencontainers/runc/libcontainer/configs"
8
+	libseccomp "github.com/seccomp/libseccomp-golang"
9
+)
10
+
11
+func arches() []string {
12
+	var native, err = libseccomp.GetNativeArch()
13
+	if err != nil {
14
+		return []string{}
15
+	}
16
+	var a = native.String()
17
+	switch a {
18
+	case "amd64":
19
+		return []string{"amd64", "x86", "x32"}
20
+	case "arm64":
21
+		return []string{"arm64", "arm"}
22
+	case "mips64":
23
+		return []string{"mips64", "mips64n32", "mips"}
24
+	case "mips64n32":
25
+		return []string{"mips64", "mips64n32", "mips"}
26
+	case "mipsel64":
27
+		return []string{"mipsel64", "mipsel64n32", "mipsel"}
28
+	case "mipsel64n32":
29
+		return []string{"mipsel64", "mipsel64n32", "mipsel"}
30
+	default:
31
+		return []string{a}
32
+	}
33
+}
34
+
35
+var defaultSeccompProfile = &configs.Seccomp{
36
+	DefaultAction: configs.Errno,
37
+	Architectures: arches(),
38
+	Syscalls: []*configs.Syscall{
39
+		{
40
+			Name:   "accept",
41
+			Action: configs.Allow,
42
+			Args:   []*configs.Arg{},
43
+		},
44
+		{
45
+			Name:   "accept4",
46
+			Action: configs.Allow,
47
+			Args:   []*configs.Arg{},
48
+		},
49
+		{
50
+			Name:   "access",
51
+			Action: configs.Allow,
52
+			Args:   []*configs.Arg{},
53
+		},
54
+		{
55
+			Name:   "alarm",
56
+			Action: configs.Allow,
57
+			Args:   []*configs.Arg{},
58
+		},
59
+		{
60
+			Name:   "arch_prctl",
61
+			Action: configs.Allow,
62
+			Args:   []*configs.Arg{},
63
+		},
64
+		{
65
+			Name:   "bind",
66
+			Action: configs.Allow,
67
+			Args:   []*configs.Arg{},
68
+		},
69
+		{
70
+			Name:   "brk",
71
+			Action: configs.Allow,
72
+			Args:   []*configs.Arg{},
73
+		},
74
+		{
75
+			Name:   "capget",
76
+			Action: configs.Allow,
77
+			Args:   []*configs.Arg{},
78
+		},
79
+		{
80
+			Name:   "capset",
81
+			Action: configs.Allow,
82
+			Args:   []*configs.Arg{},
83
+		},
84
+		{
85
+			Name:   "chdir",
86
+			Action: configs.Allow,
87
+			Args:   []*configs.Arg{},
88
+		},
89
+		{
90
+			Name:   "chmod",
91
+			Action: configs.Allow,
92
+			Args:   []*configs.Arg{},
93
+		},
94
+		{
95
+			Name:   "chown",
96
+			Action: configs.Allow,
97
+			Args:   []*configs.Arg{},
98
+		},
99
+		{
100
+			Name:   "chown32",
101
+			Action: configs.Allow,
102
+			Args:   []*configs.Arg{},
103
+		},
104
+		{
105
+			Name:   "chroot",
106
+			Action: configs.Allow,
107
+			Args:   []*configs.Arg{},
108
+		},
109
+		{
110
+			Name:   "clock_getres",
111
+			Action: configs.Allow,
112
+			Args:   []*configs.Arg{},
113
+		},
114
+		{
115
+			Name:   "clock_gettime",
116
+			Action: configs.Allow,
117
+			Args:   []*configs.Arg{},
118
+		},
119
+		{
120
+			Name:   "clock_nanosleep",
121
+			Action: configs.Allow,
122
+			Args:   []*configs.Arg{},
123
+		},
124
+		{
125
+			Name:   "clone",
126
+			Action: configs.Allow,
127
+			Args: []*configs.Arg{
128
+				{
129
+					Index:    0,
130
+					Value:    syscall.CLONE_NEWNS | syscall.CLONE_NEWUTS | syscall.CLONE_NEWIPC | syscall.CLONE_NEWUSER | syscall.CLONE_NEWPID | syscall.CLONE_NEWNET,
131
+					ValueTwo: 0,
132
+					Op:       configs.MaskEqualTo,
133
+				},
134
+			},
135
+		},
136
+		{
137
+			Name:   "close",
138
+			Action: configs.Allow,
139
+			Args:   []*configs.Arg{},
140
+		},
141
+		{
142
+			Name:   "connect",
143
+			Action: configs.Allow,
144
+			Args:   []*configs.Arg{},
145
+		},
146
+		{
147
+			Name:   "creat",
148
+			Action: configs.Allow,
149
+			Args:   []*configs.Arg{},
150
+		},
151
+		{
152
+			Name:   "dup",
153
+			Action: configs.Allow,
154
+			Args:   []*configs.Arg{},
155
+		},
156
+		{
157
+			Name:   "dup2",
158
+			Action: configs.Allow,
159
+			Args:   []*configs.Arg{},
160
+		},
161
+		{
162
+			Name:   "dup3",
163
+			Action: configs.Allow,
164
+			Args:   []*configs.Arg{},
165
+		},
166
+		{
167
+			Name:   "epoll_create",
168
+			Action: configs.Allow,
169
+			Args:   []*configs.Arg{},
170
+		},
171
+		{
172
+			Name:   "epoll_create1",
173
+			Action: configs.Allow,
174
+			Args:   []*configs.Arg{},
175
+		},
176
+		{
177
+			Name:   "epoll_ctl",
178
+			Action: configs.Allow,
179
+			Args:   []*configs.Arg{},
180
+		},
181
+		{
182
+			Name:   "epoll_ctl_old",
183
+			Action: configs.Allow,
184
+			Args:   []*configs.Arg{},
185
+		},
186
+		{
187
+			Name:   "epoll_pwait",
188
+			Action: configs.Allow,
189
+			Args:   []*configs.Arg{},
190
+		},
191
+		{
192
+			Name:   "epoll_wait",
193
+			Action: configs.Allow,
194
+			Args:   []*configs.Arg{},
195
+		},
196
+		{
197
+			Name:   "epoll_wait_old",
198
+			Action: configs.Allow,
199
+			Args:   []*configs.Arg{},
200
+		},
201
+		{
202
+			Name:   "eventfd",
203
+			Action: configs.Allow,
204
+			Args:   []*configs.Arg{},
205
+		},
206
+		{
207
+			Name:   "eventfd2",
208
+			Action: configs.Allow,
209
+			Args:   []*configs.Arg{},
210
+		},
211
+		{
212
+			Name:   "execve",
213
+			Action: configs.Allow,
214
+			Args:   []*configs.Arg{},
215
+		},
216
+		{
217
+			Name:   "execveat",
218
+			Action: configs.Allow,
219
+			Args:   []*configs.Arg{},
220
+		},
221
+		{
222
+			Name:   "exit",
223
+			Action: configs.Allow,
224
+			Args:   []*configs.Arg{},
225
+		},
226
+		{
227
+			Name:   "exit_group",
228
+			Action: configs.Allow,
229
+			Args:   []*configs.Arg{},
230
+		},
231
+		{
232
+			Name:   "faccessat",
233
+			Action: configs.Allow,
234
+			Args:   []*configs.Arg{},
235
+		},
236
+		{
237
+			Name:   "fadvise64",
238
+			Action: configs.Allow,
239
+			Args:   []*configs.Arg{},
240
+		},
241
+		{
242
+			Name:   "fadvise64_64",
243
+			Action: configs.Allow,
244
+			Args:   []*configs.Arg{},
245
+		},
246
+		{
247
+			Name:   "fallocate",
248
+			Action: configs.Allow,
249
+			Args:   []*configs.Arg{},
250
+		},
251
+		{
252
+			Name:   "fanotify_init",
253
+			Action: configs.Allow,
254
+			Args:   []*configs.Arg{},
255
+		},
256
+		{
257
+			Name:   "fanotify_mark",
258
+			Action: configs.Allow,
259
+			Args:   []*configs.Arg{},
260
+		},
261
+		{
262
+			Name:   "fchdir",
263
+			Action: configs.Allow,
264
+			Args:   []*configs.Arg{},
265
+		},
266
+		{
267
+			Name:   "fchmod",
268
+			Action: configs.Allow,
269
+			Args:   []*configs.Arg{},
270
+		},
271
+		{
272
+			Name:   "fchmodat",
273
+			Action: configs.Allow,
274
+			Args:   []*configs.Arg{},
275
+		},
276
+		{
277
+			Name:   "fchown",
278
+			Action: configs.Allow,
279
+			Args:   []*configs.Arg{},
280
+		},
281
+		{
282
+			Name:   "fchown32",
283
+			Action: configs.Allow,
284
+			Args:   []*configs.Arg{},
285
+		},
286
+		{
287
+			Name:   "fchownat",
288
+			Action: configs.Allow,
289
+			Args:   []*configs.Arg{},
290
+		},
291
+		{
292
+			Name:   "fcntl",
293
+			Action: configs.Allow,
294
+			Args:   []*configs.Arg{},
295
+		},
296
+		{
297
+			Name:   "fcntl64",
298
+			Action: configs.Allow,
299
+			Args:   []*configs.Arg{},
300
+		},
301
+		{
302
+			Name:   "fdatasync",
303
+			Action: configs.Allow,
304
+			Args:   []*configs.Arg{},
305
+		},
306
+		{
307
+			Name:   "fgetxattr",
308
+			Action: configs.Allow,
309
+			Args:   []*configs.Arg{},
310
+		},
311
+		{
312
+			Name:   "flistxattr",
313
+			Action: configs.Allow,
314
+			Args:   []*configs.Arg{},
315
+		},
316
+		{
317
+			Name:   "flock",
318
+			Action: configs.Allow,
319
+			Args:   []*configs.Arg{},
320
+		},
321
+		{
322
+			Name:   "fork",
323
+			Action: configs.Allow,
324
+			Args:   []*configs.Arg{},
325
+		},
326
+		{
327
+			Name:   "fremovexattr",
328
+			Action: configs.Allow,
329
+			Args:   []*configs.Arg{},
330
+		},
331
+		{
332
+			Name:   "fsetxattr",
333
+			Action: configs.Allow,
334
+			Args:   []*configs.Arg{},
335
+		},
336
+		{
337
+			Name:   "fstat",
338
+			Action: configs.Allow,
339
+			Args:   []*configs.Arg{},
340
+		},
341
+		{
342
+			Name:   "fstat64",
343
+			Action: configs.Allow,
344
+			Args:   []*configs.Arg{},
345
+		},
346
+		{
347
+			Name:   "fstatat64",
348
+			Action: configs.Allow,
349
+			Args:   []*configs.Arg{},
350
+		},
351
+		{
352
+			Name:   "fstatfs",
353
+			Action: configs.Allow,
354
+			Args:   []*configs.Arg{},
355
+		},
356
+		{
357
+			Name:   "fstatfs64",
358
+			Action: configs.Allow,
359
+			Args:   []*configs.Arg{},
360
+		},
361
+		{
362
+			Name:   "fsync",
363
+			Action: configs.Allow,
364
+			Args:   []*configs.Arg{},
365
+		},
366
+		{
367
+			Name:   "ftruncate",
368
+			Action: configs.Allow,
369
+			Args:   []*configs.Arg{},
370
+		},
371
+		{
372
+			Name:   "ftruncate64",
373
+			Action: configs.Allow,
374
+			Args:   []*configs.Arg{},
375
+		},
376
+		{
377
+			Name:   "futex",
378
+			Action: configs.Allow,
379
+			Args:   []*configs.Arg{},
380
+		},
381
+		{
382
+			Name:   "futimesat",
383
+			Action: configs.Allow,
384
+			Args:   []*configs.Arg{},
385
+		},
386
+		{
387
+			Name:   "getcpu",
388
+			Action: configs.Allow,
389
+			Args:   []*configs.Arg{},
390
+		},
391
+		{
392
+			Name:   "getcwd",
393
+			Action: configs.Allow,
394
+			Args:   []*configs.Arg{},
395
+		},
396
+		{
397
+			Name:   "getdents",
398
+			Action: configs.Allow,
399
+			Args:   []*configs.Arg{},
400
+		},
401
+		{
402
+			Name:   "getdents64",
403
+			Action: configs.Allow,
404
+			Args:   []*configs.Arg{},
405
+		},
406
+		{
407
+			Name:   "getegid",
408
+			Action: configs.Allow,
409
+			Args:   []*configs.Arg{},
410
+		},
411
+		{
412
+			Name:   "getegid32",
413
+			Action: configs.Allow,
414
+			Args:   []*configs.Arg{},
415
+		},
416
+		{
417
+			Name:   "geteuid",
418
+			Action: configs.Allow,
419
+			Args:   []*configs.Arg{},
420
+		},
421
+		{
422
+			Name:   "geteuid32",
423
+			Action: configs.Allow,
424
+			Args:   []*configs.Arg{},
425
+		},
426
+		{
427
+			Name:   "getgid",
428
+			Action: configs.Allow,
429
+			Args:   []*configs.Arg{},
430
+		},
431
+		{
432
+			Name:   "getgid32",
433
+			Action: configs.Allow,
434
+			Args:   []*configs.Arg{},
435
+		},
436
+		{
437
+			Name:   "getgroups",
438
+			Action: configs.Allow,
439
+			Args:   []*configs.Arg{},
440
+		},
441
+		{
442
+			Name:   "getgroups32",
443
+			Action: configs.Allow,
444
+			Args:   []*configs.Arg{},
445
+		},
446
+		{
447
+			Name:   "getitimer",
448
+			Action: configs.Allow,
449
+			Args:   []*configs.Arg{},
450
+		},
451
+		{
452
+			Name:   "getpeername",
453
+			Action: configs.Allow,
454
+			Args:   []*configs.Arg{},
455
+		},
456
+		{
457
+			Name:   "getpgid",
458
+			Action: configs.Allow,
459
+			Args:   []*configs.Arg{},
460
+		},
461
+		{
462
+			Name:   "getpgrp",
463
+			Action: configs.Allow,
464
+			Args:   []*configs.Arg{},
465
+		},
466
+		{
467
+			Name:   "getpid",
468
+			Action: configs.Allow,
469
+			Args:   []*configs.Arg{},
470
+		},
471
+		{
472
+			Name:   "getppid",
473
+			Action: configs.Allow,
474
+			Args:   []*configs.Arg{},
475
+		},
476
+		{
477
+			Name:   "getpriority",
478
+			Action: configs.Allow,
479
+			Args:   []*configs.Arg{},
480
+		},
481
+		{
482
+			Name:   "getrandom",
483
+			Action: configs.Allow,
484
+			Args:   []*configs.Arg{},
485
+		},
486
+		{
487
+			Name:   "getresgid",
488
+			Action: configs.Allow,
489
+			Args:   []*configs.Arg{},
490
+		},
491
+		{
492
+			Name:   "getresgid32",
493
+			Action: configs.Allow,
494
+			Args:   []*configs.Arg{},
495
+		},
496
+		{
497
+			Name:   "getresuid",
498
+			Action: configs.Allow,
499
+			Args:   []*configs.Arg{},
500
+		},
501
+		{
502
+			Name:   "getresuid32",
503
+			Action: configs.Allow,
504
+			Args:   []*configs.Arg{},
505
+		},
506
+		{
507
+			Name:   "getrlimit",
508
+			Action: configs.Allow,
509
+			Args:   []*configs.Arg{},
510
+		},
511
+		{
512
+			Name:   "get_robust_list",
513
+			Action: configs.Allow,
514
+			Args:   []*configs.Arg{},
515
+		},
516
+		{
517
+			Name:   "getrusage",
518
+			Action: configs.Allow,
519
+			Args:   []*configs.Arg{},
520
+		},
521
+		{
522
+			Name:   "getsid",
523
+			Action: configs.Allow,
524
+			Args:   []*configs.Arg{},
525
+		},
526
+		{
527
+			Name:   "getsockname",
528
+			Action: configs.Allow,
529
+			Args:   []*configs.Arg{},
530
+		},
531
+		{
532
+			Name:   "getsockopt",
533
+			Action: configs.Allow,
534
+			Args:   []*configs.Arg{},
535
+		},
536
+		{
537
+			Name:   "get_thread_area",
538
+			Action: configs.Allow,
539
+			Args:   []*configs.Arg{},
540
+		},
541
+		{
542
+			Name:   "gettid",
543
+			Action: configs.Allow,
544
+			Args:   []*configs.Arg{},
545
+		},
546
+		{
547
+			Name:   "gettimeofday",
548
+			Action: configs.Allow,
549
+			Args:   []*configs.Arg{},
550
+		},
551
+		{
552
+			Name:   "getuid",
553
+			Action: configs.Allow,
554
+			Args:   []*configs.Arg{},
555
+		},
556
+		{
557
+			Name:   "getuid32",
558
+			Action: configs.Allow,
559
+			Args:   []*configs.Arg{},
560
+		},
561
+		{
562
+			Name:   "getxattr",
563
+			Action: configs.Allow,
564
+			Args:   []*configs.Arg{},
565
+		},
566
+		{
567
+			Name:   "inotify_add_watch",
568
+			Action: configs.Allow,
569
+			Args:   []*configs.Arg{},
570
+		},
571
+		{
572
+			Name:   "inotify_init",
573
+			Action: configs.Allow,
574
+			Args:   []*configs.Arg{},
575
+		},
576
+		{
577
+			Name:   "inotify_init1",
578
+			Action: configs.Allow,
579
+			Args:   []*configs.Arg{},
580
+		},
581
+		{
582
+			Name:   "inotify_rm_watch",
583
+			Action: configs.Allow,
584
+			Args:   []*configs.Arg{},
585
+		},
586
+		{
587
+			Name:   "io_cancel",
588
+			Action: configs.Allow,
589
+			Args:   []*configs.Arg{},
590
+		},
591
+		{
592
+			Name:   "ioctl",
593
+			Action: configs.Allow,
594
+			Args:   []*configs.Arg{},
595
+		},
596
+		{
597
+			Name:   "io_destroy",
598
+			Action: configs.Allow,
599
+			Args:   []*configs.Arg{},
600
+		},
601
+		{
602
+			Name:   "io_getevents",
603
+			Action: configs.Allow,
604
+			Args:   []*configs.Arg{},
605
+		},
606
+		{
607
+			Name:   "ioprio_get",
608
+			Action: configs.Allow,
609
+			Args:   []*configs.Arg{},
610
+		},
611
+		{
612
+			Name:   "ioprio_set",
613
+			Action: configs.Allow,
614
+			Args:   []*configs.Arg{},
615
+		},
616
+		{
617
+			Name:   "io_setup",
618
+			Action: configs.Allow,
619
+			Args:   []*configs.Arg{},
620
+		},
621
+		{
622
+			Name:   "io_submit",
623
+			Action: configs.Allow,
624
+			Args:   []*configs.Arg{},
625
+		},
626
+		{
627
+			Name:   "kill",
628
+			Action: configs.Allow,
629
+			Args:   []*configs.Arg{},
630
+		},
631
+		{
632
+			Name:   "lchown",
633
+			Action: configs.Allow,
634
+			Args:   []*configs.Arg{},
635
+		},
636
+		{
637
+			Name:   "lchown32",
638
+			Action: configs.Allow,
639
+			Args:   []*configs.Arg{},
640
+		},
641
+		{
642
+			Name:   "lgetxattr",
643
+			Action: configs.Allow,
644
+			Args:   []*configs.Arg{},
645
+		},
646
+		{
647
+			Name:   "link",
648
+			Action: configs.Allow,
649
+			Args:   []*configs.Arg{},
650
+		},
651
+		{
652
+			Name:   "linkat",
653
+			Action: configs.Allow,
654
+			Args:   []*configs.Arg{},
655
+		},
656
+		{
657
+			Name:   "listen",
658
+			Action: configs.Allow,
659
+			Args:   []*configs.Arg{},
660
+		},
661
+		{
662
+			Name:   "listxattr",
663
+			Action: configs.Allow,
664
+			Args:   []*configs.Arg{},
665
+		},
666
+		{
667
+			Name:   "llistxattr",
668
+			Action: configs.Allow,
669
+			Args:   []*configs.Arg{},
670
+		},
671
+		{
672
+			Name:   "_llseek",
673
+			Action: configs.Allow,
674
+			Args:   []*configs.Arg{},
675
+		},
676
+		{
677
+			Name:   "lremovexattr",
678
+			Action: configs.Allow,
679
+			Args:   []*configs.Arg{},
680
+		},
681
+		{
682
+			Name:   "lseek",
683
+			Action: configs.Allow,
684
+			Args:   []*configs.Arg{},
685
+		},
686
+		{
687
+			Name:   "lsetxattr",
688
+			Action: configs.Allow,
689
+			Args:   []*configs.Arg{},
690
+		},
691
+		{
692
+			Name:   "lstat",
693
+			Action: configs.Allow,
694
+			Args:   []*configs.Arg{},
695
+		},
696
+		{
697
+			Name:   "lstat64",
698
+			Action: configs.Allow,
699
+			Args:   []*configs.Arg{},
700
+		},
701
+		{
702
+			Name:   "madvise",
703
+			Action: configs.Allow,
704
+			Args:   []*configs.Arg{},
705
+		},
706
+		{
707
+			Name:   "memfd_create",
708
+			Action: configs.Allow,
709
+			Args:   []*configs.Arg{},
710
+		},
711
+		{
712
+			Name:   "mincore",
713
+			Action: configs.Allow,
714
+			Args:   []*configs.Arg{},
715
+		},
716
+		{
717
+			Name:   "mkdir",
718
+			Action: configs.Allow,
719
+			Args:   []*configs.Arg{},
720
+		},
721
+		{
722
+			Name:   "mkdirat",
723
+			Action: configs.Allow,
724
+			Args:   []*configs.Arg{},
725
+		},
726
+		{
727
+			Name:   "mknod",
728
+			Action: configs.Allow,
729
+			Args:   []*configs.Arg{},
730
+		},
731
+		{
732
+			Name:   "mknodat",
733
+			Action: configs.Allow,
734
+			Args:   []*configs.Arg{},
735
+		},
736
+		{
737
+			Name:   "mlock",
738
+			Action: configs.Allow,
739
+			Args:   []*configs.Arg{},
740
+		},
741
+		{
742
+			Name:   "mlockall",
743
+			Action: configs.Allow,
744
+			Args:   []*configs.Arg{},
745
+		},
746
+		{
747
+			Name:   "mmap",
748
+			Action: configs.Allow,
749
+			Args:   []*configs.Arg{},
750
+		},
751
+		{
752
+			Name:   "mmap2",
753
+			Action: configs.Allow,
754
+			Args:   []*configs.Arg{},
755
+		},
756
+		{
757
+			Name:   "mprotect",
758
+			Action: configs.Allow,
759
+			Args:   []*configs.Arg{},
760
+		},
761
+		{
762
+			Name:   "mq_getsetattr",
763
+			Action: configs.Allow,
764
+			Args:   []*configs.Arg{},
765
+		},
766
+		{
767
+			Name:   "mq_notify",
768
+			Action: configs.Allow,
769
+			Args:   []*configs.Arg{},
770
+		},
771
+		{
772
+			Name:   "mq_open",
773
+			Action: configs.Allow,
774
+			Args:   []*configs.Arg{},
775
+		},
776
+		{
777
+			Name:   "mq_timedreceive",
778
+			Action: configs.Allow,
779
+			Args:   []*configs.Arg{},
780
+		},
781
+		{
782
+			Name:   "mq_timedsend",
783
+			Action: configs.Allow,
784
+			Args:   []*configs.Arg{},
785
+		},
786
+		{
787
+			Name:   "mq_unlink",
788
+			Action: configs.Allow,
789
+			Args:   []*configs.Arg{},
790
+		},
791
+		{
792
+			Name:   "mremap",
793
+			Action: configs.Allow,
794
+			Args:   []*configs.Arg{},
795
+		},
796
+		{
797
+			Name:   "msgctl",
798
+			Action: configs.Allow,
799
+			Args:   []*configs.Arg{},
800
+		},
801
+		{
802
+			Name:   "msgget",
803
+			Action: configs.Allow,
804
+			Args:   []*configs.Arg{},
805
+		},
806
+		{
807
+			Name:   "msgrcv",
808
+			Action: configs.Allow,
809
+			Args:   []*configs.Arg{},
810
+		},
811
+		{
812
+			Name:   "msgsnd",
813
+			Action: configs.Allow,
814
+			Args:   []*configs.Arg{},
815
+		},
816
+		{
817
+			Name:   "msync",
818
+			Action: configs.Allow,
819
+			Args:   []*configs.Arg{},
820
+		},
821
+		{
822
+			Name:   "munlock",
823
+			Action: configs.Allow,
824
+			Args:   []*configs.Arg{},
825
+		},
826
+		{
827
+			Name:   "munlockall",
828
+			Action: configs.Allow,
829
+			Args:   []*configs.Arg{},
830
+		},
831
+		{
832
+			Name:   "munmap",
833
+			Action: configs.Allow,
834
+			Args:   []*configs.Arg{},
835
+		},
836
+		{
837
+			Name:   "nanosleep",
838
+			Action: configs.Allow,
839
+			Args:   []*configs.Arg{},
840
+		},
841
+		{
842
+			Name:   "newfstatat",
843
+			Action: configs.Allow,
844
+			Args:   []*configs.Arg{},
845
+		},
846
+		{
847
+			Name:   "_newselect",
848
+			Action: configs.Allow,
849
+			Args:   []*configs.Arg{},
850
+		},
851
+		{
852
+			Name:   "open",
853
+			Action: configs.Allow,
854
+			Args:   []*configs.Arg{},
855
+		},
856
+		{
857
+			Name:   "openat",
858
+			Action: configs.Allow,
859
+			Args:   []*configs.Arg{},
860
+		},
861
+		{
862
+			Name:   "pause",
863
+			Action: configs.Allow,
864
+			Args:   []*configs.Arg{},
865
+		},
866
+		{
867
+			Name:   "pipe",
868
+			Action: configs.Allow,
869
+			Args:   []*configs.Arg{},
870
+		},
871
+		{
872
+			Name:   "pipe2",
873
+			Action: configs.Allow,
874
+			Args:   []*configs.Arg{},
875
+		},
876
+		{
877
+			Name:   "poll",
878
+			Action: configs.Allow,
879
+			Args:   []*configs.Arg{},
880
+		},
881
+		{
882
+			Name:   "ppoll",
883
+			Action: configs.Allow,
884
+			Args:   []*configs.Arg{},
885
+		},
886
+		{
887
+			Name:   "prctl",
888
+			Action: configs.Allow,
889
+			Args:   []*configs.Arg{},
890
+		},
891
+		{
892
+			Name:   "pread64",
893
+			Action: configs.Allow,
894
+			Args:   []*configs.Arg{},
895
+		},
896
+		{
897
+			Name:   "preadv",
898
+			Action: configs.Allow,
899
+			Args:   []*configs.Arg{},
900
+		},
901
+		{
902
+			Name:   "prlimit64",
903
+			Action: configs.Allow,
904
+			Args:   []*configs.Arg{},
905
+		},
906
+		{
907
+			Name:   "pselect6",
908
+			Action: configs.Allow,
909
+			Args:   []*configs.Arg{},
910
+		},
911
+		{
912
+			Name:   "pwrite64",
913
+			Action: configs.Allow,
914
+			Args:   []*configs.Arg{},
915
+		},
916
+		{
917
+			Name:   "pwritev",
918
+			Action: configs.Allow,
919
+			Args:   []*configs.Arg{},
920
+		},
921
+		{
922
+			Name:   "read",
923
+			Action: configs.Allow,
924
+			Args:   []*configs.Arg{},
925
+		},
926
+		{
927
+			Name:   "readahead",
928
+			Action: configs.Allow,
929
+			Args:   []*configs.Arg{},
930
+		},
931
+		{
932
+			Name:   "readlink",
933
+			Action: configs.Allow,
934
+			Args:   []*configs.Arg{},
935
+		},
936
+		{
937
+			Name:   "readlinkat",
938
+			Action: configs.Allow,
939
+			Args:   []*configs.Arg{},
940
+		},
941
+		{
942
+			Name:   "readv",
943
+			Action: configs.Allow,
944
+			Args:   []*configs.Arg{},
945
+		},
946
+		{
947
+			Name:   "recv",
948
+			Action: configs.Allow,
949
+			Args:   []*configs.Arg{},
950
+		},
951
+		{
952
+			Name:   "recvfrom",
953
+			Action: configs.Allow,
954
+			Args:   []*configs.Arg{},
955
+		},
956
+		{
957
+			Name:   "recvmmsg",
958
+			Action: configs.Allow,
959
+			Args:   []*configs.Arg{},
960
+		},
961
+		{
962
+			Name:   "recvmsg",
963
+			Action: configs.Allow,
964
+			Args:   []*configs.Arg{},
965
+		},
966
+		{
967
+			Name:   "remap_file_pages",
968
+			Action: configs.Allow,
969
+			Args:   []*configs.Arg{},
970
+		},
971
+		{
972
+			Name:   "removexattr",
973
+			Action: configs.Allow,
974
+			Args:   []*configs.Arg{},
975
+		},
976
+		{
977
+			Name:   "rename",
978
+			Action: configs.Allow,
979
+			Args:   []*configs.Arg{},
980
+		},
981
+		{
982
+			Name:   "renameat",
983
+			Action: configs.Allow,
984
+			Args:   []*configs.Arg{},
985
+		},
986
+		{
987
+			Name:   "renameat2",
988
+			Action: configs.Allow,
989
+			Args:   []*configs.Arg{},
990
+		},
991
+		{
992
+			Name:   "rmdir",
993
+			Action: configs.Allow,
994
+			Args:   []*configs.Arg{},
995
+		},
996
+		{
997
+			Name:   "rt_sigaction",
998
+			Action: configs.Allow,
999
+			Args:   []*configs.Arg{},
1000
+		},
1001
+		{
1002
+			Name:   "rt_sigpending",
1003
+			Action: configs.Allow,
1004
+			Args:   []*configs.Arg{},
1005
+		},
1006
+		{
1007
+			Name:   "rt_sigprocmask",
1008
+			Action: configs.Allow,
1009
+			Args:   []*configs.Arg{},
1010
+		},
1011
+		{
1012
+			Name:   "rt_sigqueueinfo",
1013
+			Action: configs.Allow,
1014
+			Args:   []*configs.Arg{},
1015
+		},
1016
+		{
1017
+			Name:   "rt_sigreturn",
1018
+			Action: configs.Allow,
1019
+			Args:   []*configs.Arg{},
1020
+		},
1021
+		{
1022
+			Name:   "rt_sigsuspend",
1023
+			Action: configs.Allow,
1024
+			Args:   []*configs.Arg{},
1025
+		},
1026
+		{
1027
+			Name:   "rt_sigtimedwait",
1028
+			Action: configs.Allow,
1029
+			Args:   []*configs.Arg{},
1030
+		},
1031
+		{
1032
+			Name:   "rt_tgsigqueueinfo",
1033
+			Action: configs.Allow,
1034
+			Args:   []*configs.Arg{},
1035
+		},
1036
+		{
1037
+			Name:   "sched_getaffinity",
1038
+			Action: configs.Allow,
1039
+			Args:   []*configs.Arg{},
1040
+		},
1041
+		{
1042
+			Name:   "sched_getattr",
1043
+			Action: configs.Allow,
1044
+			Args:   []*configs.Arg{},
1045
+		},
1046
+		{
1047
+			Name:   "sched_getparam",
1048
+			Action: configs.Allow,
1049
+			Args:   []*configs.Arg{},
1050
+		},
1051
+		{
1052
+			Name:   "sched_get_priority_max",
1053
+			Action: configs.Allow,
1054
+			Args:   []*configs.Arg{},
1055
+		},
1056
+		{
1057
+			Name:   "sched_get_priority_min",
1058
+			Action: configs.Allow,
1059
+			Args:   []*configs.Arg{},
1060
+		},
1061
+		{
1062
+			Name:   "sched_getscheduler",
1063
+			Action: configs.Allow,
1064
+			Args:   []*configs.Arg{},
1065
+		},
1066
+		{
1067
+			Name:   "sched_rr_get_interval",
1068
+			Action: configs.Allow,
1069
+			Args:   []*configs.Arg{},
1070
+		},
1071
+		{
1072
+			Name:   "sched_setaffinity",
1073
+			Action: configs.Allow,
1074
+			Args:   []*configs.Arg{},
1075
+		},
1076
+		{
1077
+			Name:   "sched_setattr",
1078
+			Action: configs.Allow,
1079
+			Args:   []*configs.Arg{},
1080
+		},
1081
+		{
1082
+			Name:   "sched_setparam",
1083
+			Action: configs.Allow,
1084
+			Args:   []*configs.Arg{},
1085
+		},
1086
+		{
1087
+			Name:   "sched_setscheduler",
1088
+			Action: configs.Allow,
1089
+			Args:   []*configs.Arg{},
1090
+		},
1091
+		{
1092
+			Name:   "sched_yield",
1093
+			Action: configs.Allow,
1094
+			Args:   []*configs.Arg{},
1095
+		},
1096
+		{
1097
+			Name:   "seccomp",
1098
+			Action: configs.Allow,
1099
+			Args:   []*configs.Arg{},
1100
+		},
1101
+		{
1102
+			Name:   "select",
1103
+			Action: configs.Allow,
1104
+			Args:   []*configs.Arg{},
1105
+		},
1106
+		{
1107
+			Name:   "semctl",
1108
+			Action: configs.Allow,
1109
+			Args:   []*configs.Arg{},
1110
+		},
1111
+		{
1112
+			Name:   "semget",
1113
+			Action: configs.Allow,
1114
+			Args:   []*configs.Arg{},
1115
+		},
1116
+		{
1117
+			Name:   "semop",
1118
+			Action: configs.Allow,
1119
+			Args:   []*configs.Arg{},
1120
+		},
1121
+		{
1122
+			Name:   "semtimedop",
1123
+			Action: configs.Allow,
1124
+			Args:   []*configs.Arg{},
1125
+		},
1126
+		{
1127
+			Name:   "send",
1128
+			Action: configs.Allow,
1129
+			Args:   []*configs.Arg{},
1130
+		},
1131
+		{
1132
+			Name:   "sendfile",
1133
+			Action: configs.Allow,
1134
+			Args:   []*configs.Arg{},
1135
+		},
1136
+		{
1137
+			Name:   "sendfile64",
1138
+			Action: configs.Allow,
1139
+			Args:   []*configs.Arg{},
1140
+		},
1141
+		{
1142
+			Name:   "sendmmsg",
1143
+			Action: configs.Allow,
1144
+			Args:   []*configs.Arg{},
1145
+		},
1146
+		{
1147
+			Name:   "sendmsg",
1148
+			Action: configs.Allow,
1149
+			Args:   []*configs.Arg{},
1150
+		},
1151
+		{
1152
+			Name:   "sendto",
1153
+			Action: configs.Allow,
1154
+			Args:   []*configs.Arg{},
1155
+		},
1156
+		{
1157
+			Name:   "setdomainname",
1158
+			Action: configs.Allow,
1159
+			Args:   []*configs.Arg{},
1160
+		},
1161
+		{
1162
+			Name:   "setfsgid",
1163
+			Action: configs.Allow,
1164
+			Args:   []*configs.Arg{},
1165
+		},
1166
+		{
1167
+			Name:   "setfsgid32",
1168
+			Action: configs.Allow,
1169
+			Args:   []*configs.Arg{},
1170
+		},
1171
+		{
1172
+			Name:   "setfsuid",
1173
+			Action: configs.Allow,
1174
+			Args:   []*configs.Arg{},
1175
+		},
1176
+		{
1177
+			Name:   "setfsuid32",
1178
+			Action: configs.Allow,
1179
+			Args:   []*configs.Arg{},
1180
+		},
1181
+		{
1182
+			Name:   "setgid",
1183
+			Action: configs.Allow,
1184
+			Args:   []*configs.Arg{},
1185
+		},
1186
+		{
1187
+			Name:   "setgid32",
1188
+			Action: configs.Allow,
1189
+			Args:   []*configs.Arg{},
1190
+		},
1191
+		{
1192
+			Name:   "setgroups",
1193
+			Action: configs.Allow,
1194
+			Args:   []*configs.Arg{},
1195
+		},
1196
+		{
1197
+			Name:   "setgroups32",
1198
+			Action: configs.Allow,
1199
+			Args:   []*configs.Arg{},
1200
+		},
1201
+		{
1202
+			Name:   "sethostname",
1203
+			Action: configs.Allow,
1204
+			Args:   []*configs.Arg{},
1205
+		},
1206
+		{
1207
+			Name:   "setitimer",
1208
+			Action: configs.Allow,
1209
+			Args:   []*configs.Arg{},
1210
+		},
1211
+		{
1212
+			Name:   "setpgid",
1213
+			Action: configs.Allow,
1214
+			Args:   []*configs.Arg{},
1215
+		},
1216
+		{
1217
+			Name:   "setpriority",
1218
+			Action: configs.Allow,
1219
+			Args:   []*configs.Arg{},
1220
+		},
1221
+		{
1222
+			Name:   "setregid",
1223
+			Action: configs.Allow,
1224
+			Args:   []*configs.Arg{},
1225
+		},
1226
+		{
1227
+			Name:   "setregid32",
1228
+			Action: configs.Allow,
1229
+			Args:   []*configs.Arg{},
1230
+		},
1231
+		{
1232
+			Name:   "setresgid",
1233
+			Action: configs.Allow,
1234
+			Args:   []*configs.Arg{},
1235
+		},
1236
+		{
1237
+			Name:   "setresgid32",
1238
+			Action: configs.Allow,
1239
+			Args:   []*configs.Arg{},
1240
+		},
1241
+		{
1242
+			Name:   "setresuid",
1243
+			Action: configs.Allow,
1244
+			Args:   []*configs.Arg{},
1245
+		},
1246
+		{
1247
+			Name:   "setresuid32",
1248
+			Action: configs.Allow,
1249
+			Args:   []*configs.Arg{},
1250
+		},
1251
+		{
1252
+			Name:   "setreuid",
1253
+			Action: configs.Allow,
1254
+			Args:   []*configs.Arg{},
1255
+		},
1256
+		{
1257
+			Name:   "setreuid32",
1258
+			Action: configs.Allow,
1259
+			Args:   []*configs.Arg{},
1260
+		},
1261
+		{
1262
+			Name:   "setrlimit",
1263
+			Action: configs.Allow,
1264
+			Args:   []*configs.Arg{},
1265
+		},
1266
+		{
1267
+			Name:   "set_robust_list",
1268
+			Action: configs.Allow,
1269
+			Args:   []*configs.Arg{},
1270
+		},
1271
+		{
1272
+			Name:   "setsid",
1273
+			Action: configs.Allow,
1274
+			Args:   []*configs.Arg{},
1275
+		},
1276
+		{
1277
+			Name:   "setsockopt",
1278
+			Action: configs.Allow,
1279
+			Args:   []*configs.Arg{},
1280
+		},
1281
+		{
1282
+			Name:   "set_thread_area",
1283
+			Action: configs.Allow,
1284
+			Args:   []*configs.Arg{},
1285
+		},
1286
+		{
1287
+			Name:   "set_tid_address",
1288
+			Action: configs.Allow,
1289
+			Args:   []*configs.Arg{},
1290
+		},
1291
+		{
1292
+			Name:   "setuid",
1293
+			Action: configs.Allow,
1294
+			Args:   []*configs.Arg{},
1295
+		},
1296
+		{
1297
+			Name:   "setuid32",
1298
+			Action: configs.Allow,
1299
+			Args:   []*configs.Arg{},
1300
+		},
1301
+		{
1302
+			Name:   "setxattr",
1303
+			Action: configs.Allow,
1304
+			Args:   []*configs.Arg{},
1305
+		},
1306
+		{
1307
+			Name:   "shmat",
1308
+			Action: configs.Allow,
1309
+			Args:   []*configs.Arg{},
1310
+		},
1311
+		{
1312
+			Name:   "shmctl",
1313
+			Action: configs.Allow,
1314
+			Args:   []*configs.Arg{},
1315
+		},
1316
+		{
1317
+			Name:   "shmdt",
1318
+			Action: configs.Allow,
1319
+			Args:   []*configs.Arg{},
1320
+		},
1321
+		{
1322
+			Name:   "shmget",
1323
+			Action: configs.Allow,
1324
+			Args:   []*configs.Arg{},
1325
+		},
1326
+		{
1327
+			Name:   "shutdown",
1328
+			Action: configs.Allow,
1329
+			Args:   []*configs.Arg{},
1330
+		},
1331
+		{
1332
+			Name:   "sigaltstack",
1333
+			Action: configs.Allow,
1334
+			Args:   []*configs.Arg{},
1335
+		},
1336
+		{
1337
+			Name:   "signalfd",
1338
+			Action: configs.Allow,
1339
+			Args:   []*configs.Arg{},
1340
+		},
1341
+		{
1342
+			Name:   "signalfd4",
1343
+			Action: configs.Allow,
1344
+			Args:   []*configs.Arg{},
1345
+		},
1346
+		{
1347
+			Name:   "sigreturn",
1348
+			Action: configs.Allow,
1349
+			Args:   []*configs.Arg{},
1350
+		},
1351
+		{
1352
+			Name:   "socket",
1353
+			Action: configs.Allow,
1354
+			Args:   []*configs.Arg{},
1355
+		},
1356
+		{
1357
+			Name:   "socketpair",
1358
+			Action: configs.Allow,
1359
+			Args:   []*configs.Arg{},
1360
+		},
1361
+		{
1362
+			Name:   "splice",
1363
+			Action: configs.Allow,
1364
+			Args:   []*configs.Arg{},
1365
+		},
1366
+		{
1367
+			Name:   "stat",
1368
+			Action: configs.Allow,
1369
+			Args:   []*configs.Arg{},
1370
+		},
1371
+		{
1372
+			Name:   "stat64",
1373
+			Action: configs.Allow,
1374
+			Args:   []*configs.Arg{},
1375
+		},
1376
+		{
1377
+			Name:   "statfs",
1378
+			Action: configs.Allow,
1379
+			Args:   []*configs.Arg{},
1380
+		},
1381
+		{
1382
+			Name:   "statfs64",
1383
+			Action: configs.Allow,
1384
+			Args:   []*configs.Arg{},
1385
+		},
1386
+		{
1387
+			Name:   "symlink",
1388
+			Action: configs.Allow,
1389
+			Args:   []*configs.Arg{},
1390
+		},
1391
+		{
1392
+			Name:   "symlinkat",
1393
+			Action: configs.Allow,
1394
+			Args:   []*configs.Arg{},
1395
+		},
1396
+		{
1397
+			Name:   "sync",
1398
+			Action: configs.Allow,
1399
+			Args:   []*configs.Arg{},
1400
+		},
1401
+		{
1402
+			Name:   "sync_file_range",
1403
+			Action: configs.Allow,
1404
+			Args:   []*configs.Arg{},
1405
+		},
1406
+		{
1407
+			Name:   "syncfs",
1408
+			Action: configs.Allow,
1409
+			Args:   []*configs.Arg{},
1410
+		},
1411
+		{
1412
+			Name:   "sysinfo",
1413
+			Action: configs.Allow,
1414
+			Args:   []*configs.Arg{},
1415
+		},
1416
+		{
1417
+			Name:   "syslog",
1418
+			Action: configs.Allow,
1419
+			Args:   []*configs.Arg{},
1420
+		},
1421
+		{
1422
+			Name:   "tee",
1423
+			Action: configs.Allow,
1424
+			Args:   []*configs.Arg{},
1425
+		},
1426
+		{
1427
+			Name:   "tgkill",
1428
+			Action: configs.Allow,
1429
+			Args:   []*configs.Arg{},
1430
+		},
1431
+		{
1432
+			Name:   "time",
1433
+			Action: configs.Allow,
1434
+			Args:   []*configs.Arg{},
1435
+		},
1436
+		{
1437
+			Name:   "timer_create",
1438
+			Action: configs.Allow,
1439
+			Args:   []*configs.Arg{},
1440
+		},
1441
+		{
1442
+			Name:   "timer_delete",
1443
+			Action: configs.Allow,
1444
+			Args:   []*configs.Arg{},
1445
+		},
1446
+		{
1447
+			Name:   "timerfd_create",
1448
+			Action: configs.Allow,
1449
+			Args:   []*configs.Arg{},
1450
+		},
1451
+		{
1452
+			Name:   "timerfd_gettime",
1453
+			Action: configs.Allow,
1454
+			Args:   []*configs.Arg{},
1455
+		},
1456
+		{
1457
+			Name:   "timerfd_settime",
1458
+			Action: configs.Allow,
1459
+			Args:   []*configs.Arg{},
1460
+		},
1461
+		{
1462
+			Name:   "timer_getoverrun",
1463
+			Action: configs.Allow,
1464
+			Args:   []*configs.Arg{},
1465
+		},
1466
+		{
1467
+			Name:   "timer_gettime",
1468
+			Action: configs.Allow,
1469
+			Args:   []*configs.Arg{},
1470
+		},
1471
+		{
1472
+			Name:   "timer_settime",
1473
+			Action: configs.Allow,
1474
+			Args:   []*configs.Arg{},
1475
+		},
1476
+		{
1477
+			Name:   "times",
1478
+			Action: configs.Allow,
1479
+			Args:   []*configs.Arg{},
1480
+		},
1481
+		{
1482
+			Name:   "tkill",
1483
+			Action: configs.Allow,
1484
+			Args:   []*configs.Arg{},
1485
+		},
1486
+		{
1487
+			Name:   "truncate",
1488
+			Action: configs.Allow,
1489
+			Args:   []*configs.Arg{},
1490
+		},
1491
+		{
1492
+			Name:   "truncate64",
1493
+			Action: configs.Allow,
1494
+			Args:   []*configs.Arg{},
1495
+		},
1496
+		{
1497
+			Name:   "ugetrlimit",
1498
+			Action: configs.Allow,
1499
+			Args:   []*configs.Arg{},
1500
+		},
1501
+		{
1502
+			Name:   "umask",
1503
+			Action: configs.Allow,
1504
+			Args:   []*configs.Arg{},
1505
+		},
1506
+		{
1507
+			Name:   "uname",
1508
+			Action: configs.Allow,
1509
+			Args:   []*configs.Arg{},
1510
+		},
1511
+		{
1512
+			Name:   "unlink",
1513
+			Action: configs.Allow,
1514
+			Args:   []*configs.Arg{},
1515
+		},
1516
+		{
1517
+			Name:   "unlinkat",
1518
+			Action: configs.Allow,
1519
+			Args:   []*configs.Arg{},
1520
+		},
1521
+		{
1522
+			Name:   "utime",
1523
+			Action: configs.Allow,
1524
+			Args:   []*configs.Arg{},
1525
+		},
1526
+		{
1527
+			Name:   "utimensat",
1528
+			Action: configs.Allow,
1529
+			Args:   []*configs.Arg{},
1530
+		},
1531
+		{
1532
+			Name:   "utimes",
1533
+			Action: configs.Allow,
1534
+			Args:   []*configs.Arg{},
1535
+		},
1536
+		{
1537
+			Name:   "vfork",
1538
+			Action: configs.Allow,
1539
+			Args:   []*configs.Arg{},
1540
+		},
1541
+		{
1542
+			Name:   "vhangup",
1543
+			Action: configs.Allow,
1544
+			Args:   []*configs.Arg{},
1545
+		},
1546
+		{
1547
+			Name:   "vmsplice",
1548
+			Action: configs.Allow,
1549
+			Args:   []*configs.Arg{},
1550
+		},
1551
+		{
1552
+			Name:   "wait4",
1553
+			Action: configs.Allow,
1554
+			Args:   []*configs.Arg{},
1555
+		},
1556
+		{
1557
+			Name:   "waitid",
1558
+			Action: configs.Allow,
1559
+			Args:   []*configs.Arg{},
1560
+		},
1561
+		{
1562
+			Name:   "waitpid",
1563
+			Action: configs.Allow,
1564
+			Args:   []*configs.Arg{},
1565
+		},
1566
+		{
1567
+			Name:   "write",
1568
+			Action: configs.Allow,
1569
+			Args:   []*configs.Arg{},
1570
+		},
1571
+		{
1572
+			Name:   "writev",
1573
+			Action: configs.Allow,
1574
+			Args:   []*configs.Arg{},
1575
+		},
1576
+		// i386 specific syscalls
1577
+		{
1578
+			Name:   "modify_ldt",
1579
+			Action: configs.Allow,
1580
+			Args:   []*configs.Arg{},
1581
+		},
1582
+		// arm specific syscalls
1583
+		{
1584
+			Name:   "breakpoint",
1585
+			Action: configs.Allow,
1586
+			Args:   []*configs.Arg{},
1587
+		},
1588
+		{
1589
+			Name:   "cacheflush",
1590
+			Action: configs.Allow,
1591
+			Args:   []*configs.Arg{},
1592
+		},
1593
+		{
1594
+			Name:   "set_tls",
1595
+			Action: configs.Allow,
1596
+			Args:   []*configs.Arg{},
1597
+		},
1598
+	},
1599
+}
0 1600
new file mode 100644
... ...
@@ -0,0 +1,19 @@
0
+// +build linux
1
+
2
+package seccomp
3
+
4
+import (
5
+	"io/ioutil"
6
+	"testing"
7
+)
8
+
9
+func TestLoadProfile(t *testing.T) {
10
+	f, err := ioutil.ReadFile("fixtures/example.json")
11
+	if err != nil {
12
+		t.Fatal(err)
13
+	}
14
+
15
+	if _, err := LoadProfile(string(f)); err != nil {
16
+		t.Fatal(err)
17
+	}
18
+}
0 19
new file mode 100644
... ...
@@ -0,0 +1,9 @@
0
+// +build linux,!seccomp
1
+
2
+package seccomp
3
+
4
+import "github.com/opencontainers/runc/libcontainer/configs"
5
+
6
+var (
7
+	defaultSeccompProfile *configs.Seccomp
8
+)