forked from rosa/hakurei
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
faea1f4bd6
|
|||
|
0cb1007daa
|
|||
|
e292031624
|
|||
|
cd5959fe5a
|
|||
|
08c35ca24f
|
|||
|
72bd3fb05e
|
|||
|
59c66747df
|
|||
|
9e6fe8db4b
|
|||
|
5168ee3e13
|
|||
|
c8313c2dc4
|
|||
|
3fcdadb669
|
|||
|
3966bc5152
|
|||
|
b208af8b85
|
|||
|
8d650c0c8f
|
|||
|
a720efc32d
|
|||
|
400540cd41
|
|||
|
1113efa5c2
|
|||
|
8b875f865c
|
|||
|
8905d653ba
|
|||
|
9c2fb6246f
|
|||
|
9c116acec6
|
|||
|
988239a2bc
|
|||
|
bc03118142
|
@@ -1,5 +1,5 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://git.gensokyo.uk/security/hakurei">
|
<a href="https://git.gensokyo.uk/rosa/hakurei">
|
||||||
<picture>
|
<picture>
|
||||||
<img src="https://basement.gensokyo.uk/images/yukari1.png" width="200px" alt="Yukari">
|
<img src="https://basement.gensokyo.uk/images/yukari1.png" width="200px" alt="Yukari">
|
||||||
</picture>
|
</picture>
|
||||||
@@ -8,16 +8,16 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://pkg.go.dev/hakurei.app"><img src="https://pkg.go.dev/badge/hakurei.app.svg" alt="Go Reference" /></a>
|
<a href="https://pkg.go.dev/hakurei.app"><img src="https://pkg.go.dev/badge/hakurei.app.svg" alt="Go Reference" /></a>
|
||||||
<a href="https://git.gensokyo.uk/security/hakurei/actions"><img src="https://git.gensokyo.uk/security/hakurei/actions/workflows/test.yml/badge.svg?branch=staging&style=flat-square" alt="Gitea Workflow Status" /></a>
|
<a href="https://git.gensokyo.uk/rosa/hakurei/actions"><img src="https://git.gensokyo.uk/rosa/hakurei/actions/workflows/test.yml/badge.svg?branch=staging&style=flat-square" alt="Gitea Workflow Status" /></a>
|
||||||
<br/>
|
<br/>
|
||||||
<a href="https://git.gensokyo.uk/security/hakurei/releases"><img src="https://img.shields.io/gitea/v/release/security/hakurei?gitea_url=https%3A%2F%2Fgit.gensokyo.uk&color=purple" alt="Release" /></a>
|
<a href="https://git.gensokyo.uk/rosa/hakurei/releases"><img src="https://img.shields.io/gitea/v/release/rosa/hakurei?gitea_url=https%3A%2F%2Fgit.gensokyo.uk&color=purple" alt="Release" /></a>
|
||||||
<a href="https://goreportcard.com/report/hakurei.app"><img src="https://goreportcard.com/badge/hakurei.app" alt="Go Report Card" /></a>
|
<a href="https://goreportcard.com/report/hakurei.app"><img src="https://goreportcard.com/badge/hakurei.app" alt="Go Report Card" /></a>
|
||||||
<a href="https://hakurei.app"><img src="https://img.shields.io/website?url=https%3A%2F%2Fhakurei.app" alt="Website" /></a>
|
<a href="https://hakurei.app"><img src="https://img.shields.io/website?url=https%3A%2F%2Fhakurei.app" alt="Website" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Hakurei is a tool for running sandboxed desktop applications as dedicated
|
Hakurei is a tool for running sandboxed desktop applications as dedicated
|
||||||
subordinate users on the Linux kernel. It implements the application container
|
subordinate users on the Linux kernel. It implements the application container
|
||||||
of [planterette (WIP)](https://git.gensokyo.uk/security/planterette), a
|
of [planterette (WIP)](https://git.gensokyo.uk/rosa/planterette), a
|
||||||
self-contained Android-like package manager with modern security features.
|
self-contained Android-like package manager with modern security features.
|
||||||
|
|
||||||
Interaction with hakurei happens entirely through structures described by
|
Interaction with hakurei happens entirely through structures described by
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strings"
|
||||||
. "syscall"
|
. "syscall"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -12,6 +13,22 @@ func main() {
|
|||||||
log.SetFlags(0)
|
log.SetFlags(0)
|
||||||
log.SetPrefix("earlyinit: ")
|
log.SetPrefix("earlyinit: ")
|
||||||
|
|
||||||
|
var (
|
||||||
|
option map[string]string
|
||||||
|
flags []string
|
||||||
|
)
|
||||||
|
if len(os.Args) > 1 {
|
||||||
|
option = make(map[string]string)
|
||||||
|
for _, s := range os.Args[1:] {
|
||||||
|
key, value, ok := strings.Cut(s, "=")
|
||||||
|
if !ok {
|
||||||
|
flags = append(flags, s)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
option[key] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if err := Mount(
|
if err := Mount(
|
||||||
"devtmpfs",
|
"devtmpfs",
|
||||||
"/dev/",
|
"/dev/",
|
||||||
@@ -55,4 +72,56 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// staying in rootfs, these are no longer used
|
||||||
|
must(os.Remove("/root"))
|
||||||
|
must(os.Remove("/init"))
|
||||||
|
|
||||||
|
must(os.Mkdir("/proc", 0))
|
||||||
|
mustSyscall("mount proc", Mount(
|
||||||
|
"proc",
|
||||||
|
"/proc",
|
||||||
|
"proc",
|
||||||
|
MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||||
|
"hidepid=1",
|
||||||
|
))
|
||||||
|
|
||||||
|
must(os.Mkdir("/sys", 0))
|
||||||
|
mustSyscall("mount sysfs", Mount(
|
||||||
|
"sysfs",
|
||||||
|
"/sys",
|
||||||
|
"sysfs",
|
||||||
|
0,
|
||||||
|
"",
|
||||||
|
))
|
||||||
|
|
||||||
|
// after top level has been set up
|
||||||
|
mustSyscall("remount root", Mount(
|
||||||
|
"",
|
||||||
|
"/",
|
||||||
|
"",
|
||||||
|
MS_REMOUNT|MS_BIND|
|
||||||
|
MS_RDONLY|MS_NODEV|MS_NOSUID|MS_NOEXEC,
|
||||||
|
"",
|
||||||
|
))
|
||||||
|
|
||||||
|
must(os.WriteFile(
|
||||||
|
"/sys/module/firmware_class/parameters/path",
|
||||||
|
[]byte("/system/lib/firmware"),
|
||||||
|
0,
|
||||||
|
))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// mustSyscall calls [log.Fatalln] if err is non-nil.
|
||||||
|
func mustSyscall(action string, err error) {
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln("cannot "+action+":", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// must calls [log.Fatal] with err if it is non-nil.
|
||||||
|
func must(err error) {
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
"hakurei.app/command"
|
"hakurei.app/command"
|
||||||
"hakurei.app/container/check"
|
"hakurei.app/container/check"
|
||||||
"hakurei.app/container/fhs"
|
"hakurei.app/container/fhs"
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/ext"
|
||||||
"hakurei.app/hst"
|
"hakurei.app/hst"
|
||||||
"hakurei.app/internal/dbus"
|
"hakurei.app/internal/dbus"
|
||||||
"hakurei.app/internal/env"
|
"hakurei.app/internal/env"
|
||||||
@@ -186,7 +186,7 @@ func buildCommand(ctx context.Context, msg message.Msg, early *earlyHardeningErr
|
|||||||
); err != nil {
|
); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
config.SchedPriority = std.Int(flagSchedPriority)
|
config.SchedPriority = ext.Int(flagSchedPriority)
|
||||||
|
|
||||||
// bind GPU stuff
|
// bind GPU stuff
|
||||||
if et&(hst.EX11|hst.EWayland) != 0 {
|
if et&(hst.EX11|hst.EWayland) != 0 {
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import (
|
|||||||
"hakurei.app/container/fhs"
|
"hakurei.app/container/fhs"
|
||||||
"hakurei.app/container/seccomp"
|
"hakurei.app/container/seccomp"
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/container/std"
|
||||||
|
"hakurei.app/ext"
|
||||||
"hakurei.app/message"
|
"hakurei.app/message"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -41,10 +42,10 @@ type (
|
|||||||
// Whether to set SchedPolicy and SchedPriority via sched_setscheduler(2).
|
// Whether to set SchedPolicy and SchedPriority via sched_setscheduler(2).
|
||||||
SetScheduler bool
|
SetScheduler bool
|
||||||
// Scheduling policy to set via sched_setscheduler(2).
|
// Scheduling policy to set via sched_setscheduler(2).
|
||||||
SchedPolicy std.SchedPolicy
|
SchedPolicy ext.SchedPolicy
|
||||||
// Scheduling priority to set via sched_setscheduler(2). The zero value
|
// Scheduling priority to set via sched_setscheduler(2). The zero value
|
||||||
// implies the minimum value supported by the current SchedPolicy.
|
// implies the minimum value supported by the current SchedPolicy.
|
||||||
SchedPriority std.Int
|
SchedPriority ext.Int
|
||||||
// Cgroup fd, nil to disable.
|
// Cgroup fd, nil to disable.
|
||||||
Cgroup *int
|
Cgroup *int
|
||||||
// ExtraFiles passed through to initial process in the container, with
|
// ExtraFiles passed through to initial process in the container, with
|
||||||
@@ -378,7 +379,7 @@ func (p *Container) Start() error {
|
|||||||
// sched_setscheduler: thread-directed but acts on all processes
|
// sched_setscheduler: thread-directed but acts on all processes
|
||||||
// created from the calling thread
|
// created from the calling thread
|
||||||
if p.SetScheduler {
|
if p.SetScheduler {
|
||||||
if p.SchedPolicy < 0 || p.SchedPolicy > std.SCHED_LAST {
|
if p.SchedPolicy < 0 || p.SchedPolicy > ext.SCHED_LAST {
|
||||||
return &StartError{
|
return &StartError{
|
||||||
Fatal: false,
|
Fatal: false,
|
||||||
Step: "set scheduling policy",
|
Step: "set scheduling policy",
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import (
|
|||||||
"hakurei.app/container/seccomp"
|
"hakurei.app/container/seccomp"
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/container/std"
|
||||||
"hakurei.app/container/vfs"
|
"hakurei.app/container/vfs"
|
||||||
|
"hakurei.app/ext"
|
||||||
"hakurei.app/hst"
|
"hakurei.app/hst"
|
||||||
"hakurei.app/ldd"
|
"hakurei.app/ldd"
|
||||||
"hakurei.app/message"
|
"hakurei.app/message"
|
||||||
@@ -258,7 +259,7 @@ var containerTestCases = []struct {
|
|||||||
1000, 100, nil, 0, std.PresetExt},
|
1000, 100, nil, 0, std.PresetExt},
|
||||||
{"custom rules", true, true, true, false,
|
{"custom rules", true, true, true, false,
|
||||||
emptyOps, emptyMnt,
|
emptyOps, emptyMnt,
|
||||||
1, 31, []std.NativeRule{{Syscall: std.ScmpSyscall(syscall.SYS_SETUID), Errno: std.ScmpErrno(syscall.EPERM)}}, 0, std.PresetExt},
|
1, 31, []std.NativeRule{{Syscall: ext.SyscallNum(syscall.SYS_SETUID), Errno: std.ScmpErrno(syscall.EPERM)}}, 0, std.PresetExt},
|
||||||
|
|
||||||
{"tmpfs", true, false, false, true,
|
{"tmpfs", true, false, false, true,
|
||||||
earlyOps(new(container.Ops).
|
earlyOps(new(container.Ops).
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package container
|
|||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
@@ -12,6 +13,7 @@ import (
|
|||||||
|
|
||||||
"hakurei.app/container/seccomp"
|
"hakurei.app/container/seccomp"
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/container/std"
|
||||||
|
"hakurei.app/internal/netlink"
|
||||||
"hakurei.app/message"
|
"hakurei.app/message"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -167,7 +169,47 @@ func (k direct) mountTmpfs(fsname, target string, flags uintptr, size int, perm
|
|||||||
func (direct) ensureFile(name string, perm, pperm os.FileMode) error {
|
func (direct) ensureFile(name string, perm, pperm os.FileMode) error {
|
||||||
return ensureFile(name, perm, pperm)
|
return ensureFile(name, perm, pperm)
|
||||||
}
|
}
|
||||||
func (direct) mustLoopback(msg message.Msg) { mustLoopback(msg) }
|
func (direct) mustLoopback(msg message.Msg) {
|
||||||
|
var lo int
|
||||||
|
if ifi, err := net.InterfaceByName("lo"); err != nil {
|
||||||
|
msg.GetLogger().Fatalln(err)
|
||||||
|
} else {
|
||||||
|
lo = ifi.Index
|
||||||
|
}
|
||||||
|
|
||||||
|
c, err := netlink.DialRoute()
|
||||||
|
if err != nil {
|
||||||
|
msg.GetLogger().Fatalln(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
must := func(err error) {
|
||||||
|
if err == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if closeErr := c.Close(); closeErr != nil {
|
||||||
|
msg.Verbosef("cannot close RTNETLINK: %v", closeErr)
|
||||||
|
}
|
||||||
|
|
||||||
|
switch err.(type) {
|
||||||
|
case *os.SyscallError:
|
||||||
|
msg.GetLogger().Fatalf("cannot %v", err)
|
||||||
|
|
||||||
|
case syscall.Errno:
|
||||||
|
msg.GetLogger().Fatalf("RTNETLINK answers: %v", err)
|
||||||
|
|
||||||
|
default:
|
||||||
|
msg.GetLogger().Fatalf("RTNETLINK answers with malformed message")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
must(c.SendNewaddrLo(uint32(lo)))
|
||||||
|
must(c.SendIfInfomsg(syscall.RTM_NEWLINK, 0, &syscall.IfInfomsg{
|
||||||
|
Family: syscall.AF_UNSPEC,
|
||||||
|
Index: int32(lo),
|
||||||
|
Flags: syscall.IFF_UP,
|
||||||
|
Change: syscall.IFF_UP,
|
||||||
|
}))
|
||||||
|
must(c.Close())
|
||||||
|
}
|
||||||
|
|
||||||
func (direct) seccompLoad(rules []std.NativeRule, flags seccomp.ExportFlag) error {
|
func (direct) seccompLoad(rules []std.NativeRule, flags seccomp.ExportFlag) error {
|
||||||
return seccomp.Load(rules, flags)
|
return seccomp.Load(rules, flags)
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
package container
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"sync"
|
|
||||||
|
|
||||||
"hakurei.app/message"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
executable string
|
|
||||||
executableOnce sync.Once
|
|
||||||
)
|
|
||||||
|
|
||||||
func copyExecutable(msg message.Msg) {
|
|
||||||
if name, err := os.Executable(); err != nil {
|
|
||||||
m := fmt.Sprintf("cannot read executable path: %v", err)
|
|
||||||
if msg != nil {
|
|
||||||
msg.BeforeExit()
|
|
||||||
msg.GetLogger().Fatal(m)
|
|
||||||
} else {
|
|
||||||
log.Fatal(m)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
executable = name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// MustExecutable calls [os.Executable] and terminates the process on error.
|
|
||||||
//
|
|
||||||
// Deprecated: This is no longer used and will be removed in 0.4.
|
|
||||||
func MustExecutable(msg message.Msg) string {
|
|
||||||
executableOnce.Do(func() { copyExecutable(msg) })
|
|
||||||
return executable
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
package container_test
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"hakurei.app/container"
|
|
||||||
"hakurei.app/message"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestExecutable(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
for i := 0; i < 16; i++ {
|
|
||||||
if got := container.MustExecutable(message.New(nil)); got != os.Args[0] {
|
|
||||||
t.Errorf("MustExecutable: %q, want %q", got, os.Args[0])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
// include/uapi/linux/landlock.h
|
// include/uapi/linux/landlock.h
|
||||||
@@ -223,7 +223,7 @@ func (rulesetAttr *RulesetAttr) Create(flags uintptr) (fd int, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rulesetFd, _, errno := syscall.Syscall(
|
rulesetFd, _, errno := syscall.Syscall(
|
||||||
std.SYS_LANDLOCK_CREATE_RULESET,
|
ext.SYS_LANDLOCK_CREATE_RULESET,
|
||||||
pointer, size,
|
pointer, size,
|
||||||
flags,
|
flags,
|
||||||
)
|
)
|
||||||
@@ -247,7 +247,7 @@ func LandlockGetABI() (int, error) {
|
|||||||
// LandlockRestrictSelf applies a loaded ruleset to the calling thread.
|
// LandlockRestrictSelf applies a loaded ruleset to the calling thread.
|
||||||
func LandlockRestrictSelf(rulesetFd int, flags uintptr) error {
|
func LandlockRestrictSelf(rulesetFd int, flags uintptr) error {
|
||||||
r, _, errno := syscall.Syscall(
|
r, _, errno := syscall.Syscall(
|
||||||
std.SYS_LANDLOCK_RESTRICT_SELF,
|
ext.SYS_LANDLOCK_RESTRICT_SELF,
|
||||||
uintptr(rulesetFd),
|
uintptr(rulesetFd),
|
||||||
flags,
|
flags,
|
||||||
0,
|
0,
|
||||||
|
|||||||
@@ -1,269 +0,0 @@
|
|||||||
package container
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/binary"
|
|
||||||
"errors"
|
|
||||||
"net"
|
|
||||||
"os"
|
|
||||||
. "syscall"
|
|
||||||
"unsafe"
|
|
||||||
|
|
||||||
"hakurei.app/container/std"
|
|
||||||
"hakurei.app/message"
|
|
||||||
)
|
|
||||||
|
|
||||||
// rtnetlink represents a NETLINK_ROUTE socket.
|
|
||||||
type rtnetlink struct {
|
|
||||||
// Sent as part of rtnetlink messages.
|
|
||||||
pid uint32
|
|
||||||
// AF_NETLINK socket.
|
|
||||||
fd int
|
|
||||||
// Whether the socket is open.
|
|
||||||
ok bool
|
|
||||||
// Message sequence number.
|
|
||||||
seq uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
// open creates the underlying NETLINK_ROUTE socket.
|
|
||||||
func (s *rtnetlink) open() (err error) {
|
|
||||||
if s.ok || s.fd < 0 {
|
|
||||||
return os.ErrInvalid
|
|
||||||
}
|
|
||||||
|
|
||||||
s.pid = uint32(Getpid())
|
|
||||||
if s.fd, err = Socket(
|
|
||||||
AF_NETLINK,
|
|
||||||
SOCK_RAW|SOCK_CLOEXEC,
|
|
||||||
NETLINK_ROUTE,
|
|
||||||
); err != nil {
|
|
||||||
return os.NewSyscallError("socket", err)
|
|
||||||
} else if err = Bind(s.fd, &SockaddrNetlink{
|
|
||||||
Family: AF_NETLINK,
|
|
||||||
Pid: s.pid,
|
|
||||||
}); err != nil {
|
|
||||||
_ = s.close()
|
|
||||||
return os.NewSyscallError("bind", err)
|
|
||||||
} else {
|
|
||||||
s.ok = true
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// close closes the underlying NETLINK_ROUTE socket.
|
|
||||||
func (s *rtnetlink) close() error {
|
|
||||||
if !s.ok {
|
|
||||||
return os.ErrInvalid
|
|
||||||
}
|
|
||||||
|
|
||||||
s.ok = false
|
|
||||||
err := Close(s.fd)
|
|
||||||
s.fd = -1
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// roundtrip sends a netlink message and handles the reply.
|
|
||||||
func (s *rtnetlink) roundtrip(data []byte) error {
|
|
||||||
if !s.ok {
|
|
||||||
return os.ErrInvalid
|
|
||||||
}
|
|
||||||
|
|
||||||
defer func() { s.seq++ }()
|
|
||||||
|
|
||||||
if err := Sendto(s.fd, data, 0, &SockaddrNetlink{
|
|
||||||
Family: AF_NETLINK,
|
|
||||||
}); err != nil {
|
|
||||||
return os.NewSyscallError("sendto", err)
|
|
||||||
}
|
|
||||||
buf := make([]byte, Getpagesize())
|
|
||||||
|
|
||||||
done:
|
|
||||||
for {
|
|
||||||
p := buf
|
|
||||||
if n, _, err := Recvfrom(s.fd, p, 0); err != nil {
|
|
||||||
return os.NewSyscallError("recvfrom", err)
|
|
||||||
} else if n < NLMSG_HDRLEN {
|
|
||||||
return errors.ErrUnsupported
|
|
||||||
} else {
|
|
||||||
p = p[:n]
|
|
||||||
}
|
|
||||||
|
|
||||||
if msgs, err := ParseNetlinkMessage(p); err != nil {
|
|
||||||
return err
|
|
||||||
} else {
|
|
||||||
for _, m := range msgs {
|
|
||||||
if m.Header.Seq != s.seq || m.Header.Pid != s.pid {
|
|
||||||
return errors.ErrUnsupported
|
|
||||||
}
|
|
||||||
if m.Header.Type == NLMSG_DONE {
|
|
||||||
break done
|
|
||||||
}
|
|
||||||
if m.Header.Type == NLMSG_ERROR {
|
|
||||||
if len(m.Data) >= 4 {
|
|
||||||
errno := Errno(-std.Int(binary.NativeEndian.Uint32(m.Data)))
|
|
||||||
if errno == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return errno
|
|
||||||
}
|
|
||||||
return errors.ErrUnsupported
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// mustRoundtrip calls roundtrip and terminates via msg for a non-nil error.
|
|
||||||
func (s *rtnetlink) mustRoundtrip(msg message.Msg, data []byte) {
|
|
||||||
err := s.roundtrip(data)
|
|
||||||
if err == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if closeErr := Close(s.fd); closeErr != nil {
|
|
||||||
msg.Verbosef("cannot close: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
switch err.(type) {
|
|
||||||
case *os.SyscallError:
|
|
||||||
msg.GetLogger().Fatalf("cannot %v", err)
|
|
||||||
|
|
||||||
case Errno:
|
|
||||||
msg.GetLogger().Fatalf("RTNETLINK answers: %v", err)
|
|
||||||
|
|
||||||
default:
|
|
||||||
msg.GetLogger().Fatalln("RTNETLINK answers with unexpected message")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// newaddrLo represents a RTM_NEWADDR message with two addresses.
|
|
||||||
type newaddrLo struct {
|
|
||||||
header NlMsghdr
|
|
||||||
data IfAddrmsg
|
|
||||||
|
|
||||||
r0 RtAttr
|
|
||||||
a0 [4]byte // in_addr
|
|
||||||
r1 RtAttr
|
|
||||||
a1 [4]byte // in_addr
|
|
||||||
}
|
|
||||||
|
|
||||||
// sizeofNewaddrLo is the expected size of newaddrLo.
|
|
||||||
const sizeofNewaddrLo = NLMSG_HDRLEN + SizeofIfAddrmsg + (SizeofRtAttr+4)*2
|
|
||||||
|
|
||||||
// newaddrLo returns the address of a populated newaddrLo.
|
|
||||||
func (s *rtnetlink) newaddrLo(lo int) *newaddrLo {
|
|
||||||
return &newaddrLo{NlMsghdr{
|
|
||||||
Len: sizeofNewaddrLo,
|
|
||||||
Type: RTM_NEWADDR,
|
|
||||||
Flags: NLM_F_REQUEST | NLM_F_ACK | NLM_F_CREATE | NLM_F_EXCL,
|
|
||||||
Seq: s.seq,
|
|
||||||
Pid: s.pid,
|
|
||||||
}, IfAddrmsg{
|
|
||||||
Family: AF_INET,
|
|
||||||
Prefixlen: 8,
|
|
||||||
Flags: IFA_F_PERMANENT,
|
|
||||||
Scope: RT_SCOPE_HOST,
|
|
||||||
Index: uint32(lo),
|
|
||||||
}, RtAttr{
|
|
||||||
Len: uint16(SizeofRtAttr + len(newaddrLo{}.a0)),
|
|
||||||
Type: IFA_LOCAL,
|
|
||||||
}, [4]byte{127, 0, 0, 1}, RtAttr{
|
|
||||||
Len: uint16(SizeofRtAttr + len(newaddrLo{}.a1)),
|
|
||||||
Type: IFA_ADDRESS,
|
|
||||||
}, [4]byte{127, 0, 0, 1}}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (msg *newaddrLo) toWireFormat() []byte {
|
|
||||||
var buf [sizeofNewaddrLo]byte
|
|
||||||
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[0:4][0])) = msg.header.Len
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[4:6][0])) = msg.header.Type
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[6:8][0])) = msg.header.Flags
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[8:12][0])) = msg.header.Seq
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[12:16][0])) = msg.header.Pid
|
|
||||||
|
|
||||||
buf[16] = msg.data.Family
|
|
||||||
buf[17] = msg.data.Prefixlen
|
|
||||||
buf[18] = msg.data.Flags
|
|
||||||
buf[19] = msg.data.Scope
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[20:24][0])) = msg.data.Index
|
|
||||||
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[24:26][0])) = msg.r0.Len
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[26:28][0])) = msg.r0.Type
|
|
||||||
copy(buf[28:32], msg.a0[:])
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[32:34][0])) = msg.r1.Len
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[34:36][0])) = msg.r1.Type
|
|
||||||
copy(buf[36:40], msg.a1[:])
|
|
||||||
|
|
||||||
return buf[:]
|
|
||||||
}
|
|
||||||
|
|
||||||
// newlinkLo represents a RTM_NEWLINK message.
|
|
||||||
type newlinkLo struct {
|
|
||||||
header NlMsghdr
|
|
||||||
data IfInfomsg
|
|
||||||
}
|
|
||||||
|
|
||||||
// sizeofNewlinkLo is the expected size of newlinkLo.
|
|
||||||
const sizeofNewlinkLo = NLMSG_HDRLEN + SizeofIfInfomsg
|
|
||||||
|
|
||||||
// newlinkLo returns the address of a populated newlinkLo.
|
|
||||||
func (s *rtnetlink) newlinkLo(lo int) *newlinkLo {
|
|
||||||
return &newlinkLo{NlMsghdr{
|
|
||||||
Len: sizeofNewlinkLo,
|
|
||||||
Type: RTM_NEWLINK,
|
|
||||||
Flags: NLM_F_REQUEST | NLM_F_ACK,
|
|
||||||
Seq: s.seq,
|
|
||||||
Pid: s.pid,
|
|
||||||
}, IfInfomsg{
|
|
||||||
Family: AF_UNSPEC,
|
|
||||||
Index: int32(lo),
|
|
||||||
Flags: IFF_UP,
|
|
||||||
Change: IFF_UP,
|
|
||||||
}}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (msg *newlinkLo) toWireFormat() []byte {
|
|
||||||
var buf [sizeofNewlinkLo]byte
|
|
||||||
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[0:4][0])) = msg.header.Len
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[4:6][0])) = msg.header.Type
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[6:8][0])) = msg.header.Flags
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[8:12][0])) = msg.header.Seq
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[12:16][0])) = msg.header.Pid
|
|
||||||
|
|
||||||
buf[16] = msg.data.Family
|
|
||||||
*(*uint16)(unsafe.Pointer(&buf[18:20][0])) = msg.data.Type
|
|
||||||
*(*int32)(unsafe.Pointer(&buf[20:24][0])) = msg.data.Index
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[24:28][0])) = msg.data.Flags
|
|
||||||
*(*uint32)(unsafe.Pointer(&buf[28:32][0])) = msg.data.Change
|
|
||||||
|
|
||||||
return buf[:]
|
|
||||||
}
|
|
||||||
|
|
||||||
// mustLoopback creates the loopback address and brings the lo interface up.
|
|
||||||
// mustLoopback calls a fatal method of the underlying [log.Logger] of m with a
|
|
||||||
// user-facing error message if RTNETLINK behaves unexpectedly.
|
|
||||||
func mustLoopback(msg message.Msg) {
|
|
||||||
log := msg.GetLogger()
|
|
||||||
|
|
||||||
var lo int
|
|
||||||
if ifi, err := net.InterfaceByName("lo"); err != nil {
|
|
||||||
log.Fatalln(err)
|
|
||||||
} else {
|
|
||||||
lo = ifi.Index
|
|
||||||
}
|
|
||||||
|
|
||||||
var s rtnetlink
|
|
||||||
if err := s.open(); err != nil {
|
|
||||||
log.Fatalln(err)
|
|
||||||
}
|
|
||||||
defer func() {
|
|
||||||
if err := s.close(); err != nil {
|
|
||||||
msg.Verbosef("cannot close netlink: %v", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
s.mustRoundtrip(msg, s.newaddrLo(lo).toWireFormat())
|
|
||||||
s.mustRoundtrip(msg, s.newlinkLo(lo).toWireFormat())
|
|
||||||
}
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
package container
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestSizeof(t *testing.T) {
|
|
||||||
if got := unsafe.Sizeof(newaddrLo{}); got != sizeofNewaddrLo {
|
|
||||||
t.Fatalf("newaddrLo: sizeof = %#x, want %#x", got, sizeofNewaddrLo)
|
|
||||||
}
|
|
||||||
|
|
||||||
if got := unsafe.Sizeof(newlinkLo{}); got != sizeofNewlinkLo {
|
|
||||||
t.Fatalf("newlinkLo: sizeof = %#x, want %#x", got, sizeofNewlinkLo)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestRtnetlinkMessage(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
|
|
||||||
testCases := []struct {
|
|
||||||
name string
|
|
||||||
msg interface{ toWireFormat() []byte }
|
|
||||||
want []byte
|
|
||||||
}{
|
|
||||||
{"newaddrLo", (&rtnetlink{pid: 1, seq: 0}).newaddrLo(1), []byte{
|
|
||||||
/* Len */ 0x28, 0, 0, 0,
|
|
||||||
/* Type */ 0x14, 0,
|
|
||||||
/* Flags */ 5, 6,
|
|
||||||
/* Seq */ 0, 0, 0, 0,
|
|
||||||
/* Pid */ 1, 0, 0, 0,
|
|
||||||
|
|
||||||
/* Family */ 2,
|
|
||||||
/* Prefixlen */ 8,
|
|
||||||
/* Flags */ 0x80,
|
|
||||||
/* Scope */ 0xfe,
|
|
||||||
/* Index */ 1, 0, 0, 0,
|
|
||||||
|
|
||||||
/* Len */ 8, 0,
|
|
||||||
/* Type */ 2, 0,
|
|
||||||
/* in_addr */ 127, 0, 0, 1,
|
|
||||||
|
|
||||||
/* Len */ 8, 0,
|
|
||||||
/* Type */ 1, 0,
|
|
||||||
/* in_addr */ 127, 0, 0, 1,
|
|
||||||
}},
|
|
||||||
|
|
||||||
{"newlinkLo", (&rtnetlink{pid: 1, seq: 1}).newlinkLo(1), []byte{
|
|
||||||
/* Len */ 0x20, 0, 0, 0,
|
|
||||||
/* Type */ 0x10, 0,
|
|
||||||
/* Flags */ 5, 0,
|
|
||||||
/* Seq */ 1, 0, 0, 0,
|
|
||||||
/* Pid */ 1, 0, 0, 0,
|
|
||||||
|
|
||||||
/* Family */ 0,
|
|
||||||
/* pad */ 0,
|
|
||||||
/* Type */ 0, 0,
|
|
||||||
/* Index */ 1, 0, 0, 0,
|
|
||||||
/* Flags */ 1, 0, 0, 0,
|
|
||||||
/* Change */ 1, 0, 0, 0,
|
|
||||||
}},
|
|
||||||
}
|
|
||||||
for _, tc := range testCases {
|
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
|
|
||||||
if got := tc.msg.toWireFormat(); string(got) != string(tc.want) {
|
|
||||||
t.Fatalf("toWireFormat: %#v, want %#v", got, tc.want)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -16,6 +16,7 @@ import (
|
|||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/container/std"
|
||||||
|
"hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ErrInvalidRules is returned for a zero-length rules slice.
|
// ErrInvalidRules is returned for a zero-length rules slice.
|
||||||
@@ -219,9 +220,9 @@ const (
|
|||||||
|
|
||||||
// syscallResolveName resolves a syscall number by name via seccomp_syscall_resolve_name.
|
// syscallResolveName resolves a syscall number by name via seccomp_syscall_resolve_name.
|
||||||
// This function is only for testing the lookup tables and included here for convenience.
|
// This function is only for testing the lookup tables and included here for convenience.
|
||||||
func syscallResolveName(s string) (num std.ScmpSyscall, ok bool) {
|
func syscallResolveName(s string) (num ext.SyscallNum, ok bool) {
|
||||||
v := C.CString(s)
|
v := C.CString(s)
|
||||||
num = std.ScmpSyscall(C.seccomp_syscall_resolve_name(v))
|
num = ext.SyscallNum(C.seccomp_syscall_resolve_name(v))
|
||||||
C.free(unsafe.Pointer(v))
|
C.free(unsafe.Pointer(v))
|
||||||
ok = num != C.__NR_SCMP_ERROR
|
ok = num != C.__NR_SCMP_ERROR
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import (
|
|||||||
. "syscall"
|
. "syscall"
|
||||||
|
|
||||||
. "hakurei.app/container/std"
|
. "hakurei.app/container/std"
|
||||||
|
. "hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Preset(presets FilterPreset, flags ExportFlag) (rules []NativeRule) {
|
func Preset(presets FilterPreset, flags ExportFlag) (rules []NativeRule) {
|
||||||
|
|||||||
@@ -6,12 +6,13 @@ import (
|
|||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/container/std"
|
||||||
|
"hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSyscallResolveName(t *testing.T) {
|
func TestSyscallResolveName(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
for name, want := range std.Syscalls() {
|
for name, want := range ext.Syscalls() {
|
||||||
t.Run(name, func(t *testing.T) {
|
t.Run(name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
@@ -24,8 +25,8 @@ func TestSyscallResolveName(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestRuleType(t *testing.T) {
|
func TestRuleType(t *testing.T) {
|
||||||
assertKind[std.Uint, scmpUint](t)
|
assertKind[ext.Uint, scmpUint](t)
|
||||||
assertKind[std.Int, scmpInt](t)
|
assertKind[ext.Int, scmpInt](t)
|
||||||
|
|
||||||
assertSize[std.NativeRule, syscallRule](t)
|
assertSize[std.NativeRule, syscallRule](t)
|
||||||
assertKind[std.ScmpDatum, scmpDatum](t)
|
assertKind[std.ScmpDatum, scmpDatum](t)
|
||||||
|
|||||||
@@ -1,34 +1,20 @@
|
|||||||
package std
|
package std
|
||||||
|
|
||||||
import (
|
import "hakurei.app/ext"
|
||||||
"encoding/json"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
type (
|
||||||
// ScmpUint is equivalent to C.uint.
|
|
||||||
//
|
|
||||||
// Deprecated: This type has been renamed to Uint and will be removed in 0.4.
|
|
||||||
ScmpUint = Uint
|
|
||||||
// ScmpInt is equivalent to C.int.
|
|
||||||
//
|
|
||||||
// Deprecated: This type has been renamed to Int and will be removed in 0.4.
|
|
||||||
ScmpInt = Int
|
|
||||||
|
|
||||||
// ScmpSyscall represents a syscall number passed to libseccomp via [NativeRule.Syscall].
|
|
||||||
ScmpSyscall Int
|
|
||||||
// ScmpErrno represents an errno value passed to libseccomp via [NativeRule.Errno].
|
// ScmpErrno represents an errno value passed to libseccomp via [NativeRule.Errno].
|
||||||
ScmpErrno Int
|
ScmpErrno = ext.Int
|
||||||
|
|
||||||
// ScmpCompare is equivalent to enum scmp_compare;
|
// ScmpCompare is equivalent to enum scmp_compare;
|
||||||
ScmpCompare Uint
|
ScmpCompare = ext.Uint
|
||||||
// ScmpDatum is equivalent to scmp_datum_t.
|
// ScmpDatum is equivalent to scmp_datum_t.
|
||||||
ScmpDatum uint64
|
ScmpDatum = uint64
|
||||||
|
|
||||||
// ScmpArgCmp is equivalent to struct scmp_arg_cmp.
|
// ScmpArgCmp is equivalent to struct scmp_arg_cmp.
|
||||||
ScmpArgCmp struct {
|
ScmpArgCmp struct {
|
||||||
// argument number, starting at 0
|
// argument number, starting at 0
|
||||||
Arg Uint `json:"arg"`
|
Arg ext.Uint `json:"arg"`
|
||||||
// the comparison op, e.g. SCMP_CMP_*
|
// the comparison op, e.g. SCMP_CMP_*
|
||||||
Op ScmpCompare `json:"op"`
|
Op ScmpCompare `json:"op"`
|
||||||
|
|
||||||
@@ -39,42 +25,10 @@ type (
|
|||||||
// A NativeRule specifies an arch-specific action taken by seccomp under certain conditions.
|
// A NativeRule specifies an arch-specific action taken by seccomp under certain conditions.
|
||||||
NativeRule struct {
|
NativeRule struct {
|
||||||
// Syscall is the arch-dependent syscall number to act against.
|
// Syscall is the arch-dependent syscall number to act against.
|
||||||
Syscall ScmpSyscall `json:"syscall"`
|
Syscall ext.SyscallNum `json:"syscall"`
|
||||||
// Errno is the errno value to return when the condition is satisfied.
|
// Errno is the errno value to return when the condition is satisfied.
|
||||||
Errno ScmpErrno `json:"errno"`
|
Errno ScmpErrno `json:"errno"`
|
||||||
// Arg is the optional struct scmp_arg_cmp passed to libseccomp.
|
// Arg is the optional struct scmp_arg_cmp passed to libseccomp.
|
||||||
Arg *ScmpArgCmp `json:"arg,omitempty"`
|
Arg *ScmpArgCmp `json:"arg,omitempty"`
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// MarshalJSON resolves the name of [ScmpSyscall] and encodes it as a [json] string.
|
|
||||||
// If such a name does not exist, the syscall number is encoded instead.
|
|
||||||
func (num *ScmpSyscall) MarshalJSON() ([]byte, error) {
|
|
||||||
n := *num
|
|
||||||
for name, cur := range Syscalls() {
|
|
||||||
if cur == n {
|
|
||||||
return json.Marshal(name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return json.Marshal(n)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SyscallNameError is returned when trying to unmarshal an invalid syscall name into [ScmpSyscall].
|
|
||||||
type SyscallNameError string
|
|
||||||
|
|
||||||
func (e SyscallNameError) Error() string { return "invalid syscall name " + strconv.Quote(string(e)) }
|
|
||||||
|
|
||||||
// UnmarshalJSON looks up the syscall number corresponding to name encoded in data
|
|
||||||
// by calling [SyscallResolveName].
|
|
||||||
func (num *ScmpSyscall) UnmarshalJSON(data []byte) error {
|
|
||||||
var name string
|
|
||||||
if err := json.Unmarshal(data, &name); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if n, ok := SyscallResolveName(name); !ok {
|
|
||||||
return SyscallNameError(name)
|
|
||||||
} else {
|
|
||||||
*num = n
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
package std
|
|
||||||
|
|
||||||
var syscallNumExtra = map[string]ScmpSyscall{
|
|
||||||
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
|
||||||
"subpage_prot": SNR_SUBPAGE_PROT,
|
|
||||||
"switch_endian": SNR_SWITCH_ENDIAN,
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
SNR_KEXEC_FILE_LOAD ScmpSyscall = __PNR_kexec_file_load
|
|
||||||
SNR_SUBPAGE_PROT ScmpSyscall = __PNR_subpage_prot
|
|
||||||
SNR_SWITCH_ENDIAN ScmpSyscall = __PNR_switch_endian
|
|
||||||
)
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
package std
|
|
||||||
|
|
||||||
var syscallNumExtra = map[string]ScmpSyscall{
|
|
||||||
"umount": SNR_UMOUNT,
|
|
||||||
"subpage_prot": SNR_SUBPAGE_PROT,
|
|
||||||
"switch_endian": SNR_SWITCH_ENDIAN,
|
|
||||||
"vm86": SNR_VM86,
|
|
||||||
"vm86old": SNR_VM86OLD,
|
|
||||||
"clock_adjtime64": SNR_CLOCK_ADJTIME64,
|
|
||||||
"clock_settime64": SNR_CLOCK_SETTIME64,
|
|
||||||
"chown32": SNR_CHOWN32,
|
|
||||||
"fchown32": SNR_FCHOWN32,
|
|
||||||
"lchown32": SNR_LCHOWN32,
|
|
||||||
"setgid32": SNR_SETGID32,
|
|
||||||
"setgroups32": SNR_SETGROUPS32,
|
|
||||||
"setregid32": SNR_SETREGID32,
|
|
||||||
"setresgid32": SNR_SETRESGID32,
|
|
||||||
"setresuid32": SNR_SETRESUID32,
|
|
||||||
"setreuid32": SNR_SETREUID32,
|
|
||||||
"setuid32": SNR_SETUID32,
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
SNR_UMOUNT ScmpSyscall = __PNR_umount
|
|
||||||
SNR_SUBPAGE_PROT ScmpSyscall = __PNR_subpage_prot
|
|
||||||
SNR_SWITCH_ENDIAN ScmpSyscall = __PNR_switch_endian
|
|
||||||
SNR_VM86 ScmpSyscall = __PNR_vm86
|
|
||||||
SNR_VM86OLD ScmpSyscall = __PNR_vm86old
|
|
||||||
SNR_CLOCK_ADJTIME64 ScmpSyscall = __PNR_clock_adjtime64
|
|
||||||
SNR_CLOCK_SETTIME64 ScmpSyscall = __PNR_clock_settime64
|
|
||||||
SNR_CHOWN32 ScmpSyscall = __PNR_chown32
|
|
||||||
SNR_FCHOWN32 ScmpSyscall = __PNR_fchown32
|
|
||||||
SNR_LCHOWN32 ScmpSyscall = __PNR_lchown32
|
|
||||||
SNR_SETGID32 ScmpSyscall = __PNR_setgid32
|
|
||||||
SNR_SETGROUPS32 ScmpSyscall = __PNR_setgroups32
|
|
||||||
SNR_SETREGID32 ScmpSyscall = __PNR_setregid32
|
|
||||||
SNR_SETRESGID32 ScmpSyscall = __PNR_setresgid32
|
|
||||||
SNR_SETRESUID32 ScmpSyscall = __PNR_setresuid32
|
|
||||||
SNR_SETREUID32 ScmpSyscall = __PNR_setreuid32
|
|
||||||
SNR_SETUID32 ScmpSyscall = __PNR_setuid32
|
|
||||||
)
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
package std
|
|
||||||
|
|
||||||
import "syscall"
|
|
||||||
|
|
||||||
const (
|
|
||||||
SYS_NEWFSTATAT = syscall.SYS_FSTATAT
|
|
||||||
)
|
|
||||||
|
|
||||||
var syscallNumExtra = map[string]ScmpSyscall{
|
|
||||||
"uselib": SNR_USELIB,
|
|
||||||
"clock_adjtime64": SNR_CLOCK_ADJTIME64,
|
|
||||||
"clock_settime64": SNR_CLOCK_SETTIME64,
|
|
||||||
"umount": SNR_UMOUNT,
|
|
||||||
"chown": SNR_CHOWN,
|
|
||||||
"chown32": SNR_CHOWN32,
|
|
||||||
"fchown32": SNR_FCHOWN32,
|
|
||||||
"lchown": SNR_LCHOWN,
|
|
||||||
"lchown32": SNR_LCHOWN32,
|
|
||||||
"setgid32": SNR_SETGID32,
|
|
||||||
"setgroups32": SNR_SETGROUPS32,
|
|
||||||
"setregid32": SNR_SETREGID32,
|
|
||||||
"setresgid32": SNR_SETRESGID32,
|
|
||||||
"setresuid32": SNR_SETRESUID32,
|
|
||||||
"setreuid32": SNR_SETREUID32,
|
|
||||||
"setuid32": SNR_SETUID32,
|
|
||||||
"modify_ldt": SNR_MODIFY_LDT,
|
|
||||||
"subpage_prot": SNR_SUBPAGE_PROT,
|
|
||||||
"switch_endian": SNR_SWITCH_ENDIAN,
|
|
||||||
"vm86": SNR_VM86,
|
|
||||||
"vm86old": SNR_VM86OLD,
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
SNR_USELIB ScmpSyscall = __PNR_uselib
|
|
||||||
SNR_CLOCK_ADJTIME64 ScmpSyscall = __PNR_clock_adjtime64
|
|
||||||
SNR_CLOCK_SETTIME64 ScmpSyscall = __PNR_clock_settime64
|
|
||||||
SNR_UMOUNT ScmpSyscall = __PNR_umount
|
|
||||||
SNR_CHOWN ScmpSyscall = __PNR_chown
|
|
||||||
SNR_CHOWN32 ScmpSyscall = __PNR_chown32
|
|
||||||
SNR_FCHOWN32 ScmpSyscall = __PNR_fchown32
|
|
||||||
SNR_LCHOWN ScmpSyscall = __PNR_lchown
|
|
||||||
SNR_LCHOWN32 ScmpSyscall = __PNR_lchown32
|
|
||||||
SNR_SETGID32 ScmpSyscall = __PNR_setgid32
|
|
||||||
SNR_SETGROUPS32 ScmpSyscall = __PNR_setgroups32
|
|
||||||
SNR_SETREGID32 ScmpSyscall = __PNR_setregid32
|
|
||||||
SNR_SETRESGID32 ScmpSyscall = __PNR_setresgid32
|
|
||||||
SNR_SETRESUID32 ScmpSyscall = __PNR_setresuid32
|
|
||||||
SNR_SETREUID32 ScmpSyscall = __PNR_setreuid32
|
|
||||||
SNR_SETUID32 ScmpSyscall = __PNR_setuid32
|
|
||||||
SNR_MODIFY_LDT ScmpSyscall = __PNR_modify_ldt
|
|
||||||
SNR_SUBPAGE_PROT ScmpSyscall = __PNR_subpage_prot
|
|
||||||
SNR_SWITCH_ENDIAN ScmpSyscall = __PNR_switch_endian
|
|
||||||
SNR_VM86 ScmpSyscall = __PNR_vm86
|
|
||||||
SNR_VM86OLD ScmpSyscall = __PNR_vm86old
|
|
||||||
)
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
package std
|
|
||||||
|
|
||||||
import "syscall"
|
|
||||||
|
|
||||||
const (
|
|
||||||
SYS_NEWFSTATAT = syscall.SYS_FSTATAT
|
|
||||||
)
|
|
||||||
|
|
||||||
var syscallNumExtra = map[string]ScmpSyscall{
|
|
||||||
"uselib": SNR_USELIB,
|
|
||||||
"clock_adjtime64": SNR_CLOCK_ADJTIME64,
|
|
||||||
"clock_settime64": SNR_CLOCK_SETTIME64,
|
|
||||||
"umount": SNR_UMOUNT,
|
|
||||||
"chown": SNR_CHOWN,
|
|
||||||
"chown32": SNR_CHOWN32,
|
|
||||||
"fchown32": SNR_FCHOWN32,
|
|
||||||
"lchown": SNR_LCHOWN,
|
|
||||||
"lchown32": SNR_LCHOWN32,
|
|
||||||
"setgid32": SNR_SETGID32,
|
|
||||||
"setgroups32": SNR_SETGROUPS32,
|
|
||||||
"setregid32": SNR_SETREGID32,
|
|
||||||
"setresgid32": SNR_SETRESGID32,
|
|
||||||
"setresuid32": SNR_SETRESUID32,
|
|
||||||
"setreuid32": SNR_SETREUID32,
|
|
||||||
"setuid32": SNR_SETUID32,
|
|
||||||
"modify_ldt": SNR_MODIFY_LDT,
|
|
||||||
"subpage_prot": SNR_SUBPAGE_PROT,
|
|
||||||
"switch_endian": SNR_SWITCH_ENDIAN,
|
|
||||||
"vm86": SNR_VM86,
|
|
||||||
"vm86old": SNR_VM86OLD,
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
SNR_USELIB ScmpSyscall = __PNR_uselib
|
|
||||||
SNR_CLOCK_ADJTIME64 ScmpSyscall = __PNR_clock_adjtime64
|
|
||||||
SNR_CLOCK_SETTIME64 ScmpSyscall = __PNR_clock_settime64
|
|
||||||
SNR_UMOUNT ScmpSyscall = __PNR_umount
|
|
||||||
SNR_CHOWN ScmpSyscall = __PNR_chown
|
|
||||||
SNR_CHOWN32 ScmpSyscall = __PNR_chown32
|
|
||||||
SNR_FCHOWN32 ScmpSyscall = __PNR_fchown32
|
|
||||||
SNR_LCHOWN ScmpSyscall = __PNR_lchown
|
|
||||||
SNR_LCHOWN32 ScmpSyscall = __PNR_lchown32
|
|
||||||
SNR_SETGID32 ScmpSyscall = __PNR_setgid32
|
|
||||||
SNR_SETGROUPS32 ScmpSyscall = __PNR_setgroups32
|
|
||||||
SNR_SETREGID32 ScmpSyscall = __PNR_setregid32
|
|
||||||
SNR_SETRESGID32 ScmpSyscall = __PNR_setresgid32
|
|
||||||
SNR_SETRESUID32 ScmpSyscall = __PNR_setresuid32
|
|
||||||
SNR_SETREUID32 ScmpSyscall = __PNR_setreuid32
|
|
||||||
SNR_SETUID32 ScmpSyscall = __PNR_setuid32
|
|
||||||
SNR_MODIFY_LDT ScmpSyscall = __PNR_modify_ldt
|
|
||||||
SNR_SUBPAGE_PROT ScmpSyscall = __PNR_subpage_prot
|
|
||||||
SNR_SWITCH_ENDIAN ScmpSyscall = __PNR_switch_endian
|
|
||||||
SNR_VM86 ScmpSyscall = __PNR_vm86
|
|
||||||
SNR_VM86OLD ScmpSyscall = __PNR_vm86old
|
|
||||||
)
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,837 +0,0 @@
|
|||||||
// mksysnum_linux.pl /usr/include/asm/unistd_64.h
|
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
|
||||||
|
|
||||||
package std
|
|
||||||
|
|
||||||
import . "syscall"
|
|
||||||
|
|
||||||
var syscallNum = map[string]ScmpSyscall{
|
|
||||||
"read": SNR_READ,
|
|
||||||
"write": SNR_WRITE,
|
|
||||||
"open": SNR_OPEN,
|
|
||||||
"close": SNR_CLOSE,
|
|
||||||
"stat": SNR_STAT,
|
|
||||||
"fstat": SNR_FSTAT,
|
|
||||||
"lstat": SNR_LSTAT,
|
|
||||||
"poll": SNR_POLL,
|
|
||||||
"lseek": SNR_LSEEK,
|
|
||||||
"mmap": SNR_MMAP,
|
|
||||||
"mprotect": SNR_MPROTECT,
|
|
||||||
"munmap": SNR_MUNMAP,
|
|
||||||
"brk": SNR_BRK,
|
|
||||||
"rt_sigaction": SNR_RT_SIGACTION,
|
|
||||||
"rt_sigprocmask": SNR_RT_SIGPROCMASK,
|
|
||||||
"rt_sigreturn": SNR_RT_SIGRETURN,
|
|
||||||
"ioctl": SNR_IOCTL,
|
|
||||||
"pread64": SNR_PREAD64,
|
|
||||||
"pwrite64": SNR_PWRITE64,
|
|
||||||
"readv": SNR_READV,
|
|
||||||
"writev": SNR_WRITEV,
|
|
||||||
"access": SNR_ACCESS,
|
|
||||||
"pipe": SNR_PIPE,
|
|
||||||
"select": SNR_SELECT,
|
|
||||||
"sched_yield": SNR_SCHED_YIELD,
|
|
||||||
"mremap": SNR_MREMAP,
|
|
||||||
"msync": SNR_MSYNC,
|
|
||||||
"mincore": SNR_MINCORE,
|
|
||||||
"madvise": SNR_MADVISE,
|
|
||||||
"shmget": SNR_SHMGET,
|
|
||||||
"shmat": SNR_SHMAT,
|
|
||||||
"shmctl": SNR_SHMCTL,
|
|
||||||
"dup": SNR_DUP,
|
|
||||||
"dup2": SNR_DUP2,
|
|
||||||
"pause": SNR_PAUSE,
|
|
||||||
"nanosleep": SNR_NANOSLEEP,
|
|
||||||
"getitimer": SNR_GETITIMER,
|
|
||||||
"alarm": SNR_ALARM,
|
|
||||||
"setitimer": SNR_SETITIMER,
|
|
||||||
"getpid": SNR_GETPID,
|
|
||||||
"sendfile": SNR_SENDFILE,
|
|
||||||
"socket": SNR_SOCKET,
|
|
||||||
"connect": SNR_CONNECT,
|
|
||||||
"accept": SNR_ACCEPT,
|
|
||||||
"sendto": SNR_SENDTO,
|
|
||||||
"recvfrom": SNR_RECVFROM,
|
|
||||||
"sendmsg": SNR_SENDMSG,
|
|
||||||
"recvmsg": SNR_RECVMSG,
|
|
||||||
"shutdown": SNR_SHUTDOWN,
|
|
||||||
"bind": SNR_BIND,
|
|
||||||
"listen": SNR_LISTEN,
|
|
||||||
"getsockname": SNR_GETSOCKNAME,
|
|
||||||
"getpeername": SNR_GETPEERNAME,
|
|
||||||
"socketpair": SNR_SOCKETPAIR,
|
|
||||||
"setsockopt": SNR_SETSOCKOPT,
|
|
||||||
"getsockopt": SNR_GETSOCKOPT,
|
|
||||||
"clone": SNR_CLONE,
|
|
||||||
"fork": SNR_FORK,
|
|
||||||
"vfork": SNR_VFORK,
|
|
||||||
"execve": SNR_EXECVE,
|
|
||||||
"exit": SNR_EXIT,
|
|
||||||
"wait4": SNR_WAIT4,
|
|
||||||
"kill": SNR_KILL,
|
|
||||||
"uname": SNR_UNAME,
|
|
||||||
"semget": SNR_SEMGET,
|
|
||||||
"semop": SNR_SEMOP,
|
|
||||||
"semctl": SNR_SEMCTL,
|
|
||||||
"shmdt": SNR_SHMDT,
|
|
||||||
"msgget": SNR_MSGGET,
|
|
||||||
"msgsnd": SNR_MSGSND,
|
|
||||||
"msgrcv": SNR_MSGRCV,
|
|
||||||
"msgctl": SNR_MSGCTL,
|
|
||||||
"fcntl": SNR_FCNTL,
|
|
||||||
"flock": SNR_FLOCK,
|
|
||||||
"fsync": SNR_FSYNC,
|
|
||||||
"fdatasync": SNR_FDATASYNC,
|
|
||||||
"truncate": SNR_TRUNCATE,
|
|
||||||
"ftruncate": SNR_FTRUNCATE,
|
|
||||||
"getdents": SNR_GETDENTS,
|
|
||||||
"getcwd": SNR_GETCWD,
|
|
||||||
"chdir": SNR_CHDIR,
|
|
||||||
"fchdir": SNR_FCHDIR,
|
|
||||||
"rename": SNR_RENAME,
|
|
||||||
"mkdir": SNR_MKDIR,
|
|
||||||
"rmdir": SNR_RMDIR,
|
|
||||||
"creat": SNR_CREAT,
|
|
||||||
"link": SNR_LINK,
|
|
||||||
"unlink": SNR_UNLINK,
|
|
||||||
"symlink": SNR_SYMLINK,
|
|
||||||
"readlink": SNR_READLINK,
|
|
||||||
"chmod": SNR_CHMOD,
|
|
||||||
"fchmod": SNR_FCHMOD,
|
|
||||||
"chown": SNR_CHOWN,
|
|
||||||
"fchown": SNR_FCHOWN,
|
|
||||||
"lchown": SNR_LCHOWN,
|
|
||||||
"umask": SNR_UMASK,
|
|
||||||
"gettimeofday": SNR_GETTIMEOFDAY,
|
|
||||||
"getrlimit": SNR_GETRLIMIT,
|
|
||||||
"getrusage": SNR_GETRUSAGE,
|
|
||||||
"sysinfo": SNR_SYSINFO,
|
|
||||||
"times": SNR_TIMES,
|
|
||||||
"ptrace": SNR_PTRACE,
|
|
||||||
"getuid": SNR_GETUID,
|
|
||||||
"syslog": SNR_SYSLOG,
|
|
||||||
"getgid": SNR_GETGID,
|
|
||||||
"setuid": SNR_SETUID,
|
|
||||||
"setgid": SNR_SETGID,
|
|
||||||
"geteuid": SNR_GETEUID,
|
|
||||||
"getegid": SNR_GETEGID,
|
|
||||||
"setpgid": SNR_SETPGID,
|
|
||||||
"getppid": SNR_GETPPID,
|
|
||||||
"getpgrp": SNR_GETPGRP,
|
|
||||||
"setsid": SNR_SETSID,
|
|
||||||
"setreuid": SNR_SETREUID,
|
|
||||||
"setregid": SNR_SETREGID,
|
|
||||||
"getgroups": SNR_GETGROUPS,
|
|
||||||
"setgroups": SNR_SETGROUPS,
|
|
||||||
"setresuid": SNR_SETRESUID,
|
|
||||||
"getresuid": SNR_GETRESUID,
|
|
||||||
"setresgid": SNR_SETRESGID,
|
|
||||||
"getresgid": SNR_GETRESGID,
|
|
||||||
"getpgid": SNR_GETPGID,
|
|
||||||
"setfsuid": SNR_SETFSUID,
|
|
||||||
"setfsgid": SNR_SETFSGID,
|
|
||||||
"getsid": SNR_GETSID,
|
|
||||||
"capget": SNR_CAPGET,
|
|
||||||
"capset": SNR_CAPSET,
|
|
||||||
"rt_sigpending": SNR_RT_SIGPENDING,
|
|
||||||
"rt_sigtimedwait": SNR_RT_SIGTIMEDWAIT,
|
|
||||||
"rt_sigqueueinfo": SNR_RT_SIGQUEUEINFO,
|
|
||||||
"rt_sigsuspend": SNR_RT_SIGSUSPEND,
|
|
||||||
"sigaltstack": SNR_SIGALTSTACK,
|
|
||||||
"utime": SNR_UTIME,
|
|
||||||
"mknod": SNR_MKNOD,
|
|
||||||
"uselib": SNR_USELIB,
|
|
||||||
"personality": SNR_PERSONALITY,
|
|
||||||
"ustat": SNR_USTAT,
|
|
||||||
"statfs": SNR_STATFS,
|
|
||||||
"fstatfs": SNR_FSTATFS,
|
|
||||||
"sysfs": SNR_SYSFS,
|
|
||||||
"getpriority": SNR_GETPRIORITY,
|
|
||||||
"setpriority": SNR_SETPRIORITY,
|
|
||||||
"sched_setparam": SNR_SCHED_SETPARAM,
|
|
||||||
"sched_getparam": SNR_SCHED_GETPARAM,
|
|
||||||
"sched_setscheduler": SNR_SCHED_SETSCHEDULER,
|
|
||||||
"sched_getscheduler": SNR_SCHED_GETSCHEDULER,
|
|
||||||
"sched_get_priority_max": SNR_SCHED_GET_PRIORITY_MAX,
|
|
||||||
"sched_get_priority_min": SNR_SCHED_GET_PRIORITY_MIN,
|
|
||||||
"sched_rr_get_interval": SNR_SCHED_RR_GET_INTERVAL,
|
|
||||||
"mlock": SNR_MLOCK,
|
|
||||||
"munlock": SNR_MUNLOCK,
|
|
||||||
"mlockall": SNR_MLOCKALL,
|
|
||||||
"munlockall": SNR_MUNLOCKALL,
|
|
||||||
"vhangup": SNR_VHANGUP,
|
|
||||||
"modify_ldt": SNR_MODIFY_LDT,
|
|
||||||
"pivot_root": SNR_PIVOT_ROOT,
|
|
||||||
"_sysctl": SNR__SYSCTL,
|
|
||||||
"prctl": SNR_PRCTL,
|
|
||||||
"arch_prctl": SNR_ARCH_PRCTL,
|
|
||||||
"adjtimex": SNR_ADJTIMEX,
|
|
||||||
"setrlimit": SNR_SETRLIMIT,
|
|
||||||
"chroot": SNR_CHROOT,
|
|
||||||
"sync": SNR_SYNC,
|
|
||||||
"acct": SNR_ACCT,
|
|
||||||
"settimeofday": SNR_SETTIMEOFDAY,
|
|
||||||
"mount": SNR_MOUNT,
|
|
||||||
"umount2": SNR_UMOUNT2,
|
|
||||||
"swapon": SNR_SWAPON,
|
|
||||||
"swapoff": SNR_SWAPOFF,
|
|
||||||
"reboot": SNR_REBOOT,
|
|
||||||
"sethostname": SNR_SETHOSTNAME,
|
|
||||||
"setdomainname": SNR_SETDOMAINNAME,
|
|
||||||
"iopl": SNR_IOPL,
|
|
||||||
"ioperm": SNR_IOPERM,
|
|
||||||
"create_module": SNR_CREATE_MODULE,
|
|
||||||
"init_module": SNR_INIT_MODULE,
|
|
||||||
"delete_module": SNR_DELETE_MODULE,
|
|
||||||
"get_kernel_syms": SNR_GET_KERNEL_SYMS,
|
|
||||||
"query_module": SNR_QUERY_MODULE,
|
|
||||||
"quotactl": SNR_QUOTACTL,
|
|
||||||
"nfsservctl": SNR_NFSSERVCTL,
|
|
||||||
"getpmsg": SNR_GETPMSG,
|
|
||||||
"putpmsg": SNR_PUTPMSG,
|
|
||||||
"afs_syscall": SNR_AFS_SYSCALL,
|
|
||||||
"tuxcall": SNR_TUXCALL,
|
|
||||||
"security": SNR_SECURITY,
|
|
||||||
"gettid": SNR_GETTID,
|
|
||||||
"readahead": SNR_READAHEAD,
|
|
||||||
"setxattr": SNR_SETXATTR,
|
|
||||||
"lsetxattr": SNR_LSETXATTR,
|
|
||||||
"fsetxattr": SNR_FSETXATTR,
|
|
||||||
"getxattr": SNR_GETXATTR,
|
|
||||||
"lgetxattr": SNR_LGETXATTR,
|
|
||||||
"fgetxattr": SNR_FGETXATTR,
|
|
||||||
"listxattr": SNR_LISTXATTR,
|
|
||||||
"llistxattr": SNR_LLISTXATTR,
|
|
||||||
"flistxattr": SNR_FLISTXATTR,
|
|
||||||
"removexattr": SNR_REMOVEXATTR,
|
|
||||||
"lremovexattr": SNR_LREMOVEXATTR,
|
|
||||||
"fremovexattr": SNR_FREMOVEXATTR,
|
|
||||||
"tkill": SNR_TKILL,
|
|
||||||
"time": SNR_TIME,
|
|
||||||
"futex": SNR_FUTEX,
|
|
||||||
"sched_setaffinity": SNR_SCHED_SETAFFINITY,
|
|
||||||
"sched_getaffinity": SNR_SCHED_GETAFFINITY,
|
|
||||||
"set_thread_area": SNR_SET_THREAD_AREA,
|
|
||||||
"io_setup": SNR_IO_SETUP,
|
|
||||||
"io_destroy": SNR_IO_DESTROY,
|
|
||||||
"io_getevents": SNR_IO_GETEVENTS,
|
|
||||||
"io_submit": SNR_IO_SUBMIT,
|
|
||||||
"io_cancel": SNR_IO_CANCEL,
|
|
||||||
"get_thread_area": SNR_GET_THREAD_AREA,
|
|
||||||
"lookup_dcookie": SNR_LOOKUP_DCOOKIE,
|
|
||||||
"epoll_create": SNR_EPOLL_CREATE,
|
|
||||||
"epoll_ctl_old": SNR_EPOLL_CTL_OLD,
|
|
||||||
"epoll_wait_old": SNR_EPOLL_WAIT_OLD,
|
|
||||||
"remap_file_pages": SNR_REMAP_FILE_PAGES,
|
|
||||||
"getdents64": SNR_GETDENTS64,
|
|
||||||
"set_tid_address": SNR_SET_TID_ADDRESS,
|
|
||||||
"restart_syscall": SNR_RESTART_SYSCALL,
|
|
||||||
"semtimedop": SNR_SEMTIMEDOP,
|
|
||||||
"fadvise64": SNR_FADVISE64,
|
|
||||||
"timer_create": SNR_TIMER_CREATE,
|
|
||||||
"timer_settime": SNR_TIMER_SETTIME,
|
|
||||||
"timer_gettime": SNR_TIMER_GETTIME,
|
|
||||||
"timer_getoverrun": SNR_TIMER_GETOVERRUN,
|
|
||||||
"timer_delete": SNR_TIMER_DELETE,
|
|
||||||
"clock_settime": SNR_CLOCK_SETTIME,
|
|
||||||
"clock_gettime": SNR_CLOCK_GETTIME,
|
|
||||||
"clock_getres": SNR_CLOCK_GETRES,
|
|
||||||
"clock_nanosleep": SNR_CLOCK_NANOSLEEP,
|
|
||||||
"exit_group": SNR_EXIT_GROUP,
|
|
||||||
"epoll_wait": SNR_EPOLL_WAIT,
|
|
||||||
"epoll_ctl": SNR_EPOLL_CTL,
|
|
||||||
"tgkill": SNR_TGKILL,
|
|
||||||
"utimes": SNR_UTIMES,
|
|
||||||
"vserver": SNR_VSERVER,
|
|
||||||
"mbind": SNR_MBIND,
|
|
||||||
"set_mempolicy": SNR_SET_MEMPOLICY,
|
|
||||||
"get_mempolicy": SNR_GET_MEMPOLICY,
|
|
||||||
"mq_open": SNR_MQ_OPEN,
|
|
||||||
"mq_unlink": SNR_MQ_UNLINK,
|
|
||||||
"mq_timedsend": SNR_MQ_TIMEDSEND,
|
|
||||||
"mq_timedreceive": SNR_MQ_TIMEDRECEIVE,
|
|
||||||
"mq_notify": SNR_MQ_NOTIFY,
|
|
||||||
"mq_getsetattr": SNR_MQ_GETSETATTR,
|
|
||||||
"kexec_load": SNR_KEXEC_LOAD,
|
|
||||||
"waitid": SNR_WAITID,
|
|
||||||
"add_key": SNR_ADD_KEY,
|
|
||||||
"request_key": SNR_REQUEST_KEY,
|
|
||||||
"keyctl": SNR_KEYCTL,
|
|
||||||
"ioprio_set": SNR_IOPRIO_SET,
|
|
||||||
"ioprio_get": SNR_IOPRIO_GET,
|
|
||||||
"inotify_init": SNR_INOTIFY_INIT,
|
|
||||||
"inotify_add_watch": SNR_INOTIFY_ADD_WATCH,
|
|
||||||
"inotify_rm_watch": SNR_INOTIFY_RM_WATCH,
|
|
||||||
"migrate_pages": SNR_MIGRATE_PAGES,
|
|
||||||
"openat": SNR_OPENAT,
|
|
||||||
"mkdirat": SNR_MKDIRAT,
|
|
||||||
"mknodat": SNR_MKNODAT,
|
|
||||||
"fchownat": SNR_FCHOWNAT,
|
|
||||||
"futimesat": SNR_FUTIMESAT,
|
|
||||||
"newfstatat": SNR_NEWFSTATAT,
|
|
||||||
"unlinkat": SNR_UNLINKAT,
|
|
||||||
"renameat": SNR_RENAMEAT,
|
|
||||||
"linkat": SNR_LINKAT,
|
|
||||||
"symlinkat": SNR_SYMLINKAT,
|
|
||||||
"readlinkat": SNR_READLINKAT,
|
|
||||||
"fchmodat": SNR_FCHMODAT,
|
|
||||||
"faccessat": SNR_FACCESSAT,
|
|
||||||
"pselect6": SNR_PSELECT6,
|
|
||||||
"ppoll": SNR_PPOLL,
|
|
||||||
"unshare": SNR_UNSHARE,
|
|
||||||
"set_robust_list": SNR_SET_ROBUST_LIST,
|
|
||||||
"get_robust_list": SNR_GET_ROBUST_LIST,
|
|
||||||
"splice": SNR_SPLICE,
|
|
||||||
"tee": SNR_TEE,
|
|
||||||
"sync_file_range": SNR_SYNC_FILE_RANGE,
|
|
||||||
"vmsplice": SNR_VMSPLICE,
|
|
||||||
"move_pages": SNR_MOVE_PAGES,
|
|
||||||
"utimensat": SNR_UTIMENSAT,
|
|
||||||
"epoll_pwait": SNR_EPOLL_PWAIT,
|
|
||||||
"signalfd": SNR_SIGNALFD,
|
|
||||||
"timerfd_create": SNR_TIMERFD_CREATE,
|
|
||||||
"eventfd": SNR_EVENTFD,
|
|
||||||
"fallocate": SNR_FALLOCATE,
|
|
||||||
"timerfd_settime": SNR_TIMERFD_SETTIME,
|
|
||||||
"timerfd_gettime": SNR_TIMERFD_GETTIME,
|
|
||||||
"accept4": SNR_ACCEPT4,
|
|
||||||
"signalfd4": SNR_SIGNALFD4,
|
|
||||||
"eventfd2": SNR_EVENTFD2,
|
|
||||||
"epoll_create1": SNR_EPOLL_CREATE1,
|
|
||||||
"dup3": SNR_DUP3,
|
|
||||||
"pipe2": SNR_PIPE2,
|
|
||||||
"inotify_init1": SNR_INOTIFY_INIT1,
|
|
||||||
"preadv": SNR_PREADV,
|
|
||||||
"pwritev": SNR_PWRITEV,
|
|
||||||
"rt_tgsigqueueinfo": SNR_RT_TGSIGQUEUEINFO,
|
|
||||||
"perf_event_open": SNR_PERF_EVENT_OPEN,
|
|
||||||
"recvmmsg": SNR_RECVMMSG,
|
|
||||||
"fanotify_init": SNR_FANOTIFY_INIT,
|
|
||||||
"fanotify_mark": SNR_FANOTIFY_MARK,
|
|
||||||
"prlimit64": SNR_PRLIMIT64,
|
|
||||||
"name_to_handle_at": SNR_NAME_TO_HANDLE_AT,
|
|
||||||
"open_by_handle_at": SNR_OPEN_BY_HANDLE_AT,
|
|
||||||
"clock_adjtime": SNR_CLOCK_ADJTIME,
|
|
||||||
"syncfs": SNR_SYNCFS,
|
|
||||||
"sendmmsg": SNR_SENDMMSG,
|
|
||||||
"setns": SNR_SETNS,
|
|
||||||
"getcpu": SNR_GETCPU,
|
|
||||||
"process_vm_readv": SNR_PROCESS_VM_READV,
|
|
||||||
"process_vm_writev": SNR_PROCESS_VM_WRITEV,
|
|
||||||
"kcmp": SNR_KCMP,
|
|
||||||
"finit_module": SNR_FINIT_MODULE,
|
|
||||||
"sched_setattr": SNR_SCHED_SETATTR,
|
|
||||||
"sched_getattr": SNR_SCHED_GETATTR,
|
|
||||||
"renameat2": SNR_RENAMEAT2,
|
|
||||||
"seccomp": SNR_SECCOMP,
|
|
||||||
"getrandom": SNR_GETRANDOM,
|
|
||||||
"memfd_create": SNR_MEMFD_CREATE,
|
|
||||||
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
|
||||||
"bpf": SNR_BPF,
|
|
||||||
"execveat": SNR_EXECVEAT,
|
|
||||||
"userfaultfd": SNR_USERFAULTFD,
|
|
||||||
"membarrier": SNR_MEMBARRIER,
|
|
||||||
"mlock2": SNR_MLOCK2,
|
|
||||||
"copy_file_range": SNR_COPY_FILE_RANGE,
|
|
||||||
"preadv2": SNR_PREADV2,
|
|
||||||
"pwritev2": SNR_PWRITEV2,
|
|
||||||
"pkey_mprotect": SNR_PKEY_MPROTECT,
|
|
||||||
"pkey_alloc": SNR_PKEY_ALLOC,
|
|
||||||
"pkey_free": SNR_PKEY_FREE,
|
|
||||||
"statx": SNR_STATX,
|
|
||||||
"io_pgetevents": SNR_IO_PGETEVENTS,
|
|
||||||
"rseq": SNR_RSEQ,
|
|
||||||
"uretprobe": SNR_URETPROBE,
|
|
||||||
"pidfd_send_signal": SNR_PIDFD_SEND_SIGNAL,
|
|
||||||
"io_uring_setup": SNR_IO_URING_SETUP,
|
|
||||||
"io_uring_enter": SNR_IO_URING_ENTER,
|
|
||||||
"io_uring_register": SNR_IO_URING_REGISTER,
|
|
||||||
"open_tree": SNR_OPEN_TREE,
|
|
||||||
"move_mount": SNR_MOVE_MOUNT,
|
|
||||||
"fsopen": SNR_FSOPEN,
|
|
||||||
"fsconfig": SNR_FSCONFIG,
|
|
||||||
"fsmount": SNR_FSMOUNT,
|
|
||||||
"fspick": SNR_FSPICK,
|
|
||||||
"pidfd_open": SNR_PIDFD_OPEN,
|
|
||||||
"clone3": SNR_CLONE3,
|
|
||||||
"close_range": SNR_CLOSE_RANGE,
|
|
||||||
"openat2": SNR_OPENAT2,
|
|
||||||
"pidfd_getfd": SNR_PIDFD_GETFD,
|
|
||||||
"faccessat2": SNR_FACCESSAT2,
|
|
||||||
"process_madvise": SNR_PROCESS_MADVISE,
|
|
||||||
"epoll_pwait2": SNR_EPOLL_PWAIT2,
|
|
||||||
"mount_setattr": SNR_MOUNT_SETATTR,
|
|
||||||
"quotactl_fd": SNR_QUOTACTL_FD,
|
|
||||||
"landlock_create_ruleset": SNR_LANDLOCK_CREATE_RULESET,
|
|
||||||
"landlock_add_rule": SNR_LANDLOCK_ADD_RULE,
|
|
||||||
"landlock_restrict_self": SNR_LANDLOCK_RESTRICT_SELF,
|
|
||||||
"memfd_secret": SNR_MEMFD_SECRET,
|
|
||||||
"process_mrelease": SNR_PROCESS_MRELEASE,
|
|
||||||
"futex_waitv": SNR_FUTEX_WAITV,
|
|
||||||
"set_mempolicy_home_node": SNR_SET_MEMPOLICY_HOME_NODE,
|
|
||||||
"cachestat": SNR_CACHESTAT,
|
|
||||||
"fchmodat2": SNR_FCHMODAT2,
|
|
||||||
"map_shadow_stack": SNR_MAP_SHADOW_STACK,
|
|
||||||
"futex_wake": SNR_FUTEX_WAKE,
|
|
||||||
"futex_wait": SNR_FUTEX_WAIT,
|
|
||||||
"futex_requeue": SNR_FUTEX_REQUEUE,
|
|
||||||
"statmount": SNR_STATMOUNT,
|
|
||||||
"listmount": SNR_LISTMOUNT,
|
|
||||||
"lsm_get_self_attr": SNR_LSM_GET_SELF_ATTR,
|
|
||||||
"lsm_set_self_attr": SNR_LSM_SET_SELF_ATTR,
|
|
||||||
"lsm_list_modules": SNR_LSM_LIST_MODULES,
|
|
||||||
"mseal": SNR_MSEAL,
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
SYS_NAME_TO_HANDLE_AT = 303
|
|
||||||
SYS_OPEN_BY_HANDLE_AT = 304
|
|
||||||
SYS_CLOCK_ADJTIME = 305
|
|
||||||
SYS_SYNCFS = 306
|
|
||||||
SYS_SENDMMSG = 307
|
|
||||||
SYS_SETNS = 308
|
|
||||||
SYS_GETCPU = 309
|
|
||||||
SYS_PROCESS_VM_READV = 310
|
|
||||||
SYS_PROCESS_VM_WRITEV = 311
|
|
||||||
SYS_KCMP = 312
|
|
||||||
SYS_FINIT_MODULE = 313
|
|
||||||
SYS_SCHED_SETATTR = 314
|
|
||||||
SYS_SCHED_GETATTR = 315
|
|
||||||
SYS_RENAMEAT2 = 316
|
|
||||||
SYS_SECCOMP = 317
|
|
||||||
SYS_GETRANDOM = 318
|
|
||||||
SYS_MEMFD_CREATE = 319
|
|
||||||
SYS_KEXEC_FILE_LOAD = 320
|
|
||||||
SYS_BPF = 321
|
|
||||||
SYS_EXECVEAT = 322
|
|
||||||
SYS_USERFAULTFD = 323
|
|
||||||
SYS_MEMBARRIER = 324
|
|
||||||
SYS_MLOCK2 = 325
|
|
||||||
SYS_COPY_FILE_RANGE = 326
|
|
||||||
SYS_PREADV2 = 327
|
|
||||||
SYS_PWRITEV2 = 328
|
|
||||||
SYS_PKEY_MPROTECT = 329
|
|
||||||
SYS_PKEY_ALLOC = 330
|
|
||||||
SYS_PKEY_FREE = 331
|
|
||||||
SYS_STATX = 332
|
|
||||||
SYS_IO_PGETEVENTS = 333
|
|
||||||
SYS_RSEQ = 334
|
|
||||||
SYS_URETPROBE = 335
|
|
||||||
SYS_PIDFD_SEND_SIGNAL = 424
|
|
||||||
SYS_IO_URING_SETUP = 425
|
|
||||||
SYS_IO_URING_ENTER = 426
|
|
||||||
SYS_IO_URING_REGISTER = 427
|
|
||||||
SYS_OPEN_TREE = 428
|
|
||||||
SYS_MOVE_MOUNT = 429
|
|
||||||
SYS_FSOPEN = 430
|
|
||||||
SYS_FSCONFIG = 431
|
|
||||||
SYS_FSMOUNT = 432
|
|
||||||
SYS_FSPICK = 433
|
|
||||||
SYS_PIDFD_OPEN = 434
|
|
||||||
SYS_CLONE3 = 435
|
|
||||||
SYS_CLOSE_RANGE = 436
|
|
||||||
SYS_OPENAT2 = 437
|
|
||||||
SYS_PIDFD_GETFD = 438
|
|
||||||
SYS_FACCESSAT2 = 439
|
|
||||||
SYS_PROCESS_MADVISE = 440
|
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
|
||||||
SYS_MOUNT_SETATTR = 442
|
|
||||||
SYS_QUOTACTL_FD = 443
|
|
||||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
|
||||||
SYS_LANDLOCK_ADD_RULE = 445
|
|
||||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
|
||||||
SYS_MEMFD_SECRET = 447
|
|
||||||
SYS_PROCESS_MRELEASE = 448
|
|
||||||
SYS_FUTEX_WAITV = 449
|
|
||||||
SYS_SET_MEMPOLICY_HOME_NODE = 450
|
|
||||||
SYS_CACHESTAT = 451
|
|
||||||
SYS_FCHMODAT2 = 452
|
|
||||||
SYS_MAP_SHADOW_STACK = 453
|
|
||||||
SYS_FUTEX_WAKE = 454
|
|
||||||
SYS_FUTEX_WAIT = 455
|
|
||||||
SYS_FUTEX_REQUEUE = 456
|
|
||||||
SYS_STATMOUNT = 457
|
|
||||||
SYS_LISTMOUNT = 458
|
|
||||||
SYS_LSM_GET_SELF_ATTR = 459
|
|
||||||
SYS_LSM_SET_SELF_ATTR = 460
|
|
||||||
SYS_LSM_LIST_MODULES = 461
|
|
||||||
SYS_MSEAL = 462
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
SNR_READ ScmpSyscall = SYS_READ
|
|
||||||
SNR_WRITE ScmpSyscall = SYS_WRITE
|
|
||||||
SNR_OPEN ScmpSyscall = SYS_OPEN
|
|
||||||
SNR_CLOSE ScmpSyscall = SYS_CLOSE
|
|
||||||
SNR_STAT ScmpSyscall = SYS_STAT
|
|
||||||
SNR_FSTAT ScmpSyscall = SYS_FSTAT
|
|
||||||
SNR_LSTAT ScmpSyscall = SYS_LSTAT
|
|
||||||
SNR_POLL ScmpSyscall = SYS_POLL
|
|
||||||
SNR_LSEEK ScmpSyscall = SYS_LSEEK
|
|
||||||
SNR_MMAP ScmpSyscall = SYS_MMAP
|
|
||||||
SNR_MPROTECT ScmpSyscall = SYS_MPROTECT
|
|
||||||
SNR_MUNMAP ScmpSyscall = SYS_MUNMAP
|
|
||||||
SNR_BRK ScmpSyscall = SYS_BRK
|
|
||||||
SNR_RT_SIGACTION ScmpSyscall = SYS_RT_SIGACTION
|
|
||||||
SNR_RT_SIGPROCMASK ScmpSyscall = SYS_RT_SIGPROCMASK
|
|
||||||
SNR_RT_SIGRETURN ScmpSyscall = SYS_RT_SIGRETURN
|
|
||||||
SNR_IOCTL ScmpSyscall = SYS_IOCTL
|
|
||||||
SNR_PREAD64 ScmpSyscall = SYS_PREAD64
|
|
||||||
SNR_PWRITE64 ScmpSyscall = SYS_PWRITE64
|
|
||||||
SNR_READV ScmpSyscall = SYS_READV
|
|
||||||
SNR_WRITEV ScmpSyscall = SYS_WRITEV
|
|
||||||
SNR_ACCESS ScmpSyscall = SYS_ACCESS
|
|
||||||
SNR_PIPE ScmpSyscall = SYS_PIPE
|
|
||||||
SNR_SELECT ScmpSyscall = SYS_SELECT
|
|
||||||
SNR_SCHED_YIELD ScmpSyscall = SYS_SCHED_YIELD
|
|
||||||
SNR_MREMAP ScmpSyscall = SYS_MREMAP
|
|
||||||
SNR_MSYNC ScmpSyscall = SYS_MSYNC
|
|
||||||
SNR_MINCORE ScmpSyscall = SYS_MINCORE
|
|
||||||
SNR_MADVISE ScmpSyscall = SYS_MADVISE
|
|
||||||
SNR_SHMGET ScmpSyscall = SYS_SHMGET
|
|
||||||
SNR_SHMAT ScmpSyscall = SYS_SHMAT
|
|
||||||
SNR_SHMCTL ScmpSyscall = SYS_SHMCTL
|
|
||||||
SNR_DUP ScmpSyscall = SYS_DUP
|
|
||||||
SNR_DUP2 ScmpSyscall = SYS_DUP2
|
|
||||||
SNR_PAUSE ScmpSyscall = SYS_PAUSE
|
|
||||||
SNR_NANOSLEEP ScmpSyscall = SYS_NANOSLEEP
|
|
||||||
SNR_GETITIMER ScmpSyscall = SYS_GETITIMER
|
|
||||||
SNR_ALARM ScmpSyscall = SYS_ALARM
|
|
||||||
SNR_SETITIMER ScmpSyscall = SYS_SETITIMER
|
|
||||||
SNR_GETPID ScmpSyscall = SYS_GETPID
|
|
||||||
SNR_SENDFILE ScmpSyscall = SYS_SENDFILE
|
|
||||||
SNR_SOCKET ScmpSyscall = SYS_SOCKET
|
|
||||||
SNR_CONNECT ScmpSyscall = SYS_CONNECT
|
|
||||||
SNR_ACCEPT ScmpSyscall = SYS_ACCEPT
|
|
||||||
SNR_SENDTO ScmpSyscall = SYS_SENDTO
|
|
||||||
SNR_RECVFROM ScmpSyscall = SYS_RECVFROM
|
|
||||||
SNR_SENDMSG ScmpSyscall = SYS_SENDMSG
|
|
||||||
SNR_RECVMSG ScmpSyscall = SYS_RECVMSG
|
|
||||||
SNR_SHUTDOWN ScmpSyscall = SYS_SHUTDOWN
|
|
||||||
SNR_BIND ScmpSyscall = SYS_BIND
|
|
||||||
SNR_LISTEN ScmpSyscall = SYS_LISTEN
|
|
||||||
SNR_GETSOCKNAME ScmpSyscall = SYS_GETSOCKNAME
|
|
||||||
SNR_GETPEERNAME ScmpSyscall = SYS_GETPEERNAME
|
|
||||||
SNR_SOCKETPAIR ScmpSyscall = SYS_SOCKETPAIR
|
|
||||||
SNR_SETSOCKOPT ScmpSyscall = SYS_SETSOCKOPT
|
|
||||||
SNR_GETSOCKOPT ScmpSyscall = SYS_GETSOCKOPT
|
|
||||||
SNR_CLONE ScmpSyscall = SYS_CLONE
|
|
||||||
SNR_FORK ScmpSyscall = SYS_FORK
|
|
||||||
SNR_VFORK ScmpSyscall = SYS_VFORK
|
|
||||||
SNR_EXECVE ScmpSyscall = SYS_EXECVE
|
|
||||||
SNR_EXIT ScmpSyscall = SYS_EXIT
|
|
||||||
SNR_WAIT4 ScmpSyscall = SYS_WAIT4
|
|
||||||
SNR_KILL ScmpSyscall = SYS_KILL
|
|
||||||
SNR_UNAME ScmpSyscall = SYS_UNAME
|
|
||||||
SNR_SEMGET ScmpSyscall = SYS_SEMGET
|
|
||||||
SNR_SEMOP ScmpSyscall = SYS_SEMOP
|
|
||||||
SNR_SEMCTL ScmpSyscall = SYS_SEMCTL
|
|
||||||
SNR_SHMDT ScmpSyscall = SYS_SHMDT
|
|
||||||
SNR_MSGGET ScmpSyscall = SYS_MSGGET
|
|
||||||
SNR_MSGSND ScmpSyscall = SYS_MSGSND
|
|
||||||
SNR_MSGRCV ScmpSyscall = SYS_MSGRCV
|
|
||||||
SNR_MSGCTL ScmpSyscall = SYS_MSGCTL
|
|
||||||
SNR_FCNTL ScmpSyscall = SYS_FCNTL
|
|
||||||
SNR_FLOCK ScmpSyscall = SYS_FLOCK
|
|
||||||
SNR_FSYNC ScmpSyscall = SYS_FSYNC
|
|
||||||
SNR_FDATASYNC ScmpSyscall = SYS_FDATASYNC
|
|
||||||
SNR_TRUNCATE ScmpSyscall = SYS_TRUNCATE
|
|
||||||
SNR_FTRUNCATE ScmpSyscall = SYS_FTRUNCATE
|
|
||||||
SNR_GETDENTS ScmpSyscall = SYS_GETDENTS
|
|
||||||
SNR_GETCWD ScmpSyscall = SYS_GETCWD
|
|
||||||
SNR_CHDIR ScmpSyscall = SYS_CHDIR
|
|
||||||
SNR_FCHDIR ScmpSyscall = SYS_FCHDIR
|
|
||||||
SNR_RENAME ScmpSyscall = SYS_RENAME
|
|
||||||
SNR_MKDIR ScmpSyscall = SYS_MKDIR
|
|
||||||
SNR_RMDIR ScmpSyscall = SYS_RMDIR
|
|
||||||
SNR_CREAT ScmpSyscall = SYS_CREAT
|
|
||||||
SNR_LINK ScmpSyscall = SYS_LINK
|
|
||||||
SNR_UNLINK ScmpSyscall = SYS_UNLINK
|
|
||||||
SNR_SYMLINK ScmpSyscall = SYS_SYMLINK
|
|
||||||
SNR_READLINK ScmpSyscall = SYS_READLINK
|
|
||||||
SNR_CHMOD ScmpSyscall = SYS_CHMOD
|
|
||||||
SNR_FCHMOD ScmpSyscall = SYS_FCHMOD
|
|
||||||
SNR_CHOWN ScmpSyscall = SYS_CHOWN
|
|
||||||
SNR_FCHOWN ScmpSyscall = SYS_FCHOWN
|
|
||||||
SNR_LCHOWN ScmpSyscall = SYS_LCHOWN
|
|
||||||
SNR_UMASK ScmpSyscall = SYS_UMASK
|
|
||||||
SNR_GETTIMEOFDAY ScmpSyscall = SYS_GETTIMEOFDAY
|
|
||||||
SNR_GETRLIMIT ScmpSyscall = SYS_GETRLIMIT
|
|
||||||
SNR_GETRUSAGE ScmpSyscall = SYS_GETRUSAGE
|
|
||||||
SNR_SYSINFO ScmpSyscall = SYS_SYSINFO
|
|
||||||
SNR_TIMES ScmpSyscall = SYS_TIMES
|
|
||||||
SNR_PTRACE ScmpSyscall = SYS_PTRACE
|
|
||||||
SNR_GETUID ScmpSyscall = SYS_GETUID
|
|
||||||
SNR_SYSLOG ScmpSyscall = SYS_SYSLOG
|
|
||||||
SNR_GETGID ScmpSyscall = SYS_GETGID
|
|
||||||
SNR_SETUID ScmpSyscall = SYS_SETUID
|
|
||||||
SNR_SETGID ScmpSyscall = SYS_SETGID
|
|
||||||
SNR_GETEUID ScmpSyscall = SYS_GETEUID
|
|
||||||
SNR_GETEGID ScmpSyscall = SYS_GETEGID
|
|
||||||
SNR_SETPGID ScmpSyscall = SYS_SETPGID
|
|
||||||
SNR_GETPPID ScmpSyscall = SYS_GETPPID
|
|
||||||
SNR_GETPGRP ScmpSyscall = SYS_GETPGRP
|
|
||||||
SNR_SETSID ScmpSyscall = SYS_SETSID
|
|
||||||
SNR_SETREUID ScmpSyscall = SYS_SETREUID
|
|
||||||
SNR_SETREGID ScmpSyscall = SYS_SETREGID
|
|
||||||
SNR_GETGROUPS ScmpSyscall = SYS_GETGROUPS
|
|
||||||
SNR_SETGROUPS ScmpSyscall = SYS_SETGROUPS
|
|
||||||
SNR_SETRESUID ScmpSyscall = SYS_SETRESUID
|
|
||||||
SNR_GETRESUID ScmpSyscall = SYS_GETRESUID
|
|
||||||
SNR_SETRESGID ScmpSyscall = SYS_SETRESGID
|
|
||||||
SNR_GETRESGID ScmpSyscall = SYS_GETRESGID
|
|
||||||
SNR_GETPGID ScmpSyscall = SYS_GETPGID
|
|
||||||
SNR_SETFSUID ScmpSyscall = SYS_SETFSUID
|
|
||||||
SNR_SETFSGID ScmpSyscall = SYS_SETFSGID
|
|
||||||
SNR_GETSID ScmpSyscall = SYS_GETSID
|
|
||||||
SNR_CAPGET ScmpSyscall = SYS_CAPGET
|
|
||||||
SNR_CAPSET ScmpSyscall = SYS_CAPSET
|
|
||||||
SNR_RT_SIGPENDING ScmpSyscall = SYS_RT_SIGPENDING
|
|
||||||
SNR_RT_SIGTIMEDWAIT ScmpSyscall = SYS_RT_SIGTIMEDWAIT
|
|
||||||
SNR_RT_SIGQUEUEINFO ScmpSyscall = SYS_RT_SIGQUEUEINFO
|
|
||||||
SNR_RT_SIGSUSPEND ScmpSyscall = SYS_RT_SIGSUSPEND
|
|
||||||
SNR_SIGALTSTACK ScmpSyscall = SYS_SIGALTSTACK
|
|
||||||
SNR_UTIME ScmpSyscall = SYS_UTIME
|
|
||||||
SNR_MKNOD ScmpSyscall = SYS_MKNOD
|
|
||||||
SNR_USELIB ScmpSyscall = SYS_USELIB
|
|
||||||
SNR_PERSONALITY ScmpSyscall = SYS_PERSONALITY
|
|
||||||
SNR_USTAT ScmpSyscall = SYS_USTAT
|
|
||||||
SNR_STATFS ScmpSyscall = SYS_STATFS
|
|
||||||
SNR_FSTATFS ScmpSyscall = SYS_FSTATFS
|
|
||||||
SNR_SYSFS ScmpSyscall = SYS_SYSFS
|
|
||||||
SNR_GETPRIORITY ScmpSyscall = SYS_GETPRIORITY
|
|
||||||
SNR_SETPRIORITY ScmpSyscall = SYS_SETPRIORITY
|
|
||||||
SNR_SCHED_SETPARAM ScmpSyscall = SYS_SCHED_SETPARAM
|
|
||||||
SNR_SCHED_GETPARAM ScmpSyscall = SYS_SCHED_GETPARAM
|
|
||||||
SNR_SCHED_SETSCHEDULER ScmpSyscall = SYS_SCHED_SETSCHEDULER
|
|
||||||
SNR_SCHED_GETSCHEDULER ScmpSyscall = SYS_SCHED_GETSCHEDULER
|
|
||||||
SNR_SCHED_GET_PRIORITY_MAX ScmpSyscall = SYS_SCHED_GET_PRIORITY_MAX
|
|
||||||
SNR_SCHED_GET_PRIORITY_MIN ScmpSyscall = SYS_SCHED_GET_PRIORITY_MIN
|
|
||||||
SNR_SCHED_RR_GET_INTERVAL ScmpSyscall = SYS_SCHED_RR_GET_INTERVAL
|
|
||||||
SNR_MLOCK ScmpSyscall = SYS_MLOCK
|
|
||||||
SNR_MUNLOCK ScmpSyscall = SYS_MUNLOCK
|
|
||||||
SNR_MLOCKALL ScmpSyscall = SYS_MLOCKALL
|
|
||||||
SNR_MUNLOCKALL ScmpSyscall = SYS_MUNLOCKALL
|
|
||||||
SNR_VHANGUP ScmpSyscall = SYS_VHANGUP
|
|
||||||
SNR_MODIFY_LDT ScmpSyscall = SYS_MODIFY_LDT
|
|
||||||
SNR_PIVOT_ROOT ScmpSyscall = SYS_PIVOT_ROOT
|
|
||||||
SNR__SYSCTL ScmpSyscall = SYS__SYSCTL
|
|
||||||
SNR_PRCTL ScmpSyscall = SYS_PRCTL
|
|
||||||
SNR_ARCH_PRCTL ScmpSyscall = SYS_ARCH_PRCTL
|
|
||||||
SNR_ADJTIMEX ScmpSyscall = SYS_ADJTIMEX
|
|
||||||
SNR_SETRLIMIT ScmpSyscall = SYS_SETRLIMIT
|
|
||||||
SNR_CHROOT ScmpSyscall = SYS_CHROOT
|
|
||||||
SNR_SYNC ScmpSyscall = SYS_SYNC
|
|
||||||
SNR_ACCT ScmpSyscall = SYS_ACCT
|
|
||||||
SNR_SETTIMEOFDAY ScmpSyscall = SYS_SETTIMEOFDAY
|
|
||||||
SNR_MOUNT ScmpSyscall = SYS_MOUNT
|
|
||||||
SNR_UMOUNT2 ScmpSyscall = SYS_UMOUNT2
|
|
||||||
SNR_SWAPON ScmpSyscall = SYS_SWAPON
|
|
||||||
SNR_SWAPOFF ScmpSyscall = SYS_SWAPOFF
|
|
||||||
SNR_REBOOT ScmpSyscall = SYS_REBOOT
|
|
||||||
SNR_SETHOSTNAME ScmpSyscall = SYS_SETHOSTNAME
|
|
||||||
SNR_SETDOMAINNAME ScmpSyscall = SYS_SETDOMAINNAME
|
|
||||||
SNR_IOPL ScmpSyscall = SYS_IOPL
|
|
||||||
SNR_IOPERM ScmpSyscall = SYS_IOPERM
|
|
||||||
SNR_CREATE_MODULE ScmpSyscall = SYS_CREATE_MODULE
|
|
||||||
SNR_INIT_MODULE ScmpSyscall = SYS_INIT_MODULE
|
|
||||||
SNR_DELETE_MODULE ScmpSyscall = SYS_DELETE_MODULE
|
|
||||||
SNR_GET_KERNEL_SYMS ScmpSyscall = SYS_GET_KERNEL_SYMS
|
|
||||||
SNR_QUERY_MODULE ScmpSyscall = SYS_QUERY_MODULE
|
|
||||||
SNR_QUOTACTL ScmpSyscall = SYS_QUOTACTL
|
|
||||||
SNR_NFSSERVCTL ScmpSyscall = SYS_NFSSERVCTL
|
|
||||||
SNR_GETPMSG ScmpSyscall = SYS_GETPMSG
|
|
||||||
SNR_PUTPMSG ScmpSyscall = SYS_PUTPMSG
|
|
||||||
SNR_AFS_SYSCALL ScmpSyscall = SYS_AFS_SYSCALL
|
|
||||||
SNR_TUXCALL ScmpSyscall = SYS_TUXCALL
|
|
||||||
SNR_SECURITY ScmpSyscall = SYS_SECURITY
|
|
||||||
SNR_GETTID ScmpSyscall = SYS_GETTID
|
|
||||||
SNR_READAHEAD ScmpSyscall = SYS_READAHEAD
|
|
||||||
SNR_SETXATTR ScmpSyscall = SYS_SETXATTR
|
|
||||||
SNR_LSETXATTR ScmpSyscall = SYS_LSETXATTR
|
|
||||||
SNR_FSETXATTR ScmpSyscall = SYS_FSETXATTR
|
|
||||||
SNR_GETXATTR ScmpSyscall = SYS_GETXATTR
|
|
||||||
SNR_LGETXATTR ScmpSyscall = SYS_LGETXATTR
|
|
||||||
SNR_FGETXATTR ScmpSyscall = SYS_FGETXATTR
|
|
||||||
SNR_LISTXATTR ScmpSyscall = SYS_LISTXATTR
|
|
||||||
SNR_LLISTXATTR ScmpSyscall = SYS_LLISTXATTR
|
|
||||||
SNR_FLISTXATTR ScmpSyscall = SYS_FLISTXATTR
|
|
||||||
SNR_REMOVEXATTR ScmpSyscall = SYS_REMOVEXATTR
|
|
||||||
SNR_LREMOVEXATTR ScmpSyscall = SYS_LREMOVEXATTR
|
|
||||||
SNR_FREMOVEXATTR ScmpSyscall = SYS_FREMOVEXATTR
|
|
||||||
SNR_TKILL ScmpSyscall = SYS_TKILL
|
|
||||||
SNR_TIME ScmpSyscall = SYS_TIME
|
|
||||||
SNR_FUTEX ScmpSyscall = SYS_FUTEX
|
|
||||||
SNR_SCHED_SETAFFINITY ScmpSyscall = SYS_SCHED_SETAFFINITY
|
|
||||||
SNR_SCHED_GETAFFINITY ScmpSyscall = SYS_SCHED_GETAFFINITY
|
|
||||||
SNR_SET_THREAD_AREA ScmpSyscall = SYS_SET_THREAD_AREA
|
|
||||||
SNR_IO_SETUP ScmpSyscall = SYS_IO_SETUP
|
|
||||||
SNR_IO_DESTROY ScmpSyscall = SYS_IO_DESTROY
|
|
||||||
SNR_IO_GETEVENTS ScmpSyscall = SYS_IO_GETEVENTS
|
|
||||||
SNR_IO_SUBMIT ScmpSyscall = SYS_IO_SUBMIT
|
|
||||||
SNR_IO_CANCEL ScmpSyscall = SYS_IO_CANCEL
|
|
||||||
SNR_GET_THREAD_AREA ScmpSyscall = SYS_GET_THREAD_AREA
|
|
||||||
SNR_LOOKUP_DCOOKIE ScmpSyscall = SYS_LOOKUP_DCOOKIE
|
|
||||||
SNR_EPOLL_CREATE ScmpSyscall = SYS_EPOLL_CREATE
|
|
||||||
SNR_EPOLL_CTL_OLD ScmpSyscall = SYS_EPOLL_CTL_OLD
|
|
||||||
SNR_EPOLL_WAIT_OLD ScmpSyscall = SYS_EPOLL_WAIT_OLD
|
|
||||||
SNR_REMAP_FILE_PAGES ScmpSyscall = SYS_REMAP_FILE_PAGES
|
|
||||||
SNR_GETDENTS64 ScmpSyscall = SYS_GETDENTS64
|
|
||||||
SNR_SET_TID_ADDRESS ScmpSyscall = SYS_SET_TID_ADDRESS
|
|
||||||
SNR_RESTART_SYSCALL ScmpSyscall = SYS_RESTART_SYSCALL
|
|
||||||
SNR_SEMTIMEDOP ScmpSyscall = SYS_SEMTIMEDOP
|
|
||||||
SNR_FADVISE64 ScmpSyscall = SYS_FADVISE64
|
|
||||||
SNR_TIMER_CREATE ScmpSyscall = SYS_TIMER_CREATE
|
|
||||||
SNR_TIMER_SETTIME ScmpSyscall = SYS_TIMER_SETTIME
|
|
||||||
SNR_TIMER_GETTIME ScmpSyscall = SYS_TIMER_GETTIME
|
|
||||||
SNR_TIMER_GETOVERRUN ScmpSyscall = SYS_TIMER_GETOVERRUN
|
|
||||||
SNR_TIMER_DELETE ScmpSyscall = SYS_TIMER_DELETE
|
|
||||||
SNR_CLOCK_SETTIME ScmpSyscall = SYS_CLOCK_SETTIME
|
|
||||||
SNR_CLOCK_GETTIME ScmpSyscall = SYS_CLOCK_GETTIME
|
|
||||||
SNR_CLOCK_GETRES ScmpSyscall = SYS_CLOCK_GETRES
|
|
||||||
SNR_CLOCK_NANOSLEEP ScmpSyscall = SYS_CLOCK_NANOSLEEP
|
|
||||||
SNR_EXIT_GROUP ScmpSyscall = SYS_EXIT_GROUP
|
|
||||||
SNR_EPOLL_WAIT ScmpSyscall = SYS_EPOLL_WAIT
|
|
||||||
SNR_EPOLL_CTL ScmpSyscall = SYS_EPOLL_CTL
|
|
||||||
SNR_TGKILL ScmpSyscall = SYS_TGKILL
|
|
||||||
SNR_UTIMES ScmpSyscall = SYS_UTIMES
|
|
||||||
SNR_VSERVER ScmpSyscall = SYS_VSERVER
|
|
||||||
SNR_MBIND ScmpSyscall = SYS_MBIND
|
|
||||||
SNR_SET_MEMPOLICY ScmpSyscall = SYS_SET_MEMPOLICY
|
|
||||||
SNR_GET_MEMPOLICY ScmpSyscall = SYS_GET_MEMPOLICY
|
|
||||||
SNR_MQ_OPEN ScmpSyscall = SYS_MQ_OPEN
|
|
||||||
SNR_MQ_UNLINK ScmpSyscall = SYS_MQ_UNLINK
|
|
||||||
SNR_MQ_TIMEDSEND ScmpSyscall = SYS_MQ_TIMEDSEND
|
|
||||||
SNR_MQ_TIMEDRECEIVE ScmpSyscall = SYS_MQ_TIMEDRECEIVE
|
|
||||||
SNR_MQ_NOTIFY ScmpSyscall = SYS_MQ_NOTIFY
|
|
||||||
SNR_MQ_GETSETATTR ScmpSyscall = SYS_MQ_GETSETATTR
|
|
||||||
SNR_KEXEC_LOAD ScmpSyscall = SYS_KEXEC_LOAD
|
|
||||||
SNR_WAITID ScmpSyscall = SYS_WAITID
|
|
||||||
SNR_ADD_KEY ScmpSyscall = SYS_ADD_KEY
|
|
||||||
SNR_REQUEST_KEY ScmpSyscall = SYS_REQUEST_KEY
|
|
||||||
SNR_KEYCTL ScmpSyscall = SYS_KEYCTL
|
|
||||||
SNR_IOPRIO_SET ScmpSyscall = SYS_IOPRIO_SET
|
|
||||||
SNR_IOPRIO_GET ScmpSyscall = SYS_IOPRIO_GET
|
|
||||||
SNR_INOTIFY_INIT ScmpSyscall = SYS_INOTIFY_INIT
|
|
||||||
SNR_INOTIFY_ADD_WATCH ScmpSyscall = SYS_INOTIFY_ADD_WATCH
|
|
||||||
SNR_INOTIFY_RM_WATCH ScmpSyscall = SYS_INOTIFY_RM_WATCH
|
|
||||||
SNR_MIGRATE_PAGES ScmpSyscall = SYS_MIGRATE_PAGES
|
|
||||||
SNR_OPENAT ScmpSyscall = SYS_OPENAT
|
|
||||||
SNR_MKDIRAT ScmpSyscall = SYS_MKDIRAT
|
|
||||||
SNR_MKNODAT ScmpSyscall = SYS_MKNODAT
|
|
||||||
SNR_FCHOWNAT ScmpSyscall = SYS_FCHOWNAT
|
|
||||||
SNR_FUTIMESAT ScmpSyscall = SYS_FUTIMESAT
|
|
||||||
SNR_NEWFSTATAT ScmpSyscall = SYS_NEWFSTATAT
|
|
||||||
SNR_UNLINKAT ScmpSyscall = SYS_UNLINKAT
|
|
||||||
SNR_RENAMEAT ScmpSyscall = SYS_RENAMEAT
|
|
||||||
SNR_LINKAT ScmpSyscall = SYS_LINKAT
|
|
||||||
SNR_SYMLINKAT ScmpSyscall = SYS_SYMLINKAT
|
|
||||||
SNR_READLINKAT ScmpSyscall = SYS_READLINKAT
|
|
||||||
SNR_FCHMODAT ScmpSyscall = SYS_FCHMODAT
|
|
||||||
SNR_FACCESSAT ScmpSyscall = SYS_FACCESSAT
|
|
||||||
SNR_PSELECT6 ScmpSyscall = SYS_PSELECT6
|
|
||||||
SNR_PPOLL ScmpSyscall = SYS_PPOLL
|
|
||||||
SNR_UNSHARE ScmpSyscall = SYS_UNSHARE
|
|
||||||
SNR_SET_ROBUST_LIST ScmpSyscall = SYS_SET_ROBUST_LIST
|
|
||||||
SNR_GET_ROBUST_LIST ScmpSyscall = SYS_GET_ROBUST_LIST
|
|
||||||
SNR_SPLICE ScmpSyscall = SYS_SPLICE
|
|
||||||
SNR_TEE ScmpSyscall = SYS_TEE
|
|
||||||
SNR_SYNC_FILE_RANGE ScmpSyscall = SYS_SYNC_FILE_RANGE
|
|
||||||
SNR_VMSPLICE ScmpSyscall = SYS_VMSPLICE
|
|
||||||
SNR_MOVE_PAGES ScmpSyscall = SYS_MOVE_PAGES
|
|
||||||
SNR_UTIMENSAT ScmpSyscall = SYS_UTIMENSAT
|
|
||||||
SNR_EPOLL_PWAIT ScmpSyscall = SYS_EPOLL_PWAIT
|
|
||||||
SNR_SIGNALFD ScmpSyscall = SYS_SIGNALFD
|
|
||||||
SNR_TIMERFD_CREATE ScmpSyscall = SYS_TIMERFD_CREATE
|
|
||||||
SNR_EVENTFD ScmpSyscall = SYS_EVENTFD
|
|
||||||
SNR_FALLOCATE ScmpSyscall = SYS_FALLOCATE
|
|
||||||
SNR_TIMERFD_SETTIME ScmpSyscall = SYS_TIMERFD_SETTIME
|
|
||||||
SNR_TIMERFD_GETTIME ScmpSyscall = SYS_TIMERFD_GETTIME
|
|
||||||
SNR_ACCEPT4 ScmpSyscall = SYS_ACCEPT4
|
|
||||||
SNR_SIGNALFD4 ScmpSyscall = SYS_SIGNALFD4
|
|
||||||
SNR_EVENTFD2 ScmpSyscall = SYS_EVENTFD2
|
|
||||||
SNR_EPOLL_CREATE1 ScmpSyscall = SYS_EPOLL_CREATE1
|
|
||||||
SNR_DUP3 ScmpSyscall = SYS_DUP3
|
|
||||||
SNR_PIPE2 ScmpSyscall = SYS_PIPE2
|
|
||||||
SNR_INOTIFY_INIT1 ScmpSyscall = SYS_INOTIFY_INIT1
|
|
||||||
SNR_PREADV ScmpSyscall = SYS_PREADV
|
|
||||||
SNR_PWRITEV ScmpSyscall = SYS_PWRITEV
|
|
||||||
SNR_RT_TGSIGQUEUEINFO ScmpSyscall = SYS_RT_TGSIGQUEUEINFO
|
|
||||||
SNR_PERF_EVENT_OPEN ScmpSyscall = SYS_PERF_EVENT_OPEN
|
|
||||||
SNR_RECVMMSG ScmpSyscall = SYS_RECVMMSG
|
|
||||||
SNR_FANOTIFY_INIT ScmpSyscall = SYS_FANOTIFY_INIT
|
|
||||||
SNR_FANOTIFY_MARK ScmpSyscall = SYS_FANOTIFY_MARK
|
|
||||||
SNR_PRLIMIT64 ScmpSyscall = SYS_PRLIMIT64
|
|
||||||
SNR_NAME_TO_HANDLE_AT ScmpSyscall = SYS_NAME_TO_HANDLE_AT
|
|
||||||
SNR_OPEN_BY_HANDLE_AT ScmpSyscall = SYS_OPEN_BY_HANDLE_AT
|
|
||||||
SNR_CLOCK_ADJTIME ScmpSyscall = SYS_CLOCK_ADJTIME
|
|
||||||
SNR_SYNCFS ScmpSyscall = SYS_SYNCFS
|
|
||||||
SNR_SENDMMSG ScmpSyscall = SYS_SENDMMSG
|
|
||||||
SNR_SETNS ScmpSyscall = SYS_SETNS
|
|
||||||
SNR_GETCPU ScmpSyscall = SYS_GETCPU
|
|
||||||
SNR_PROCESS_VM_READV ScmpSyscall = SYS_PROCESS_VM_READV
|
|
||||||
SNR_PROCESS_VM_WRITEV ScmpSyscall = SYS_PROCESS_VM_WRITEV
|
|
||||||
SNR_KCMP ScmpSyscall = SYS_KCMP
|
|
||||||
SNR_FINIT_MODULE ScmpSyscall = SYS_FINIT_MODULE
|
|
||||||
SNR_SCHED_SETATTR ScmpSyscall = SYS_SCHED_SETATTR
|
|
||||||
SNR_SCHED_GETATTR ScmpSyscall = SYS_SCHED_GETATTR
|
|
||||||
SNR_RENAMEAT2 ScmpSyscall = SYS_RENAMEAT2
|
|
||||||
SNR_SECCOMP ScmpSyscall = SYS_SECCOMP
|
|
||||||
SNR_GETRANDOM ScmpSyscall = SYS_GETRANDOM
|
|
||||||
SNR_MEMFD_CREATE ScmpSyscall = SYS_MEMFD_CREATE
|
|
||||||
SNR_KEXEC_FILE_LOAD ScmpSyscall = SYS_KEXEC_FILE_LOAD
|
|
||||||
SNR_BPF ScmpSyscall = SYS_BPF
|
|
||||||
SNR_EXECVEAT ScmpSyscall = SYS_EXECVEAT
|
|
||||||
SNR_USERFAULTFD ScmpSyscall = SYS_USERFAULTFD
|
|
||||||
SNR_MEMBARRIER ScmpSyscall = SYS_MEMBARRIER
|
|
||||||
SNR_MLOCK2 ScmpSyscall = SYS_MLOCK2
|
|
||||||
SNR_COPY_FILE_RANGE ScmpSyscall = SYS_COPY_FILE_RANGE
|
|
||||||
SNR_PREADV2 ScmpSyscall = SYS_PREADV2
|
|
||||||
SNR_PWRITEV2 ScmpSyscall = SYS_PWRITEV2
|
|
||||||
SNR_PKEY_MPROTECT ScmpSyscall = SYS_PKEY_MPROTECT
|
|
||||||
SNR_PKEY_ALLOC ScmpSyscall = SYS_PKEY_ALLOC
|
|
||||||
SNR_PKEY_FREE ScmpSyscall = SYS_PKEY_FREE
|
|
||||||
SNR_STATX ScmpSyscall = SYS_STATX
|
|
||||||
SNR_IO_PGETEVENTS ScmpSyscall = SYS_IO_PGETEVENTS
|
|
||||||
SNR_RSEQ ScmpSyscall = SYS_RSEQ
|
|
||||||
SNR_URETPROBE ScmpSyscall = SYS_URETPROBE
|
|
||||||
SNR_PIDFD_SEND_SIGNAL ScmpSyscall = SYS_PIDFD_SEND_SIGNAL
|
|
||||||
SNR_IO_URING_SETUP ScmpSyscall = SYS_IO_URING_SETUP
|
|
||||||
SNR_IO_URING_ENTER ScmpSyscall = SYS_IO_URING_ENTER
|
|
||||||
SNR_IO_URING_REGISTER ScmpSyscall = SYS_IO_URING_REGISTER
|
|
||||||
SNR_OPEN_TREE ScmpSyscall = SYS_OPEN_TREE
|
|
||||||
SNR_MOVE_MOUNT ScmpSyscall = SYS_MOVE_MOUNT
|
|
||||||
SNR_FSOPEN ScmpSyscall = SYS_FSOPEN
|
|
||||||
SNR_FSCONFIG ScmpSyscall = SYS_FSCONFIG
|
|
||||||
SNR_FSMOUNT ScmpSyscall = SYS_FSMOUNT
|
|
||||||
SNR_FSPICK ScmpSyscall = SYS_FSPICK
|
|
||||||
SNR_PIDFD_OPEN ScmpSyscall = SYS_PIDFD_OPEN
|
|
||||||
SNR_CLONE3 ScmpSyscall = SYS_CLONE3
|
|
||||||
SNR_CLOSE_RANGE ScmpSyscall = SYS_CLOSE_RANGE
|
|
||||||
SNR_OPENAT2 ScmpSyscall = SYS_OPENAT2
|
|
||||||
SNR_PIDFD_GETFD ScmpSyscall = SYS_PIDFD_GETFD
|
|
||||||
SNR_FACCESSAT2 ScmpSyscall = SYS_FACCESSAT2
|
|
||||||
SNR_PROCESS_MADVISE ScmpSyscall = SYS_PROCESS_MADVISE
|
|
||||||
SNR_EPOLL_PWAIT2 ScmpSyscall = SYS_EPOLL_PWAIT2
|
|
||||||
SNR_MOUNT_SETATTR ScmpSyscall = SYS_MOUNT_SETATTR
|
|
||||||
SNR_QUOTACTL_FD ScmpSyscall = SYS_QUOTACTL_FD
|
|
||||||
SNR_LANDLOCK_CREATE_RULESET ScmpSyscall = SYS_LANDLOCK_CREATE_RULESET
|
|
||||||
SNR_LANDLOCK_ADD_RULE ScmpSyscall = SYS_LANDLOCK_ADD_RULE
|
|
||||||
SNR_LANDLOCK_RESTRICT_SELF ScmpSyscall = SYS_LANDLOCK_RESTRICT_SELF
|
|
||||||
SNR_MEMFD_SECRET ScmpSyscall = SYS_MEMFD_SECRET
|
|
||||||
SNR_PROCESS_MRELEASE ScmpSyscall = SYS_PROCESS_MRELEASE
|
|
||||||
SNR_FUTEX_WAITV ScmpSyscall = SYS_FUTEX_WAITV
|
|
||||||
SNR_SET_MEMPOLICY_HOME_NODE ScmpSyscall = SYS_SET_MEMPOLICY_HOME_NODE
|
|
||||||
SNR_CACHESTAT ScmpSyscall = SYS_CACHESTAT
|
|
||||||
SNR_FCHMODAT2 ScmpSyscall = SYS_FCHMODAT2
|
|
||||||
SNR_MAP_SHADOW_STACK ScmpSyscall = SYS_MAP_SHADOW_STACK
|
|
||||||
SNR_FUTEX_WAKE ScmpSyscall = SYS_FUTEX_WAKE
|
|
||||||
SNR_FUTEX_WAIT ScmpSyscall = SYS_FUTEX_WAIT
|
|
||||||
SNR_FUTEX_REQUEUE ScmpSyscall = SYS_FUTEX_REQUEUE
|
|
||||||
SNR_STATMOUNT ScmpSyscall = SYS_STATMOUNT
|
|
||||||
SNR_LISTMOUNT ScmpSyscall = SYS_LISTMOUNT
|
|
||||||
SNR_LSM_GET_SELF_ATTR ScmpSyscall = SYS_LSM_GET_SELF_ATTR
|
|
||||||
SNR_LSM_SET_SELF_ATTR ScmpSyscall = SYS_LSM_SET_SELF_ATTR
|
|
||||||
SNR_LSM_LIST_MODULES ScmpSyscall = SYS_LSM_LIST_MODULES
|
|
||||||
SNR_MSEAL ScmpSyscall = SYS_MSEAL
|
|
||||||
)
|
|
||||||
@@ -1,703 +0,0 @@
|
|||||||
// mksysnum_linux.pl /usr/include/asm/unistd_64.h
|
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
|
||||||
|
|
||||||
package std
|
|
||||||
|
|
||||||
import . "syscall"
|
|
||||||
|
|
||||||
var syscallNum = map[string]ScmpSyscall{
|
|
||||||
"io_setup": SNR_IO_SETUP,
|
|
||||||
"io_destroy": SNR_IO_DESTROY,
|
|
||||||
"io_submit": SNR_IO_SUBMIT,
|
|
||||||
"io_cancel": SNR_IO_CANCEL,
|
|
||||||
"io_getevents": SNR_IO_GETEVENTS,
|
|
||||||
"setxattr": SNR_SETXATTR,
|
|
||||||
"lsetxattr": SNR_LSETXATTR,
|
|
||||||
"fsetxattr": SNR_FSETXATTR,
|
|
||||||
"getxattr": SNR_GETXATTR,
|
|
||||||
"lgetxattr": SNR_LGETXATTR,
|
|
||||||
"fgetxattr": SNR_FGETXATTR,
|
|
||||||
"listxattr": SNR_LISTXATTR,
|
|
||||||
"llistxattr": SNR_LLISTXATTR,
|
|
||||||
"flistxattr": SNR_FLISTXATTR,
|
|
||||||
"removexattr": SNR_REMOVEXATTR,
|
|
||||||
"lremovexattr": SNR_LREMOVEXATTR,
|
|
||||||
"fremovexattr": SNR_FREMOVEXATTR,
|
|
||||||
"getcwd": SNR_GETCWD,
|
|
||||||
"lookup_dcookie": SNR_LOOKUP_DCOOKIE,
|
|
||||||
"eventfd2": SNR_EVENTFD2,
|
|
||||||
"epoll_create1": SNR_EPOLL_CREATE1,
|
|
||||||
"epoll_ctl": SNR_EPOLL_CTL,
|
|
||||||
"epoll_pwait": SNR_EPOLL_PWAIT,
|
|
||||||
"dup": SNR_DUP,
|
|
||||||
"dup3": SNR_DUP3,
|
|
||||||
"fcntl": SNR_FCNTL,
|
|
||||||
"inotify_init1": SNR_INOTIFY_INIT1,
|
|
||||||
"inotify_add_watch": SNR_INOTIFY_ADD_WATCH,
|
|
||||||
"inotify_rm_watch": SNR_INOTIFY_RM_WATCH,
|
|
||||||
"ioctl": SNR_IOCTL,
|
|
||||||
"ioprio_set": SNR_IOPRIO_SET,
|
|
||||||
"ioprio_get": SNR_IOPRIO_GET,
|
|
||||||
"flock": SNR_FLOCK,
|
|
||||||
"mknodat": SNR_MKNODAT,
|
|
||||||
"mkdirat": SNR_MKDIRAT,
|
|
||||||
"unlinkat": SNR_UNLINKAT,
|
|
||||||
"symlinkat": SNR_SYMLINKAT,
|
|
||||||
"linkat": SNR_LINKAT,
|
|
||||||
"renameat": SNR_RENAMEAT,
|
|
||||||
"umount2": SNR_UMOUNT2,
|
|
||||||
"mount": SNR_MOUNT,
|
|
||||||
"pivot_root": SNR_PIVOT_ROOT,
|
|
||||||
"nfsservctl": SNR_NFSSERVCTL,
|
|
||||||
"statfs": SNR_STATFS,
|
|
||||||
"fstatfs": SNR_FSTATFS,
|
|
||||||
"truncate": SNR_TRUNCATE,
|
|
||||||
"ftruncate": SNR_FTRUNCATE,
|
|
||||||
"fallocate": SNR_FALLOCATE,
|
|
||||||
"faccessat": SNR_FACCESSAT,
|
|
||||||
"chdir": SNR_CHDIR,
|
|
||||||
"fchdir": SNR_FCHDIR,
|
|
||||||
"chroot": SNR_CHROOT,
|
|
||||||
"fchmod": SNR_FCHMOD,
|
|
||||||
"fchmodat": SNR_FCHMODAT,
|
|
||||||
"fchownat": SNR_FCHOWNAT,
|
|
||||||
"fchown": SNR_FCHOWN,
|
|
||||||
"openat": SNR_OPENAT,
|
|
||||||
"close": SNR_CLOSE,
|
|
||||||
"vhangup": SNR_VHANGUP,
|
|
||||||
"pipe2": SNR_PIPE2,
|
|
||||||
"quotactl": SNR_QUOTACTL,
|
|
||||||
"getdents64": SNR_GETDENTS64,
|
|
||||||
"lseek": SNR_LSEEK,
|
|
||||||
"read": SNR_READ,
|
|
||||||
"write": SNR_WRITE,
|
|
||||||
"readv": SNR_READV,
|
|
||||||
"writev": SNR_WRITEV,
|
|
||||||
"pread64": SNR_PREAD64,
|
|
||||||
"pwrite64": SNR_PWRITE64,
|
|
||||||
"preadv": SNR_PREADV,
|
|
||||||
"pwritev": SNR_PWRITEV,
|
|
||||||
"sendfile": SNR_SENDFILE,
|
|
||||||
"pselect6": SNR_PSELECT6,
|
|
||||||
"ppoll": SNR_PPOLL,
|
|
||||||
"signalfd4": SNR_SIGNALFD4,
|
|
||||||
"vmsplice": SNR_VMSPLICE,
|
|
||||||
"splice": SNR_SPLICE,
|
|
||||||
"tee": SNR_TEE,
|
|
||||||
"readlinkat": SNR_READLINKAT,
|
|
||||||
"newfstatat": SNR_NEWFSTATAT,
|
|
||||||
"fstat": SNR_FSTAT,
|
|
||||||
"sync": SNR_SYNC,
|
|
||||||
"fsync": SNR_FSYNC,
|
|
||||||
"fdatasync": SNR_FDATASYNC,
|
|
||||||
"sync_file_range": SNR_SYNC_FILE_RANGE,
|
|
||||||
"timerfd_create": SNR_TIMERFD_CREATE,
|
|
||||||
"timerfd_settime": SNR_TIMERFD_SETTIME,
|
|
||||||
"timerfd_gettime": SNR_TIMERFD_GETTIME,
|
|
||||||
"utimensat": SNR_UTIMENSAT,
|
|
||||||
"acct": SNR_ACCT,
|
|
||||||
"capget": SNR_CAPGET,
|
|
||||||
"capset": SNR_CAPSET,
|
|
||||||
"personality": SNR_PERSONALITY,
|
|
||||||
"exit": SNR_EXIT,
|
|
||||||
"exit_group": SNR_EXIT_GROUP,
|
|
||||||
"waitid": SNR_WAITID,
|
|
||||||
"set_tid_address": SNR_SET_TID_ADDRESS,
|
|
||||||
"unshare": SNR_UNSHARE,
|
|
||||||
"futex": SNR_FUTEX,
|
|
||||||
"set_robust_list": SNR_SET_ROBUST_LIST,
|
|
||||||
"get_robust_list": SNR_GET_ROBUST_LIST,
|
|
||||||
"nanosleep": SNR_NANOSLEEP,
|
|
||||||
"getitimer": SNR_GETITIMER,
|
|
||||||
"setitimer": SNR_SETITIMER,
|
|
||||||
"kexec_load": SNR_KEXEC_LOAD,
|
|
||||||
"init_module": SNR_INIT_MODULE,
|
|
||||||
"delete_module": SNR_DELETE_MODULE,
|
|
||||||
"timer_create": SNR_TIMER_CREATE,
|
|
||||||
"timer_gettime": SNR_TIMER_GETTIME,
|
|
||||||
"timer_getoverrun": SNR_TIMER_GETOVERRUN,
|
|
||||||
"timer_settime": SNR_TIMER_SETTIME,
|
|
||||||
"timer_delete": SNR_TIMER_DELETE,
|
|
||||||
"clock_settime": SNR_CLOCK_SETTIME,
|
|
||||||
"clock_gettime": SNR_CLOCK_GETTIME,
|
|
||||||
"clock_getres": SNR_CLOCK_GETRES,
|
|
||||||
"clock_nanosleep": SNR_CLOCK_NANOSLEEP,
|
|
||||||
"syslog": SNR_SYSLOG,
|
|
||||||
"ptrace": SNR_PTRACE,
|
|
||||||
"sched_setparam": SNR_SCHED_SETPARAM,
|
|
||||||
"sched_setscheduler": SNR_SCHED_SETSCHEDULER,
|
|
||||||
"sched_getscheduler": SNR_SCHED_GETSCHEDULER,
|
|
||||||
"sched_getparam": SNR_SCHED_GETPARAM,
|
|
||||||
"sched_setaffinity": SNR_SCHED_SETAFFINITY,
|
|
||||||
"sched_getaffinity": SNR_SCHED_GETAFFINITY,
|
|
||||||
"sched_yield": SNR_SCHED_YIELD,
|
|
||||||
"sched_get_priority_max": SNR_SCHED_GET_PRIORITY_MAX,
|
|
||||||
"sched_get_priority_min": SNR_SCHED_GET_PRIORITY_MIN,
|
|
||||||
"sched_rr_get_interval": SNR_SCHED_RR_GET_INTERVAL,
|
|
||||||
"restart_syscall": SNR_RESTART_SYSCALL,
|
|
||||||
"kill": SNR_KILL,
|
|
||||||
"tkill": SNR_TKILL,
|
|
||||||
"tgkill": SNR_TGKILL,
|
|
||||||
"sigaltstack": SNR_SIGALTSTACK,
|
|
||||||
"rt_sigsuspend": SNR_RT_SIGSUSPEND,
|
|
||||||
"rt_sigaction": SNR_RT_SIGACTION,
|
|
||||||
"rt_sigprocmask": SNR_RT_SIGPROCMASK,
|
|
||||||
"rt_sigpending": SNR_RT_SIGPENDING,
|
|
||||||
"rt_sigtimedwait": SNR_RT_SIGTIMEDWAIT,
|
|
||||||
"rt_sigqueueinfo": SNR_RT_SIGQUEUEINFO,
|
|
||||||
"rt_sigreturn": SNR_RT_SIGRETURN,
|
|
||||||
"setpriority": SNR_SETPRIORITY,
|
|
||||||
"getpriority": SNR_GETPRIORITY,
|
|
||||||
"reboot": SNR_REBOOT,
|
|
||||||
"setregid": SNR_SETREGID,
|
|
||||||
"setgid": SNR_SETGID,
|
|
||||||
"setreuid": SNR_SETREUID,
|
|
||||||
"setuid": SNR_SETUID,
|
|
||||||
"setresuid": SNR_SETRESUID,
|
|
||||||
"getresuid": SNR_GETRESUID,
|
|
||||||
"setresgid": SNR_SETRESGID,
|
|
||||||
"getresgid": SNR_GETRESGID,
|
|
||||||
"setfsuid": SNR_SETFSUID,
|
|
||||||
"setfsgid": SNR_SETFSGID,
|
|
||||||
"times": SNR_TIMES,
|
|
||||||
"setpgid": SNR_SETPGID,
|
|
||||||
"getpgid": SNR_GETPGID,
|
|
||||||
"getsid": SNR_GETSID,
|
|
||||||
"setsid": SNR_SETSID,
|
|
||||||
"getgroups": SNR_GETGROUPS,
|
|
||||||
"setgroups": SNR_SETGROUPS,
|
|
||||||
"uname": SNR_UNAME,
|
|
||||||
"sethostname": SNR_SETHOSTNAME,
|
|
||||||
"setdomainname": SNR_SETDOMAINNAME,
|
|
||||||
"getrlimit": SNR_GETRLIMIT,
|
|
||||||
"setrlimit": SNR_SETRLIMIT,
|
|
||||||
"getrusage": SNR_GETRUSAGE,
|
|
||||||
"umask": SNR_UMASK,
|
|
||||||
"prctl": SNR_PRCTL,
|
|
||||||
"getcpu": SNR_GETCPU,
|
|
||||||
"gettimeofday": SNR_GETTIMEOFDAY,
|
|
||||||
"settimeofday": SNR_SETTIMEOFDAY,
|
|
||||||
"adjtimex": SNR_ADJTIMEX,
|
|
||||||
"getpid": SNR_GETPID,
|
|
||||||
"getppid": SNR_GETPPID,
|
|
||||||
"getuid": SNR_GETUID,
|
|
||||||
"geteuid": SNR_GETEUID,
|
|
||||||
"getgid": SNR_GETGID,
|
|
||||||
"getegid": SNR_GETEGID,
|
|
||||||
"gettid": SNR_GETTID,
|
|
||||||
"sysinfo": SNR_SYSINFO,
|
|
||||||
"mq_open": SNR_MQ_OPEN,
|
|
||||||
"mq_unlink": SNR_MQ_UNLINK,
|
|
||||||
"mq_timedsend": SNR_MQ_TIMEDSEND,
|
|
||||||
"mq_timedreceive": SNR_MQ_TIMEDRECEIVE,
|
|
||||||
"mq_notify": SNR_MQ_NOTIFY,
|
|
||||||
"mq_getsetattr": SNR_MQ_GETSETATTR,
|
|
||||||
"msgget": SNR_MSGGET,
|
|
||||||
"msgctl": SNR_MSGCTL,
|
|
||||||
"msgrcv": SNR_MSGRCV,
|
|
||||||
"msgsnd": SNR_MSGSND,
|
|
||||||
"semget": SNR_SEMGET,
|
|
||||||
"semctl": SNR_SEMCTL,
|
|
||||||
"semtimedop": SNR_SEMTIMEDOP,
|
|
||||||
"semop": SNR_SEMOP,
|
|
||||||
"shmget": SNR_SHMGET,
|
|
||||||
"shmctl": SNR_SHMCTL,
|
|
||||||
"shmat": SNR_SHMAT,
|
|
||||||
"shmdt": SNR_SHMDT,
|
|
||||||
"socket": SNR_SOCKET,
|
|
||||||
"socketpair": SNR_SOCKETPAIR,
|
|
||||||
"bind": SNR_BIND,
|
|
||||||
"listen": SNR_LISTEN,
|
|
||||||
"accept": SNR_ACCEPT,
|
|
||||||
"connect": SNR_CONNECT,
|
|
||||||
"getsockname": SNR_GETSOCKNAME,
|
|
||||||
"getpeername": SNR_GETPEERNAME,
|
|
||||||
"sendto": SNR_SENDTO,
|
|
||||||
"recvfrom": SNR_RECVFROM,
|
|
||||||
"setsockopt": SNR_SETSOCKOPT,
|
|
||||||
"getsockopt": SNR_GETSOCKOPT,
|
|
||||||
"shutdown": SNR_SHUTDOWN,
|
|
||||||
"sendmsg": SNR_SENDMSG,
|
|
||||||
"recvmsg": SNR_RECVMSG,
|
|
||||||
"readahead": SNR_READAHEAD,
|
|
||||||
"brk": SNR_BRK,
|
|
||||||
"munmap": SNR_MUNMAP,
|
|
||||||
"mremap": SNR_MREMAP,
|
|
||||||
"add_key": SNR_ADD_KEY,
|
|
||||||
"request_key": SNR_REQUEST_KEY,
|
|
||||||
"keyctl": SNR_KEYCTL,
|
|
||||||
"clone": SNR_CLONE,
|
|
||||||
"execve": SNR_EXECVE,
|
|
||||||
"mmap": SNR_MMAP,
|
|
||||||
"fadvise64": SNR_FADVISE64,
|
|
||||||
"swapon": SNR_SWAPON,
|
|
||||||
"swapoff": SNR_SWAPOFF,
|
|
||||||
"mprotect": SNR_MPROTECT,
|
|
||||||
"msync": SNR_MSYNC,
|
|
||||||
"mlock": SNR_MLOCK,
|
|
||||||
"munlock": SNR_MUNLOCK,
|
|
||||||
"mlockall": SNR_MLOCKALL,
|
|
||||||
"munlockall": SNR_MUNLOCKALL,
|
|
||||||
"mincore": SNR_MINCORE,
|
|
||||||
"madvise": SNR_MADVISE,
|
|
||||||
"remap_file_pages": SNR_REMAP_FILE_PAGES,
|
|
||||||
"mbind": SNR_MBIND,
|
|
||||||
"get_mempolicy": SNR_GET_MEMPOLICY,
|
|
||||||
"set_mempolicy": SNR_SET_MEMPOLICY,
|
|
||||||
"migrate_pages": SNR_MIGRATE_PAGES,
|
|
||||||
"move_pages": SNR_MOVE_PAGES,
|
|
||||||
"rt_tgsigqueueinfo": SNR_RT_TGSIGQUEUEINFO,
|
|
||||||
"perf_event_open": SNR_PERF_EVENT_OPEN,
|
|
||||||
"accept4": SNR_ACCEPT4,
|
|
||||||
"recvmmsg": SNR_RECVMMSG,
|
|
||||||
"wait4": SNR_WAIT4,
|
|
||||||
"prlimit64": SNR_PRLIMIT64,
|
|
||||||
"fanotify_init": SNR_FANOTIFY_INIT,
|
|
||||||
"fanotify_mark": SNR_FANOTIFY_MARK,
|
|
||||||
"name_to_handle_at": SNR_NAME_TO_HANDLE_AT,
|
|
||||||
"open_by_handle_at": SNR_OPEN_BY_HANDLE_AT,
|
|
||||||
"clock_adjtime": SNR_CLOCK_ADJTIME,
|
|
||||||
"syncfs": SNR_SYNCFS,
|
|
||||||
"setns": SNR_SETNS,
|
|
||||||
"sendmmsg": SNR_SENDMMSG,
|
|
||||||
"process_vm_readv": SNR_PROCESS_VM_READV,
|
|
||||||
"process_vm_writev": SNR_PROCESS_VM_WRITEV,
|
|
||||||
"kcmp": SNR_KCMP,
|
|
||||||
"finit_module": SNR_FINIT_MODULE,
|
|
||||||
"sched_setattr": SNR_SCHED_SETATTR,
|
|
||||||
"sched_getattr": SNR_SCHED_GETATTR,
|
|
||||||
"renameat2": SNR_RENAMEAT2,
|
|
||||||
"seccomp": SNR_SECCOMP,
|
|
||||||
"getrandom": SNR_GETRANDOM,
|
|
||||||
"memfd_create": SNR_MEMFD_CREATE,
|
|
||||||
"bpf": SNR_BPF,
|
|
||||||
"execveat": SNR_EXECVEAT,
|
|
||||||
"userfaultfd": SNR_USERFAULTFD,
|
|
||||||
"membarrier": SNR_MEMBARRIER,
|
|
||||||
"mlock2": SNR_MLOCK2,
|
|
||||||
"copy_file_range": SNR_COPY_FILE_RANGE,
|
|
||||||
"preadv2": SNR_PREADV2,
|
|
||||||
"pwritev2": SNR_PWRITEV2,
|
|
||||||
"pkey_mprotect": SNR_PKEY_MPROTECT,
|
|
||||||
"pkey_alloc": SNR_PKEY_ALLOC,
|
|
||||||
"pkey_free": SNR_PKEY_FREE,
|
|
||||||
"statx": SNR_STATX,
|
|
||||||
"io_pgetevents": SNR_IO_PGETEVENTS,
|
|
||||||
"rseq": SNR_RSEQ,
|
|
||||||
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
|
||||||
"pidfd_send_signal": SNR_PIDFD_SEND_SIGNAL,
|
|
||||||
"io_uring_setup": SNR_IO_URING_SETUP,
|
|
||||||
"io_uring_enter": SNR_IO_URING_ENTER,
|
|
||||||
"io_uring_register": SNR_IO_URING_REGISTER,
|
|
||||||
"open_tree": SNR_OPEN_TREE,
|
|
||||||
"move_mount": SNR_MOVE_MOUNT,
|
|
||||||
"fsopen": SNR_FSOPEN,
|
|
||||||
"fsconfig": SNR_FSCONFIG,
|
|
||||||
"fsmount": SNR_FSMOUNT,
|
|
||||||
"fspick": SNR_FSPICK,
|
|
||||||
"pidfd_open": SNR_PIDFD_OPEN,
|
|
||||||
"clone3": SNR_CLONE3,
|
|
||||||
"close_range": SNR_CLOSE_RANGE,
|
|
||||||
"openat2": SNR_OPENAT2,
|
|
||||||
"pidfd_getfd": SNR_PIDFD_GETFD,
|
|
||||||
"faccessat2": SNR_FACCESSAT2,
|
|
||||||
"process_madvise": SNR_PROCESS_MADVISE,
|
|
||||||
"epoll_pwait2": SNR_EPOLL_PWAIT2,
|
|
||||||
"mount_setattr": SNR_MOUNT_SETATTR,
|
|
||||||
"quotactl_fd": SNR_QUOTACTL_FD,
|
|
||||||
"landlock_create_ruleset": SNR_LANDLOCK_CREATE_RULESET,
|
|
||||||
"landlock_add_rule": SNR_LANDLOCK_ADD_RULE,
|
|
||||||
"landlock_restrict_self": SNR_LANDLOCK_RESTRICT_SELF,
|
|
||||||
"memfd_secret": SNR_MEMFD_SECRET,
|
|
||||||
"process_mrelease": SNR_PROCESS_MRELEASE,
|
|
||||||
"futex_waitv": SNR_FUTEX_WAITV,
|
|
||||||
"set_mempolicy_home_node": SNR_SET_MEMPOLICY_HOME_NODE,
|
|
||||||
"cachestat": SNR_CACHESTAT,
|
|
||||||
"fchmodat2": SNR_FCHMODAT2,
|
|
||||||
"map_shadow_stack": SNR_MAP_SHADOW_STACK,
|
|
||||||
"futex_wake": SNR_FUTEX_WAKE,
|
|
||||||
"futex_wait": SNR_FUTEX_WAIT,
|
|
||||||
"futex_requeue": SNR_FUTEX_REQUEUE,
|
|
||||||
"statmount": SNR_STATMOUNT,
|
|
||||||
"listmount": SNR_LISTMOUNT,
|
|
||||||
"lsm_get_self_attr": SNR_LSM_GET_SELF_ATTR,
|
|
||||||
"lsm_set_self_attr": SNR_LSM_SET_SELF_ATTR,
|
|
||||||
"lsm_list_modules": SNR_LSM_LIST_MODULES,
|
|
||||||
"mseal": SNR_MSEAL,
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
SYS_USERFAULTFD = 282
|
|
||||||
SYS_MEMBARRIER = 283
|
|
||||||
SYS_MLOCK2 = 284
|
|
||||||
SYS_COPY_FILE_RANGE = 285
|
|
||||||
SYS_PREADV2 = 286
|
|
||||||
SYS_PWRITEV2 = 287
|
|
||||||
SYS_PKEY_MPROTECT = 288
|
|
||||||
SYS_PKEY_ALLOC = 289
|
|
||||||
SYS_PKEY_FREE = 290
|
|
||||||
SYS_STATX = 291
|
|
||||||
SYS_IO_PGETEVENTS = 292
|
|
||||||
SYS_RSEQ = 293
|
|
||||||
SYS_KEXEC_FILE_LOAD = 294
|
|
||||||
SYS_PIDFD_SEND_SIGNAL = 424
|
|
||||||
SYS_IO_URING_SETUP = 425
|
|
||||||
SYS_IO_URING_ENTER = 426
|
|
||||||
SYS_IO_URING_REGISTER = 427
|
|
||||||
SYS_OPEN_TREE = 428
|
|
||||||
SYS_MOVE_MOUNT = 429
|
|
||||||
SYS_FSOPEN = 430
|
|
||||||
SYS_FSCONFIG = 431
|
|
||||||
SYS_FSMOUNT = 432
|
|
||||||
SYS_FSPICK = 433
|
|
||||||
SYS_PIDFD_OPEN = 434
|
|
||||||
SYS_CLONE3 = 435
|
|
||||||
SYS_CLOSE_RANGE = 436
|
|
||||||
SYS_OPENAT2 = 437
|
|
||||||
SYS_PIDFD_GETFD = 438
|
|
||||||
SYS_FACCESSAT2 = 439
|
|
||||||
SYS_PROCESS_MADVISE = 440
|
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
|
||||||
SYS_MOUNT_SETATTR = 442
|
|
||||||
SYS_QUOTACTL_FD = 443
|
|
||||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
|
||||||
SYS_LANDLOCK_ADD_RULE = 445
|
|
||||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
|
||||||
SYS_MEMFD_SECRET = 447
|
|
||||||
SYS_PROCESS_MRELEASE = 448
|
|
||||||
SYS_FUTEX_WAITV = 449
|
|
||||||
SYS_SET_MEMPOLICY_HOME_NODE = 450
|
|
||||||
SYS_CACHESTAT = 451
|
|
||||||
SYS_FCHMODAT2 = 452
|
|
||||||
SYS_MAP_SHADOW_STACK = 453
|
|
||||||
SYS_FUTEX_WAKE = 454
|
|
||||||
SYS_FUTEX_WAIT = 455
|
|
||||||
SYS_FUTEX_REQUEUE = 456
|
|
||||||
SYS_STATMOUNT = 457
|
|
||||||
SYS_LISTMOUNT = 458
|
|
||||||
SYS_LSM_GET_SELF_ATTR = 459
|
|
||||||
SYS_LSM_SET_SELF_ATTR = 460
|
|
||||||
SYS_LSM_LIST_MODULES = 461
|
|
||||||
SYS_MSEAL = 462
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
SNR_IO_SETUP ScmpSyscall = SYS_IO_SETUP
|
|
||||||
SNR_IO_DESTROY ScmpSyscall = SYS_IO_DESTROY
|
|
||||||
SNR_IO_SUBMIT ScmpSyscall = SYS_IO_SUBMIT
|
|
||||||
SNR_IO_CANCEL ScmpSyscall = SYS_IO_CANCEL
|
|
||||||
SNR_IO_GETEVENTS ScmpSyscall = SYS_IO_GETEVENTS
|
|
||||||
SNR_SETXATTR ScmpSyscall = SYS_SETXATTR
|
|
||||||
SNR_LSETXATTR ScmpSyscall = SYS_LSETXATTR
|
|
||||||
SNR_FSETXATTR ScmpSyscall = SYS_FSETXATTR
|
|
||||||
SNR_GETXATTR ScmpSyscall = SYS_GETXATTR
|
|
||||||
SNR_LGETXATTR ScmpSyscall = SYS_LGETXATTR
|
|
||||||
SNR_FGETXATTR ScmpSyscall = SYS_FGETXATTR
|
|
||||||
SNR_LISTXATTR ScmpSyscall = SYS_LISTXATTR
|
|
||||||
SNR_LLISTXATTR ScmpSyscall = SYS_LLISTXATTR
|
|
||||||
SNR_FLISTXATTR ScmpSyscall = SYS_FLISTXATTR
|
|
||||||
SNR_REMOVEXATTR ScmpSyscall = SYS_REMOVEXATTR
|
|
||||||
SNR_LREMOVEXATTR ScmpSyscall = SYS_LREMOVEXATTR
|
|
||||||
SNR_FREMOVEXATTR ScmpSyscall = SYS_FREMOVEXATTR
|
|
||||||
SNR_GETCWD ScmpSyscall = SYS_GETCWD
|
|
||||||
SNR_LOOKUP_DCOOKIE ScmpSyscall = SYS_LOOKUP_DCOOKIE
|
|
||||||
SNR_EVENTFD2 ScmpSyscall = SYS_EVENTFD2
|
|
||||||
SNR_EPOLL_CREATE1 ScmpSyscall = SYS_EPOLL_CREATE1
|
|
||||||
SNR_EPOLL_CTL ScmpSyscall = SYS_EPOLL_CTL
|
|
||||||
SNR_EPOLL_PWAIT ScmpSyscall = SYS_EPOLL_PWAIT
|
|
||||||
SNR_DUP ScmpSyscall = SYS_DUP
|
|
||||||
SNR_DUP3 ScmpSyscall = SYS_DUP3
|
|
||||||
SNR_FCNTL ScmpSyscall = SYS_FCNTL
|
|
||||||
SNR_INOTIFY_INIT1 ScmpSyscall = SYS_INOTIFY_INIT1
|
|
||||||
SNR_INOTIFY_ADD_WATCH ScmpSyscall = SYS_INOTIFY_ADD_WATCH
|
|
||||||
SNR_INOTIFY_RM_WATCH ScmpSyscall = SYS_INOTIFY_RM_WATCH
|
|
||||||
SNR_IOCTL ScmpSyscall = SYS_IOCTL
|
|
||||||
SNR_IOPRIO_SET ScmpSyscall = SYS_IOPRIO_SET
|
|
||||||
SNR_IOPRIO_GET ScmpSyscall = SYS_IOPRIO_GET
|
|
||||||
SNR_FLOCK ScmpSyscall = SYS_FLOCK
|
|
||||||
SNR_MKNODAT ScmpSyscall = SYS_MKNODAT
|
|
||||||
SNR_MKDIRAT ScmpSyscall = SYS_MKDIRAT
|
|
||||||
SNR_UNLINKAT ScmpSyscall = SYS_UNLINKAT
|
|
||||||
SNR_SYMLINKAT ScmpSyscall = SYS_SYMLINKAT
|
|
||||||
SNR_LINKAT ScmpSyscall = SYS_LINKAT
|
|
||||||
SNR_RENAMEAT ScmpSyscall = SYS_RENAMEAT
|
|
||||||
SNR_UMOUNT2 ScmpSyscall = SYS_UMOUNT2
|
|
||||||
SNR_MOUNT ScmpSyscall = SYS_MOUNT
|
|
||||||
SNR_PIVOT_ROOT ScmpSyscall = SYS_PIVOT_ROOT
|
|
||||||
SNR_NFSSERVCTL ScmpSyscall = SYS_NFSSERVCTL
|
|
||||||
SNR_STATFS ScmpSyscall = SYS_STATFS
|
|
||||||
SNR_FSTATFS ScmpSyscall = SYS_FSTATFS
|
|
||||||
SNR_TRUNCATE ScmpSyscall = SYS_TRUNCATE
|
|
||||||
SNR_FTRUNCATE ScmpSyscall = SYS_FTRUNCATE
|
|
||||||
SNR_FALLOCATE ScmpSyscall = SYS_FALLOCATE
|
|
||||||
SNR_FACCESSAT ScmpSyscall = SYS_FACCESSAT
|
|
||||||
SNR_CHDIR ScmpSyscall = SYS_CHDIR
|
|
||||||
SNR_FCHDIR ScmpSyscall = SYS_FCHDIR
|
|
||||||
SNR_CHROOT ScmpSyscall = SYS_CHROOT
|
|
||||||
SNR_FCHMOD ScmpSyscall = SYS_FCHMOD
|
|
||||||
SNR_FCHMODAT ScmpSyscall = SYS_FCHMODAT
|
|
||||||
SNR_FCHOWNAT ScmpSyscall = SYS_FCHOWNAT
|
|
||||||
SNR_FCHOWN ScmpSyscall = SYS_FCHOWN
|
|
||||||
SNR_OPENAT ScmpSyscall = SYS_OPENAT
|
|
||||||
SNR_CLOSE ScmpSyscall = SYS_CLOSE
|
|
||||||
SNR_VHANGUP ScmpSyscall = SYS_VHANGUP
|
|
||||||
SNR_PIPE2 ScmpSyscall = SYS_PIPE2
|
|
||||||
SNR_QUOTACTL ScmpSyscall = SYS_QUOTACTL
|
|
||||||
SNR_GETDENTS64 ScmpSyscall = SYS_GETDENTS64
|
|
||||||
SNR_LSEEK ScmpSyscall = SYS_LSEEK
|
|
||||||
SNR_READ ScmpSyscall = SYS_READ
|
|
||||||
SNR_WRITE ScmpSyscall = SYS_WRITE
|
|
||||||
SNR_READV ScmpSyscall = SYS_READV
|
|
||||||
SNR_WRITEV ScmpSyscall = SYS_WRITEV
|
|
||||||
SNR_PREAD64 ScmpSyscall = SYS_PREAD64
|
|
||||||
SNR_PWRITE64 ScmpSyscall = SYS_PWRITE64
|
|
||||||
SNR_PREADV ScmpSyscall = SYS_PREADV
|
|
||||||
SNR_PWRITEV ScmpSyscall = SYS_PWRITEV
|
|
||||||
SNR_SENDFILE ScmpSyscall = SYS_SENDFILE
|
|
||||||
SNR_PSELECT6 ScmpSyscall = SYS_PSELECT6
|
|
||||||
SNR_PPOLL ScmpSyscall = SYS_PPOLL
|
|
||||||
SNR_SIGNALFD4 ScmpSyscall = SYS_SIGNALFD4
|
|
||||||
SNR_VMSPLICE ScmpSyscall = SYS_VMSPLICE
|
|
||||||
SNR_SPLICE ScmpSyscall = SYS_SPLICE
|
|
||||||
SNR_TEE ScmpSyscall = SYS_TEE
|
|
||||||
SNR_READLINKAT ScmpSyscall = SYS_READLINKAT
|
|
||||||
SNR_NEWFSTATAT ScmpSyscall = SYS_NEWFSTATAT
|
|
||||||
SNR_FSTAT ScmpSyscall = SYS_FSTAT
|
|
||||||
SNR_SYNC ScmpSyscall = SYS_SYNC
|
|
||||||
SNR_FSYNC ScmpSyscall = SYS_FSYNC
|
|
||||||
SNR_FDATASYNC ScmpSyscall = SYS_FDATASYNC
|
|
||||||
SNR_SYNC_FILE_RANGE ScmpSyscall = SYS_SYNC_FILE_RANGE
|
|
||||||
SNR_TIMERFD_CREATE ScmpSyscall = SYS_TIMERFD_CREATE
|
|
||||||
SNR_TIMERFD_SETTIME ScmpSyscall = SYS_TIMERFD_SETTIME
|
|
||||||
SNR_TIMERFD_GETTIME ScmpSyscall = SYS_TIMERFD_GETTIME
|
|
||||||
SNR_UTIMENSAT ScmpSyscall = SYS_UTIMENSAT
|
|
||||||
SNR_ACCT ScmpSyscall = SYS_ACCT
|
|
||||||
SNR_CAPGET ScmpSyscall = SYS_CAPGET
|
|
||||||
SNR_CAPSET ScmpSyscall = SYS_CAPSET
|
|
||||||
SNR_PERSONALITY ScmpSyscall = SYS_PERSONALITY
|
|
||||||
SNR_EXIT ScmpSyscall = SYS_EXIT
|
|
||||||
SNR_EXIT_GROUP ScmpSyscall = SYS_EXIT_GROUP
|
|
||||||
SNR_WAITID ScmpSyscall = SYS_WAITID
|
|
||||||
SNR_SET_TID_ADDRESS ScmpSyscall = SYS_SET_TID_ADDRESS
|
|
||||||
SNR_UNSHARE ScmpSyscall = SYS_UNSHARE
|
|
||||||
SNR_FUTEX ScmpSyscall = SYS_FUTEX
|
|
||||||
SNR_SET_ROBUST_LIST ScmpSyscall = SYS_SET_ROBUST_LIST
|
|
||||||
SNR_GET_ROBUST_LIST ScmpSyscall = SYS_GET_ROBUST_LIST
|
|
||||||
SNR_NANOSLEEP ScmpSyscall = SYS_NANOSLEEP
|
|
||||||
SNR_GETITIMER ScmpSyscall = SYS_GETITIMER
|
|
||||||
SNR_SETITIMER ScmpSyscall = SYS_SETITIMER
|
|
||||||
SNR_KEXEC_LOAD ScmpSyscall = SYS_KEXEC_LOAD
|
|
||||||
SNR_INIT_MODULE ScmpSyscall = SYS_INIT_MODULE
|
|
||||||
SNR_DELETE_MODULE ScmpSyscall = SYS_DELETE_MODULE
|
|
||||||
SNR_TIMER_CREATE ScmpSyscall = SYS_TIMER_CREATE
|
|
||||||
SNR_TIMER_GETTIME ScmpSyscall = SYS_TIMER_GETTIME
|
|
||||||
SNR_TIMER_GETOVERRUN ScmpSyscall = SYS_TIMER_GETOVERRUN
|
|
||||||
SNR_TIMER_SETTIME ScmpSyscall = SYS_TIMER_SETTIME
|
|
||||||
SNR_TIMER_DELETE ScmpSyscall = SYS_TIMER_DELETE
|
|
||||||
SNR_CLOCK_SETTIME ScmpSyscall = SYS_CLOCK_SETTIME
|
|
||||||
SNR_CLOCK_GETTIME ScmpSyscall = SYS_CLOCK_GETTIME
|
|
||||||
SNR_CLOCK_GETRES ScmpSyscall = SYS_CLOCK_GETRES
|
|
||||||
SNR_CLOCK_NANOSLEEP ScmpSyscall = SYS_CLOCK_NANOSLEEP
|
|
||||||
SNR_SYSLOG ScmpSyscall = SYS_SYSLOG
|
|
||||||
SNR_PTRACE ScmpSyscall = SYS_PTRACE
|
|
||||||
SNR_SCHED_SETPARAM ScmpSyscall = SYS_SCHED_SETPARAM
|
|
||||||
SNR_SCHED_SETSCHEDULER ScmpSyscall = SYS_SCHED_SETSCHEDULER
|
|
||||||
SNR_SCHED_GETSCHEDULER ScmpSyscall = SYS_SCHED_GETSCHEDULER
|
|
||||||
SNR_SCHED_GETPARAM ScmpSyscall = SYS_SCHED_GETPARAM
|
|
||||||
SNR_SCHED_SETAFFINITY ScmpSyscall = SYS_SCHED_SETAFFINITY
|
|
||||||
SNR_SCHED_GETAFFINITY ScmpSyscall = SYS_SCHED_GETAFFINITY
|
|
||||||
SNR_SCHED_YIELD ScmpSyscall = SYS_SCHED_YIELD
|
|
||||||
SNR_SCHED_GET_PRIORITY_MAX ScmpSyscall = SYS_SCHED_GET_PRIORITY_MAX
|
|
||||||
SNR_SCHED_GET_PRIORITY_MIN ScmpSyscall = SYS_SCHED_GET_PRIORITY_MIN
|
|
||||||
SNR_SCHED_RR_GET_INTERVAL ScmpSyscall = SYS_SCHED_RR_GET_INTERVAL
|
|
||||||
SNR_RESTART_SYSCALL ScmpSyscall = SYS_RESTART_SYSCALL
|
|
||||||
SNR_KILL ScmpSyscall = SYS_KILL
|
|
||||||
SNR_TKILL ScmpSyscall = SYS_TKILL
|
|
||||||
SNR_TGKILL ScmpSyscall = SYS_TGKILL
|
|
||||||
SNR_SIGALTSTACK ScmpSyscall = SYS_SIGALTSTACK
|
|
||||||
SNR_RT_SIGSUSPEND ScmpSyscall = SYS_RT_SIGSUSPEND
|
|
||||||
SNR_RT_SIGACTION ScmpSyscall = SYS_RT_SIGACTION
|
|
||||||
SNR_RT_SIGPROCMASK ScmpSyscall = SYS_RT_SIGPROCMASK
|
|
||||||
SNR_RT_SIGPENDING ScmpSyscall = SYS_RT_SIGPENDING
|
|
||||||
SNR_RT_SIGTIMEDWAIT ScmpSyscall = SYS_RT_SIGTIMEDWAIT
|
|
||||||
SNR_RT_SIGQUEUEINFO ScmpSyscall = SYS_RT_SIGQUEUEINFO
|
|
||||||
SNR_RT_SIGRETURN ScmpSyscall = SYS_RT_SIGRETURN
|
|
||||||
SNR_SETPRIORITY ScmpSyscall = SYS_SETPRIORITY
|
|
||||||
SNR_GETPRIORITY ScmpSyscall = SYS_GETPRIORITY
|
|
||||||
SNR_REBOOT ScmpSyscall = SYS_REBOOT
|
|
||||||
SNR_SETREGID ScmpSyscall = SYS_SETREGID
|
|
||||||
SNR_SETGID ScmpSyscall = SYS_SETGID
|
|
||||||
SNR_SETREUID ScmpSyscall = SYS_SETREUID
|
|
||||||
SNR_SETUID ScmpSyscall = SYS_SETUID
|
|
||||||
SNR_SETRESUID ScmpSyscall = SYS_SETRESUID
|
|
||||||
SNR_GETRESUID ScmpSyscall = SYS_GETRESUID
|
|
||||||
SNR_SETRESGID ScmpSyscall = SYS_SETRESGID
|
|
||||||
SNR_GETRESGID ScmpSyscall = SYS_GETRESGID
|
|
||||||
SNR_SETFSUID ScmpSyscall = SYS_SETFSUID
|
|
||||||
SNR_SETFSGID ScmpSyscall = SYS_SETFSGID
|
|
||||||
SNR_TIMES ScmpSyscall = SYS_TIMES
|
|
||||||
SNR_SETPGID ScmpSyscall = SYS_SETPGID
|
|
||||||
SNR_GETPGID ScmpSyscall = SYS_GETPGID
|
|
||||||
SNR_GETSID ScmpSyscall = SYS_GETSID
|
|
||||||
SNR_SETSID ScmpSyscall = SYS_SETSID
|
|
||||||
SNR_GETGROUPS ScmpSyscall = SYS_GETGROUPS
|
|
||||||
SNR_SETGROUPS ScmpSyscall = SYS_SETGROUPS
|
|
||||||
SNR_UNAME ScmpSyscall = SYS_UNAME
|
|
||||||
SNR_SETHOSTNAME ScmpSyscall = SYS_SETHOSTNAME
|
|
||||||
SNR_SETDOMAINNAME ScmpSyscall = SYS_SETDOMAINNAME
|
|
||||||
SNR_GETRLIMIT ScmpSyscall = SYS_GETRLIMIT
|
|
||||||
SNR_SETRLIMIT ScmpSyscall = SYS_SETRLIMIT
|
|
||||||
SNR_GETRUSAGE ScmpSyscall = SYS_GETRUSAGE
|
|
||||||
SNR_UMASK ScmpSyscall = SYS_UMASK
|
|
||||||
SNR_PRCTL ScmpSyscall = SYS_PRCTL
|
|
||||||
SNR_GETCPU ScmpSyscall = SYS_GETCPU
|
|
||||||
SNR_GETTIMEOFDAY ScmpSyscall = SYS_GETTIMEOFDAY
|
|
||||||
SNR_SETTIMEOFDAY ScmpSyscall = SYS_SETTIMEOFDAY
|
|
||||||
SNR_ADJTIMEX ScmpSyscall = SYS_ADJTIMEX
|
|
||||||
SNR_GETPID ScmpSyscall = SYS_GETPID
|
|
||||||
SNR_GETPPID ScmpSyscall = SYS_GETPPID
|
|
||||||
SNR_GETUID ScmpSyscall = SYS_GETUID
|
|
||||||
SNR_GETEUID ScmpSyscall = SYS_GETEUID
|
|
||||||
SNR_GETGID ScmpSyscall = SYS_GETGID
|
|
||||||
SNR_GETEGID ScmpSyscall = SYS_GETEGID
|
|
||||||
SNR_GETTID ScmpSyscall = SYS_GETTID
|
|
||||||
SNR_SYSINFO ScmpSyscall = SYS_SYSINFO
|
|
||||||
SNR_MQ_OPEN ScmpSyscall = SYS_MQ_OPEN
|
|
||||||
SNR_MQ_UNLINK ScmpSyscall = SYS_MQ_UNLINK
|
|
||||||
SNR_MQ_TIMEDSEND ScmpSyscall = SYS_MQ_TIMEDSEND
|
|
||||||
SNR_MQ_TIMEDRECEIVE ScmpSyscall = SYS_MQ_TIMEDRECEIVE
|
|
||||||
SNR_MQ_NOTIFY ScmpSyscall = SYS_MQ_NOTIFY
|
|
||||||
SNR_MQ_GETSETATTR ScmpSyscall = SYS_MQ_GETSETATTR
|
|
||||||
SNR_MSGGET ScmpSyscall = SYS_MSGGET
|
|
||||||
SNR_MSGCTL ScmpSyscall = SYS_MSGCTL
|
|
||||||
SNR_MSGRCV ScmpSyscall = SYS_MSGRCV
|
|
||||||
SNR_MSGSND ScmpSyscall = SYS_MSGSND
|
|
||||||
SNR_SEMGET ScmpSyscall = SYS_SEMGET
|
|
||||||
SNR_SEMCTL ScmpSyscall = SYS_SEMCTL
|
|
||||||
SNR_SEMTIMEDOP ScmpSyscall = SYS_SEMTIMEDOP
|
|
||||||
SNR_SEMOP ScmpSyscall = SYS_SEMOP
|
|
||||||
SNR_SHMGET ScmpSyscall = SYS_SHMGET
|
|
||||||
SNR_SHMCTL ScmpSyscall = SYS_SHMCTL
|
|
||||||
SNR_SHMAT ScmpSyscall = SYS_SHMAT
|
|
||||||
SNR_SHMDT ScmpSyscall = SYS_SHMDT
|
|
||||||
SNR_SOCKET ScmpSyscall = SYS_SOCKET
|
|
||||||
SNR_SOCKETPAIR ScmpSyscall = SYS_SOCKETPAIR
|
|
||||||
SNR_BIND ScmpSyscall = SYS_BIND
|
|
||||||
SNR_LISTEN ScmpSyscall = SYS_LISTEN
|
|
||||||
SNR_ACCEPT ScmpSyscall = SYS_ACCEPT
|
|
||||||
SNR_CONNECT ScmpSyscall = SYS_CONNECT
|
|
||||||
SNR_GETSOCKNAME ScmpSyscall = SYS_GETSOCKNAME
|
|
||||||
SNR_GETPEERNAME ScmpSyscall = SYS_GETPEERNAME
|
|
||||||
SNR_SENDTO ScmpSyscall = SYS_SENDTO
|
|
||||||
SNR_RECVFROM ScmpSyscall = SYS_RECVFROM
|
|
||||||
SNR_SETSOCKOPT ScmpSyscall = SYS_SETSOCKOPT
|
|
||||||
SNR_GETSOCKOPT ScmpSyscall = SYS_GETSOCKOPT
|
|
||||||
SNR_SHUTDOWN ScmpSyscall = SYS_SHUTDOWN
|
|
||||||
SNR_SENDMSG ScmpSyscall = SYS_SENDMSG
|
|
||||||
SNR_RECVMSG ScmpSyscall = SYS_RECVMSG
|
|
||||||
SNR_READAHEAD ScmpSyscall = SYS_READAHEAD
|
|
||||||
SNR_BRK ScmpSyscall = SYS_BRK
|
|
||||||
SNR_MUNMAP ScmpSyscall = SYS_MUNMAP
|
|
||||||
SNR_MREMAP ScmpSyscall = SYS_MREMAP
|
|
||||||
SNR_ADD_KEY ScmpSyscall = SYS_ADD_KEY
|
|
||||||
SNR_REQUEST_KEY ScmpSyscall = SYS_REQUEST_KEY
|
|
||||||
SNR_KEYCTL ScmpSyscall = SYS_KEYCTL
|
|
||||||
SNR_CLONE ScmpSyscall = SYS_CLONE
|
|
||||||
SNR_EXECVE ScmpSyscall = SYS_EXECVE
|
|
||||||
SNR_MMAP ScmpSyscall = SYS_MMAP
|
|
||||||
SNR_FADVISE64 ScmpSyscall = SYS_FADVISE64
|
|
||||||
SNR_SWAPON ScmpSyscall = SYS_SWAPON
|
|
||||||
SNR_SWAPOFF ScmpSyscall = SYS_SWAPOFF
|
|
||||||
SNR_MPROTECT ScmpSyscall = SYS_MPROTECT
|
|
||||||
SNR_MSYNC ScmpSyscall = SYS_MSYNC
|
|
||||||
SNR_MLOCK ScmpSyscall = SYS_MLOCK
|
|
||||||
SNR_MUNLOCK ScmpSyscall = SYS_MUNLOCK
|
|
||||||
SNR_MLOCKALL ScmpSyscall = SYS_MLOCKALL
|
|
||||||
SNR_MUNLOCKALL ScmpSyscall = SYS_MUNLOCKALL
|
|
||||||
SNR_MINCORE ScmpSyscall = SYS_MINCORE
|
|
||||||
SNR_MADVISE ScmpSyscall = SYS_MADVISE
|
|
||||||
SNR_REMAP_FILE_PAGES ScmpSyscall = SYS_REMAP_FILE_PAGES
|
|
||||||
SNR_MBIND ScmpSyscall = SYS_MBIND
|
|
||||||
SNR_GET_MEMPOLICY ScmpSyscall = SYS_GET_MEMPOLICY
|
|
||||||
SNR_SET_MEMPOLICY ScmpSyscall = SYS_SET_MEMPOLICY
|
|
||||||
SNR_MIGRATE_PAGES ScmpSyscall = SYS_MIGRATE_PAGES
|
|
||||||
SNR_MOVE_PAGES ScmpSyscall = SYS_MOVE_PAGES
|
|
||||||
SNR_RT_TGSIGQUEUEINFO ScmpSyscall = SYS_RT_TGSIGQUEUEINFO
|
|
||||||
SNR_PERF_EVENT_OPEN ScmpSyscall = SYS_PERF_EVENT_OPEN
|
|
||||||
SNR_ACCEPT4 ScmpSyscall = SYS_ACCEPT4
|
|
||||||
SNR_RECVMMSG ScmpSyscall = SYS_RECVMMSG
|
|
||||||
SNR_WAIT4 ScmpSyscall = SYS_WAIT4
|
|
||||||
SNR_PRLIMIT64 ScmpSyscall = SYS_PRLIMIT64
|
|
||||||
SNR_FANOTIFY_INIT ScmpSyscall = SYS_FANOTIFY_INIT
|
|
||||||
SNR_FANOTIFY_MARK ScmpSyscall = SYS_FANOTIFY_MARK
|
|
||||||
SNR_NAME_TO_HANDLE_AT ScmpSyscall = SYS_NAME_TO_HANDLE_AT
|
|
||||||
SNR_OPEN_BY_HANDLE_AT ScmpSyscall = SYS_OPEN_BY_HANDLE_AT
|
|
||||||
SNR_CLOCK_ADJTIME ScmpSyscall = SYS_CLOCK_ADJTIME
|
|
||||||
SNR_SYNCFS ScmpSyscall = SYS_SYNCFS
|
|
||||||
SNR_SETNS ScmpSyscall = SYS_SETNS
|
|
||||||
SNR_SENDMMSG ScmpSyscall = SYS_SENDMMSG
|
|
||||||
SNR_PROCESS_VM_READV ScmpSyscall = SYS_PROCESS_VM_READV
|
|
||||||
SNR_PROCESS_VM_WRITEV ScmpSyscall = SYS_PROCESS_VM_WRITEV
|
|
||||||
SNR_KCMP ScmpSyscall = SYS_KCMP
|
|
||||||
SNR_FINIT_MODULE ScmpSyscall = SYS_FINIT_MODULE
|
|
||||||
SNR_SCHED_SETATTR ScmpSyscall = SYS_SCHED_SETATTR
|
|
||||||
SNR_SCHED_GETATTR ScmpSyscall = SYS_SCHED_GETATTR
|
|
||||||
SNR_RENAMEAT2 ScmpSyscall = SYS_RENAMEAT2
|
|
||||||
SNR_SECCOMP ScmpSyscall = SYS_SECCOMP
|
|
||||||
SNR_GETRANDOM ScmpSyscall = SYS_GETRANDOM
|
|
||||||
SNR_MEMFD_CREATE ScmpSyscall = SYS_MEMFD_CREATE
|
|
||||||
SNR_BPF ScmpSyscall = SYS_BPF
|
|
||||||
SNR_EXECVEAT ScmpSyscall = SYS_EXECVEAT
|
|
||||||
SNR_USERFAULTFD ScmpSyscall = SYS_USERFAULTFD
|
|
||||||
SNR_MEMBARRIER ScmpSyscall = SYS_MEMBARRIER
|
|
||||||
SNR_MLOCK2 ScmpSyscall = SYS_MLOCK2
|
|
||||||
SNR_COPY_FILE_RANGE ScmpSyscall = SYS_COPY_FILE_RANGE
|
|
||||||
SNR_PREADV2 ScmpSyscall = SYS_PREADV2
|
|
||||||
SNR_PWRITEV2 ScmpSyscall = SYS_PWRITEV2
|
|
||||||
SNR_PKEY_MPROTECT ScmpSyscall = SYS_PKEY_MPROTECT
|
|
||||||
SNR_PKEY_ALLOC ScmpSyscall = SYS_PKEY_ALLOC
|
|
||||||
SNR_PKEY_FREE ScmpSyscall = SYS_PKEY_FREE
|
|
||||||
SNR_STATX ScmpSyscall = SYS_STATX
|
|
||||||
SNR_IO_PGETEVENTS ScmpSyscall = SYS_IO_PGETEVENTS
|
|
||||||
SNR_RSEQ ScmpSyscall = SYS_RSEQ
|
|
||||||
SNR_KEXEC_FILE_LOAD ScmpSyscall = SYS_KEXEC_FILE_LOAD
|
|
||||||
SNR_PIDFD_SEND_SIGNAL ScmpSyscall = SYS_PIDFD_SEND_SIGNAL
|
|
||||||
SNR_IO_URING_SETUP ScmpSyscall = SYS_IO_URING_SETUP
|
|
||||||
SNR_IO_URING_ENTER ScmpSyscall = SYS_IO_URING_ENTER
|
|
||||||
SNR_IO_URING_REGISTER ScmpSyscall = SYS_IO_URING_REGISTER
|
|
||||||
SNR_OPEN_TREE ScmpSyscall = SYS_OPEN_TREE
|
|
||||||
SNR_MOVE_MOUNT ScmpSyscall = SYS_MOVE_MOUNT
|
|
||||||
SNR_FSOPEN ScmpSyscall = SYS_FSOPEN
|
|
||||||
SNR_FSCONFIG ScmpSyscall = SYS_FSCONFIG
|
|
||||||
SNR_FSMOUNT ScmpSyscall = SYS_FSMOUNT
|
|
||||||
SNR_FSPICK ScmpSyscall = SYS_FSPICK
|
|
||||||
SNR_PIDFD_OPEN ScmpSyscall = SYS_PIDFD_OPEN
|
|
||||||
SNR_CLONE3 ScmpSyscall = SYS_CLONE3
|
|
||||||
SNR_CLOSE_RANGE ScmpSyscall = SYS_CLOSE_RANGE
|
|
||||||
SNR_OPENAT2 ScmpSyscall = SYS_OPENAT2
|
|
||||||
SNR_PIDFD_GETFD ScmpSyscall = SYS_PIDFD_GETFD
|
|
||||||
SNR_FACCESSAT2 ScmpSyscall = SYS_FACCESSAT2
|
|
||||||
SNR_PROCESS_MADVISE ScmpSyscall = SYS_PROCESS_MADVISE
|
|
||||||
SNR_EPOLL_PWAIT2 ScmpSyscall = SYS_EPOLL_PWAIT2
|
|
||||||
SNR_MOUNT_SETATTR ScmpSyscall = SYS_MOUNT_SETATTR
|
|
||||||
SNR_QUOTACTL_FD ScmpSyscall = SYS_QUOTACTL_FD
|
|
||||||
SNR_LANDLOCK_CREATE_RULESET ScmpSyscall = SYS_LANDLOCK_CREATE_RULESET
|
|
||||||
SNR_LANDLOCK_ADD_RULE ScmpSyscall = SYS_LANDLOCK_ADD_RULE
|
|
||||||
SNR_LANDLOCK_RESTRICT_SELF ScmpSyscall = SYS_LANDLOCK_RESTRICT_SELF
|
|
||||||
SNR_MEMFD_SECRET ScmpSyscall = SYS_MEMFD_SECRET
|
|
||||||
SNR_PROCESS_MRELEASE ScmpSyscall = SYS_PROCESS_MRELEASE
|
|
||||||
SNR_FUTEX_WAITV ScmpSyscall = SYS_FUTEX_WAITV
|
|
||||||
SNR_SET_MEMPOLICY_HOME_NODE ScmpSyscall = SYS_SET_MEMPOLICY_HOME_NODE
|
|
||||||
SNR_CACHESTAT ScmpSyscall = SYS_CACHESTAT
|
|
||||||
SNR_FCHMODAT2 ScmpSyscall = SYS_FCHMODAT2
|
|
||||||
SNR_MAP_SHADOW_STACK ScmpSyscall = SYS_MAP_SHADOW_STACK
|
|
||||||
SNR_FUTEX_WAKE ScmpSyscall = SYS_FUTEX_WAKE
|
|
||||||
SNR_FUTEX_WAIT ScmpSyscall = SYS_FUTEX_WAIT
|
|
||||||
SNR_FUTEX_REQUEUE ScmpSyscall = SYS_FUTEX_REQUEUE
|
|
||||||
SNR_STATMOUNT ScmpSyscall = SYS_STATMOUNT
|
|
||||||
SNR_LISTMOUNT ScmpSyscall = SYS_LISTMOUNT
|
|
||||||
SNR_LSM_GET_SELF_ATTR ScmpSyscall = SYS_LSM_GET_SELF_ATTR
|
|
||||||
SNR_LSM_SET_SELF_ATTR ScmpSyscall = SYS_LSM_SET_SELF_ATTR
|
|
||||||
SNR_LSM_LIST_MODULES ScmpSyscall = SYS_LSM_LIST_MODULES
|
|
||||||
SNR_MSEAL ScmpSyscall = SYS_MSEAL
|
|
||||||
)
|
|
||||||
@@ -1,719 +0,0 @@
|
|||||||
// mksysnum_linux.pl /usr/include/riscv64-linux-gnu/asm/unistd.h
|
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
|
||||||
|
|
||||||
package std
|
|
||||||
|
|
||||||
import . "syscall"
|
|
||||||
|
|
||||||
var syscallNum = map[string]ScmpSyscall{
|
|
||||||
"io_setup": SNR_IO_SETUP,
|
|
||||||
"io_destroy": SNR_IO_DESTROY,
|
|
||||||
"io_submit": SNR_IO_SUBMIT,
|
|
||||||
"io_cancel": SNR_IO_CANCEL,
|
|
||||||
"io_getevents": SNR_IO_GETEVENTS,
|
|
||||||
"setxattr": SNR_SETXATTR,
|
|
||||||
"lsetxattr": SNR_LSETXATTR,
|
|
||||||
"fsetxattr": SNR_FSETXATTR,
|
|
||||||
"getxattr": SNR_GETXATTR,
|
|
||||||
"lgetxattr": SNR_LGETXATTR,
|
|
||||||
"fgetxattr": SNR_FGETXATTR,
|
|
||||||
"listxattr": SNR_LISTXATTR,
|
|
||||||
"llistxattr": SNR_LLISTXATTR,
|
|
||||||
"flistxattr": SNR_FLISTXATTR,
|
|
||||||
"removexattr": SNR_REMOVEXATTR,
|
|
||||||
"lremovexattr": SNR_LREMOVEXATTR,
|
|
||||||
"fremovexattr": SNR_FREMOVEXATTR,
|
|
||||||
"getcwd": SNR_GETCWD,
|
|
||||||
"lookup_dcookie": SNR_LOOKUP_DCOOKIE,
|
|
||||||
"eventfd2": SNR_EVENTFD2,
|
|
||||||
"epoll_create1": SNR_EPOLL_CREATE1,
|
|
||||||
"epoll_ctl": SNR_EPOLL_CTL,
|
|
||||||
"epoll_pwait": SNR_EPOLL_PWAIT,
|
|
||||||
"dup": SNR_DUP,
|
|
||||||
"dup3": SNR_DUP3,
|
|
||||||
"fcntl": SNR_FCNTL,
|
|
||||||
"inotify_init1": SNR_INOTIFY_INIT1,
|
|
||||||
"inotify_add_watch": SNR_INOTIFY_ADD_WATCH,
|
|
||||||
"inotify_rm_watch": SNR_INOTIFY_RM_WATCH,
|
|
||||||
"ioctl": SNR_IOCTL,
|
|
||||||
"ioprio_set": SNR_IOPRIO_SET,
|
|
||||||
"ioprio_get": SNR_IOPRIO_GET,
|
|
||||||
"flock": SNR_FLOCK,
|
|
||||||
"mknodat": SNR_MKNODAT,
|
|
||||||
"mkdirat": SNR_MKDIRAT,
|
|
||||||
"unlinkat": SNR_UNLINKAT,
|
|
||||||
"symlinkat": SNR_SYMLINKAT,
|
|
||||||
"linkat": SNR_LINKAT,
|
|
||||||
"umount2": SNR_UMOUNT2,
|
|
||||||
"mount": SNR_MOUNT,
|
|
||||||
"pivot_root": SNR_PIVOT_ROOT,
|
|
||||||
"nfsservctl": SNR_NFSSERVCTL,
|
|
||||||
"statfs": SNR_STATFS,
|
|
||||||
"fstatfs": SNR_FSTATFS,
|
|
||||||
"truncate": SNR_TRUNCATE,
|
|
||||||
"ftruncate": SNR_FTRUNCATE,
|
|
||||||
"fallocate": SNR_FALLOCATE,
|
|
||||||
"faccessat": SNR_FACCESSAT,
|
|
||||||
"chdir": SNR_CHDIR,
|
|
||||||
"fchdir": SNR_FCHDIR,
|
|
||||||
"chroot": SNR_CHROOT,
|
|
||||||
"fchmod": SNR_FCHMOD,
|
|
||||||
"fchmodat": SNR_FCHMODAT,
|
|
||||||
"fchownat": SNR_FCHOWNAT,
|
|
||||||
"fchown": SNR_FCHOWN,
|
|
||||||
"openat": SNR_OPENAT,
|
|
||||||
"close": SNR_CLOSE,
|
|
||||||
"vhangup": SNR_VHANGUP,
|
|
||||||
"pipe2": SNR_PIPE2,
|
|
||||||
"quotactl": SNR_QUOTACTL,
|
|
||||||
"getdents64": SNR_GETDENTS64,
|
|
||||||
"lseek": SNR_LSEEK,
|
|
||||||
"read": SNR_READ,
|
|
||||||
"write": SNR_WRITE,
|
|
||||||
"readv": SNR_READV,
|
|
||||||
"writev": SNR_WRITEV,
|
|
||||||
"pread64": SNR_PREAD64,
|
|
||||||
"pwrite64": SNR_PWRITE64,
|
|
||||||
"preadv": SNR_PREADV,
|
|
||||||
"pwritev": SNR_PWRITEV,
|
|
||||||
"sendfile": SNR_SENDFILE,
|
|
||||||
"pselect6": SNR_PSELECT6,
|
|
||||||
"ppoll": SNR_PPOLL,
|
|
||||||
"signalfd4": SNR_SIGNALFD4,
|
|
||||||
"vmsplice": SNR_VMSPLICE,
|
|
||||||
"splice": SNR_SPLICE,
|
|
||||||
"tee": SNR_TEE,
|
|
||||||
"readlinkat": SNR_READLINKAT,
|
|
||||||
"newfstatat": SNR_NEWFSTATAT,
|
|
||||||
"fstat": SNR_FSTAT,
|
|
||||||
"sync": SNR_SYNC,
|
|
||||||
"fsync": SNR_FSYNC,
|
|
||||||
"fdatasync": SNR_FDATASYNC,
|
|
||||||
"sync_file_range": SNR_SYNC_FILE_RANGE,
|
|
||||||
"timerfd_create": SNR_TIMERFD_CREATE,
|
|
||||||
"timerfd_settime": SNR_TIMERFD_SETTIME,
|
|
||||||
"timerfd_gettime": SNR_TIMERFD_GETTIME,
|
|
||||||
"utimensat": SNR_UTIMENSAT,
|
|
||||||
"acct": SNR_ACCT,
|
|
||||||
"capget": SNR_CAPGET,
|
|
||||||
"capset": SNR_CAPSET,
|
|
||||||
"personality": SNR_PERSONALITY,
|
|
||||||
"exit": SNR_EXIT,
|
|
||||||
"exit_group": SNR_EXIT_GROUP,
|
|
||||||
"waitid": SNR_WAITID,
|
|
||||||
"set_tid_address": SNR_SET_TID_ADDRESS,
|
|
||||||
"unshare": SNR_UNSHARE,
|
|
||||||
"futex": SNR_FUTEX,
|
|
||||||
"set_robust_list": SNR_SET_ROBUST_LIST,
|
|
||||||
"get_robust_list": SNR_GET_ROBUST_LIST,
|
|
||||||
"nanosleep": SNR_NANOSLEEP,
|
|
||||||
"getitimer": SNR_GETITIMER,
|
|
||||||
"setitimer": SNR_SETITIMER,
|
|
||||||
"kexec_load": SNR_KEXEC_LOAD,
|
|
||||||
"init_module": SNR_INIT_MODULE,
|
|
||||||
"delete_module": SNR_DELETE_MODULE,
|
|
||||||
"timer_create": SNR_TIMER_CREATE,
|
|
||||||
"timer_gettime": SNR_TIMER_GETTIME,
|
|
||||||
"timer_getoverrun": SNR_TIMER_GETOVERRUN,
|
|
||||||
"timer_settime": SNR_TIMER_SETTIME,
|
|
||||||
"timer_delete": SNR_TIMER_DELETE,
|
|
||||||
"clock_settime": SNR_CLOCK_SETTIME,
|
|
||||||
"clock_gettime": SNR_CLOCK_GETTIME,
|
|
||||||
"clock_getres": SNR_CLOCK_GETRES,
|
|
||||||
"clock_nanosleep": SNR_CLOCK_NANOSLEEP,
|
|
||||||
"syslog": SNR_SYSLOG,
|
|
||||||
"ptrace": SNR_PTRACE,
|
|
||||||
"sched_setparam": SNR_SCHED_SETPARAM,
|
|
||||||
"sched_setscheduler": SNR_SCHED_SETSCHEDULER,
|
|
||||||
"sched_getscheduler": SNR_SCHED_GETSCHEDULER,
|
|
||||||
"sched_getparam": SNR_SCHED_GETPARAM,
|
|
||||||
"sched_setaffinity": SNR_SCHED_SETAFFINITY,
|
|
||||||
"sched_getaffinity": SNR_SCHED_GETAFFINITY,
|
|
||||||
"sched_yield": SNR_SCHED_YIELD,
|
|
||||||
"sched_get_priority_max": SNR_SCHED_GET_PRIORITY_MAX,
|
|
||||||
"sched_get_priority_min": SNR_SCHED_GET_PRIORITY_MIN,
|
|
||||||
"sched_rr_get_interval": SNR_SCHED_RR_GET_INTERVAL,
|
|
||||||
"restart_syscall": SNR_RESTART_SYSCALL,
|
|
||||||
"kill": SNR_KILL,
|
|
||||||
"tkill": SNR_TKILL,
|
|
||||||
"tgkill": SNR_TGKILL,
|
|
||||||
"sigaltstack": SNR_SIGALTSTACK,
|
|
||||||
"rt_sigsuspend": SNR_RT_SIGSUSPEND,
|
|
||||||
"rt_sigaction": SNR_RT_SIGACTION,
|
|
||||||
"rt_sigprocmask": SNR_RT_SIGPROCMASK,
|
|
||||||
"rt_sigpending": SNR_RT_SIGPENDING,
|
|
||||||
"rt_sigtimedwait": SNR_RT_SIGTIMEDWAIT,
|
|
||||||
"rt_sigqueueinfo": SNR_RT_SIGQUEUEINFO,
|
|
||||||
"rt_sigreturn": SNR_RT_SIGRETURN,
|
|
||||||
"setpriority": SNR_SETPRIORITY,
|
|
||||||
"getpriority": SNR_GETPRIORITY,
|
|
||||||
"reboot": SNR_REBOOT,
|
|
||||||
"setregid": SNR_SETREGID,
|
|
||||||
"setgid": SNR_SETGID,
|
|
||||||
"setreuid": SNR_SETREUID,
|
|
||||||
"setuid": SNR_SETUID,
|
|
||||||
"setresuid": SNR_SETRESUID,
|
|
||||||
"getresuid": SNR_GETRESUID,
|
|
||||||
"setresgid": SNR_SETRESGID,
|
|
||||||
"getresgid": SNR_GETRESGID,
|
|
||||||
"setfsuid": SNR_SETFSUID,
|
|
||||||
"setfsgid": SNR_SETFSGID,
|
|
||||||
"times": SNR_TIMES,
|
|
||||||
"setpgid": SNR_SETPGID,
|
|
||||||
"getpgid": SNR_GETPGID,
|
|
||||||
"getsid": SNR_GETSID,
|
|
||||||
"setsid": SNR_SETSID,
|
|
||||||
"getgroups": SNR_GETGROUPS,
|
|
||||||
"setgroups": SNR_SETGROUPS,
|
|
||||||
"uname": SNR_UNAME,
|
|
||||||
"sethostname": SNR_SETHOSTNAME,
|
|
||||||
"setdomainname": SNR_SETDOMAINNAME,
|
|
||||||
"getrlimit": SNR_GETRLIMIT,
|
|
||||||
"setrlimit": SNR_SETRLIMIT,
|
|
||||||
"getrusage": SNR_GETRUSAGE,
|
|
||||||
"umask": SNR_UMASK,
|
|
||||||
"prctl": SNR_PRCTL,
|
|
||||||
"getcpu": SNR_GETCPU,
|
|
||||||
"gettimeofday": SNR_GETTIMEOFDAY,
|
|
||||||
"settimeofday": SNR_SETTIMEOFDAY,
|
|
||||||
"adjtimex": SNR_ADJTIMEX,
|
|
||||||
"getpid": SNR_GETPID,
|
|
||||||
"getppid": SNR_GETPPID,
|
|
||||||
"getuid": SNR_GETUID,
|
|
||||||
"geteuid": SNR_GETEUID,
|
|
||||||
"getgid": SNR_GETGID,
|
|
||||||
"getegid": SNR_GETEGID,
|
|
||||||
"gettid": SNR_GETTID,
|
|
||||||
"sysinfo": SNR_SYSINFO,
|
|
||||||
"mq_open": SNR_MQ_OPEN,
|
|
||||||
"mq_unlink": SNR_MQ_UNLINK,
|
|
||||||
"mq_timedsend": SNR_MQ_TIMEDSEND,
|
|
||||||
"mq_timedreceive": SNR_MQ_TIMEDRECEIVE,
|
|
||||||
"mq_notify": SNR_MQ_NOTIFY,
|
|
||||||
"mq_getsetattr": SNR_MQ_GETSETATTR,
|
|
||||||
"msgget": SNR_MSGGET,
|
|
||||||
"msgctl": SNR_MSGCTL,
|
|
||||||
"msgrcv": SNR_MSGRCV,
|
|
||||||
"msgsnd": SNR_MSGSND,
|
|
||||||
"semget": SNR_SEMGET,
|
|
||||||
"semctl": SNR_SEMCTL,
|
|
||||||
"semtimedop": SNR_SEMTIMEDOP,
|
|
||||||
"semop": SNR_SEMOP,
|
|
||||||
"shmget": SNR_SHMGET,
|
|
||||||
"shmctl": SNR_SHMCTL,
|
|
||||||
"shmat": SNR_SHMAT,
|
|
||||||
"shmdt": SNR_SHMDT,
|
|
||||||
"socket": SNR_SOCKET,
|
|
||||||
"socketpair": SNR_SOCKETPAIR,
|
|
||||||
"bind": SNR_BIND,
|
|
||||||
"listen": SNR_LISTEN,
|
|
||||||
"accept": SNR_ACCEPT,
|
|
||||||
"connect": SNR_CONNECT,
|
|
||||||
"getsockname": SNR_GETSOCKNAME,
|
|
||||||
"getpeername": SNR_GETPEERNAME,
|
|
||||||
"sendto": SNR_SENDTO,
|
|
||||||
"recvfrom": SNR_RECVFROM,
|
|
||||||
"setsockopt": SNR_SETSOCKOPT,
|
|
||||||
"getsockopt": SNR_GETSOCKOPT,
|
|
||||||
"shutdown": SNR_SHUTDOWN,
|
|
||||||
"sendmsg": SNR_SENDMSG,
|
|
||||||
"recvmsg": SNR_RECVMSG,
|
|
||||||
"readahead": SNR_READAHEAD,
|
|
||||||
"brk": SNR_BRK,
|
|
||||||
"munmap": SNR_MUNMAP,
|
|
||||||
"mremap": SNR_MREMAP,
|
|
||||||
"add_key": SNR_ADD_KEY,
|
|
||||||
"request_key": SNR_REQUEST_KEY,
|
|
||||||
"keyctl": SNR_KEYCTL,
|
|
||||||
"clone": SNR_CLONE,
|
|
||||||
"execve": SNR_EXECVE,
|
|
||||||
"mmap": SNR_MMAP,
|
|
||||||
"fadvise64": SNR_FADVISE64,
|
|
||||||
"swapon": SNR_SWAPON,
|
|
||||||
"swapoff": SNR_SWAPOFF,
|
|
||||||
"mprotect": SNR_MPROTECT,
|
|
||||||
"msync": SNR_MSYNC,
|
|
||||||
"mlock": SNR_MLOCK,
|
|
||||||
"munlock": SNR_MUNLOCK,
|
|
||||||
"mlockall": SNR_MLOCKALL,
|
|
||||||
"munlockall": SNR_MUNLOCKALL,
|
|
||||||
"mincore": SNR_MINCORE,
|
|
||||||
"madvise": SNR_MADVISE,
|
|
||||||
"remap_file_pages": SNR_REMAP_FILE_PAGES,
|
|
||||||
"mbind": SNR_MBIND,
|
|
||||||
"get_mempolicy": SNR_GET_MEMPOLICY,
|
|
||||||
"set_mempolicy": SNR_SET_MEMPOLICY,
|
|
||||||
"migrate_pages": SNR_MIGRATE_PAGES,
|
|
||||||
"move_pages": SNR_MOVE_PAGES,
|
|
||||||
"rt_tgsigqueueinfo": SNR_RT_TGSIGQUEUEINFO,
|
|
||||||
"perf_event_open": SNR_PERF_EVENT_OPEN,
|
|
||||||
"accept4": SNR_ACCEPT4,
|
|
||||||
"recvmmsg": SNR_RECVMMSG,
|
|
||||||
"wait4": SNR_WAIT4,
|
|
||||||
"prlimit64": SNR_PRLIMIT64,
|
|
||||||
"fanotify_init": SNR_FANOTIFY_INIT,
|
|
||||||
"fanotify_mark": SNR_FANOTIFY_MARK,
|
|
||||||
"name_to_handle_at": SNR_NAME_TO_HANDLE_AT,
|
|
||||||
"open_by_handle_at": SNR_OPEN_BY_HANDLE_AT,
|
|
||||||
"clock_adjtime": SNR_CLOCK_ADJTIME,
|
|
||||||
"syncfs": SNR_SYNCFS,
|
|
||||||
"setns": SNR_SETNS,
|
|
||||||
"sendmmsg": SNR_SENDMMSG,
|
|
||||||
"process_vm_readv": SNR_PROCESS_VM_READV,
|
|
||||||
"process_vm_writev": SNR_PROCESS_VM_WRITEV,
|
|
||||||
"kcmp": SNR_KCMP,
|
|
||||||
"finit_module": SNR_FINIT_MODULE,
|
|
||||||
"sched_setattr": SNR_SCHED_SETATTR,
|
|
||||||
"sched_getattr": SNR_SCHED_GETATTR,
|
|
||||||
"renameat2": SNR_RENAMEAT2,
|
|
||||||
"seccomp": SNR_SECCOMP,
|
|
||||||
"getrandom": SNR_GETRANDOM,
|
|
||||||
"memfd_create": SNR_MEMFD_CREATE,
|
|
||||||
"bpf": SNR_BPF,
|
|
||||||
"execveat": SNR_EXECVEAT,
|
|
||||||
"userfaultfd": SNR_USERFAULTFD,
|
|
||||||
"membarrier": SNR_MEMBARRIER,
|
|
||||||
"mlock2": SNR_MLOCK2,
|
|
||||||
"copy_file_range": SNR_COPY_FILE_RANGE,
|
|
||||||
"preadv2": SNR_PREADV2,
|
|
||||||
"pwritev2": SNR_PWRITEV2,
|
|
||||||
"pkey_mprotect": SNR_PKEY_MPROTECT,
|
|
||||||
"pkey_alloc": SNR_PKEY_ALLOC,
|
|
||||||
"pkey_free": SNR_PKEY_FREE,
|
|
||||||
"statx": SNR_STATX,
|
|
||||||
"io_pgetevents": SNR_IO_PGETEVENTS,
|
|
||||||
"rseq": SNR_RSEQ,
|
|
||||||
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
|
||||||
"pidfd_send_signal": SNR_PIDFD_SEND_SIGNAL,
|
|
||||||
"io_uring_setup": SNR_IO_URING_SETUP,
|
|
||||||
"io_uring_enter": SNR_IO_URING_ENTER,
|
|
||||||
"io_uring_register": SNR_IO_URING_REGISTER,
|
|
||||||
"open_tree": SNR_OPEN_TREE,
|
|
||||||
"move_mount": SNR_MOVE_MOUNT,
|
|
||||||
"fsopen": SNR_FSOPEN,
|
|
||||||
"fsconfig": SNR_FSCONFIG,
|
|
||||||
"fsmount": SNR_FSMOUNT,
|
|
||||||
"fspick": SNR_FSPICK,
|
|
||||||
"pidfd_open": SNR_PIDFD_OPEN,
|
|
||||||
"clone3": SNR_CLONE3,
|
|
||||||
"close_range": SNR_CLOSE_RANGE,
|
|
||||||
"openat2": SNR_OPENAT2,
|
|
||||||
"pidfd_getfd": SNR_PIDFD_GETFD,
|
|
||||||
"faccessat2": SNR_FACCESSAT2,
|
|
||||||
"process_madvise": SNR_PROCESS_MADVISE,
|
|
||||||
"epoll_pwait2": SNR_EPOLL_PWAIT2,
|
|
||||||
"mount_setattr": SNR_MOUNT_SETATTR,
|
|
||||||
"quotactl_fd": SNR_QUOTACTL_FD,
|
|
||||||
"landlock_create_ruleset": SNR_LANDLOCK_CREATE_RULESET,
|
|
||||||
"landlock_add_rule": SNR_LANDLOCK_ADD_RULE,
|
|
||||||
"landlock_restrict_self": SNR_LANDLOCK_RESTRICT_SELF,
|
|
||||||
"memfd_secret": SNR_MEMFD_SECRET,
|
|
||||||
"process_mrelease": SNR_PROCESS_MRELEASE,
|
|
||||||
"futex_waitv": SNR_FUTEX_WAITV,
|
|
||||||
"set_mempolicy_home_node": SNR_SET_MEMPOLICY_HOME_NODE,
|
|
||||||
"cachestat": SNR_CACHESTAT,
|
|
||||||
"fchmodat2": SNR_FCHMODAT2,
|
|
||||||
"map_shadow_stack": SNR_MAP_SHADOW_STACK,
|
|
||||||
"futex_wake": SNR_FUTEX_WAKE,
|
|
||||||
"futex_wait": SNR_FUTEX_WAIT,
|
|
||||||
"futex_requeue": SNR_FUTEX_REQUEUE,
|
|
||||||
"statmount": SNR_STATMOUNT,
|
|
||||||
"listmount": SNR_LISTMOUNT,
|
|
||||||
"lsm_get_self_attr": SNR_LSM_GET_SELF_ATTR,
|
|
||||||
"lsm_set_self_attr": SNR_LSM_SET_SELF_ATTR,
|
|
||||||
"lsm_list_modules": SNR_LSM_LIST_MODULES,
|
|
||||||
"mseal": SNR_MSEAL,
|
|
||||||
"setxattrat": SNR_SETXATTRAT,
|
|
||||||
"getxattrat": SNR_GETXATTRAT,
|
|
||||||
"listxattrat": SNR_LISTXATTRAT,
|
|
||||||
"removexattrat": SNR_REMOVEXATTRAT,
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
SYS_USERFAULTFD = 282
|
|
||||||
SYS_MEMBARRIER = 283
|
|
||||||
SYS_MLOCK2 = 284
|
|
||||||
SYS_COPY_FILE_RANGE = 285
|
|
||||||
SYS_PREADV2 = 286
|
|
||||||
SYS_PWRITEV2 = 287
|
|
||||||
SYS_PKEY_MPROTECT = 288
|
|
||||||
SYS_PKEY_ALLOC = 289
|
|
||||||
SYS_PKEY_FREE = 290
|
|
||||||
SYS_STATX = 291
|
|
||||||
SYS_IO_PGETEVENTS = 292
|
|
||||||
SYS_RSEQ = 293
|
|
||||||
SYS_KEXEC_FILE_LOAD = 294
|
|
||||||
SYS_PIDFD_SEND_SIGNAL = 424
|
|
||||||
SYS_IO_URING_SETUP = 425
|
|
||||||
SYS_IO_URING_ENTER = 426
|
|
||||||
SYS_IO_URING_REGISTER = 427
|
|
||||||
SYS_OPEN_TREE = 428
|
|
||||||
SYS_MOVE_MOUNT = 429
|
|
||||||
SYS_FSOPEN = 430
|
|
||||||
SYS_FSCONFIG = 431
|
|
||||||
SYS_FSMOUNT = 432
|
|
||||||
SYS_FSPICK = 433
|
|
||||||
SYS_PIDFD_OPEN = 434
|
|
||||||
SYS_CLONE3 = 435
|
|
||||||
SYS_CLOSE_RANGE = 436
|
|
||||||
SYS_OPENAT2 = 437
|
|
||||||
SYS_PIDFD_GETFD = 438
|
|
||||||
SYS_FACCESSAT2 = 439
|
|
||||||
SYS_PROCESS_MADVISE = 440
|
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
|
||||||
SYS_MOUNT_SETATTR = 442
|
|
||||||
SYS_QUOTACTL_FD = 443
|
|
||||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
|
||||||
SYS_LANDLOCK_ADD_RULE = 445
|
|
||||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
|
||||||
SYS_MEMFD_SECRET = 447
|
|
||||||
SYS_PROCESS_MRELEASE = 448
|
|
||||||
SYS_FUTEX_WAITV = 449
|
|
||||||
SYS_SET_MEMPOLICY_HOME_NODE = 450
|
|
||||||
SYS_CACHESTAT = 451
|
|
||||||
SYS_FCHMODAT2 = 452
|
|
||||||
SYS_MAP_SHADOW_STACK = 453
|
|
||||||
SYS_FUTEX_WAKE = 454
|
|
||||||
SYS_FUTEX_WAIT = 455
|
|
||||||
SYS_FUTEX_REQUEUE = 456
|
|
||||||
SYS_STATMOUNT = 457
|
|
||||||
SYS_LISTMOUNT = 458
|
|
||||||
SYS_LSM_GET_SELF_ATTR = 459
|
|
||||||
SYS_LSM_SET_SELF_ATTR = 460
|
|
||||||
SYS_LSM_LIST_MODULES = 461
|
|
||||||
SYS_MSEAL = 462
|
|
||||||
SYS_SETXATTRAT = 463
|
|
||||||
SYS_GETXATTRAT = 464
|
|
||||||
SYS_LISTXATTRAT = 465
|
|
||||||
SYS_REMOVEXATTRAT = 466
|
|
||||||
SYS_OPEN_TREE_ATTR = 467
|
|
||||||
SYS_FILE_GETATTR = 468
|
|
||||||
SYS_FILE_SETATTR = 469
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
SNR_IO_SETUP ScmpSyscall = SYS_IO_SETUP
|
|
||||||
SNR_IO_DESTROY ScmpSyscall = SYS_IO_DESTROY
|
|
||||||
SNR_IO_SUBMIT ScmpSyscall = SYS_IO_SUBMIT
|
|
||||||
SNR_IO_CANCEL ScmpSyscall = SYS_IO_CANCEL
|
|
||||||
SNR_IO_GETEVENTS ScmpSyscall = SYS_IO_GETEVENTS
|
|
||||||
SNR_SETXATTR ScmpSyscall = SYS_SETXATTR
|
|
||||||
SNR_LSETXATTR ScmpSyscall = SYS_LSETXATTR
|
|
||||||
SNR_FSETXATTR ScmpSyscall = SYS_FSETXATTR
|
|
||||||
SNR_GETXATTR ScmpSyscall = SYS_GETXATTR
|
|
||||||
SNR_LGETXATTR ScmpSyscall = SYS_LGETXATTR
|
|
||||||
SNR_FGETXATTR ScmpSyscall = SYS_FGETXATTR
|
|
||||||
SNR_LISTXATTR ScmpSyscall = SYS_LISTXATTR
|
|
||||||
SNR_LLISTXATTR ScmpSyscall = SYS_LLISTXATTR
|
|
||||||
SNR_FLISTXATTR ScmpSyscall = SYS_FLISTXATTR
|
|
||||||
SNR_REMOVEXATTR ScmpSyscall = SYS_REMOVEXATTR
|
|
||||||
SNR_LREMOVEXATTR ScmpSyscall = SYS_LREMOVEXATTR
|
|
||||||
SNR_FREMOVEXATTR ScmpSyscall = SYS_FREMOVEXATTR
|
|
||||||
SNR_GETCWD ScmpSyscall = SYS_GETCWD
|
|
||||||
SNR_LOOKUP_DCOOKIE ScmpSyscall = SYS_LOOKUP_DCOOKIE
|
|
||||||
SNR_EVENTFD2 ScmpSyscall = SYS_EVENTFD2
|
|
||||||
SNR_EPOLL_CREATE1 ScmpSyscall = SYS_EPOLL_CREATE1
|
|
||||||
SNR_EPOLL_CTL ScmpSyscall = SYS_EPOLL_CTL
|
|
||||||
SNR_EPOLL_PWAIT ScmpSyscall = SYS_EPOLL_PWAIT
|
|
||||||
SNR_DUP ScmpSyscall = SYS_DUP
|
|
||||||
SNR_DUP3 ScmpSyscall = SYS_DUP3
|
|
||||||
SNR_FCNTL ScmpSyscall = SYS_FCNTL
|
|
||||||
SNR_INOTIFY_INIT1 ScmpSyscall = SYS_INOTIFY_INIT1
|
|
||||||
SNR_INOTIFY_ADD_WATCH ScmpSyscall = SYS_INOTIFY_ADD_WATCH
|
|
||||||
SNR_INOTIFY_RM_WATCH ScmpSyscall = SYS_INOTIFY_RM_WATCH
|
|
||||||
SNR_IOCTL ScmpSyscall = SYS_IOCTL
|
|
||||||
SNR_IOPRIO_SET ScmpSyscall = SYS_IOPRIO_SET
|
|
||||||
SNR_IOPRIO_GET ScmpSyscall = SYS_IOPRIO_GET
|
|
||||||
SNR_FLOCK ScmpSyscall = SYS_FLOCK
|
|
||||||
SNR_MKNODAT ScmpSyscall = SYS_MKNODAT
|
|
||||||
SNR_MKDIRAT ScmpSyscall = SYS_MKDIRAT
|
|
||||||
SNR_UNLINKAT ScmpSyscall = SYS_UNLINKAT
|
|
||||||
SNR_SYMLINKAT ScmpSyscall = SYS_SYMLINKAT
|
|
||||||
SNR_LINKAT ScmpSyscall = SYS_LINKAT
|
|
||||||
SNR_UMOUNT2 ScmpSyscall = SYS_UMOUNT2
|
|
||||||
SNR_MOUNT ScmpSyscall = SYS_MOUNT
|
|
||||||
SNR_PIVOT_ROOT ScmpSyscall = SYS_PIVOT_ROOT
|
|
||||||
SNR_NFSSERVCTL ScmpSyscall = SYS_NFSSERVCTL
|
|
||||||
SNR_STATFS ScmpSyscall = SYS_STATFS
|
|
||||||
SNR_FSTATFS ScmpSyscall = SYS_FSTATFS
|
|
||||||
SNR_TRUNCATE ScmpSyscall = SYS_TRUNCATE
|
|
||||||
SNR_FTRUNCATE ScmpSyscall = SYS_FTRUNCATE
|
|
||||||
SNR_FALLOCATE ScmpSyscall = SYS_FALLOCATE
|
|
||||||
SNR_FACCESSAT ScmpSyscall = SYS_FACCESSAT
|
|
||||||
SNR_CHDIR ScmpSyscall = SYS_CHDIR
|
|
||||||
SNR_FCHDIR ScmpSyscall = SYS_FCHDIR
|
|
||||||
SNR_CHROOT ScmpSyscall = SYS_CHROOT
|
|
||||||
SNR_FCHMOD ScmpSyscall = SYS_FCHMOD
|
|
||||||
SNR_FCHMODAT ScmpSyscall = SYS_FCHMODAT
|
|
||||||
SNR_FCHOWNAT ScmpSyscall = SYS_FCHOWNAT
|
|
||||||
SNR_FCHOWN ScmpSyscall = SYS_FCHOWN
|
|
||||||
SNR_OPENAT ScmpSyscall = SYS_OPENAT
|
|
||||||
SNR_CLOSE ScmpSyscall = SYS_CLOSE
|
|
||||||
SNR_VHANGUP ScmpSyscall = SYS_VHANGUP
|
|
||||||
SNR_PIPE2 ScmpSyscall = SYS_PIPE2
|
|
||||||
SNR_QUOTACTL ScmpSyscall = SYS_QUOTACTL
|
|
||||||
SNR_GETDENTS64 ScmpSyscall = SYS_GETDENTS64
|
|
||||||
SNR_LSEEK ScmpSyscall = SYS_LSEEK
|
|
||||||
SNR_READ ScmpSyscall = SYS_READ
|
|
||||||
SNR_WRITE ScmpSyscall = SYS_WRITE
|
|
||||||
SNR_READV ScmpSyscall = SYS_READV
|
|
||||||
SNR_WRITEV ScmpSyscall = SYS_WRITEV
|
|
||||||
SNR_PREAD64 ScmpSyscall = SYS_PREAD64
|
|
||||||
SNR_PWRITE64 ScmpSyscall = SYS_PWRITE64
|
|
||||||
SNR_PREADV ScmpSyscall = SYS_PREADV
|
|
||||||
SNR_PWRITEV ScmpSyscall = SYS_PWRITEV
|
|
||||||
SNR_SENDFILE ScmpSyscall = SYS_SENDFILE
|
|
||||||
SNR_PSELECT6 ScmpSyscall = SYS_PSELECT6
|
|
||||||
SNR_PPOLL ScmpSyscall = SYS_PPOLL
|
|
||||||
SNR_SIGNALFD4 ScmpSyscall = SYS_SIGNALFD4
|
|
||||||
SNR_VMSPLICE ScmpSyscall = SYS_VMSPLICE
|
|
||||||
SNR_SPLICE ScmpSyscall = SYS_SPLICE
|
|
||||||
SNR_TEE ScmpSyscall = SYS_TEE
|
|
||||||
SNR_READLINKAT ScmpSyscall = SYS_READLINKAT
|
|
||||||
SNR_NEWFSTATAT ScmpSyscall = SYS_NEWFSTATAT
|
|
||||||
SNR_FSTAT ScmpSyscall = SYS_FSTAT
|
|
||||||
SNR_SYNC ScmpSyscall = SYS_SYNC
|
|
||||||
SNR_FSYNC ScmpSyscall = SYS_FSYNC
|
|
||||||
SNR_FDATASYNC ScmpSyscall = SYS_FDATASYNC
|
|
||||||
SNR_SYNC_FILE_RANGE ScmpSyscall = SYS_SYNC_FILE_RANGE
|
|
||||||
SNR_TIMERFD_CREATE ScmpSyscall = SYS_TIMERFD_CREATE
|
|
||||||
SNR_TIMERFD_SETTIME ScmpSyscall = SYS_TIMERFD_SETTIME
|
|
||||||
SNR_TIMERFD_GETTIME ScmpSyscall = SYS_TIMERFD_GETTIME
|
|
||||||
SNR_UTIMENSAT ScmpSyscall = SYS_UTIMENSAT
|
|
||||||
SNR_ACCT ScmpSyscall = SYS_ACCT
|
|
||||||
SNR_CAPGET ScmpSyscall = SYS_CAPGET
|
|
||||||
SNR_CAPSET ScmpSyscall = SYS_CAPSET
|
|
||||||
SNR_PERSONALITY ScmpSyscall = SYS_PERSONALITY
|
|
||||||
SNR_EXIT ScmpSyscall = SYS_EXIT
|
|
||||||
SNR_EXIT_GROUP ScmpSyscall = SYS_EXIT_GROUP
|
|
||||||
SNR_WAITID ScmpSyscall = SYS_WAITID
|
|
||||||
SNR_SET_TID_ADDRESS ScmpSyscall = SYS_SET_TID_ADDRESS
|
|
||||||
SNR_UNSHARE ScmpSyscall = SYS_UNSHARE
|
|
||||||
SNR_FUTEX ScmpSyscall = SYS_FUTEX
|
|
||||||
SNR_SET_ROBUST_LIST ScmpSyscall = SYS_SET_ROBUST_LIST
|
|
||||||
SNR_GET_ROBUST_LIST ScmpSyscall = SYS_GET_ROBUST_LIST
|
|
||||||
SNR_NANOSLEEP ScmpSyscall = SYS_NANOSLEEP
|
|
||||||
SNR_GETITIMER ScmpSyscall = SYS_GETITIMER
|
|
||||||
SNR_SETITIMER ScmpSyscall = SYS_SETITIMER
|
|
||||||
SNR_KEXEC_LOAD ScmpSyscall = SYS_KEXEC_LOAD
|
|
||||||
SNR_INIT_MODULE ScmpSyscall = SYS_INIT_MODULE
|
|
||||||
SNR_DELETE_MODULE ScmpSyscall = SYS_DELETE_MODULE
|
|
||||||
SNR_TIMER_CREATE ScmpSyscall = SYS_TIMER_CREATE
|
|
||||||
SNR_TIMER_GETTIME ScmpSyscall = SYS_TIMER_GETTIME
|
|
||||||
SNR_TIMER_GETOVERRUN ScmpSyscall = SYS_TIMER_GETOVERRUN
|
|
||||||
SNR_TIMER_SETTIME ScmpSyscall = SYS_TIMER_SETTIME
|
|
||||||
SNR_TIMER_DELETE ScmpSyscall = SYS_TIMER_DELETE
|
|
||||||
SNR_CLOCK_SETTIME ScmpSyscall = SYS_CLOCK_SETTIME
|
|
||||||
SNR_CLOCK_GETTIME ScmpSyscall = SYS_CLOCK_GETTIME
|
|
||||||
SNR_CLOCK_GETRES ScmpSyscall = SYS_CLOCK_GETRES
|
|
||||||
SNR_CLOCK_NANOSLEEP ScmpSyscall = SYS_CLOCK_NANOSLEEP
|
|
||||||
SNR_SYSLOG ScmpSyscall = SYS_SYSLOG
|
|
||||||
SNR_PTRACE ScmpSyscall = SYS_PTRACE
|
|
||||||
SNR_SCHED_SETPARAM ScmpSyscall = SYS_SCHED_SETPARAM
|
|
||||||
SNR_SCHED_SETSCHEDULER ScmpSyscall = SYS_SCHED_SETSCHEDULER
|
|
||||||
SNR_SCHED_GETSCHEDULER ScmpSyscall = SYS_SCHED_GETSCHEDULER
|
|
||||||
SNR_SCHED_GETPARAM ScmpSyscall = SYS_SCHED_GETPARAM
|
|
||||||
SNR_SCHED_SETAFFINITY ScmpSyscall = SYS_SCHED_SETAFFINITY
|
|
||||||
SNR_SCHED_GETAFFINITY ScmpSyscall = SYS_SCHED_GETAFFINITY
|
|
||||||
SNR_SCHED_YIELD ScmpSyscall = SYS_SCHED_YIELD
|
|
||||||
SNR_SCHED_GET_PRIORITY_MAX ScmpSyscall = SYS_SCHED_GET_PRIORITY_MAX
|
|
||||||
SNR_SCHED_GET_PRIORITY_MIN ScmpSyscall = SYS_SCHED_GET_PRIORITY_MIN
|
|
||||||
SNR_SCHED_RR_GET_INTERVAL ScmpSyscall = SYS_SCHED_RR_GET_INTERVAL
|
|
||||||
SNR_RESTART_SYSCALL ScmpSyscall = SYS_RESTART_SYSCALL
|
|
||||||
SNR_KILL ScmpSyscall = SYS_KILL
|
|
||||||
SNR_TKILL ScmpSyscall = SYS_TKILL
|
|
||||||
SNR_TGKILL ScmpSyscall = SYS_TGKILL
|
|
||||||
SNR_SIGALTSTACK ScmpSyscall = SYS_SIGALTSTACK
|
|
||||||
SNR_RT_SIGSUSPEND ScmpSyscall = SYS_RT_SIGSUSPEND
|
|
||||||
SNR_RT_SIGACTION ScmpSyscall = SYS_RT_SIGACTION
|
|
||||||
SNR_RT_SIGPROCMASK ScmpSyscall = SYS_RT_SIGPROCMASK
|
|
||||||
SNR_RT_SIGPENDING ScmpSyscall = SYS_RT_SIGPENDING
|
|
||||||
SNR_RT_SIGTIMEDWAIT ScmpSyscall = SYS_RT_SIGTIMEDWAIT
|
|
||||||
SNR_RT_SIGQUEUEINFO ScmpSyscall = SYS_RT_SIGQUEUEINFO
|
|
||||||
SNR_RT_SIGRETURN ScmpSyscall = SYS_RT_SIGRETURN
|
|
||||||
SNR_SETPRIORITY ScmpSyscall = SYS_SETPRIORITY
|
|
||||||
SNR_GETPRIORITY ScmpSyscall = SYS_GETPRIORITY
|
|
||||||
SNR_REBOOT ScmpSyscall = SYS_REBOOT
|
|
||||||
SNR_SETREGID ScmpSyscall = SYS_SETREGID
|
|
||||||
SNR_SETGID ScmpSyscall = SYS_SETGID
|
|
||||||
SNR_SETREUID ScmpSyscall = SYS_SETREUID
|
|
||||||
SNR_SETUID ScmpSyscall = SYS_SETUID
|
|
||||||
SNR_SETRESUID ScmpSyscall = SYS_SETRESUID
|
|
||||||
SNR_GETRESUID ScmpSyscall = SYS_GETRESUID
|
|
||||||
SNR_SETRESGID ScmpSyscall = SYS_SETRESGID
|
|
||||||
SNR_GETRESGID ScmpSyscall = SYS_GETRESGID
|
|
||||||
SNR_SETFSUID ScmpSyscall = SYS_SETFSUID
|
|
||||||
SNR_SETFSGID ScmpSyscall = SYS_SETFSGID
|
|
||||||
SNR_TIMES ScmpSyscall = SYS_TIMES
|
|
||||||
SNR_SETPGID ScmpSyscall = SYS_SETPGID
|
|
||||||
SNR_GETPGID ScmpSyscall = SYS_GETPGID
|
|
||||||
SNR_GETSID ScmpSyscall = SYS_GETSID
|
|
||||||
SNR_SETSID ScmpSyscall = SYS_SETSID
|
|
||||||
SNR_GETGROUPS ScmpSyscall = SYS_GETGROUPS
|
|
||||||
SNR_SETGROUPS ScmpSyscall = SYS_SETGROUPS
|
|
||||||
SNR_UNAME ScmpSyscall = SYS_UNAME
|
|
||||||
SNR_SETHOSTNAME ScmpSyscall = SYS_SETHOSTNAME
|
|
||||||
SNR_SETDOMAINNAME ScmpSyscall = SYS_SETDOMAINNAME
|
|
||||||
SNR_GETRLIMIT ScmpSyscall = SYS_GETRLIMIT
|
|
||||||
SNR_SETRLIMIT ScmpSyscall = SYS_SETRLIMIT
|
|
||||||
SNR_GETRUSAGE ScmpSyscall = SYS_GETRUSAGE
|
|
||||||
SNR_UMASK ScmpSyscall = SYS_UMASK
|
|
||||||
SNR_PRCTL ScmpSyscall = SYS_PRCTL
|
|
||||||
SNR_GETCPU ScmpSyscall = SYS_GETCPU
|
|
||||||
SNR_GETTIMEOFDAY ScmpSyscall = SYS_GETTIMEOFDAY
|
|
||||||
SNR_SETTIMEOFDAY ScmpSyscall = SYS_SETTIMEOFDAY
|
|
||||||
SNR_ADJTIMEX ScmpSyscall = SYS_ADJTIMEX
|
|
||||||
SNR_GETPID ScmpSyscall = SYS_GETPID
|
|
||||||
SNR_GETPPID ScmpSyscall = SYS_GETPPID
|
|
||||||
SNR_GETUID ScmpSyscall = SYS_GETUID
|
|
||||||
SNR_GETEUID ScmpSyscall = SYS_GETEUID
|
|
||||||
SNR_GETGID ScmpSyscall = SYS_GETGID
|
|
||||||
SNR_GETEGID ScmpSyscall = SYS_GETEGID
|
|
||||||
SNR_GETTID ScmpSyscall = SYS_GETTID
|
|
||||||
SNR_SYSINFO ScmpSyscall = SYS_SYSINFO
|
|
||||||
SNR_MQ_OPEN ScmpSyscall = SYS_MQ_OPEN
|
|
||||||
SNR_MQ_UNLINK ScmpSyscall = SYS_MQ_UNLINK
|
|
||||||
SNR_MQ_TIMEDSEND ScmpSyscall = SYS_MQ_TIMEDSEND
|
|
||||||
SNR_MQ_TIMEDRECEIVE ScmpSyscall = SYS_MQ_TIMEDRECEIVE
|
|
||||||
SNR_MQ_NOTIFY ScmpSyscall = SYS_MQ_NOTIFY
|
|
||||||
SNR_MQ_GETSETATTR ScmpSyscall = SYS_MQ_GETSETATTR
|
|
||||||
SNR_MSGGET ScmpSyscall = SYS_MSGGET
|
|
||||||
SNR_MSGCTL ScmpSyscall = SYS_MSGCTL
|
|
||||||
SNR_MSGRCV ScmpSyscall = SYS_MSGRCV
|
|
||||||
SNR_MSGSND ScmpSyscall = SYS_MSGSND
|
|
||||||
SNR_SEMGET ScmpSyscall = SYS_SEMGET
|
|
||||||
SNR_SEMCTL ScmpSyscall = SYS_SEMCTL
|
|
||||||
SNR_SEMTIMEDOP ScmpSyscall = SYS_SEMTIMEDOP
|
|
||||||
SNR_SEMOP ScmpSyscall = SYS_SEMOP
|
|
||||||
SNR_SHMGET ScmpSyscall = SYS_SHMGET
|
|
||||||
SNR_SHMCTL ScmpSyscall = SYS_SHMCTL
|
|
||||||
SNR_SHMAT ScmpSyscall = SYS_SHMAT
|
|
||||||
SNR_SHMDT ScmpSyscall = SYS_SHMDT
|
|
||||||
SNR_SOCKET ScmpSyscall = SYS_SOCKET
|
|
||||||
SNR_SOCKETPAIR ScmpSyscall = SYS_SOCKETPAIR
|
|
||||||
SNR_BIND ScmpSyscall = SYS_BIND
|
|
||||||
SNR_LISTEN ScmpSyscall = SYS_LISTEN
|
|
||||||
SNR_ACCEPT ScmpSyscall = SYS_ACCEPT
|
|
||||||
SNR_CONNECT ScmpSyscall = SYS_CONNECT
|
|
||||||
SNR_GETSOCKNAME ScmpSyscall = SYS_GETSOCKNAME
|
|
||||||
SNR_GETPEERNAME ScmpSyscall = SYS_GETPEERNAME
|
|
||||||
SNR_SENDTO ScmpSyscall = SYS_SENDTO
|
|
||||||
SNR_RECVFROM ScmpSyscall = SYS_RECVFROM
|
|
||||||
SNR_SETSOCKOPT ScmpSyscall = SYS_SETSOCKOPT
|
|
||||||
SNR_GETSOCKOPT ScmpSyscall = SYS_GETSOCKOPT
|
|
||||||
SNR_SHUTDOWN ScmpSyscall = SYS_SHUTDOWN
|
|
||||||
SNR_SENDMSG ScmpSyscall = SYS_SENDMSG
|
|
||||||
SNR_RECVMSG ScmpSyscall = SYS_RECVMSG
|
|
||||||
SNR_READAHEAD ScmpSyscall = SYS_READAHEAD
|
|
||||||
SNR_BRK ScmpSyscall = SYS_BRK
|
|
||||||
SNR_MUNMAP ScmpSyscall = SYS_MUNMAP
|
|
||||||
SNR_MREMAP ScmpSyscall = SYS_MREMAP
|
|
||||||
SNR_ADD_KEY ScmpSyscall = SYS_ADD_KEY
|
|
||||||
SNR_REQUEST_KEY ScmpSyscall = SYS_REQUEST_KEY
|
|
||||||
SNR_KEYCTL ScmpSyscall = SYS_KEYCTL
|
|
||||||
SNR_CLONE ScmpSyscall = SYS_CLONE
|
|
||||||
SNR_EXECVE ScmpSyscall = SYS_EXECVE
|
|
||||||
SNR_MMAP ScmpSyscall = SYS_MMAP
|
|
||||||
SNR_FADVISE64 ScmpSyscall = SYS_FADVISE64
|
|
||||||
SNR_SWAPON ScmpSyscall = SYS_SWAPON
|
|
||||||
SNR_SWAPOFF ScmpSyscall = SYS_SWAPOFF
|
|
||||||
SNR_MPROTECT ScmpSyscall = SYS_MPROTECT
|
|
||||||
SNR_MSYNC ScmpSyscall = SYS_MSYNC
|
|
||||||
SNR_MLOCK ScmpSyscall = SYS_MLOCK
|
|
||||||
SNR_MUNLOCK ScmpSyscall = SYS_MUNLOCK
|
|
||||||
SNR_MLOCKALL ScmpSyscall = SYS_MLOCKALL
|
|
||||||
SNR_MUNLOCKALL ScmpSyscall = SYS_MUNLOCKALL
|
|
||||||
SNR_MINCORE ScmpSyscall = SYS_MINCORE
|
|
||||||
SNR_MADVISE ScmpSyscall = SYS_MADVISE
|
|
||||||
SNR_REMAP_FILE_PAGES ScmpSyscall = SYS_REMAP_FILE_PAGES
|
|
||||||
SNR_MBIND ScmpSyscall = SYS_MBIND
|
|
||||||
SNR_GET_MEMPOLICY ScmpSyscall = SYS_GET_MEMPOLICY
|
|
||||||
SNR_SET_MEMPOLICY ScmpSyscall = SYS_SET_MEMPOLICY
|
|
||||||
SNR_MIGRATE_PAGES ScmpSyscall = SYS_MIGRATE_PAGES
|
|
||||||
SNR_MOVE_PAGES ScmpSyscall = SYS_MOVE_PAGES
|
|
||||||
SNR_RT_TGSIGQUEUEINFO ScmpSyscall = SYS_RT_TGSIGQUEUEINFO
|
|
||||||
SNR_PERF_EVENT_OPEN ScmpSyscall = SYS_PERF_EVENT_OPEN
|
|
||||||
SNR_ACCEPT4 ScmpSyscall = SYS_ACCEPT4
|
|
||||||
SNR_RECVMMSG ScmpSyscall = SYS_RECVMMSG
|
|
||||||
SNR_WAIT4 ScmpSyscall = SYS_WAIT4
|
|
||||||
SNR_PRLIMIT64 ScmpSyscall = SYS_PRLIMIT64
|
|
||||||
SNR_FANOTIFY_INIT ScmpSyscall = SYS_FANOTIFY_INIT
|
|
||||||
SNR_FANOTIFY_MARK ScmpSyscall = SYS_FANOTIFY_MARK
|
|
||||||
SNR_NAME_TO_HANDLE_AT ScmpSyscall = SYS_NAME_TO_HANDLE_AT
|
|
||||||
SNR_OPEN_BY_HANDLE_AT ScmpSyscall = SYS_OPEN_BY_HANDLE_AT
|
|
||||||
SNR_CLOCK_ADJTIME ScmpSyscall = SYS_CLOCK_ADJTIME
|
|
||||||
SNR_SYNCFS ScmpSyscall = SYS_SYNCFS
|
|
||||||
SNR_SETNS ScmpSyscall = SYS_SETNS
|
|
||||||
SNR_SENDMMSG ScmpSyscall = SYS_SENDMMSG
|
|
||||||
SNR_PROCESS_VM_READV ScmpSyscall = SYS_PROCESS_VM_READV
|
|
||||||
SNR_PROCESS_VM_WRITEV ScmpSyscall = SYS_PROCESS_VM_WRITEV
|
|
||||||
SNR_KCMP ScmpSyscall = SYS_KCMP
|
|
||||||
SNR_FINIT_MODULE ScmpSyscall = SYS_FINIT_MODULE
|
|
||||||
SNR_SCHED_SETATTR ScmpSyscall = SYS_SCHED_SETATTR
|
|
||||||
SNR_SCHED_GETATTR ScmpSyscall = SYS_SCHED_GETATTR
|
|
||||||
SNR_RENAMEAT2 ScmpSyscall = SYS_RENAMEAT2
|
|
||||||
SNR_SECCOMP ScmpSyscall = SYS_SECCOMP
|
|
||||||
SNR_GETRANDOM ScmpSyscall = SYS_GETRANDOM
|
|
||||||
SNR_MEMFD_CREATE ScmpSyscall = SYS_MEMFD_CREATE
|
|
||||||
SNR_BPF ScmpSyscall = SYS_BPF
|
|
||||||
SNR_EXECVEAT ScmpSyscall = SYS_EXECVEAT
|
|
||||||
SNR_USERFAULTFD ScmpSyscall = SYS_USERFAULTFD
|
|
||||||
SNR_MEMBARRIER ScmpSyscall = SYS_MEMBARRIER
|
|
||||||
SNR_MLOCK2 ScmpSyscall = SYS_MLOCK2
|
|
||||||
SNR_COPY_FILE_RANGE ScmpSyscall = SYS_COPY_FILE_RANGE
|
|
||||||
SNR_PREADV2 ScmpSyscall = SYS_PREADV2
|
|
||||||
SNR_PWRITEV2 ScmpSyscall = SYS_PWRITEV2
|
|
||||||
SNR_PKEY_MPROTECT ScmpSyscall = SYS_PKEY_MPROTECT
|
|
||||||
SNR_PKEY_ALLOC ScmpSyscall = SYS_PKEY_ALLOC
|
|
||||||
SNR_PKEY_FREE ScmpSyscall = SYS_PKEY_FREE
|
|
||||||
SNR_STATX ScmpSyscall = SYS_STATX
|
|
||||||
SNR_IO_PGETEVENTS ScmpSyscall = SYS_IO_PGETEVENTS
|
|
||||||
SNR_RSEQ ScmpSyscall = SYS_RSEQ
|
|
||||||
SNR_KEXEC_FILE_LOAD ScmpSyscall = SYS_KEXEC_FILE_LOAD
|
|
||||||
SNR_PIDFD_SEND_SIGNAL ScmpSyscall = SYS_PIDFD_SEND_SIGNAL
|
|
||||||
SNR_IO_URING_SETUP ScmpSyscall = SYS_IO_URING_SETUP
|
|
||||||
SNR_IO_URING_ENTER ScmpSyscall = SYS_IO_URING_ENTER
|
|
||||||
SNR_IO_URING_REGISTER ScmpSyscall = SYS_IO_URING_REGISTER
|
|
||||||
SNR_OPEN_TREE ScmpSyscall = SYS_OPEN_TREE
|
|
||||||
SNR_MOVE_MOUNT ScmpSyscall = SYS_MOVE_MOUNT
|
|
||||||
SNR_FSOPEN ScmpSyscall = SYS_FSOPEN
|
|
||||||
SNR_FSCONFIG ScmpSyscall = SYS_FSCONFIG
|
|
||||||
SNR_FSMOUNT ScmpSyscall = SYS_FSMOUNT
|
|
||||||
SNR_FSPICK ScmpSyscall = SYS_FSPICK
|
|
||||||
SNR_PIDFD_OPEN ScmpSyscall = SYS_PIDFD_OPEN
|
|
||||||
SNR_CLONE3 ScmpSyscall = SYS_CLONE3
|
|
||||||
SNR_CLOSE_RANGE ScmpSyscall = SYS_CLOSE_RANGE
|
|
||||||
SNR_OPENAT2 ScmpSyscall = SYS_OPENAT2
|
|
||||||
SNR_PIDFD_GETFD ScmpSyscall = SYS_PIDFD_GETFD
|
|
||||||
SNR_FACCESSAT2 ScmpSyscall = SYS_FACCESSAT2
|
|
||||||
SNR_PROCESS_MADVISE ScmpSyscall = SYS_PROCESS_MADVISE
|
|
||||||
SNR_EPOLL_PWAIT2 ScmpSyscall = SYS_EPOLL_PWAIT2
|
|
||||||
SNR_MOUNT_SETATTR ScmpSyscall = SYS_MOUNT_SETATTR
|
|
||||||
SNR_QUOTACTL_FD ScmpSyscall = SYS_QUOTACTL_FD
|
|
||||||
SNR_LANDLOCK_CREATE_RULESET ScmpSyscall = SYS_LANDLOCK_CREATE_RULESET
|
|
||||||
SNR_LANDLOCK_ADD_RULE ScmpSyscall = SYS_LANDLOCK_ADD_RULE
|
|
||||||
SNR_LANDLOCK_RESTRICT_SELF ScmpSyscall = SYS_LANDLOCK_RESTRICT_SELF
|
|
||||||
SNR_MEMFD_SECRET ScmpSyscall = SYS_MEMFD_SECRET
|
|
||||||
SNR_PROCESS_MRELEASE ScmpSyscall = SYS_PROCESS_MRELEASE
|
|
||||||
SNR_FUTEX_WAITV ScmpSyscall = SYS_FUTEX_WAITV
|
|
||||||
SNR_SET_MEMPOLICY_HOME_NODE ScmpSyscall = SYS_SET_MEMPOLICY_HOME_NODE
|
|
||||||
SNR_CACHESTAT ScmpSyscall = SYS_CACHESTAT
|
|
||||||
SNR_FCHMODAT2 ScmpSyscall = SYS_FCHMODAT2
|
|
||||||
SNR_MAP_SHADOW_STACK ScmpSyscall = SYS_MAP_SHADOW_STACK
|
|
||||||
SNR_FUTEX_WAKE ScmpSyscall = SYS_FUTEX_WAKE
|
|
||||||
SNR_FUTEX_WAIT ScmpSyscall = SYS_FUTEX_WAIT
|
|
||||||
SNR_FUTEX_REQUEUE ScmpSyscall = SYS_FUTEX_REQUEUE
|
|
||||||
SNR_STATMOUNT ScmpSyscall = SYS_STATMOUNT
|
|
||||||
SNR_LISTMOUNT ScmpSyscall = SYS_LISTMOUNT
|
|
||||||
SNR_LSM_GET_SELF_ATTR ScmpSyscall = SYS_LSM_GET_SELF_ATTR
|
|
||||||
SNR_LSM_SET_SELF_ATTR ScmpSyscall = SYS_LSM_SET_SELF_ATTR
|
|
||||||
SNR_LSM_LIST_MODULES ScmpSyscall = SYS_LSM_LIST_MODULES
|
|
||||||
SNR_MSEAL ScmpSyscall = SYS_MSEAL
|
|
||||||
SNR_SETXATTRAT ScmpSyscall = SYS_SETXATTRAT
|
|
||||||
SNR_GETXATTRAT ScmpSyscall = SYS_GETXATTRAT
|
|
||||||
SNR_LISTXATTRAT ScmpSyscall = SYS_LISTXATTRAT
|
|
||||||
SNR_REMOVEXATTRAT ScmpSyscall = SYS_REMOVEXATTRAT
|
|
||||||
SNR_OPEN_TREE_ATTR ScmpSyscall = SYS_OPEN_TREE_ATTR
|
|
||||||
SNR_FILE_GETATTR ScmpSyscall = SYS_FILE_GETATTR
|
|
||||||
SNR_FILE_SETATTR ScmpSyscall = SYS_FILE_SETATTR
|
|
||||||
)
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
package std
|
|
||||||
|
|
||||||
type (
|
|
||||||
// Uint is equivalent to C.uint.
|
|
||||||
Uint uint32
|
|
||||||
// Int is equivalent to C.int.
|
|
||||||
Int int32
|
|
||||||
)
|
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
. "syscall"
|
. "syscall"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Prctl manipulates various aspects of the behavior of the calling thread or process.
|
// Prctl manipulates various aspects of the behavior of the calling thread or process.
|
||||||
@@ -46,7 +46,7 @@ func Isatty(fd int) bool {
|
|||||||
// schedParam is equivalent to struct sched_param from include/linux/sched.h.
|
// schedParam is equivalent to struct sched_param from include/linux/sched.h.
|
||||||
type schedParam struct {
|
type schedParam struct {
|
||||||
// sched_priority
|
// sched_priority
|
||||||
priority std.Int
|
priority ext.Int
|
||||||
}
|
}
|
||||||
|
|
||||||
// schedSetscheduler sets both the scheduling policy and parameters for the
|
// schedSetscheduler sets both the scheduling policy and parameters for the
|
||||||
@@ -62,7 +62,7 @@ type schedParam struct {
|
|||||||
// this if you do not have something similar in place!
|
// this if you do not have something similar in place!
|
||||||
//
|
//
|
||||||
// [very subtle to use correctly]: https://www.openwall.com/lists/musl/2016/03/01/4
|
// [very subtle to use correctly]: https://www.openwall.com/lists/musl/2016/03/01/4
|
||||||
func schedSetscheduler(tid int, policy std.SchedPolicy, param *schedParam) error {
|
func schedSetscheduler(tid int, policy ext.SchedPolicy, param *schedParam) error {
|
||||||
if _, _, errno := Syscall(
|
if _, _, errno := Syscall(
|
||||||
SYS_SCHED_SETSCHEDULER,
|
SYS_SCHED_SETSCHEDULER,
|
||||||
uintptr(tid),
|
uintptr(tid),
|
||||||
|
|||||||
78
ext/ext.go
Normal file
78
ext/ext.go
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
// Package ext provides wrappers around nonportable system interfaces.
|
||||||
|
package ext
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"iter"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
// checked in container/seccomp
|
||||||
|
type (
|
||||||
|
// Uint is equivalent to C.uint.
|
||||||
|
Uint = uint32
|
||||||
|
// Int is equivalent to C.int.
|
||||||
|
Int = int32
|
||||||
|
)
|
||||||
|
|
||||||
|
// SyscallNum represents an architecture-specific, Linux syscall number.
|
||||||
|
type SyscallNum Int
|
||||||
|
|
||||||
|
// Syscalls returns an iterator over all wired syscalls.
|
||||||
|
func Syscalls() iter.Seq2[string, SyscallNum] {
|
||||||
|
return func(yield func(string, SyscallNum) bool) {
|
||||||
|
for name, num := range syscallNum {
|
||||||
|
if !yield(name, num) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for name, num := range syscallNumExtra {
|
||||||
|
if !yield(name, num) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyscallResolveName resolves a syscall number from its string representation.
|
||||||
|
func SyscallResolveName(name string) (num SyscallNum, ok bool) {
|
||||||
|
if num, ok = syscallNum[name]; ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
num, ok = syscallNumExtra[name]
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON resolves the name of [Syscall] and encodes it as a [json] string.
|
||||||
|
// If such a name does not exist, the syscall number is encoded instead.
|
||||||
|
func (num *SyscallNum) MarshalJSON() ([]byte, error) {
|
||||||
|
n := *num
|
||||||
|
for name, cur := range Syscalls() {
|
||||||
|
if cur == n {
|
||||||
|
return json.Marshal(name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return json.Marshal(n)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyscallNameError is returned when trying to unmarshal an invalid syscall name into [ScmpSyscall].
|
||||||
|
type SyscallNameError string
|
||||||
|
|
||||||
|
func (e SyscallNameError) Error() string {
|
||||||
|
return "invalid syscall name " + strconv.Quote(string(e))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON looks up the syscall number corresponding to name encoded in data
|
||||||
|
// by calling [SyscallResolveName].
|
||||||
|
func (num *SyscallNum) UnmarshalJSON(data []byte) error {
|
||||||
|
var name string
|
||||||
|
if err := json.Unmarshal(data, &name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if n, ok := SyscallResolveName(name); !ok {
|
||||||
|
return SyscallNameError(name)
|
||||||
|
} else {
|
||||||
|
*num = n
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package std_test
|
package ext_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
@@ -7,39 +7,39 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestScmpSyscall(t *testing.T) {
|
func TestSyscall(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
name string
|
name string
|
||||||
data string
|
data string
|
||||||
want std.ScmpSyscall
|
want ext.SyscallNum
|
||||||
err error
|
err error
|
||||||
}{
|
}{
|
||||||
{"epoll_create1", `"epoll_create1"`, std.SNR_EPOLL_CREATE1, nil},
|
{"epoll_create1", `"epoll_create1"`, ext.SNR_EPOLL_CREATE1, nil},
|
||||||
{"clone3", `"clone3"`, std.SNR_CLONE3, nil},
|
{"clone3", `"clone3"`, ext.SNR_CLONE3, nil},
|
||||||
|
|
||||||
{"oob", `-2147483647`, -math.MaxInt32,
|
{"oob", `-2147483647`, -math.MaxInt32,
|
||||||
&json.UnmarshalTypeError{Value: "number", Type: reflect.TypeFor[string](), Offset: 11}},
|
&json.UnmarshalTypeError{Value: "number", Type: reflect.TypeFor[string](), Offset: 11}},
|
||||||
{"name", `"nonexistent_syscall"`, -math.MaxInt32,
|
{"name", `"nonexistent_syscall"`, -math.MaxInt32,
|
||||||
std.SyscallNameError("nonexistent_syscall")},
|
ext.SyscallNameError("nonexistent_syscall")},
|
||||||
}
|
}
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
t.Run("decode", func(t *testing.T) {
|
t.Run("decode", func(t *testing.T) {
|
||||||
var got std.ScmpSyscall
|
var got ext.SyscallNum
|
||||||
if err := json.Unmarshal([]byte(tc.data), &got); !reflect.DeepEqual(err, tc.err) {
|
if err := json.Unmarshal([]byte(tc.data), &got); !reflect.DeepEqual(err, tc.err) {
|
||||||
t.Fatalf("Unmarshal: error = %#v, want %#v", err, tc.err)
|
t.Fatalf("Unmarshal: error = %#v, want %#v", err, tc.err)
|
||||||
} else if err == nil && got != tc.want {
|
} else if err == nil && got != tc.want {
|
||||||
t.Errorf("Unmarshal: %v, want %v", got, tc.want)
|
t.Errorf("Unmarshal: %v, want %v", got, tc.want)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if errors.As(tc.err, new(std.SyscallNameError)) {
|
if errors.As(tc.err, new(ext.SyscallNameError)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,8 +55,22 @@ func TestScmpSyscall(t *testing.T) {
|
|||||||
|
|
||||||
t.Run("error", func(t *testing.T) {
|
t.Run("error", func(t *testing.T) {
|
||||||
const want = `invalid syscall name "\x00"`
|
const want = `invalid syscall name "\x00"`
|
||||||
if got := std.SyscallNameError("\x00").Error(); got != want {
|
if got := ext.SyscallNameError("\x00").Error(); got != want {
|
||||||
t.Fatalf("Error: %q, want %q", got, want)
|
t.Fatalf("Error: %q, want %q", got, want)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSyscallResolveName(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
for name, want := range ext.Syscalls() {
|
||||||
|
t.Run(name, func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
if got, ok := ext.SyscallResolveName(name); !ok || got != want {
|
||||||
|
t.Errorf("SyscallResolveName(%q) = %d, want %d", name, got, want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,11 +19,11 @@ print <<EOF;
|
|||||||
// $command
|
// $command
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
package std
|
package ext
|
||||||
|
|
||||||
import . "syscall"
|
import . "syscall"
|
||||||
|
|
||||||
var syscallNum = map[string]ScmpSyscall{
|
var syscallNum = map[string]SyscallNum{
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
my $offset = 0;
|
my $offset = 0;
|
||||||
@@ -45,7 +45,7 @@ sub fmt {
|
|||||||
print " \"$name\": SNR_$name_upper,\n";
|
print " \"$name\": SNR_$name_upper,\n";
|
||||||
}
|
}
|
||||||
elsif($state == 1){
|
elsif($state == 1){
|
||||||
print " SNR_$name_upper ScmpSyscall = SYS_$name_upper\n";
|
print " SNR_$name_upper SyscallNum = SYS_$name_upper\n";
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return;
|
return;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated from include/seccomp-syscalls.h; DO NOT EDIT.
|
// Code generated from include/seccomp-syscalls.h; DO NOT EDIT.
|
||||||
|
|
||||||
package std
|
package ext
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pseudo syscall definitions
|
* pseudo syscall definitions
|
||||||
@@ -1,38 +1,12 @@
|
|||||||
package std
|
package ext
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding"
|
"encoding"
|
||||||
"iter"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
"syscall"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Syscalls returns an iterator over all wired syscalls.
|
|
||||||
func Syscalls() iter.Seq2[string, ScmpSyscall] {
|
|
||||||
return func(yield func(string, ScmpSyscall) bool) {
|
|
||||||
for name, num := range syscallNum {
|
|
||||||
if !yield(name, num) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for name, num := range syscallNumExtra {
|
|
||||||
if !yield(name, num) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SyscallResolveName resolves a syscall number from its string representation.
|
|
||||||
func SyscallResolveName(name string) (num ScmpSyscall, ok bool) {
|
|
||||||
if num, ok = syscallNum[name]; ok {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
num, ok = syscallNumExtra[name]
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchedPolicy denotes a scheduling policy defined in include/uapi/linux/sched.h.
|
// SchedPolicy denotes a scheduling policy defined in include/uapi/linux/sched.h.
|
||||||
type SchedPolicy int
|
type SchedPolicy int
|
||||||
|
|
||||||
13
ext/syscall_extra_linux_386.go
Normal file
13
ext/syscall_extra_linux_386.go
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
package ext
|
||||||
|
|
||||||
|
var syscallNumExtra = map[string]SyscallNum{
|
||||||
|
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
||||||
|
"subpage_prot": SNR_SUBPAGE_PROT,
|
||||||
|
"switch_endian": SNR_SWITCH_ENDIAN,
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SNR_KEXEC_FILE_LOAD SyscallNum = __PNR_kexec_file_load
|
||||||
|
SNR_SUBPAGE_PROT SyscallNum = __PNR_subpage_prot
|
||||||
|
SNR_SWITCH_ENDIAN SyscallNum = __PNR_switch_endian
|
||||||
|
)
|
||||||
41
ext/syscall_extra_linux_amd64.go
Normal file
41
ext/syscall_extra_linux_amd64.go
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package ext
|
||||||
|
|
||||||
|
var syscallNumExtra = map[string]SyscallNum{
|
||||||
|
"umount": SNR_UMOUNT,
|
||||||
|
"subpage_prot": SNR_SUBPAGE_PROT,
|
||||||
|
"switch_endian": SNR_SWITCH_ENDIAN,
|
||||||
|
"vm86": SNR_VM86,
|
||||||
|
"vm86old": SNR_VM86OLD,
|
||||||
|
"clock_adjtime64": SNR_CLOCK_ADJTIME64,
|
||||||
|
"clock_settime64": SNR_CLOCK_SETTIME64,
|
||||||
|
"chown32": SNR_CHOWN32,
|
||||||
|
"fchown32": SNR_FCHOWN32,
|
||||||
|
"lchown32": SNR_LCHOWN32,
|
||||||
|
"setgid32": SNR_SETGID32,
|
||||||
|
"setgroups32": SNR_SETGROUPS32,
|
||||||
|
"setregid32": SNR_SETREGID32,
|
||||||
|
"setresgid32": SNR_SETRESGID32,
|
||||||
|
"setresuid32": SNR_SETRESUID32,
|
||||||
|
"setreuid32": SNR_SETREUID32,
|
||||||
|
"setuid32": SNR_SETUID32,
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SNR_UMOUNT SyscallNum = __PNR_umount
|
||||||
|
SNR_SUBPAGE_PROT SyscallNum = __PNR_subpage_prot
|
||||||
|
SNR_SWITCH_ENDIAN SyscallNum = __PNR_switch_endian
|
||||||
|
SNR_VM86 SyscallNum = __PNR_vm86
|
||||||
|
SNR_VM86OLD SyscallNum = __PNR_vm86old
|
||||||
|
SNR_CLOCK_ADJTIME64 SyscallNum = __PNR_clock_adjtime64
|
||||||
|
SNR_CLOCK_SETTIME64 SyscallNum = __PNR_clock_settime64
|
||||||
|
SNR_CHOWN32 SyscallNum = __PNR_chown32
|
||||||
|
SNR_FCHOWN32 SyscallNum = __PNR_fchown32
|
||||||
|
SNR_LCHOWN32 SyscallNum = __PNR_lchown32
|
||||||
|
SNR_SETGID32 SyscallNum = __PNR_setgid32
|
||||||
|
SNR_SETGROUPS32 SyscallNum = __PNR_setgroups32
|
||||||
|
SNR_SETREGID32 SyscallNum = __PNR_setregid32
|
||||||
|
SNR_SETRESGID32 SyscallNum = __PNR_setresgid32
|
||||||
|
SNR_SETRESUID32 SyscallNum = __PNR_setresuid32
|
||||||
|
SNR_SETREUID32 SyscallNum = __PNR_setreuid32
|
||||||
|
SNR_SETUID32 SyscallNum = __PNR_setuid32
|
||||||
|
)
|
||||||
55
ext/syscall_extra_linux_arm64.go
Normal file
55
ext/syscall_extra_linux_arm64.go
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
package ext
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
const (
|
||||||
|
SYS_NEWFSTATAT = syscall.SYS_FSTATAT
|
||||||
|
)
|
||||||
|
|
||||||
|
var syscallNumExtra = map[string]SyscallNum{
|
||||||
|
"uselib": SNR_USELIB,
|
||||||
|
"clock_adjtime64": SNR_CLOCK_ADJTIME64,
|
||||||
|
"clock_settime64": SNR_CLOCK_SETTIME64,
|
||||||
|
"umount": SNR_UMOUNT,
|
||||||
|
"chown": SNR_CHOWN,
|
||||||
|
"chown32": SNR_CHOWN32,
|
||||||
|
"fchown32": SNR_FCHOWN32,
|
||||||
|
"lchown": SNR_LCHOWN,
|
||||||
|
"lchown32": SNR_LCHOWN32,
|
||||||
|
"setgid32": SNR_SETGID32,
|
||||||
|
"setgroups32": SNR_SETGROUPS32,
|
||||||
|
"setregid32": SNR_SETREGID32,
|
||||||
|
"setresgid32": SNR_SETRESGID32,
|
||||||
|
"setresuid32": SNR_SETRESUID32,
|
||||||
|
"setreuid32": SNR_SETREUID32,
|
||||||
|
"setuid32": SNR_SETUID32,
|
||||||
|
"modify_ldt": SNR_MODIFY_LDT,
|
||||||
|
"subpage_prot": SNR_SUBPAGE_PROT,
|
||||||
|
"switch_endian": SNR_SWITCH_ENDIAN,
|
||||||
|
"vm86": SNR_VM86,
|
||||||
|
"vm86old": SNR_VM86OLD,
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SNR_USELIB SyscallNum = __PNR_uselib
|
||||||
|
SNR_CLOCK_ADJTIME64 SyscallNum = __PNR_clock_adjtime64
|
||||||
|
SNR_CLOCK_SETTIME64 SyscallNum = __PNR_clock_settime64
|
||||||
|
SNR_UMOUNT SyscallNum = __PNR_umount
|
||||||
|
SNR_CHOWN SyscallNum = __PNR_chown
|
||||||
|
SNR_CHOWN32 SyscallNum = __PNR_chown32
|
||||||
|
SNR_FCHOWN32 SyscallNum = __PNR_fchown32
|
||||||
|
SNR_LCHOWN SyscallNum = __PNR_lchown
|
||||||
|
SNR_LCHOWN32 SyscallNum = __PNR_lchown32
|
||||||
|
SNR_SETGID32 SyscallNum = __PNR_setgid32
|
||||||
|
SNR_SETGROUPS32 SyscallNum = __PNR_setgroups32
|
||||||
|
SNR_SETREGID32 SyscallNum = __PNR_setregid32
|
||||||
|
SNR_SETRESGID32 SyscallNum = __PNR_setresgid32
|
||||||
|
SNR_SETRESUID32 SyscallNum = __PNR_setresuid32
|
||||||
|
SNR_SETREUID32 SyscallNum = __PNR_setreuid32
|
||||||
|
SNR_SETUID32 SyscallNum = __PNR_setuid32
|
||||||
|
SNR_MODIFY_LDT SyscallNum = __PNR_modify_ldt
|
||||||
|
SNR_SUBPAGE_PROT SyscallNum = __PNR_subpage_prot
|
||||||
|
SNR_SWITCH_ENDIAN SyscallNum = __PNR_switch_endian
|
||||||
|
SNR_VM86 SyscallNum = __PNR_vm86
|
||||||
|
SNR_VM86OLD SyscallNum = __PNR_vm86old
|
||||||
|
)
|
||||||
55
ext/syscall_extra_linux_riscv64.go
Normal file
55
ext/syscall_extra_linux_riscv64.go
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
package ext
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
const (
|
||||||
|
SYS_NEWFSTATAT = syscall.SYS_FSTATAT
|
||||||
|
)
|
||||||
|
|
||||||
|
var syscallNumExtra = map[string]SyscallNum{
|
||||||
|
"uselib": SNR_USELIB,
|
||||||
|
"clock_adjtime64": SNR_CLOCK_ADJTIME64,
|
||||||
|
"clock_settime64": SNR_CLOCK_SETTIME64,
|
||||||
|
"umount": SNR_UMOUNT,
|
||||||
|
"chown": SNR_CHOWN,
|
||||||
|
"chown32": SNR_CHOWN32,
|
||||||
|
"fchown32": SNR_FCHOWN32,
|
||||||
|
"lchown": SNR_LCHOWN,
|
||||||
|
"lchown32": SNR_LCHOWN32,
|
||||||
|
"setgid32": SNR_SETGID32,
|
||||||
|
"setgroups32": SNR_SETGROUPS32,
|
||||||
|
"setregid32": SNR_SETREGID32,
|
||||||
|
"setresgid32": SNR_SETRESGID32,
|
||||||
|
"setresuid32": SNR_SETRESUID32,
|
||||||
|
"setreuid32": SNR_SETREUID32,
|
||||||
|
"setuid32": SNR_SETUID32,
|
||||||
|
"modify_ldt": SNR_MODIFY_LDT,
|
||||||
|
"subpage_prot": SNR_SUBPAGE_PROT,
|
||||||
|
"switch_endian": SNR_SWITCH_ENDIAN,
|
||||||
|
"vm86": SNR_VM86,
|
||||||
|
"vm86old": SNR_VM86OLD,
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SNR_USELIB SyscallNum = __PNR_uselib
|
||||||
|
SNR_CLOCK_ADJTIME64 SyscallNum = __PNR_clock_adjtime64
|
||||||
|
SNR_CLOCK_SETTIME64 SyscallNum = __PNR_clock_settime64
|
||||||
|
SNR_UMOUNT SyscallNum = __PNR_umount
|
||||||
|
SNR_CHOWN SyscallNum = __PNR_chown
|
||||||
|
SNR_CHOWN32 SyscallNum = __PNR_chown32
|
||||||
|
SNR_FCHOWN32 SyscallNum = __PNR_fchown32
|
||||||
|
SNR_LCHOWN SyscallNum = __PNR_lchown
|
||||||
|
SNR_LCHOWN32 SyscallNum = __PNR_lchown32
|
||||||
|
SNR_SETGID32 SyscallNum = __PNR_setgid32
|
||||||
|
SNR_SETGROUPS32 SyscallNum = __PNR_setgroups32
|
||||||
|
SNR_SETREGID32 SyscallNum = __PNR_setregid32
|
||||||
|
SNR_SETRESGID32 SyscallNum = __PNR_setresgid32
|
||||||
|
SNR_SETRESUID32 SyscallNum = __PNR_setresuid32
|
||||||
|
SNR_SETREUID32 SyscallNum = __PNR_setreuid32
|
||||||
|
SNR_SETUID32 SyscallNum = __PNR_setuid32
|
||||||
|
SNR_MODIFY_LDT SyscallNum = __PNR_modify_ldt
|
||||||
|
SNR_SUBPAGE_PROT SyscallNum = __PNR_subpage_prot
|
||||||
|
SNR_SWITCH_ENDIAN SyscallNum = __PNR_switch_endian
|
||||||
|
SNR_VM86 SyscallNum = __PNR_vm86
|
||||||
|
SNR_VM86OLD SyscallNum = __PNR_vm86old
|
||||||
|
)
|
||||||
1034
ext/syscall_linux_386.go
Normal file
1034
ext/syscall_linux_386.go
Normal file
File diff suppressed because it is too large
Load Diff
837
ext/syscall_linux_amd64.go
Normal file
837
ext/syscall_linux_amd64.go
Normal file
@@ -0,0 +1,837 @@
|
|||||||
|
// mksysnum_linux.pl /usr/include/asm/unistd_64.h
|
||||||
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
package ext
|
||||||
|
|
||||||
|
import . "syscall"
|
||||||
|
|
||||||
|
var syscallNum = map[string]SyscallNum{
|
||||||
|
"read": SNR_READ,
|
||||||
|
"write": SNR_WRITE,
|
||||||
|
"open": SNR_OPEN,
|
||||||
|
"close": SNR_CLOSE,
|
||||||
|
"stat": SNR_STAT,
|
||||||
|
"fstat": SNR_FSTAT,
|
||||||
|
"lstat": SNR_LSTAT,
|
||||||
|
"poll": SNR_POLL,
|
||||||
|
"lseek": SNR_LSEEK,
|
||||||
|
"mmap": SNR_MMAP,
|
||||||
|
"mprotect": SNR_MPROTECT,
|
||||||
|
"munmap": SNR_MUNMAP,
|
||||||
|
"brk": SNR_BRK,
|
||||||
|
"rt_sigaction": SNR_RT_SIGACTION,
|
||||||
|
"rt_sigprocmask": SNR_RT_SIGPROCMASK,
|
||||||
|
"rt_sigreturn": SNR_RT_SIGRETURN,
|
||||||
|
"ioctl": SNR_IOCTL,
|
||||||
|
"pread64": SNR_PREAD64,
|
||||||
|
"pwrite64": SNR_PWRITE64,
|
||||||
|
"readv": SNR_READV,
|
||||||
|
"writev": SNR_WRITEV,
|
||||||
|
"access": SNR_ACCESS,
|
||||||
|
"pipe": SNR_PIPE,
|
||||||
|
"select": SNR_SELECT,
|
||||||
|
"sched_yield": SNR_SCHED_YIELD,
|
||||||
|
"mremap": SNR_MREMAP,
|
||||||
|
"msync": SNR_MSYNC,
|
||||||
|
"mincore": SNR_MINCORE,
|
||||||
|
"madvise": SNR_MADVISE,
|
||||||
|
"shmget": SNR_SHMGET,
|
||||||
|
"shmat": SNR_SHMAT,
|
||||||
|
"shmctl": SNR_SHMCTL,
|
||||||
|
"dup": SNR_DUP,
|
||||||
|
"dup2": SNR_DUP2,
|
||||||
|
"pause": SNR_PAUSE,
|
||||||
|
"nanosleep": SNR_NANOSLEEP,
|
||||||
|
"getitimer": SNR_GETITIMER,
|
||||||
|
"alarm": SNR_ALARM,
|
||||||
|
"setitimer": SNR_SETITIMER,
|
||||||
|
"getpid": SNR_GETPID,
|
||||||
|
"sendfile": SNR_SENDFILE,
|
||||||
|
"socket": SNR_SOCKET,
|
||||||
|
"connect": SNR_CONNECT,
|
||||||
|
"accept": SNR_ACCEPT,
|
||||||
|
"sendto": SNR_SENDTO,
|
||||||
|
"recvfrom": SNR_RECVFROM,
|
||||||
|
"sendmsg": SNR_SENDMSG,
|
||||||
|
"recvmsg": SNR_RECVMSG,
|
||||||
|
"shutdown": SNR_SHUTDOWN,
|
||||||
|
"bind": SNR_BIND,
|
||||||
|
"listen": SNR_LISTEN,
|
||||||
|
"getsockname": SNR_GETSOCKNAME,
|
||||||
|
"getpeername": SNR_GETPEERNAME,
|
||||||
|
"socketpair": SNR_SOCKETPAIR,
|
||||||
|
"setsockopt": SNR_SETSOCKOPT,
|
||||||
|
"getsockopt": SNR_GETSOCKOPT,
|
||||||
|
"clone": SNR_CLONE,
|
||||||
|
"fork": SNR_FORK,
|
||||||
|
"vfork": SNR_VFORK,
|
||||||
|
"execve": SNR_EXECVE,
|
||||||
|
"exit": SNR_EXIT,
|
||||||
|
"wait4": SNR_WAIT4,
|
||||||
|
"kill": SNR_KILL,
|
||||||
|
"uname": SNR_UNAME,
|
||||||
|
"semget": SNR_SEMGET,
|
||||||
|
"semop": SNR_SEMOP,
|
||||||
|
"semctl": SNR_SEMCTL,
|
||||||
|
"shmdt": SNR_SHMDT,
|
||||||
|
"msgget": SNR_MSGGET,
|
||||||
|
"msgsnd": SNR_MSGSND,
|
||||||
|
"msgrcv": SNR_MSGRCV,
|
||||||
|
"msgctl": SNR_MSGCTL,
|
||||||
|
"fcntl": SNR_FCNTL,
|
||||||
|
"flock": SNR_FLOCK,
|
||||||
|
"fsync": SNR_FSYNC,
|
||||||
|
"fdatasync": SNR_FDATASYNC,
|
||||||
|
"truncate": SNR_TRUNCATE,
|
||||||
|
"ftruncate": SNR_FTRUNCATE,
|
||||||
|
"getdents": SNR_GETDENTS,
|
||||||
|
"getcwd": SNR_GETCWD,
|
||||||
|
"chdir": SNR_CHDIR,
|
||||||
|
"fchdir": SNR_FCHDIR,
|
||||||
|
"rename": SNR_RENAME,
|
||||||
|
"mkdir": SNR_MKDIR,
|
||||||
|
"rmdir": SNR_RMDIR,
|
||||||
|
"creat": SNR_CREAT,
|
||||||
|
"link": SNR_LINK,
|
||||||
|
"unlink": SNR_UNLINK,
|
||||||
|
"symlink": SNR_SYMLINK,
|
||||||
|
"readlink": SNR_READLINK,
|
||||||
|
"chmod": SNR_CHMOD,
|
||||||
|
"fchmod": SNR_FCHMOD,
|
||||||
|
"chown": SNR_CHOWN,
|
||||||
|
"fchown": SNR_FCHOWN,
|
||||||
|
"lchown": SNR_LCHOWN,
|
||||||
|
"umask": SNR_UMASK,
|
||||||
|
"gettimeofday": SNR_GETTIMEOFDAY,
|
||||||
|
"getrlimit": SNR_GETRLIMIT,
|
||||||
|
"getrusage": SNR_GETRUSAGE,
|
||||||
|
"sysinfo": SNR_SYSINFO,
|
||||||
|
"times": SNR_TIMES,
|
||||||
|
"ptrace": SNR_PTRACE,
|
||||||
|
"getuid": SNR_GETUID,
|
||||||
|
"syslog": SNR_SYSLOG,
|
||||||
|
"getgid": SNR_GETGID,
|
||||||
|
"setuid": SNR_SETUID,
|
||||||
|
"setgid": SNR_SETGID,
|
||||||
|
"geteuid": SNR_GETEUID,
|
||||||
|
"getegid": SNR_GETEGID,
|
||||||
|
"setpgid": SNR_SETPGID,
|
||||||
|
"getppid": SNR_GETPPID,
|
||||||
|
"getpgrp": SNR_GETPGRP,
|
||||||
|
"setsid": SNR_SETSID,
|
||||||
|
"setreuid": SNR_SETREUID,
|
||||||
|
"setregid": SNR_SETREGID,
|
||||||
|
"getgroups": SNR_GETGROUPS,
|
||||||
|
"setgroups": SNR_SETGROUPS,
|
||||||
|
"setresuid": SNR_SETRESUID,
|
||||||
|
"getresuid": SNR_GETRESUID,
|
||||||
|
"setresgid": SNR_SETRESGID,
|
||||||
|
"getresgid": SNR_GETRESGID,
|
||||||
|
"getpgid": SNR_GETPGID,
|
||||||
|
"setfsuid": SNR_SETFSUID,
|
||||||
|
"setfsgid": SNR_SETFSGID,
|
||||||
|
"getsid": SNR_GETSID,
|
||||||
|
"capget": SNR_CAPGET,
|
||||||
|
"capset": SNR_CAPSET,
|
||||||
|
"rt_sigpending": SNR_RT_SIGPENDING,
|
||||||
|
"rt_sigtimedwait": SNR_RT_SIGTIMEDWAIT,
|
||||||
|
"rt_sigqueueinfo": SNR_RT_SIGQUEUEINFO,
|
||||||
|
"rt_sigsuspend": SNR_RT_SIGSUSPEND,
|
||||||
|
"sigaltstack": SNR_SIGALTSTACK,
|
||||||
|
"utime": SNR_UTIME,
|
||||||
|
"mknod": SNR_MKNOD,
|
||||||
|
"uselib": SNR_USELIB,
|
||||||
|
"personality": SNR_PERSONALITY,
|
||||||
|
"ustat": SNR_USTAT,
|
||||||
|
"statfs": SNR_STATFS,
|
||||||
|
"fstatfs": SNR_FSTATFS,
|
||||||
|
"sysfs": SNR_SYSFS,
|
||||||
|
"getpriority": SNR_GETPRIORITY,
|
||||||
|
"setpriority": SNR_SETPRIORITY,
|
||||||
|
"sched_setparam": SNR_SCHED_SETPARAM,
|
||||||
|
"sched_getparam": SNR_SCHED_GETPARAM,
|
||||||
|
"sched_setscheduler": SNR_SCHED_SETSCHEDULER,
|
||||||
|
"sched_getscheduler": SNR_SCHED_GETSCHEDULER,
|
||||||
|
"sched_get_priority_max": SNR_SCHED_GET_PRIORITY_MAX,
|
||||||
|
"sched_get_priority_min": SNR_SCHED_GET_PRIORITY_MIN,
|
||||||
|
"sched_rr_get_interval": SNR_SCHED_RR_GET_INTERVAL,
|
||||||
|
"mlock": SNR_MLOCK,
|
||||||
|
"munlock": SNR_MUNLOCK,
|
||||||
|
"mlockall": SNR_MLOCKALL,
|
||||||
|
"munlockall": SNR_MUNLOCKALL,
|
||||||
|
"vhangup": SNR_VHANGUP,
|
||||||
|
"modify_ldt": SNR_MODIFY_LDT,
|
||||||
|
"pivot_root": SNR_PIVOT_ROOT,
|
||||||
|
"_sysctl": SNR__SYSCTL,
|
||||||
|
"prctl": SNR_PRCTL,
|
||||||
|
"arch_prctl": SNR_ARCH_PRCTL,
|
||||||
|
"adjtimex": SNR_ADJTIMEX,
|
||||||
|
"setrlimit": SNR_SETRLIMIT,
|
||||||
|
"chroot": SNR_CHROOT,
|
||||||
|
"sync": SNR_SYNC,
|
||||||
|
"acct": SNR_ACCT,
|
||||||
|
"settimeofday": SNR_SETTIMEOFDAY,
|
||||||
|
"mount": SNR_MOUNT,
|
||||||
|
"umount2": SNR_UMOUNT2,
|
||||||
|
"swapon": SNR_SWAPON,
|
||||||
|
"swapoff": SNR_SWAPOFF,
|
||||||
|
"reboot": SNR_REBOOT,
|
||||||
|
"sethostname": SNR_SETHOSTNAME,
|
||||||
|
"setdomainname": SNR_SETDOMAINNAME,
|
||||||
|
"iopl": SNR_IOPL,
|
||||||
|
"ioperm": SNR_IOPERM,
|
||||||
|
"create_module": SNR_CREATE_MODULE,
|
||||||
|
"init_module": SNR_INIT_MODULE,
|
||||||
|
"delete_module": SNR_DELETE_MODULE,
|
||||||
|
"get_kernel_syms": SNR_GET_KERNEL_SYMS,
|
||||||
|
"query_module": SNR_QUERY_MODULE,
|
||||||
|
"quotactl": SNR_QUOTACTL,
|
||||||
|
"nfsservctl": SNR_NFSSERVCTL,
|
||||||
|
"getpmsg": SNR_GETPMSG,
|
||||||
|
"putpmsg": SNR_PUTPMSG,
|
||||||
|
"afs_syscall": SNR_AFS_SYSCALL,
|
||||||
|
"tuxcall": SNR_TUXCALL,
|
||||||
|
"security": SNR_SECURITY,
|
||||||
|
"gettid": SNR_GETTID,
|
||||||
|
"readahead": SNR_READAHEAD,
|
||||||
|
"setxattr": SNR_SETXATTR,
|
||||||
|
"lsetxattr": SNR_LSETXATTR,
|
||||||
|
"fsetxattr": SNR_FSETXATTR,
|
||||||
|
"getxattr": SNR_GETXATTR,
|
||||||
|
"lgetxattr": SNR_LGETXATTR,
|
||||||
|
"fgetxattr": SNR_FGETXATTR,
|
||||||
|
"listxattr": SNR_LISTXATTR,
|
||||||
|
"llistxattr": SNR_LLISTXATTR,
|
||||||
|
"flistxattr": SNR_FLISTXATTR,
|
||||||
|
"removexattr": SNR_REMOVEXATTR,
|
||||||
|
"lremovexattr": SNR_LREMOVEXATTR,
|
||||||
|
"fremovexattr": SNR_FREMOVEXATTR,
|
||||||
|
"tkill": SNR_TKILL,
|
||||||
|
"time": SNR_TIME,
|
||||||
|
"futex": SNR_FUTEX,
|
||||||
|
"sched_setaffinity": SNR_SCHED_SETAFFINITY,
|
||||||
|
"sched_getaffinity": SNR_SCHED_GETAFFINITY,
|
||||||
|
"set_thread_area": SNR_SET_THREAD_AREA,
|
||||||
|
"io_setup": SNR_IO_SETUP,
|
||||||
|
"io_destroy": SNR_IO_DESTROY,
|
||||||
|
"io_getevents": SNR_IO_GETEVENTS,
|
||||||
|
"io_submit": SNR_IO_SUBMIT,
|
||||||
|
"io_cancel": SNR_IO_CANCEL,
|
||||||
|
"get_thread_area": SNR_GET_THREAD_AREA,
|
||||||
|
"lookup_dcookie": SNR_LOOKUP_DCOOKIE,
|
||||||
|
"epoll_create": SNR_EPOLL_CREATE,
|
||||||
|
"epoll_ctl_old": SNR_EPOLL_CTL_OLD,
|
||||||
|
"epoll_wait_old": SNR_EPOLL_WAIT_OLD,
|
||||||
|
"remap_file_pages": SNR_REMAP_FILE_PAGES,
|
||||||
|
"getdents64": SNR_GETDENTS64,
|
||||||
|
"set_tid_address": SNR_SET_TID_ADDRESS,
|
||||||
|
"restart_syscall": SNR_RESTART_SYSCALL,
|
||||||
|
"semtimedop": SNR_SEMTIMEDOP,
|
||||||
|
"fadvise64": SNR_FADVISE64,
|
||||||
|
"timer_create": SNR_TIMER_CREATE,
|
||||||
|
"timer_settime": SNR_TIMER_SETTIME,
|
||||||
|
"timer_gettime": SNR_TIMER_GETTIME,
|
||||||
|
"timer_getoverrun": SNR_TIMER_GETOVERRUN,
|
||||||
|
"timer_delete": SNR_TIMER_DELETE,
|
||||||
|
"clock_settime": SNR_CLOCK_SETTIME,
|
||||||
|
"clock_gettime": SNR_CLOCK_GETTIME,
|
||||||
|
"clock_getres": SNR_CLOCK_GETRES,
|
||||||
|
"clock_nanosleep": SNR_CLOCK_NANOSLEEP,
|
||||||
|
"exit_group": SNR_EXIT_GROUP,
|
||||||
|
"epoll_wait": SNR_EPOLL_WAIT,
|
||||||
|
"epoll_ctl": SNR_EPOLL_CTL,
|
||||||
|
"tgkill": SNR_TGKILL,
|
||||||
|
"utimes": SNR_UTIMES,
|
||||||
|
"vserver": SNR_VSERVER,
|
||||||
|
"mbind": SNR_MBIND,
|
||||||
|
"set_mempolicy": SNR_SET_MEMPOLICY,
|
||||||
|
"get_mempolicy": SNR_GET_MEMPOLICY,
|
||||||
|
"mq_open": SNR_MQ_OPEN,
|
||||||
|
"mq_unlink": SNR_MQ_UNLINK,
|
||||||
|
"mq_timedsend": SNR_MQ_TIMEDSEND,
|
||||||
|
"mq_timedreceive": SNR_MQ_TIMEDRECEIVE,
|
||||||
|
"mq_notify": SNR_MQ_NOTIFY,
|
||||||
|
"mq_getsetattr": SNR_MQ_GETSETATTR,
|
||||||
|
"kexec_load": SNR_KEXEC_LOAD,
|
||||||
|
"waitid": SNR_WAITID,
|
||||||
|
"add_key": SNR_ADD_KEY,
|
||||||
|
"request_key": SNR_REQUEST_KEY,
|
||||||
|
"keyctl": SNR_KEYCTL,
|
||||||
|
"ioprio_set": SNR_IOPRIO_SET,
|
||||||
|
"ioprio_get": SNR_IOPRIO_GET,
|
||||||
|
"inotify_init": SNR_INOTIFY_INIT,
|
||||||
|
"inotify_add_watch": SNR_INOTIFY_ADD_WATCH,
|
||||||
|
"inotify_rm_watch": SNR_INOTIFY_RM_WATCH,
|
||||||
|
"migrate_pages": SNR_MIGRATE_PAGES,
|
||||||
|
"openat": SNR_OPENAT,
|
||||||
|
"mkdirat": SNR_MKDIRAT,
|
||||||
|
"mknodat": SNR_MKNODAT,
|
||||||
|
"fchownat": SNR_FCHOWNAT,
|
||||||
|
"futimesat": SNR_FUTIMESAT,
|
||||||
|
"newfstatat": SNR_NEWFSTATAT,
|
||||||
|
"unlinkat": SNR_UNLINKAT,
|
||||||
|
"renameat": SNR_RENAMEAT,
|
||||||
|
"linkat": SNR_LINKAT,
|
||||||
|
"symlinkat": SNR_SYMLINKAT,
|
||||||
|
"readlinkat": SNR_READLINKAT,
|
||||||
|
"fchmodat": SNR_FCHMODAT,
|
||||||
|
"faccessat": SNR_FACCESSAT,
|
||||||
|
"pselect6": SNR_PSELECT6,
|
||||||
|
"ppoll": SNR_PPOLL,
|
||||||
|
"unshare": SNR_UNSHARE,
|
||||||
|
"set_robust_list": SNR_SET_ROBUST_LIST,
|
||||||
|
"get_robust_list": SNR_GET_ROBUST_LIST,
|
||||||
|
"splice": SNR_SPLICE,
|
||||||
|
"tee": SNR_TEE,
|
||||||
|
"sync_file_range": SNR_SYNC_FILE_RANGE,
|
||||||
|
"vmsplice": SNR_VMSPLICE,
|
||||||
|
"move_pages": SNR_MOVE_PAGES,
|
||||||
|
"utimensat": SNR_UTIMENSAT,
|
||||||
|
"epoll_pwait": SNR_EPOLL_PWAIT,
|
||||||
|
"signalfd": SNR_SIGNALFD,
|
||||||
|
"timerfd_create": SNR_TIMERFD_CREATE,
|
||||||
|
"eventfd": SNR_EVENTFD,
|
||||||
|
"fallocate": SNR_FALLOCATE,
|
||||||
|
"timerfd_settime": SNR_TIMERFD_SETTIME,
|
||||||
|
"timerfd_gettime": SNR_TIMERFD_GETTIME,
|
||||||
|
"accept4": SNR_ACCEPT4,
|
||||||
|
"signalfd4": SNR_SIGNALFD4,
|
||||||
|
"eventfd2": SNR_EVENTFD2,
|
||||||
|
"epoll_create1": SNR_EPOLL_CREATE1,
|
||||||
|
"dup3": SNR_DUP3,
|
||||||
|
"pipe2": SNR_PIPE2,
|
||||||
|
"inotify_init1": SNR_INOTIFY_INIT1,
|
||||||
|
"preadv": SNR_PREADV,
|
||||||
|
"pwritev": SNR_PWRITEV,
|
||||||
|
"rt_tgsigqueueinfo": SNR_RT_TGSIGQUEUEINFO,
|
||||||
|
"perf_event_open": SNR_PERF_EVENT_OPEN,
|
||||||
|
"recvmmsg": SNR_RECVMMSG,
|
||||||
|
"fanotify_init": SNR_FANOTIFY_INIT,
|
||||||
|
"fanotify_mark": SNR_FANOTIFY_MARK,
|
||||||
|
"prlimit64": SNR_PRLIMIT64,
|
||||||
|
"name_to_handle_at": SNR_NAME_TO_HANDLE_AT,
|
||||||
|
"open_by_handle_at": SNR_OPEN_BY_HANDLE_AT,
|
||||||
|
"clock_adjtime": SNR_CLOCK_ADJTIME,
|
||||||
|
"syncfs": SNR_SYNCFS,
|
||||||
|
"sendmmsg": SNR_SENDMMSG,
|
||||||
|
"setns": SNR_SETNS,
|
||||||
|
"getcpu": SNR_GETCPU,
|
||||||
|
"process_vm_readv": SNR_PROCESS_VM_READV,
|
||||||
|
"process_vm_writev": SNR_PROCESS_VM_WRITEV,
|
||||||
|
"kcmp": SNR_KCMP,
|
||||||
|
"finit_module": SNR_FINIT_MODULE,
|
||||||
|
"sched_setattr": SNR_SCHED_SETATTR,
|
||||||
|
"sched_getattr": SNR_SCHED_GETATTR,
|
||||||
|
"renameat2": SNR_RENAMEAT2,
|
||||||
|
"seccomp": SNR_SECCOMP,
|
||||||
|
"getrandom": SNR_GETRANDOM,
|
||||||
|
"memfd_create": SNR_MEMFD_CREATE,
|
||||||
|
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
||||||
|
"bpf": SNR_BPF,
|
||||||
|
"execveat": SNR_EXECVEAT,
|
||||||
|
"userfaultfd": SNR_USERFAULTFD,
|
||||||
|
"membarrier": SNR_MEMBARRIER,
|
||||||
|
"mlock2": SNR_MLOCK2,
|
||||||
|
"copy_file_range": SNR_COPY_FILE_RANGE,
|
||||||
|
"preadv2": SNR_PREADV2,
|
||||||
|
"pwritev2": SNR_PWRITEV2,
|
||||||
|
"pkey_mprotect": SNR_PKEY_MPROTECT,
|
||||||
|
"pkey_alloc": SNR_PKEY_ALLOC,
|
||||||
|
"pkey_free": SNR_PKEY_FREE,
|
||||||
|
"statx": SNR_STATX,
|
||||||
|
"io_pgetevents": SNR_IO_PGETEVENTS,
|
||||||
|
"rseq": SNR_RSEQ,
|
||||||
|
"uretprobe": SNR_URETPROBE,
|
||||||
|
"pidfd_send_signal": SNR_PIDFD_SEND_SIGNAL,
|
||||||
|
"io_uring_setup": SNR_IO_URING_SETUP,
|
||||||
|
"io_uring_enter": SNR_IO_URING_ENTER,
|
||||||
|
"io_uring_register": SNR_IO_URING_REGISTER,
|
||||||
|
"open_tree": SNR_OPEN_TREE,
|
||||||
|
"move_mount": SNR_MOVE_MOUNT,
|
||||||
|
"fsopen": SNR_FSOPEN,
|
||||||
|
"fsconfig": SNR_FSCONFIG,
|
||||||
|
"fsmount": SNR_FSMOUNT,
|
||||||
|
"fspick": SNR_FSPICK,
|
||||||
|
"pidfd_open": SNR_PIDFD_OPEN,
|
||||||
|
"clone3": SNR_CLONE3,
|
||||||
|
"close_range": SNR_CLOSE_RANGE,
|
||||||
|
"openat2": SNR_OPENAT2,
|
||||||
|
"pidfd_getfd": SNR_PIDFD_GETFD,
|
||||||
|
"faccessat2": SNR_FACCESSAT2,
|
||||||
|
"process_madvise": SNR_PROCESS_MADVISE,
|
||||||
|
"epoll_pwait2": SNR_EPOLL_PWAIT2,
|
||||||
|
"mount_setattr": SNR_MOUNT_SETATTR,
|
||||||
|
"quotactl_fd": SNR_QUOTACTL_FD,
|
||||||
|
"landlock_create_ruleset": SNR_LANDLOCK_CREATE_RULESET,
|
||||||
|
"landlock_add_rule": SNR_LANDLOCK_ADD_RULE,
|
||||||
|
"landlock_restrict_self": SNR_LANDLOCK_RESTRICT_SELF,
|
||||||
|
"memfd_secret": SNR_MEMFD_SECRET,
|
||||||
|
"process_mrelease": SNR_PROCESS_MRELEASE,
|
||||||
|
"futex_waitv": SNR_FUTEX_WAITV,
|
||||||
|
"set_mempolicy_home_node": SNR_SET_MEMPOLICY_HOME_NODE,
|
||||||
|
"cachestat": SNR_CACHESTAT,
|
||||||
|
"fchmodat2": SNR_FCHMODAT2,
|
||||||
|
"map_shadow_stack": SNR_MAP_SHADOW_STACK,
|
||||||
|
"futex_wake": SNR_FUTEX_WAKE,
|
||||||
|
"futex_wait": SNR_FUTEX_WAIT,
|
||||||
|
"futex_requeue": SNR_FUTEX_REQUEUE,
|
||||||
|
"statmount": SNR_STATMOUNT,
|
||||||
|
"listmount": SNR_LISTMOUNT,
|
||||||
|
"lsm_get_self_attr": SNR_LSM_GET_SELF_ATTR,
|
||||||
|
"lsm_set_self_attr": SNR_LSM_SET_SELF_ATTR,
|
||||||
|
"lsm_list_modules": SNR_LSM_LIST_MODULES,
|
||||||
|
"mseal": SNR_MSEAL,
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SYS_NAME_TO_HANDLE_AT = 303
|
||||||
|
SYS_OPEN_BY_HANDLE_AT = 304
|
||||||
|
SYS_CLOCK_ADJTIME = 305
|
||||||
|
SYS_SYNCFS = 306
|
||||||
|
SYS_SENDMMSG = 307
|
||||||
|
SYS_SETNS = 308
|
||||||
|
SYS_GETCPU = 309
|
||||||
|
SYS_PROCESS_VM_READV = 310
|
||||||
|
SYS_PROCESS_VM_WRITEV = 311
|
||||||
|
SYS_KCMP = 312
|
||||||
|
SYS_FINIT_MODULE = 313
|
||||||
|
SYS_SCHED_SETATTR = 314
|
||||||
|
SYS_SCHED_GETATTR = 315
|
||||||
|
SYS_RENAMEAT2 = 316
|
||||||
|
SYS_SECCOMP = 317
|
||||||
|
SYS_GETRANDOM = 318
|
||||||
|
SYS_MEMFD_CREATE = 319
|
||||||
|
SYS_KEXEC_FILE_LOAD = 320
|
||||||
|
SYS_BPF = 321
|
||||||
|
SYS_EXECVEAT = 322
|
||||||
|
SYS_USERFAULTFD = 323
|
||||||
|
SYS_MEMBARRIER = 324
|
||||||
|
SYS_MLOCK2 = 325
|
||||||
|
SYS_COPY_FILE_RANGE = 326
|
||||||
|
SYS_PREADV2 = 327
|
||||||
|
SYS_PWRITEV2 = 328
|
||||||
|
SYS_PKEY_MPROTECT = 329
|
||||||
|
SYS_PKEY_ALLOC = 330
|
||||||
|
SYS_PKEY_FREE = 331
|
||||||
|
SYS_STATX = 332
|
||||||
|
SYS_IO_PGETEVENTS = 333
|
||||||
|
SYS_RSEQ = 334
|
||||||
|
SYS_URETPROBE = 335
|
||||||
|
SYS_PIDFD_SEND_SIGNAL = 424
|
||||||
|
SYS_IO_URING_SETUP = 425
|
||||||
|
SYS_IO_URING_ENTER = 426
|
||||||
|
SYS_IO_URING_REGISTER = 427
|
||||||
|
SYS_OPEN_TREE = 428
|
||||||
|
SYS_MOVE_MOUNT = 429
|
||||||
|
SYS_FSOPEN = 430
|
||||||
|
SYS_FSCONFIG = 431
|
||||||
|
SYS_FSMOUNT = 432
|
||||||
|
SYS_FSPICK = 433
|
||||||
|
SYS_PIDFD_OPEN = 434
|
||||||
|
SYS_CLONE3 = 435
|
||||||
|
SYS_CLOSE_RANGE = 436
|
||||||
|
SYS_OPENAT2 = 437
|
||||||
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
|
SYS_PROCESS_MADVISE = 440
|
||||||
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
|
SYS_QUOTACTL_FD = 443
|
||||||
|
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||||
|
SYS_LANDLOCK_ADD_RULE = 445
|
||||||
|
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||||
|
SYS_MEMFD_SECRET = 447
|
||||||
|
SYS_PROCESS_MRELEASE = 448
|
||||||
|
SYS_FUTEX_WAITV = 449
|
||||||
|
SYS_SET_MEMPOLICY_HOME_NODE = 450
|
||||||
|
SYS_CACHESTAT = 451
|
||||||
|
SYS_FCHMODAT2 = 452
|
||||||
|
SYS_MAP_SHADOW_STACK = 453
|
||||||
|
SYS_FUTEX_WAKE = 454
|
||||||
|
SYS_FUTEX_WAIT = 455
|
||||||
|
SYS_FUTEX_REQUEUE = 456
|
||||||
|
SYS_STATMOUNT = 457
|
||||||
|
SYS_LISTMOUNT = 458
|
||||||
|
SYS_LSM_GET_SELF_ATTR = 459
|
||||||
|
SYS_LSM_SET_SELF_ATTR = 460
|
||||||
|
SYS_LSM_LIST_MODULES = 461
|
||||||
|
SYS_MSEAL = 462
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
SNR_READ SyscallNum = SYS_READ
|
||||||
|
SNR_WRITE SyscallNum = SYS_WRITE
|
||||||
|
SNR_OPEN SyscallNum = SYS_OPEN
|
||||||
|
SNR_CLOSE SyscallNum = SYS_CLOSE
|
||||||
|
SNR_STAT SyscallNum = SYS_STAT
|
||||||
|
SNR_FSTAT SyscallNum = SYS_FSTAT
|
||||||
|
SNR_LSTAT SyscallNum = SYS_LSTAT
|
||||||
|
SNR_POLL SyscallNum = SYS_POLL
|
||||||
|
SNR_LSEEK SyscallNum = SYS_LSEEK
|
||||||
|
SNR_MMAP SyscallNum = SYS_MMAP
|
||||||
|
SNR_MPROTECT SyscallNum = SYS_MPROTECT
|
||||||
|
SNR_MUNMAP SyscallNum = SYS_MUNMAP
|
||||||
|
SNR_BRK SyscallNum = SYS_BRK
|
||||||
|
SNR_RT_SIGACTION SyscallNum = SYS_RT_SIGACTION
|
||||||
|
SNR_RT_SIGPROCMASK SyscallNum = SYS_RT_SIGPROCMASK
|
||||||
|
SNR_RT_SIGRETURN SyscallNum = SYS_RT_SIGRETURN
|
||||||
|
SNR_IOCTL SyscallNum = SYS_IOCTL
|
||||||
|
SNR_PREAD64 SyscallNum = SYS_PREAD64
|
||||||
|
SNR_PWRITE64 SyscallNum = SYS_PWRITE64
|
||||||
|
SNR_READV SyscallNum = SYS_READV
|
||||||
|
SNR_WRITEV SyscallNum = SYS_WRITEV
|
||||||
|
SNR_ACCESS SyscallNum = SYS_ACCESS
|
||||||
|
SNR_PIPE SyscallNum = SYS_PIPE
|
||||||
|
SNR_SELECT SyscallNum = SYS_SELECT
|
||||||
|
SNR_SCHED_YIELD SyscallNum = SYS_SCHED_YIELD
|
||||||
|
SNR_MREMAP SyscallNum = SYS_MREMAP
|
||||||
|
SNR_MSYNC SyscallNum = SYS_MSYNC
|
||||||
|
SNR_MINCORE SyscallNum = SYS_MINCORE
|
||||||
|
SNR_MADVISE SyscallNum = SYS_MADVISE
|
||||||
|
SNR_SHMGET SyscallNum = SYS_SHMGET
|
||||||
|
SNR_SHMAT SyscallNum = SYS_SHMAT
|
||||||
|
SNR_SHMCTL SyscallNum = SYS_SHMCTL
|
||||||
|
SNR_DUP SyscallNum = SYS_DUP
|
||||||
|
SNR_DUP2 SyscallNum = SYS_DUP2
|
||||||
|
SNR_PAUSE SyscallNum = SYS_PAUSE
|
||||||
|
SNR_NANOSLEEP SyscallNum = SYS_NANOSLEEP
|
||||||
|
SNR_GETITIMER SyscallNum = SYS_GETITIMER
|
||||||
|
SNR_ALARM SyscallNum = SYS_ALARM
|
||||||
|
SNR_SETITIMER SyscallNum = SYS_SETITIMER
|
||||||
|
SNR_GETPID SyscallNum = SYS_GETPID
|
||||||
|
SNR_SENDFILE SyscallNum = SYS_SENDFILE
|
||||||
|
SNR_SOCKET SyscallNum = SYS_SOCKET
|
||||||
|
SNR_CONNECT SyscallNum = SYS_CONNECT
|
||||||
|
SNR_ACCEPT SyscallNum = SYS_ACCEPT
|
||||||
|
SNR_SENDTO SyscallNum = SYS_SENDTO
|
||||||
|
SNR_RECVFROM SyscallNum = SYS_RECVFROM
|
||||||
|
SNR_SENDMSG SyscallNum = SYS_SENDMSG
|
||||||
|
SNR_RECVMSG SyscallNum = SYS_RECVMSG
|
||||||
|
SNR_SHUTDOWN SyscallNum = SYS_SHUTDOWN
|
||||||
|
SNR_BIND SyscallNum = SYS_BIND
|
||||||
|
SNR_LISTEN SyscallNum = SYS_LISTEN
|
||||||
|
SNR_GETSOCKNAME SyscallNum = SYS_GETSOCKNAME
|
||||||
|
SNR_GETPEERNAME SyscallNum = SYS_GETPEERNAME
|
||||||
|
SNR_SOCKETPAIR SyscallNum = SYS_SOCKETPAIR
|
||||||
|
SNR_SETSOCKOPT SyscallNum = SYS_SETSOCKOPT
|
||||||
|
SNR_GETSOCKOPT SyscallNum = SYS_GETSOCKOPT
|
||||||
|
SNR_CLONE SyscallNum = SYS_CLONE
|
||||||
|
SNR_FORK SyscallNum = SYS_FORK
|
||||||
|
SNR_VFORK SyscallNum = SYS_VFORK
|
||||||
|
SNR_EXECVE SyscallNum = SYS_EXECVE
|
||||||
|
SNR_EXIT SyscallNum = SYS_EXIT
|
||||||
|
SNR_WAIT4 SyscallNum = SYS_WAIT4
|
||||||
|
SNR_KILL SyscallNum = SYS_KILL
|
||||||
|
SNR_UNAME SyscallNum = SYS_UNAME
|
||||||
|
SNR_SEMGET SyscallNum = SYS_SEMGET
|
||||||
|
SNR_SEMOP SyscallNum = SYS_SEMOP
|
||||||
|
SNR_SEMCTL SyscallNum = SYS_SEMCTL
|
||||||
|
SNR_SHMDT SyscallNum = SYS_SHMDT
|
||||||
|
SNR_MSGGET SyscallNum = SYS_MSGGET
|
||||||
|
SNR_MSGSND SyscallNum = SYS_MSGSND
|
||||||
|
SNR_MSGRCV SyscallNum = SYS_MSGRCV
|
||||||
|
SNR_MSGCTL SyscallNum = SYS_MSGCTL
|
||||||
|
SNR_FCNTL SyscallNum = SYS_FCNTL
|
||||||
|
SNR_FLOCK SyscallNum = SYS_FLOCK
|
||||||
|
SNR_FSYNC SyscallNum = SYS_FSYNC
|
||||||
|
SNR_FDATASYNC SyscallNum = SYS_FDATASYNC
|
||||||
|
SNR_TRUNCATE SyscallNum = SYS_TRUNCATE
|
||||||
|
SNR_FTRUNCATE SyscallNum = SYS_FTRUNCATE
|
||||||
|
SNR_GETDENTS SyscallNum = SYS_GETDENTS
|
||||||
|
SNR_GETCWD SyscallNum = SYS_GETCWD
|
||||||
|
SNR_CHDIR SyscallNum = SYS_CHDIR
|
||||||
|
SNR_FCHDIR SyscallNum = SYS_FCHDIR
|
||||||
|
SNR_RENAME SyscallNum = SYS_RENAME
|
||||||
|
SNR_MKDIR SyscallNum = SYS_MKDIR
|
||||||
|
SNR_RMDIR SyscallNum = SYS_RMDIR
|
||||||
|
SNR_CREAT SyscallNum = SYS_CREAT
|
||||||
|
SNR_LINK SyscallNum = SYS_LINK
|
||||||
|
SNR_UNLINK SyscallNum = SYS_UNLINK
|
||||||
|
SNR_SYMLINK SyscallNum = SYS_SYMLINK
|
||||||
|
SNR_READLINK SyscallNum = SYS_READLINK
|
||||||
|
SNR_CHMOD SyscallNum = SYS_CHMOD
|
||||||
|
SNR_FCHMOD SyscallNum = SYS_FCHMOD
|
||||||
|
SNR_CHOWN SyscallNum = SYS_CHOWN
|
||||||
|
SNR_FCHOWN SyscallNum = SYS_FCHOWN
|
||||||
|
SNR_LCHOWN SyscallNum = SYS_LCHOWN
|
||||||
|
SNR_UMASK SyscallNum = SYS_UMASK
|
||||||
|
SNR_GETTIMEOFDAY SyscallNum = SYS_GETTIMEOFDAY
|
||||||
|
SNR_GETRLIMIT SyscallNum = SYS_GETRLIMIT
|
||||||
|
SNR_GETRUSAGE SyscallNum = SYS_GETRUSAGE
|
||||||
|
SNR_SYSINFO SyscallNum = SYS_SYSINFO
|
||||||
|
SNR_TIMES SyscallNum = SYS_TIMES
|
||||||
|
SNR_PTRACE SyscallNum = SYS_PTRACE
|
||||||
|
SNR_GETUID SyscallNum = SYS_GETUID
|
||||||
|
SNR_SYSLOG SyscallNum = SYS_SYSLOG
|
||||||
|
SNR_GETGID SyscallNum = SYS_GETGID
|
||||||
|
SNR_SETUID SyscallNum = SYS_SETUID
|
||||||
|
SNR_SETGID SyscallNum = SYS_SETGID
|
||||||
|
SNR_GETEUID SyscallNum = SYS_GETEUID
|
||||||
|
SNR_GETEGID SyscallNum = SYS_GETEGID
|
||||||
|
SNR_SETPGID SyscallNum = SYS_SETPGID
|
||||||
|
SNR_GETPPID SyscallNum = SYS_GETPPID
|
||||||
|
SNR_GETPGRP SyscallNum = SYS_GETPGRP
|
||||||
|
SNR_SETSID SyscallNum = SYS_SETSID
|
||||||
|
SNR_SETREUID SyscallNum = SYS_SETREUID
|
||||||
|
SNR_SETREGID SyscallNum = SYS_SETREGID
|
||||||
|
SNR_GETGROUPS SyscallNum = SYS_GETGROUPS
|
||||||
|
SNR_SETGROUPS SyscallNum = SYS_SETGROUPS
|
||||||
|
SNR_SETRESUID SyscallNum = SYS_SETRESUID
|
||||||
|
SNR_GETRESUID SyscallNum = SYS_GETRESUID
|
||||||
|
SNR_SETRESGID SyscallNum = SYS_SETRESGID
|
||||||
|
SNR_GETRESGID SyscallNum = SYS_GETRESGID
|
||||||
|
SNR_GETPGID SyscallNum = SYS_GETPGID
|
||||||
|
SNR_SETFSUID SyscallNum = SYS_SETFSUID
|
||||||
|
SNR_SETFSGID SyscallNum = SYS_SETFSGID
|
||||||
|
SNR_GETSID SyscallNum = SYS_GETSID
|
||||||
|
SNR_CAPGET SyscallNum = SYS_CAPGET
|
||||||
|
SNR_CAPSET SyscallNum = SYS_CAPSET
|
||||||
|
SNR_RT_SIGPENDING SyscallNum = SYS_RT_SIGPENDING
|
||||||
|
SNR_RT_SIGTIMEDWAIT SyscallNum = SYS_RT_SIGTIMEDWAIT
|
||||||
|
SNR_RT_SIGQUEUEINFO SyscallNum = SYS_RT_SIGQUEUEINFO
|
||||||
|
SNR_RT_SIGSUSPEND SyscallNum = SYS_RT_SIGSUSPEND
|
||||||
|
SNR_SIGALTSTACK SyscallNum = SYS_SIGALTSTACK
|
||||||
|
SNR_UTIME SyscallNum = SYS_UTIME
|
||||||
|
SNR_MKNOD SyscallNum = SYS_MKNOD
|
||||||
|
SNR_USELIB SyscallNum = SYS_USELIB
|
||||||
|
SNR_PERSONALITY SyscallNum = SYS_PERSONALITY
|
||||||
|
SNR_USTAT SyscallNum = SYS_USTAT
|
||||||
|
SNR_STATFS SyscallNum = SYS_STATFS
|
||||||
|
SNR_FSTATFS SyscallNum = SYS_FSTATFS
|
||||||
|
SNR_SYSFS SyscallNum = SYS_SYSFS
|
||||||
|
SNR_GETPRIORITY SyscallNum = SYS_GETPRIORITY
|
||||||
|
SNR_SETPRIORITY SyscallNum = SYS_SETPRIORITY
|
||||||
|
SNR_SCHED_SETPARAM SyscallNum = SYS_SCHED_SETPARAM
|
||||||
|
SNR_SCHED_GETPARAM SyscallNum = SYS_SCHED_GETPARAM
|
||||||
|
SNR_SCHED_SETSCHEDULER SyscallNum = SYS_SCHED_SETSCHEDULER
|
||||||
|
SNR_SCHED_GETSCHEDULER SyscallNum = SYS_SCHED_GETSCHEDULER
|
||||||
|
SNR_SCHED_GET_PRIORITY_MAX SyscallNum = SYS_SCHED_GET_PRIORITY_MAX
|
||||||
|
SNR_SCHED_GET_PRIORITY_MIN SyscallNum = SYS_SCHED_GET_PRIORITY_MIN
|
||||||
|
SNR_SCHED_RR_GET_INTERVAL SyscallNum = SYS_SCHED_RR_GET_INTERVAL
|
||||||
|
SNR_MLOCK SyscallNum = SYS_MLOCK
|
||||||
|
SNR_MUNLOCK SyscallNum = SYS_MUNLOCK
|
||||||
|
SNR_MLOCKALL SyscallNum = SYS_MLOCKALL
|
||||||
|
SNR_MUNLOCKALL SyscallNum = SYS_MUNLOCKALL
|
||||||
|
SNR_VHANGUP SyscallNum = SYS_VHANGUP
|
||||||
|
SNR_MODIFY_LDT SyscallNum = SYS_MODIFY_LDT
|
||||||
|
SNR_PIVOT_ROOT SyscallNum = SYS_PIVOT_ROOT
|
||||||
|
SNR__SYSCTL SyscallNum = SYS__SYSCTL
|
||||||
|
SNR_PRCTL SyscallNum = SYS_PRCTL
|
||||||
|
SNR_ARCH_PRCTL SyscallNum = SYS_ARCH_PRCTL
|
||||||
|
SNR_ADJTIMEX SyscallNum = SYS_ADJTIMEX
|
||||||
|
SNR_SETRLIMIT SyscallNum = SYS_SETRLIMIT
|
||||||
|
SNR_CHROOT SyscallNum = SYS_CHROOT
|
||||||
|
SNR_SYNC SyscallNum = SYS_SYNC
|
||||||
|
SNR_ACCT SyscallNum = SYS_ACCT
|
||||||
|
SNR_SETTIMEOFDAY SyscallNum = SYS_SETTIMEOFDAY
|
||||||
|
SNR_MOUNT SyscallNum = SYS_MOUNT
|
||||||
|
SNR_UMOUNT2 SyscallNum = SYS_UMOUNT2
|
||||||
|
SNR_SWAPON SyscallNum = SYS_SWAPON
|
||||||
|
SNR_SWAPOFF SyscallNum = SYS_SWAPOFF
|
||||||
|
SNR_REBOOT SyscallNum = SYS_REBOOT
|
||||||
|
SNR_SETHOSTNAME SyscallNum = SYS_SETHOSTNAME
|
||||||
|
SNR_SETDOMAINNAME SyscallNum = SYS_SETDOMAINNAME
|
||||||
|
SNR_IOPL SyscallNum = SYS_IOPL
|
||||||
|
SNR_IOPERM SyscallNum = SYS_IOPERM
|
||||||
|
SNR_CREATE_MODULE SyscallNum = SYS_CREATE_MODULE
|
||||||
|
SNR_INIT_MODULE SyscallNum = SYS_INIT_MODULE
|
||||||
|
SNR_DELETE_MODULE SyscallNum = SYS_DELETE_MODULE
|
||||||
|
SNR_GET_KERNEL_SYMS SyscallNum = SYS_GET_KERNEL_SYMS
|
||||||
|
SNR_QUERY_MODULE SyscallNum = SYS_QUERY_MODULE
|
||||||
|
SNR_QUOTACTL SyscallNum = SYS_QUOTACTL
|
||||||
|
SNR_NFSSERVCTL SyscallNum = SYS_NFSSERVCTL
|
||||||
|
SNR_GETPMSG SyscallNum = SYS_GETPMSG
|
||||||
|
SNR_PUTPMSG SyscallNum = SYS_PUTPMSG
|
||||||
|
SNR_AFS_SYSCALL SyscallNum = SYS_AFS_SYSCALL
|
||||||
|
SNR_TUXCALL SyscallNum = SYS_TUXCALL
|
||||||
|
SNR_SECURITY SyscallNum = SYS_SECURITY
|
||||||
|
SNR_GETTID SyscallNum = SYS_GETTID
|
||||||
|
SNR_READAHEAD SyscallNum = SYS_READAHEAD
|
||||||
|
SNR_SETXATTR SyscallNum = SYS_SETXATTR
|
||||||
|
SNR_LSETXATTR SyscallNum = SYS_LSETXATTR
|
||||||
|
SNR_FSETXATTR SyscallNum = SYS_FSETXATTR
|
||||||
|
SNR_GETXATTR SyscallNum = SYS_GETXATTR
|
||||||
|
SNR_LGETXATTR SyscallNum = SYS_LGETXATTR
|
||||||
|
SNR_FGETXATTR SyscallNum = SYS_FGETXATTR
|
||||||
|
SNR_LISTXATTR SyscallNum = SYS_LISTXATTR
|
||||||
|
SNR_LLISTXATTR SyscallNum = SYS_LLISTXATTR
|
||||||
|
SNR_FLISTXATTR SyscallNum = SYS_FLISTXATTR
|
||||||
|
SNR_REMOVEXATTR SyscallNum = SYS_REMOVEXATTR
|
||||||
|
SNR_LREMOVEXATTR SyscallNum = SYS_LREMOVEXATTR
|
||||||
|
SNR_FREMOVEXATTR SyscallNum = SYS_FREMOVEXATTR
|
||||||
|
SNR_TKILL SyscallNum = SYS_TKILL
|
||||||
|
SNR_TIME SyscallNum = SYS_TIME
|
||||||
|
SNR_FUTEX SyscallNum = SYS_FUTEX
|
||||||
|
SNR_SCHED_SETAFFINITY SyscallNum = SYS_SCHED_SETAFFINITY
|
||||||
|
SNR_SCHED_GETAFFINITY SyscallNum = SYS_SCHED_GETAFFINITY
|
||||||
|
SNR_SET_THREAD_AREA SyscallNum = SYS_SET_THREAD_AREA
|
||||||
|
SNR_IO_SETUP SyscallNum = SYS_IO_SETUP
|
||||||
|
SNR_IO_DESTROY SyscallNum = SYS_IO_DESTROY
|
||||||
|
SNR_IO_GETEVENTS SyscallNum = SYS_IO_GETEVENTS
|
||||||
|
SNR_IO_SUBMIT SyscallNum = SYS_IO_SUBMIT
|
||||||
|
SNR_IO_CANCEL SyscallNum = SYS_IO_CANCEL
|
||||||
|
SNR_GET_THREAD_AREA SyscallNum = SYS_GET_THREAD_AREA
|
||||||
|
SNR_LOOKUP_DCOOKIE SyscallNum = SYS_LOOKUP_DCOOKIE
|
||||||
|
SNR_EPOLL_CREATE SyscallNum = SYS_EPOLL_CREATE
|
||||||
|
SNR_EPOLL_CTL_OLD SyscallNum = SYS_EPOLL_CTL_OLD
|
||||||
|
SNR_EPOLL_WAIT_OLD SyscallNum = SYS_EPOLL_WAIT_OLD
|
||||||
|
SNR_REMAP_FILE_PAGES SyscallNum = SYS_REMAP_FILE_PAGES
|
||||||
|
SNR_GETDENTS64 SyscallNum = SYS_GETDENTS64
|
||||||
|
SNR_SET_TID_ADDRESS SyscallNum = SYS_SET_TID_ADDRESS
|
||||||
|
SNR_RESTART_SYSCALL SyscallNum = SYS_RESTART_SYSCALL
|
||||||
|
SNR_SEMTIMEDOP SyscallNum = SYS_SEMTIMEDOP
|
||||||
|
SNR_FADVISE64 SyscallNum = SYS_FADVISE64
|
||||||
|
SNR_TIMER_CREATE SyscallNum = SYS_TIMER_CREATE
|
||||||
|
SNR_TIMER_SETTIME SyscallNum = SYS_TIMER_SETTIME
|
||||||
|
SNR_TIMER_GETTIME SyscallNum = SYS_TIMER_GETTIME
|
||||||
|
SNR_TIMER_GETOVERRUN SyscallNum = SYS_TIMER_GETOVERRUN
|
||||||
|
SNR_TIMER_DELETE SyscallNum = SYS_TIMER_DELETE
|
||||||
|
SNR_CLOCK_SETTIME SyscallNum = SYS_CLOCK_SETTIME
|
||||||
|
SNR_CLOCK_GETTIME SyscallNum = SYS_CLOCK_GETTIME
|
||||||
|
SNR_CLOCK_GETRES SyscallNum = SYS_CLOCK_GETRES
|
||||||
|
SNR_CLOCK_NANOSLEEP SyscallNum = SYS_CLOCK_NANOSLEEP
|
||||||
|
SNR_EXIT_GROUP SyscallNum = SYS_EXIT_GROUP
|
||||||
|
SNR_EPOLL_WAIT SyscallNum = SYS_EPOLL_WAIT
|
||||||
|
SNR_EPOLL_CTL SyscallNum = SYS_EPOLL_CTL
|
||||||
|
SNR_TGKILL SyscallNum = SYS_TGKILL
|
||||||
|
SNR_UTIMES SyscallNum = SYS_UTIMES
|
||||||
|
SNR_VSERVER SyscallNum = SYS_VSERVER
|
||||||
|
SNR_MBIND SyscallNum = SYS_MBIND
|
||||||
|
SNR_SET_MEMPOLICY SyscallNum = SYS_SET_MEMPOLICY
|
||||||
|
SNR_GET_MEMPOLICY SyscallNum = SYS_GET_MEMPOLICY
|
||||||
|
SNR_MQ_OPEN SyscallNum = SYS_MQ_OPEN
|
||||||
|
SNR_MQ_UNLINK SyscallNum = SYS_MQ_UNLINK
|
||||||
|
SNR_MQ_TIMEDSEND SyscallNum = SYS_MQ_TIMEDSEND
|
||||||
|
SNR_MQ_TIMEDRECEIVE SyscallNum = SYS_MQ_TIMEDRECEIVE
|
||||||
|
SNR_MQ_NOTIFY SyscallNum = SYS_MQ_NOTIFY
|
||||||
|
SNR_MQ_GETSETATTR SyscallNum = SYS_MQ_GETSETATTR
|
||||||
|
SNR_KEXEC_LOAD SyscallNum = SYS_KEXEC_LOAD
|
||||||
|
SNR_WAITID SyscallNum = SYS_WAITID
|
||||||
|
SNR_ADD_KEY SyscallNum = SYS_ADD_KEY
|
||||||
|
SNR_REQUEST_KEY SyscallNum = SYS_REQUEST_KEY
|
||||||
|
SNR_KEYCTL SyscallNum = SYS_KEYCTL
|
||||||
|
SNR_IOPRIO_SET SyscallNum = SYS_IOPRIO_SET
|
||||||
|
SNR_IOPRIO_GET SyscallNum = SYS_IOPRIO_GET
|
||||||
|
SNR_INOTIFY_INIT SyscallNum = SYS_INOTIFY_INIT
|
||||||
|
SNR_INOTIFY_ADD_WATCH SyscallNum = SYS_INOTIFY_ADD_WATCH
|
||||||
|
SNR_INOTIFY_RM_WATCH SyscallNum = SYS_INOTIFY_RM_WATCH
|
||||||
|
SNR_MIGRATE_PAGES SyscallNum = SYS_MIGRATE_PAGES
|
||||||
|
SNR_OPENAT SyscallNum = SYS_OPENAT
|
||||||
|
SNR_MKDIRAT SyscallNum = SYS_MKDIRAT
|
||||||
|
SNR_MKNODAT SyscallNum = SYS_MKNODAT
|
||||||
|
SNR_FCHOWNAT SyscallNum = SYS_FCHOWNAT
|
||||||
|
SNR_FUTIMESAT SyscallNum = SYS_FUTIMESAT
|
||||||
|
SNR_NEWFSTATAT SyscallNum = SYS_NEWFSTATAT
|
||||||
|
SNR_UNLINKAT SyscallNum = SYS_UNLINKAT
|
||||||
|
SNR_RENAMEAT SyscallNum = SYS_RENAMEAT
|
||||||
|
SNR_LINKAT SyscallNum = SYS_LINKAT
|
||||||
|
SNR_SYMLINKAT SyscallNum = SYS_SYMLINKAT
|
||||||
|
SNR_READLINKAT SyscallNum = SYS_READLINKAT
|
||||||
|
SNR_FCHMODAT SyscallNum = SYS_FCHMODAT
|
||||||
|
SNR_FACCESSAT SyscallNum = SYS_FACCESSAT
|
||||||
|
SNR_PSELECT6 SyscallNum = SYS_PSELECT6
|
||||||
|
SNR_PPOLL SyscallNum = SYS_PPOLL
|
||||||
|
SNR_UNSHARE SyscallNum = SYS_UNSHARE
|
||||||
|
SNR_SET_ROBUST_LIST SyscallNum = SYS_SET_ROBUST_LIST
|
||||||
|
SNR_GET_ROBUST_LIST SyscallNum = SYS_GET_ROBUST_LIST
|
||||||
|
SNR_SPLICE SyscallNum = SYS_SPLICE
|
||||||
|
SNR_TEE SyscallNum = SYS_TEE
|
||||||
|
SNR_SYNC_FILE_RANGE SyscallNum = SYS_SYNC_FILE_RANGE
|
||||||
|
SNR_VMSPLICE SyscallNum = SYS_VMSPLICE
|
||||||
|
SNR_MOVE_PAGES SyscallNum = SYS_MOVE_PAGES
|
||||||
|
SNR_UTIMENSAT SyscallNum = SYS_UTIMENSAT
|
||||||
|
SNR_EPOLL_PWAIT SyscallNum = SYS_EPOLL_PWAIT
|
||||||
|
SNR_SIGNALFD SyscallNum = SYS_SIGNALFD
|
||||||
|
SNR_TIMERFD_CREATE SyscallNum = SYS_TIMERFD_CREATE
|
||||||
|
SNR_EVENTFD SyscallNum = SYS_EVENTFD
|
||||||
|
SNR_FALLOCATE SyscallNum = SYS_FALLOCATE
|
||||||
|
SNR_TIMERFD_SETTIME SyscallNum = SYS_TIMERFD_SETTIME
|
||||||
|
SNR_TIMERFD_GETTIME SyscallNum = SYS_TIMERFD_GETTIME
|
||||||
|
SNR_ACCEPT4 SyscallNum = SYS_ACCEPT4
|
||||||
|
SNR_SIGNALFD4 SyscallNum = SYS_SIGNALFD4
|
||||||
|
SNR_EVENTFD2 SyscallNum = SYS_EVENTFD2
|
||||||
|
SNR_EPOLL_CREATE1 SyscallNum = SYS_EPOLL_CREATE1
|
||||||
|
SNR_DUP3 SyscallNum = SYS_DUP3
|
||||||
|
SNR_PIPE2 SyscallNum = SYS_PIPE2
|
||||||
|
SNR_INOTIFY_INIT1 SyscallNum = SYS_INOTIFY_INIT1
|
||||||
|
SNR_PREADV SyscallNum = SYS_PREADV
|
||||||
|
SNR_PWRITEV SyscallNum = SYS_PWRITEV
|
||||||
|
SNR_RT_TGSIGQUEUEINFO SyscallNum = SYS_RT_TGSIGQUEUEINFO
|
||||||
|
SNR_PERF_EVENT_OPEN SyscallNum = SYS_PERF_EVENT_OPEN
|
||||||
|
SNR_RECVMMSG SyscallNum = SYS_RECVMMSG
|
||||||
|
SNR_FANOTIFY_INIT SyscallNum = SYS_FANOTIFY_INIT
|
||||||
|
SNR_FANOTIFY_MARK SyscallNum = SYS_FANOTIFY_MARK
|
||||||
|
SNR_PRLIMIT64 SyscallNum = SYS_PRLIMIT64
|
||||||
|
SNR_NAME_TO_HANDLE_AT SyscallNum = SYS_NAME_TO_HANDLE_AT
|
||||||
|
SNR_OPEN_BY_HANDLE_AT SyscallNum = SYS_OPEN_BY_HANDLE_AT
|
||||||
|
SNR_CLOCK_ADJTIME SyscallNum = SYS_CLOCK_ADJTIME
|
||||||
|
SNR_SYNCFS SyscallNum = SYS_SYNCFS
|
||||||
|
SNR_SENDMMSG SyscallNum = SYS_SENDMMSG
|
||||||
|
SNR_SETNS SyscallNum = SYS_SETNS
|
||||||
|
SNR_GETCPU SyscallNum = SYS_GETCPU
|
||||||
|
SNR_PROCESS_VM_READV SyscallNum = SYS_PROCESS_VM_READV
|
||||||
|
SNR_PROCESS_VM_WRITEV SyscallNum = SYS_PROCESS_VM_WRITEV
|
||||||
|
SNR_KCMP SyscallNum = SYS_KCMP
|
||||||
|
SNR_FINIT_MODULE SyscallNum = SYS_FINIT_MODULE
|
||||||
|
SNR_SCHED_SETATTR SyscallNum = SYS_SCHED_SETATTR
|
||||||
|
SNR_SCHED_GETATTR SyscallNum = SYS_SCHED_GETATTR
|
||||||
|
SNR_RENAMEAT2 SyscallNum = SYS_RENAMEAT2
|
||||||
|
SNR_SECCOMP SyscallNum = SYS_SECCOMP
|
||||||
|
SNR_GETRANDOM SyscallNum = SYS_GETRANDOM
|
||||||
|
SNR_MEMFD_CREATE SyscallNum = SYS_MEMFD_CREATE
|
||||||
|
SNR_KEXEC_FILE_LOAD SyscallNum = SYS_KEXEC_FILE_LOAD
|
||||||
|
SNR_BPF SyscallNum = SYS_BPF
|
||||||
|
SNR_EXECVEAT SyscallNum = SYS_EXECVEAT
|
||||||
|
SNR_USERFAULTFD SyscallNum = SYS_USERFAULTFD
|
||||||
|
SNR_MEMBARRIER SyscallNum = SYS_MEMBARRIER
|
||||||
|
SNR_MLOCK2 SyscallNum = SYS_MLOCK2
|
||||||
|
SNR_COPY_FILE_RANGE SyscallNum = SYS_COPY_FILE_RANGE
|
||||||
|
SNR_PREADV2 SyscallNum = SYS_PREADV2
|
||||||
|
SNR_PWRITEV2 SyscallNum = SYS_PWRITEV2
|
||||||
|
SNR_PKEY_MPROTECT SyscallNum = SYS_PKEY_MPROTECT
|
||||||
|
SNR_PKEY_ALLOC SyscallNum = SYS_PKEY_ALLOC
|
||||||
|
SNR_PKEY_FREE SyscallNum = SYS_PKEY_FREE
|
||||||
|
SNR_STATX SyscallNum = SYS_STATX
|
||||||
|
SNR_IO_PGETEVENTS SyscallNum = SYS_IO_PGETEVENTS
|
||||||
|
SNR_RSEQ SyscallNum = SYS_RSEQ
|
||||||
|
SNR_URETPROBE SyscallNum = SYS_URETPROBE
|
||||||
|
SNR_PIDFD_SEND_SIGNAL SyscallNum = SYS_PIDFD_SEND_SIGNAL
|
||||||
|
SNR_IO_URING_SETUP SyscallNum = SYS_IO_URING_SETUP
|
||||||
|
SNR_IO_URING_ENTER SyscallNum = SYS_IO_URING_ENTER
|
||||||
|
SNR_IO_URING_REGISTER SyscallNum = SYS_IO_URING_REGISTER
|
||||||
|
SNR_OPEN_TREE SyscallNum = SYS_OPEN_TREE
|
||||||
|
SNR_MOVE_MOUNT SyscallNum = SYS_MOVE_MOUNT
|
||||||
|
SNR_FSOPEN SyscallNum = SYS_FSOPEN
|
||||||
|
SNR_FSCONFIG SyscallNum = SYS_FSCONFIG
|
||||||
|
SNR_FSMOUNT SyscallNum = SYS_FSMOUNT
|
||||||
|
SNR_FSPICK SyscallNum = SYS_FSPICK
|
||||||
|
SNR_PIDFD_OPEN SyscallNum = SYS_PIDFD_OPEN
|
||||||
|
SNR_CLONE3 SyscallNum = SYS_CLONE3
|
||||||
|
SNR_CLOSE_RANGE SyscallNum = SYS_CLOSE_RANGE
|
||||||
|
SNR_OPENAT2 SyscallNum = SYS_OPENAT2
|
||||||
|
SNR_PIDFD_GETFD SyscallNum = SYS_PIDFD_GETFD
|
||||||
|
SNR_FACCESSAT2 SyscallNum = SYS_FACCESSAT2
|
||||||
|
SNR_PROCESS_MADVISE SyscallNum = SYS_PROCESS_MADVISE
|
||||||
|
SNR_EPOLL_PWAIT2 SyscallNum = SYS_EPOLL_PWAIT2
|
||||||
|
SNR_MOUNT_SETATTR SyscallNum = SYS_MOUNT_SETATTR
|
||||||
|
SNR_QUOTACTL_FD SyscallNum = SYS_QUOTACTL_FD
|
||||||
|
SNR_LANDLOCK_CREATE_RULESET SyscallNum = SYS_LANDLOCK_CREATE_RULESET
|
||||||
|
SNR_LANDLOCK_ADD_RULE SyscallNum = SYS_LANDLOCK_ADD_RULE
|
||||||
|
SNR_LANDLOCK_RESTRICT_SELF SyscallNum = SYS_LANDLOCK_RESTRICT_SELF
|
||||||
|
SNR_MEMFD_SECRET SyscallNum = SYS_MEMFD_SECRET
|
||||||
|
SNR_PROCESS_MRELEASE SyscallNum = SYS_PROCESS_MRELEASE
|
||||||
|
SNR_FUTEX_WAITV SyscallNum = SYS_FUTEX_WAITV
|
||||||
|
SNR_SET_MEMPOLICY_HOME_NODE SyscallNum = SYS_SET_MEMPOLICY_HOME_NODE
|
||||||
|
SNR_CACHESTAT SyscallNum = SYS_CACHESTAT
|
||||||
|
SNR_FCHMODAT2 SyscallNum = SYS_FCHMODAT2
|
||||||
|
SNR_MAP_SHADOW_STACK SyscallNum = SYS_MAP_SHADOW_STACK
|
||||||
|
SNR_FUTEX_WAKE SyscallNum = SYS_FUTEX_WAKE
|
||||||
|
SNR_FUTEX_WAIT SyscallNum = SYS_FUTEX_WAIT
|
||||||
|
SNR_FUTEX_REQUEUE SyscallNum = SYS_FUTEX_REQUEUE
|
||||||
|
SNR_STATMOUNT SyscallNum = SYS_STATMOUNT
|
||||||
|
SNR_LISTMOUNT SyscallNum = SYS_LISTMOUNT
|
||||||
|
SNR_LSM_GET_SELF_ATTR SyscallNum = SYS_LSM_GET_SELF_ATTR
|
||||||
|
SNR_LSM_SET_SELF_ATTR SyscallNum = SYS_LSM_SET_SELF_ATTR
|
||||||
|
SNR_LSM_LIST_MODULES SyscallNum = SYS_LSM_LIST_MODULES
|
||||||
|
SNR_MSEAL SyscallNum = SYS_MSEAL
|
||||||
|
)
|
||||||
703
ext/syscall_linux_arm64.go
Normal file
703
ext/syscall_linux_arm64.go
Normal file
@@ -0,0 +1,703 @@
|
|||||||
|
// mksysnum_linux.pl /usr/include/asm/unistd_64.h
|
||||||
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
package ext
|
||||||
|
|
||||||
|
import . "syscall"
|
||||||
|
|
||||||
|
var syscallNum = map[string]SyscallNum{
|
||||||
|
"io_setup": SNR_IO_SETUP,
|
||||||
|
"io_destroy": SNR_IO_DESTROY,
|
||||||
|
"io_submit": SNR_IO_SUBMIT,
|
||||||
|
"io_cancel": SNR_IO_CANCEL,
|
||||||
|
"io_getevents": SNR_IO_GETEVENTS,
|
||||||
|
"setxattr": SNR_SETXATTR,
|
||||||
|
"lsetxattr": SNR_LSETXATTR,
|
||||||
|
"fsetxattr": SNR_FSETXATTR,
|
||||||
|
"getxattr": SNR_GETXATTR,
|
||||||
|
"lgetxattr": SNR_LGETXATTR,
|
||||||
|
"fgetxattr": SNR_FGETXATTR,
|
||||||
|
"listxattr": SNR_LISTXATTR,
|
||||||
|
"llistxattr": SNR_LLISTXATTR,
|
||||||
|
"flistxattr": SNR_FLISTXATTR,
|
||||||
|
"removexattr": SNR_REMOVEXATTR,
|
||||||
|
"lremovexattr": SNR_LREMOVEXATTR,
|
||||||
|
"fremovexattr": SNR_FREMOVEXATTR,
|
||||||
|
"getcwd": SNR_GETCWD,
|
||||||
|
"lookup_dcookie": SNR_LOOKUP_DCOOKIE,
|
||||||
|
"eventfd2": SNR_EVENTFD2,
|
||||||
|
"epoll_create1": SNR_EPOLL_CREATE1,
|
||||||
|
"epoll_ctl": SNR_EPOLL_CTL,
|
||||||
|
"epoll_pwait": SNR_EPOLL_PWAIT,
|
||||||
|
"dup": SNR_DUP,
|
||||||
|
"dup3": SNR_DUP3,
|
||||||
|
"fcntl": SNR_FCNTL,
|
||||||
|
"inotify_init1": SNR_INOTIFY_INIT1,
|
||||||
|
"inotify_add_watch": SNR_INOTIFY_ADD_WATCH,
|
||||||
|
"inotify_rm_watch": SNR_INOTIFY_RM_WATCH,
|
||||||
|
"ioctl": SNR_IOCTL,
|
||||||
|
"ioprio_set": SNR_IOPRIO_SET,
|
||||||
|
"ioprio_get": SNR_IOPRIO_GET,
|
||||||
|
"flock": SNR_FLOCK,
|
||||||
|
"mknodat": SNR_MKNODAT,
|
||||||
|
"mkdirat": SNR_MKDIRAT,
|
||||||
|
"unlinkat": SNR_UNLINKAT,
|
||||||
|
"symlinkat": SNR_SYMLINKAT,
|
||||||
|
"linkat": SNR_LINKAT,
|
||||||
|
"renameat": SNR_RENAMEAT,
|
||||||
|
"umount2": SNR_UMOUNT2,
|
||||||
|
"mount": SNR_MOUNT,
|
||||||
|
"pivot_root": SNR_PIVOT_ROOT,
|
||||||
|
"nfsservctl": SNR_NFSSERVCTL,
|
||||||
|
"statfs": SNR_STATFS,
|
||||||
|
"fstatfs": SNR_FSTATFS,
|
||||||
|
"truncate": SNR_TRUNCATE,
|
||||||
|
"ftruncate": SNR_FTRUNCATE,
|
||||||
|
"fallocate": SNR_FALLOCATE,
|
||||||
|
"faccessat": SNR_FACCESSAT,
|
||||||
|
"chdir": SNR_CHDIR,
|
||||||
|
"fchdir": SNR_FCHDIR,
|
||||||
|
"chroot": SNR_CHROOT,
|
||||||
|
"fchmod": SNR_FCHMOD,
|
||||||
|
"fchmodat": SNR_FCHMODAT,
|
||||||
|
"fchownat": SNR_FCHOWNAT,
|
||||||
|
"fchown": SNR_FCHOWN,
|
||||||
|
"openat": SNR_OPENAT,
|
||||||
|
"close": SNR_CLOSE,
|
||||||
|
"vhangup": SNR_VHANGUP,
|
||||||
|
"pipe2": SNR_PIPE2,
|
||||||
|
"quotactl": SNR_QUOTACTL,
|
||||||
|
"getdents64": SNR_GETDENTS64,
|
||||||
|
"lseek": SNR_LSEEK,
|
||||||
|
"read": SNR_READ,
|
||||||
|
"write": SNR_WRITE,
|
||||||
|
"readv": SNR_READV,
|
||||||
|
"writev": SNR_WRITEV,
|
||||||
|
"pread64": SNR_PREAD64,
|
||||||
|
"pwrite64": SNR_PWRITE64,
|
||||||
|
"preadv": SNR_PREADV,
|
||||||
|
"pwritev": SNR_PWRITEV,
|
||||||
|
"sendfile": SNR_SENDFILE,
|
||||||
|
"pselect6": SNR_PSELECT6,
|
||||||
|
"ppoll": SNR_PPOLL,
|
||||||
|
"signalfd4": SNR_SIGNALFD4,
|
||||||
|
"vmsplice": SNR_VMSPLICE,
|
||||||
|
"splice": SNR_SPLICE,
|
||||||
|
"tee": SNR_TEE,
|
||||||
|
"readlinkat": SNR_READLINKAT,
|
||||||
|
"newfstatat": SNR_NEWFSTATAT,
|
||||||
|
"fstat": SNR_FSTAT,
|
||||||
|
"sync": SNR_SYNC,
|
||||||
|
"fsync": SNR_FSYNC,
|
||||||
|
"fdatasync": SNR_FDATASYNC,
|
||||||
|
"sync_file_range": SNR_SYNC_FILE_RANGE,
|
||||||
|
"timerfd_create": SNR_TIMERFD_CREATE,
|
||||||
|
"timerfd_settime": SNR_TIMERFD_SETTIME,
|
||||||
|
"timerfd_gettime": SNR_TIMERFD_GETTIME,
|
||||||
|
"utimensat": SNR_UTIMENSAT,
|
||||||
|
"acct": SNR_ACCT,
|
||||||
|
"capget": SNR_CAPGET,
|
||||||
|
"capset": SNR_CAPSET,
|
||||||
|
"personality": SNR_PERSONALITY,
|
||||||
|
"exit": SNR_EXIT,
|
||||||
|
"exit_group": SNR_EXIT_GROUP,
|
||||||
|
"waitid": SNR_WAITID,
|
||||||
|
"set_tid_address": SNR_SET_TID_ADDRESS,
|
||||||
|
"unshare": SNR_UNSHARE,
|
||||||
|
"futex": SNR_FUTEX,
|
||||||
|
"set_robust_list": SNR_SET_ROBUST_LIST,
|
||||||
|
"get_robust_list": SNR_GET_ROBUST_LIST,
|
||||||
|
"nanosleep": SNR_NANOSLEEP,
|
||||||
|
"getitimer": SNR_GETITIMER,
|
||||||
|
"setitimer": SNR_SETITIMER,
|
||||||
|
"kexec_load": SNR_KEXEC_LOAD,
|
||||||
|
"init_module": SNR_INIT_MODULE,
|
||||||
|
"delete_module": SNR_DELETE_MODULE,
|
||||||
|
"timer_create": SNR_TIMER_CREATE,
|
||||||
|
"timer_gettime": SNR_TIMER_GETTIME,
|
||||||
|
"timer_getoverrun": SNR_TIMER_GETOVERRUN,
|
||||||
|
"timer_settime": SNR_TIMER_SETTIME,
|
||||||
|
"timer_delete": SNR_TIMER_DELETE,
|
||||||
|
"clock_settime": SNR_CLOCK_SETTIME,
|
||||||
|
"clock_gettime": SNR_CLOCK_GETTIME,
|
||||||
|
"clock_getres": SNR_CLOCK_GETRES,
|
||||||
|
"clock_nanosleep": SNR_CLOCK_NANOSLEEP,
|
||||||
|
"syslog": SNR_SYSLOG,
|
||||||
|
"ptrace": SNR_PTRACE,
|
||||||
|
"sched_setparam": SNR_SCHED_SETPARAM,
|
||||||
|
"sched_setscheduler": SNR_SCHED_SETSCHEDULER,
|
||||||
|
"sched_getscheduler": SNR_SCHED_GETSCHEDULER,
|
||||||
|
"sched_getparam": SNR_SCHED_GETPARAM,
|
||||||
|
"sched_setaffinity": SNR_SCHED_SETAFFINITY,
|
||||||
|
"sched_getaffinity": SNR_SCHED_GETAFFINITY,
|
||||||
|
"sched_yield": SNR_SCHED_YIELD,
|
||||||
|
"sched_get_priority_max": SNR_SCHED_GET_PRIORITY_MAX,
|
||||||
|
"sched_get_priority_min": SNR_SCHED_GET_PRIORITY_MIN,
|
||||||
|
"sched_rr_get_interval": SNR_SCHED_RR_GET_INTERVAL,
|
||||||
|
"restart_syscall": SNR_RESTART_SYSCALL,
|
||||||
|
"kill": SNR_KILL,
|
||||||
|
"tkill": SNR_TKILL,
|
||||||
|
"tgkill": SNR_TGKILL,
|
||||||
|
"sigaltstack": SNR_SIGALTSTACK,
|
||||||
|
"rt_sigsuspend": SNR_RT_SIGSUSPEND,
|
||||||
|
"rt_sigaction": SNR_RT_SIGACTION,
|
||||||
|
"rt_sigprocmask": SNR_RT_SIGPROCMASK,
|
||||||
|
"rt_sigpending": SNR_RT_SIGPENDING,
|
||||||
|
"rt_sigtimedwait": SNR_RT_SIGTIMEDWAIT,
|
||||||
|
"rt_sigqueueinfo": SNR_RT_SIGQUEUEINFO,
|
||||||
|
"rt_sigreturn": SNR_RT_SIGRETURN,
|
||||||
|
"setpriority": SNR_SETPRIORITY,
|
||||||
|
"getpriority": SNR_GETPRIORITY,
|
||||||
|
"reboot": SNR_REBOOT,
|
||||||
|
"setregid": SNR_SETREGID,
|
||||||
|
"setgid": SNR_SETGID,
|
||||||
|
"setreuid": SNR_SETREUID,
|
||||||
|
"setuid": SNR_SETUID,
|
||||||
|
"setresuid": SNR_SETRESUID,
|
||||||
|
"getresuid": SNR_GETRESUID,
|
||||||
|
"setresgid": SNR_SETRESGID,
|
||||||
|
"getresgid": SNR_GETRESGID,
|
||||||
|
"setfsuid": SNR_SETFSUID,
|
||||||
|
"setfsgid": SNR_SETFSGID,
|
||||||
|
"times": SNR_TIMES,
|
||||||
|
"setpgid": SNR_SETPGID,
|
||||||
|
"getpgid": SNR_GETPGID,
|
||||||
|
"getsid": SNR_GETSID,
|
||||||
|
"setsid": SNR_SETSID,
|
||||||
|
"getgroups": SNR_GETGROUPS,
|
||||||
|
"setgroups": SNR_SETGROUPS,
|
||||||
|
"uname": SNR_UNAME,
|
||||||
|
"sethostname": SNR_SETHOSTNAME,
|
||||||
|
"setdomainname": SNR_SETDOMAINNAME,
|
||||||
|
"getrlimit": SNR_GETRLIMIT,
|
||||||
|
"setrlimit": SNR_SETRLIMIT,
|
||||||
|
"getrusage": SNR_GETRUSAGE,
|
||||||
|
"umask": SNR_UMASK,
|
||||||
|
"prctl": SNR_PRCTL,
|
||||||
|
"getcpu": SNR_GETCPU,
|
||||||
|
"gettimeofday": SNR_GETTIMEOFDAY,
|
||||||
|
"settimeofday": SNR_SETTIMEOFDAY,
|
||||||
|
"adjtimex": SNR_ADJTIMEX,
|
||||||
|
"getpid": SNR_GETPID,
|
||||||
|
"getppid": SNR_GETPPID,
|
||||||
|
"getuid": SNR_GETUID,
|
||||||
|
"geteuid": SNR_GETEUID,
|
||||||
|
"getgid": SNR_GETGID,
|
||||||
|
"getegid": SNR_GETEGID,
|
||||||
|
"gettid": SNR_GETTID,
|
||||||
|
"sysinfo": SNR_SYSINFO,
|
||||||
|
"mq_open": SNR_MQ_OPEN,
|
||||||
|
"mq_unlink": SNR_MQ_UNLINK,
|
||||||
|
"mq_timedsend": SNR_MQ_TIMEDSEND,
|
||||||
|
"mq_timedreceive": SNR_MQ_TIMEDRECEIVE,
|
||||||
|
"mq_notify": SNR_MQ_NOTIFY,
|
||||||
|
"mq_getsetattr": SNR_MQ_GETSETATTR,
|
||||||
|
"msgget": SNR_MSGGET,
|
||||||
|
"msgctl": SNR_MSGCTL,
|
||||||
|
"msgrcv": SNR_MSGRCV,
|
||||||
|
"msgsnd": SNR_MSGSND,
|
||||||
|
"semget": SNR_SEMGET,
|
||||||
|
"semctl": SNR_SEMCTL,
|
||||||
|
"semtimedop": SNR_SEMTIMEDOP,
|
||||||
|
"semop": SNR_SEMOP,
|
||||||
|
"shmget": SNR_SHMGET,
|
||||||
|
"shmctl": SNR_SHMCTL,
|
||||||
|
"shmat": SNR_SHMAT,
|
||||||
|
"shmdt": SNR_SHMDT,
|
||||||
|
"socket": SNR_SOCKET,
|
||||||
|
"socketpair": SNR_SOCKETPAIR,
|
||||||
|
"bind": SNR_BIND,
|
||||||
|
"listen": SNR_LISTEN,
|
||||||
|
"accept": SNR_ACCEPT,
|
||||||
|
"connect": SNR_CONNECT,
|
||||||
|
"getsockname": SNR_GETSOCKNAME,
|
||||||
|
"getpeername": SNR_GETPEERNAME,
|
||||||
|
"sendto": SNR_SENDTO,
|
||||||
|
"recvfrom": SNR_RECVFROM,
|
||||||
|
"setsockopt": SNR_SETSOCKOPT,
|
||||||
|
"getsockopt": SNR_GETSOCKOPT,
|
||||||
|
"shutdown": SNR_SHUTDOWN,
|
||||||
|
"sendmsg": SNR_SENDMSG,
|
||||||
|
"recvmsg": SNR_RECVMSG,
|
||||||
|
"readahead": SNR_READAHEAD,
|
||||||
|
"brk": SNR_BRK,
|
||||||
|
"munmap": SNR_MUNMAP,
|
||||||
|
"mremap": SNR_MREMAP,
|
||||||
|
"add_key": SNR_ADD_KEY,
|
||||||
|
"request_key": SNR_REQUEST_KEY,
|
||||||
|
"keyctl": SNR_KEYCTL,
|
||||||
|
"clone": SNR_CLONE,
|
||||||
|
"execve": SNR_EXECVE,
|
||||||
|
"mmap": SNR_MMAP,
|
||||||
|
"fadvise64": SNR_FADVISE64,
|
||||||
|
"swapon": SNR_SWAPON,
|
||||||
|
"swapoff": SNR_SWAPOFF,
|
||||||
|
"mprotect": SNR_MPROTECT,
|
||||||
|
"msync": SNR_MSYNC,
|
||||||
|
"mlock": SNR_MLOCK,
|
||||||
|
"munlock": SNR_MUNLOCK,
|
||||||
|
"mlockall": SNR_MLOCKALL,
|
||||||
|
"munlockall": SNR_MUNLOCKALL,
|
||||||
|
"mincore": SNR_MINCORE,
|
||||||
|
"madvise": SNR_MADVISE,
|
||||||
|
"remap_file_pages": SNR_REMAP_FILE_PAGES,
|
||||||
|
"mbind": SNR_MBIND,
|
||||||
|
"get_mempolicy": SNR_GET_MEMPOLICY,
|
||||||
|
"set_mempolicy": SNR_SET_MEMPOLICY,
|
||||||
|
"migrate_pages": SNR_MIGRATE_PAGES,
|
||||||
|
"move_pages": SNR_MOVE_PAGES,
|
||||||
|
"rt_tgsigqueueinfo": SNR_RT_TGSIGQUEUEINFO,
|
||||||
|
"perf_event_open": SNR_PERF_EVENT_OPEN,
|
||||||
|
"accept4": SNR_ACCEPT4,
|
||||||
|
"recvmmsg": SNR_RECVMMSG,
|
||||||
|
"wait4": SNR_WAIT4,
|
||||||
|
"prlimit64": SNR_PRLIMIT64,
|
||||||
|
"fanotify_init": SNR_FANOTIFY_INIT,
|
||||||
|
"fanotify_mark": SNR_FANOTIFY_MARK,
|
||||||
|
"name_to_handle_at": SNR_NAME_TO_HANDLE_AT,
|
||||||
|
"open_by_handle_at": SNR_OPEN_BY_HANDLE_AT,
|
||||||
|
"clock_adjtime": SNR_CLOCK_ADJTIME,
|
||||||
|
"syncfs": SNR_SYNCFS,
|
||||||
|
"setns": SNR_SETNS,
|
||||||
|
"sendmmsg": SNR_SENDMMSG,
|
||||||
|
"process_vm_readv": SNR_PROCESS_VM_READV,
|
||||||
|
"process_vm_writev": SNR_PROCESS_VM_WRITEV,
|
||||||
|
"kcmp": SNR_KCMP,
|
||||||
|
"finit_module": SNR_FINIT_MODULE,
|
||||||
|
"sched_setattr": SNR_SCHED_SETATTR,
|
||||||
|
"sched_getattr": SNR_SCHED_GETATTR,
|
||||||
|
"renameat2": SNR_RENAMEAT2,
|
||||||
|
"seccomp": SNR_SECCOMP,
|
||||||
|
"getrandom": SNR_GETRANDOM,
|
||||||
|
"memfd_create": SNR_MEMFD_CREATE,
|
||||||
|
"bpf": SNR_BPF,
|
||||||
|
"execveat": SNR_EXECVEAT,
|
||||||
|
"userfaultfd": SNR_USERFAULTFD,
|
||||||
|
"membarrier": SNR_MEMBARRIER,
|
||||||
|
"mlock2": SNR_MLOCK2,
|
||||||
|
"copy_file_range": SNR_COPY_FILE_RANGE,
|
||||||
|
"preadv2": SNR_PREADV2,
|
||||||
|
"pwritev2": SNR_PWRITEV2,
|
||||||
|
"pkey_mprotect": SNR_PKEY_MPROTECT,
|
||||||
|
"pkey_alloc": SNR_PKEY_ALLOC,
|
||||||
|
"pkey_free": SNR_PKEY_FREE,
|
||||||
|
"statx": SNR_STATX,
|
||||||
|
"io_pgetevents": SNR_IO_PGETEVENTS,
|
||||||
|
"rseq": SNR_RSEQ,
|
||||||
|
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
||||||
|
"pidfd_send_signal": SNR_PIDFD_SEND_SIGNAL,
|
||||||
|
"io_uring_setup": SNR_IO_URING_SETUP,
|
||||||
|
"io_uring_enter": SNR_IO_URING_ENTER,
|
||||||
|
"io_uring_register": SNR_IO_URING_REGISTER,
|
||||||
|
"open_tree": SNR_OPEN_TREE,
|
||||||
|
"move_mount": SNR_MOVE_MOUNT,
|
||||||
|
"fsopen": SNR_FSOPEN,
|
||||||
|
"fsconfig": SNR_FSCONFIG,
|
||||||
|
"fsmount": SNR_FSMOUNT,
|
||||||
|
"fspick": SNR_FSPICK,
|
||||||
|
"pidfd_open": SNR_PIDFD_OPEN,
|
||||||
|
"clone3": SNR_CLONE3,
|
||||||
|
"close_range": SNR_CLOSE_RANGE,
|
||||||
|
"openat2": SNR_OPENAT2,
|
||||||
|
"pidfd_getfd": SNR_PIDFD_GETFD,
|
||||||
|
"faccessat2": SNR_FACCESSAT2,
|
||||||
|
"process_madvise": SNR_PROCESS_MADVISE,
|
||||||
|
"epoll_pwait2": SNR_EPOLL_PWAIT2,
|
||||||
|
"mount_setattr": SNR_MOUNT_SETATTR,
|
||||||
|
"quotactl_fd": SNR_QUOTACTL_FD,
|
||||||
|
"landlock_create_ruleset": SNR_LANDLOCK_CREATE_RULESET,
|
||||||
|
"landlock_add_rule": SNR_LANDLOCK_ADD_RULE,
|
||||||
|
"landlock_restrict_self": SNR_LANDLOCK_RESTRICT_SELF,
|
||||||
|
"memfd_secret": SNR_MEMFD_SECRET,
|
||||||
|
"process_mrelease": SNR_PROCESS_MRELEASE,
|
||||||
|
"futex_waitv": SNR_FUTEX_WAITV,
|
||||||
|
"set_mempolicy_home_node": SNR_SET_MEMPOLICY_HOME_NODE,
|
||||||
|
"cachestat": SNR_CACHESTAT,
|
||||||
|
"fchmodat2": SNR_FCHMODAT2,
|
||||||
|
"map_shadow_stack": SNR_MAP_SHADOW_STACK,
|
||||||
|
"futex_wake": SNR_FUTEX_WAKE,
|
||||||
|
"futex_wait": SNR_FUTEX_WAIT,
|
||||||
|
"futex_requeue": SNR_FUTEX_REQUEUE,
|
||||||
|
"statmount": SNR_STATMOUNT,
|
||||||
|
"listmount": SNR_LISTMOUNT,
|
||||||
|
"lsm_get_self_attr": SNR_LSM_GET_SELF_ATTR,
|
||||||
|
"lsm_set_self_attr": SNR_LSM_SET_SELF_ATTR,
|
||||||
|
"lsm_list_modules": SNR_LSM_LIST_MODULES,
|
||||||
|
"mseal": SNR_MSEAL,
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SYS_USERFAULTFD = 282
|
||||||
|
SYS_MEMBARRIER = 283
|
||||||
|
SYS_MLOCK2 = 284
|
||||||
|
SYS_COPY_FILE_RANGE = 285
|
||||||
|
SYS_PREADV2 = 286
|
||||||
|
SYS_PWRITEV2 = 287
|
||||||
|
SYS_PKEY_MPROTECT = 288
|
||||||
|
SYS_PKEY_ALLOC = 289
|
||||||
|
SYS_PKEY_FREE = 290
|
||||||
|
SYS_STATX = 291
|
||||||
|
SYS_IO_PGETEVENTS = 292
|
||||||
|
SYS_RSEQ = 293
|
||||||
|
SYS_KEXEC_FILE_LOAD = 294
|
||||||
|
SYS_PIDFD_SEND_SIGNAL = 424
|
||||||
|
SYS_IO_URING_SETUP = 425
|
||||||
|
SYS_IO_URING_ENTER = 426
|
||||||
|
SYS_IO_URING_REGISTER = 427
|
||||||
|
SYS_OPEN_TREE = 428
|
||||||
|
SYS_MOVE_MOUNT = 429
|
||||||
|
SYS_FSOPEN = 430
|
||||||
|
SYS_FSCONFIG = 431
|
||||||
|
SYS_FSMOUNT = 432
|
||||||
|
SYS_FSPICK = 433
|
||||||
|
SYS_PIDFD_OPEN = 434
|
||||||
|
SYS_CLONE3 = 435
|
||||||
|
SYS_CLOSE_RANGE = 436
|
||||||
|
SYS_OPENAT2 = 437
|
||||||
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
|
SYS_PROCESS_MADVISE = 440
|
||||||
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
|
SYS_QUOTACTL_FD = 443
|
||||||
|
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||||
|
SYS_LANDLOCK_ADD_RULE = 445
|
||||||
|
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||||
|
SYS_MEMFD_SECRET = 447
|
||||||
|
SYS_PROCESS_MRELEASE = 448
|
||||||
|
SYS_FUTEX_WAITV = 449
|
||||||
|
SYS_SET_MEMPOLICY_HOME_NODE = 450
|
||||||
|
SYS_CACHESTAT = 451
|
||||||
|
SYS_FCHMODAT2 = 452
|
||||||
|
SYS_MAP_SHADOW_STACK = 453
|
||||||
|
SYS_FUTEX_WAKE = 454
|
||||||
|
SYS_FUTEX_WAIT = 455
|
||||||
|
SYS_FUTEX_REQUEUE = 456
|
||||||
|
SYS_STATMOUNT = 457
|
||||||
|
SYS_LISTMOUNT = 458
|
||||||
|
SYS_LSM_GET_SELF_ATTR = 459
|
||||||
|
SYS_LSM_SET_SELF_ATTR = 460
|
||||||
|
SYS_LSM_LIST_MODULES = 461
|
||||||
|
SYS_MSEAL = 462
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
SNR_IO_SETUP SyscallNum = SYS_IO_SETUP
|
||||||
|
SNR_IO_DESTROY SyscallNum = SYS_IO_DESTROY
|
||||||
|
SNR_IO_SUBMIT SyscallNum = SYS_IO_SUBMIT
|
||||||
|
SNR_IO_CANCEL SyscallNum = SYS_IO_CANCEL
|
||||||
|
SNR_IO_GETEVENTS SyscallNum = SYS_IO_GETEVENTS
|
||||||
|
SNR_SETXATTR SyscallNum = SYS_SETXATTR
|
||||||
|
SNR_LSETXATTR SyscallNum = SYS_LSETXATTR
|
||||||
|
SNR_FSETXATTR SyscallNum = SYS_FSETXATTR
|
||||||
|
SNR_GETXATTR SyscallNum = SYS_GETXATTR
|
||||||
|
SNR_LGETXATTR SyscallNum = SYS_LGETXATTR
|
||||||
|
SNR_FGETXATTR SyscallNum = SYS_FGETXATTR
|
||||||
|
SNR_LISTXATTR SyscallNum = SYS_LISTXATTR
|
||||||
|
SNR_LLISTXATTR SyscallNum = SYS_LLISTXATTR
|
||||||
|
SNR_FLISTXATTR SyscallNum = SYS_FLISTXATTR
|
||||||
|
SNR_REMOVEXATTR SyscallNum = SYS_REMOVEXATTR
|
||||||
|
SNR_LREMOVEXATTR SyscallNum = SYS_LREMOVEXATTR
|
||||||
|
SNR_FREMOVEXATTR SyscallNum = SYS_FREMOVEXATTR
|
||||||
|
SNR_GETCWD SyscallNum = SYS_GETCWD
|
||||||
|
SNR_LOOKUP_DCOOKIE SyscallNum = SYS_LOOKUP_DCOOKIE
|
||||||
|
SNR_EVENTFD2 SyscallNum = SYS_EVENTFD2
|
||||||
|
SNR_EPOLL_CREATE1 SyscallNum = SYS_EPOLL_CREATE1
|
||||||
|
SNR_EPOLL_CTL SyscallNum = SYS_EPOLL_CTL
|
||||||
|
SNR_EPOLL_PWAIT SyscallNum = SYS_EPOLL_PWAIT
|
||||||
|
SNR_DUP SyscallNum = SYS_DUP
|
||||||
|
SNR_DUP3 SyscallNum = SYS_DUP3
|
||||||
|
SNR_FCNTL SyscallNum = SYS_FCNTL
|
||||||
|
SNR_INOTIFY_INIT1 SyscallNum = SYS_INOTIFY_INIT1
|
||||||
|
SNR_INOTIFY_ADD_WATCH SyscallNum = SYS_INOTIFY_ADD_WATCH
|
||||||
|
SNR_INOTIFY_RM_WATCH SyscallNum = SYS_INOTIFY_RM_WATCH
|
||||||
|
SNR_IOCTL SyscallNum = SYS_IOCTL
|
||||||
|
SNR_IOPRIO_SET SyscallNum = SYS_IOPRIO_SET
|
||||||
|
SNR_IOPRIO_GET SyscallNum = SYS_IOPRIO_GET
|
||||||
|
SNR_FLOCK SyscallNum = SYS_FLOCK
|
||||||
|
SNR_MKNODAT SyscallNum = SYS_MKNODAT
|
||||||
|
SNR_MKDIRAT SyscallNum = SYS_MKDIRAT
|
||||||
|
SNR_UNLINKAT SyscallNum = SYS_UNLINKAT
|
||||||
|
SNR_SYMLINKAT SyscallNum = SYS_SYMLINKAT
|
||||||
|
SNR_LINKAT SyscallNum = SYS_LINKAT
|
||||||
|
SNR_RENAMEAT SyscallNum = SYS_RENAMEAT
|
||||||
|
SNR_UMOUNT2 SyscallNum = SYS_UMOUNT2
|
||||||
|
SNR_MOUNT SyscallNum = SYS_MOUNT
|
||||||
|
SNR_PIVOT_ROOT SyscallNum = SYS_PIVOT_ROOT
|
||||||
|
SNR_NFSSERVCTL SyscallNum = SYS_NFSSERVCTL
|
||||||
|
SNR_STATFS SyscallNum = SYS_STATFS
|
||||||
|
SNR_FSTATFS SyscallNum = SYS_FSTATFS
|
||||||
|
SNR_TRUNCATE SyscallNum = SYS_TRUNCATE
|
||||||
|
SNR_FTRUNCATE SyscallNum = SYS_FTRUNCATE
|
||||||
|
SNR_FALLOCATE SyscallNum = SYS_FALLOCATE
|
||||||
|
SNR_FACCESSAT SyscallNum = SYS_FACCESSAT
|
||||||
|
SNR_CHDIR SyscallNum = SYS_CHDIR
|
||||||
|
SNR_FCHDIR SyscallNum = SYS_FCHDIR
|
||||||
|
SNR_CHROOT SyscallNum = SYS_CHROOT
|
||||||
|
SNR_FCHMOD SyscallNum = SYS_FCHMOD
|
||||||
|
SNR_FCHMODAT SyscallNum = SYS_FCHMODAT
|
||||||
|
SNR_FCHOWNAT SyscallNum = SYS_FCHOWNAT
|
||||||
|
SNR_FCHOWN SyscallNum = SYS_FCHOWN
|
||||||
|
SNR_OPENAT SyscallNum = SYS_OPENAT
|
||||||
|
SNR_CLOSE SyscallNum = SYS_CLOSE
|
||||||
|
SNR_VHANGUP SyscallNum = SYS_VHANGUP
|
||||||
|
SNR_PIPE2 SyscallNum = SYS_PIPE2
|
||||||
|
SNR_QUOTACTL SyscallNum = SYS_QUOTACTL
|
||||||
|
SNR_GETDENTS64 SyscallNum = SYS_GETDENTS64
|
||||||
|
SNR_LSEEK SyscallNum = SYS_LSEEK
|
||||||
|
SNR_READ SyscallNum = SYS_READ
|
||||||
|
SNR_WRITE SyscallNum = SYS_WRITE
|
||||||
|
SNR_READV SyscallNum = SYS_READV
|
||||||
|
SNR_WRITEV SyscallNum = SYS_WRITEV
|
||||||
|
SNR_PREAD64 SyscallNum = SYS_PREAD64
|
||||||
|
SNR_PWRITE64 SyscallNum = SYS_PWRITE64
|
||||||
|
SNR_PREADV SyscallNum = SYS_PREADV
|
||||||
|
SNR_PWRITEV SyscallNum = SYS_PWRITEV
|
||||||
|
SNR_SENDFILE SyscallNum = SYS_SENDFILE
|
||||||
|
SNR_PSELECT6 SyscallNum = SYS_PSELECT6
|
||||||
|
SNR_PPOLL SyscallNum = SYS_PPOLL
|
||||||
|
SNR_SIGNALFD4 SyscallNum = SYS_SIGNALFD4
|
||||||
|
SNR_VMSPLICE SyscallNum = SYS_VMSPLICE
|
||||||
|
SNR_SPLICE SyscallNum = SYS_SPLICE
|
||||||
|
SNR_TEE SyscallNum = SYS_TEE
|
||||||
|
SNR_READLINKAT SyscallNum = SYS_READLINKAT
|
||||||
|
SNR_NEWFSTATAT SyscallNum = SYS_NEWFSTATAT
|
||||||
|
SNR_FSTAT SyscallNum = SYS_FSTAT
|
||||||
|
SNR_SYNC SyscallNum = SYS_SYNC
|
||||||
|
SNR_FSYNC SyscallNum = SYS_FSYNC
|
||||||
|
SNR_FDATASYNC SyscallNum = SYS_FDATASYNC
|
||||||
|
SNR_SYNC_FILE_RANGE SyscallNum = SYS_SYNC_FILE_RANGE
|
||||||
|
SNR_TIMERFD_CREATE SyscallNum = SYS_TIMERFD_CREATE
|
||||||
|
SNR_TIMERFD_SETTIME SyscallNum = SYS_TIMERFD_SETTIME
|
||||||
|
SNR_TIMERFD_GETTIME SyscallNum = SYS_TIMERFD_GETTIME
|
||||||
|
SNR_UTIMENSAT SyscallNum = SYS_UTIMENSAT
|
||||||
|
SNR_ACCT SyscallNum = SYS_ACCT
|
||||||
|
SNR_CAPGET SyscallNum = SYS_CAPGET
|
||||||
|
SNR_CAPSET SyscallNum = SYS_CAPSET
|
||||||
|
SNR_PERSONALITY SyscallNum = SYS_PERSONALITY
|
||||||
|
SNR_EXIT SyscallNum = SYS_EXIT
|
||||||
|
SNR_EXIT_GROUP SyscallNum = SYS_EXIT_GROUP
|
||||||
|
SNR_WAITID SyscallNum = SYS_WAITID
|
||||||
|
SNR_SET_TID_ADDRESS SyscallNum = SYS_SET_TID_ADDRESS
|
||||||
|
SNR_UNSHARE SyscallNum = SYS_UNSHARE
|
||||||
|
SNR_FUTEX SyscallNum = SYS_FUTEX
|
||||||
|
SNR_SET_ROBUST_LIST SyscallNum = SYS_SET_ROBUST_LIST
|
||||||
|
SNR_GET_ROBUST_LIST SyscallNum = SYS_GET_ROBUST_LIST
|
||||||
|
SNR_NANOSLEEP SyscallNum = SYS_NANOSLEEP
|
||||||
|
SNR_GETITIMER SyscallNum = SYS_GETITIMER
|
||||||
|
SNR_SETITIMER SyscallNum = SYS_SETITIMER
|
||||||
|
SNR_KEXEC_LOAD SyscallNum = SYS_KEXEC_LOAD
|
||||||
|
SNR_INIT_MODULE SyscallNum = SYS_INIT_MODULE
|
||||||
|
SNR_DELETE_MODULE SyscallNum = SYS_DELETE_MODULE
|
||||||
|
SNR_TIMER_CREATE SyscallNum = SYS_TIMER_CREATE
|
||||||
|
SNR_TIMER_GETTIME SyscallNum = SYS_TIMER_GETTIME
|
||||||
|
SNR_TIMER_GETOVERRUN SyscallNum = SYS_TIMER_GETOVERRUN
|
||||||
|
SNR_TIMER_SETTIME SyscallNum = SYS_TIMER_SETTIME
|
||||||
|
SNR_TIMER_DELETE SyscallNum = SYS_TIMER_DELETE
|
||||||
|
SNR_CLOCK_SETTIME SyscallNum = SYS_CLOCK_SETTIME
|
||||||
|
SNR_CLOCK_GETTIME SyscallNum = SYS_CLOCK_GETTIME
|
||||||
|
SNR_CLOCK_GETRES SyscallNum = SYS_CLOCK_GETRES
|
||||||
|
SNR_CLOCK_NANOSLEEP SyscallNum = SYS_CLOCK_NANOSLEEP
|
||||||
|
SNR_SYSLOG SyscallNum = SYS_SYSLOG
|
||||||
|
SNR_PTRACE SyscallNum = SYS_PTRACE
|
||||||
|
SNR_SCHED_SETPARAM SyscallNum = SYS_SCHED_SETPARAM
|
||||||
|
SNR_SCHED_SETSCHEDULER SyscallNum = SYS_SCHED_SETSCHEDULER
|
||||||
|
SNR_SCHED_GETSCHEDULER SyscallNum = SYS_SCHED_GETSCHEDULER
|
||||||
|
SNR_SCHED_GETPARAM SyscallNum = SYS_SCHED_GETPARAM
|
||||||
|
SNR_SCHED_SETAFFINITY SyscallNum = SYS_SCHED_SETAFFINITY
|
||||||
|
SNR_SCHED_GETAFFINITY SyscallNum = SYS_SCHED_GETAFFINITY
|
||||||
|
SNR_SCHED_YIELD SyscallNum = SYS_SCHED_YIELD
|
||||||
|
SNR_SCHED_GET_PRIORITY_MAX SyscallNum = SYS_SCHED_GET_PRIORITY_MAX
|
||||||
|
SNR_SCHED_GET_PRIORITY_MIN SyscallNum = SYS_SCHED_GET_PRIORITY_MIN
|
||||||
|
SNR_SCHED_RR_GET_INTERVAL SyscallNum = SYS_SCHED_RR_GET_INTERVAL
|
||||||
|
SNR_RESTART_SYSCALL SyscallNum = SYS_RESTART_SYSCALL
|
||||||
|
SNR_KILL SyscallNum = SYS_KILL
|
||||||
|
SNR_TKILL SyscallNum = SYS_TKILL
|
||||||
|
SNR_TGKILL SyscallNum = SYS_TGKILL
|
||||||
|
SNR_SIGALTSTACK SyscallNum = SYS_SIGALTSTACK
|
||||||
|
SNR_RT_SIGSUSPEND SyscallNum = SYS_RT_SIGSUSPEND
|
||||||
|
SNR_RT_SIGACTION SyscallNum = SYS_RT_SIGACTION
|
||||||
|
SNR_RT_SIGPROCMASK SyscallNum = SYS_RT_SIGPROCMASK
|
||||||
|
SNR_RT_SIGPENDING SyscallNum = SYS_RT_SIGPENDING
|
||||||
|
SNR_RT_SIGTIMEDWAIT SyscallNum = SYS_RT_SIGTIMEDWAIT
|
||||||
|
SNR_RT_SIGQUEUEINFO SyscallNum = SYS_RT_SIGQUEUEINFO
|
||||||
|
SNR_RT_SIGRETURN SyscallNum = SYS_RT_SIGRETURN
|
||||||
|
SNR_SETPRIORITY SyscallNum = SYS_SETPRIORITY
|
||||||
|
SNR_GETPRIORITY SyscallNum = SYS_GETPRIORITY
|
||||||
|
SNR_REBOOT SyscallNum = SYS_REBOOT
|
||||||
|
SNR_SETREGID SyscallNum = SYS_SETREGID
|
||||||
|
SNR_SETGID SyscallNum = SYS_SETGID
|
||||||
|
SNR_SETREUID SyscallNum = SYS_SETREUID
|
||||||
|
SNR_SETUID SyscallNum = SYS_SETUID
|
||||||
|
SNR_SETRESUID SyscallNum = SYS_SETRESUID
|
||||||
|
SNR_GETRESUID SyscallNum = SYS_GETRESUID
|
||||||
|
SNR_SETRESGID SyscallNum = SYS_SETRESGID
|
||||||
|
SNR_GETRESGID SyscallNum = SYS_GETRESGID
|
||||||
|
SNR_SETFSUID SyscallNum = SYS_SETFSUID
|
||||||
|
SNR_SETFSGID SyscallNum = SYS_SETFSGID
|
||||||
|
SNR_TIMES SyscallNum = SYS_TIMES
|
||||||
|
SNR_SETPGID SyscallNum = SYS_SETPGID
|
||||||
|
SNR_GETPGID SyscallNum = SYS_GETPGID
|
||||||
|
SNR_GETSID SyscallNum = SYS_GETSID
|
||||||
|
SNR_SETSID SyscallNum = SYS_SETSID
|
||||||
|
SNR_GETGROUPS SyscallNum = SYS_GETGROUPS
|
||||||
|
SNR_SETGROUPS SyscallNum = SYS_SETGROUPS
|
||||||
|
SNR_UNAME SyscallNum = SYS_UNAME
|
||||||
|
SNR_SETHOSTNAME SyscallNum = SYS_SETHOSTNAME
|
||||||
|
SNR_SETDOMAINNAME SyscallNum = SYS_SETDOMAINNAME
|
||||||
|
SNR_GETRLIMIT SyscallNum = SYS_GETRLIMIT
|
||||||
|
SNR_SETRLIMIT SyscallNum = SYS_SETRLIMIT
|
||||||
|
SNR_GETRUSAGE SyscallNum = SYS_GETRUSAGE
|
||||||
|
SNR_UMASK SyscallNum = SYS_UMASK
|
||||||
|
SNR_PRCTL SyscallNum = SYS_PRCTL
|
||||||
|
SNR_GETCPU SyscallNum = SYS_GETCPU
|
||||||
|
SNR_GETTIMEOFDAY SyscallNum = SYS_GETTIMEOFDAY
|
||||||
|
SNR_SETTIMEOFDAY SyscallNum = SYS_SETTIMEOFDAY
|
||||||
|
SNR_ADJTIMEX SyscallNum = SYS_ADJTIMEX
|
||||||
|
SNR_GETPID SyscallNum = SYS_GETPID
|
||||||
|
SNR_GETPPID SyscallNum = SYS_GETPPID
|
||||||
|
SNR_GETUID SyscallNum = SYS_GETUID
|
||||||
|
SNR_GETEUID SyscallNum = SYS_GETEUID
|
||||||
|
SNR_GETGID SyscallNum = SYS_GETGID
|
||||||
|
SNR_GETEGID SyscallNum = SYS_GETEGID
|
||||||
|
SNR_GETTID SyscallNum = SYS_GETTID
|
||||||
|
SNR_SYSINFO SyscallNum = SYS_SYSINFO
|
||||||
|
SNR_MQ_OPEN SyscallNum = SYS_MQ_OPEN
|
||||||
|
SNR_MQ_UNLINK SyscallNum = SYS_MQ_UNLINK
|
||||||
|
SNR_MQ_TIMEDSEND SyscallNum = SYS_MQ_TIMEDSEND
|
||||||
|
SNR_MQ_TIMEDRECEIVE SyscallNum = SYS_MQ_TIMEDRECEIVE
|
||||||
|
SNR_MQ_NOTIFY SyscallNum = SYS_MQ_NOTIFY
|
||||||
|
SNR_MQ_GETSETATTR SyscallNum = SYS_MQ_GETSETATTR
|
||||||
|
SNR_MSGGET SyscallNum = SYS_MSGGET
|
||||||
|
SNR_MSGCTL SyscallNum = SYS_MSGCTL
|
||||||
|
SNR_MSGRCV SyscallNum = SYS_MSGRCV
|
||||||
|
SNR_MSGSND SyscallNum = SYS_MSGSND
|
||||||
|
SNR_SEMGET SyscallNum = SYS_SEMGET
|
||||||
|
SNR_SEMCTL SyscallNum = SYS_SEMCTL
|
||||||
|
SNR_SEMTIMEDOP SyscallNum = SYS_SEMTIMEDOP
|
||||||
|
SNR_SEMOP SyscallNum = SYS_SEMOP
|
||||||
|
SNR_SHMGET SyscallNum = SYS_SHMGET
|
||||||
|
SNR_SHMCTL SyscallNum = SYS_SHMCTL
|
||||||
|
SNR_SHMAT SyscallNum = SYS_SHMAT
|
||||||
|
SNR_SHMDT SyscallNum = SYS_SHMDT
|
||||||
|
SNR_SOCKET SyscallNum = SYS_SOCKET
|
||||||
|
SNR_SOCKETPAIR SyscallNum = SYS_SOCKETPAIR
|
||||||
|
SNR_BIND SyscallNum = SYS_BIND
|
||||||
|
SNR_LISTEN SyscallNum = SYS_LISTEN
|
||||||
|
SNR_ACCEPT SyscallNum = SYS_ACCEPT
|
||||||
|
SNR_CONNECT SyscallNum = SYS_CONNECT
|
||||||
|
SNR_GETSOCKNAME SyscallNum = SYS_GETSOCKNAME
|
||||||
|
SNR_GETPEERNAME SyscallNum = SYS_GETPEERNAME
|
||||||
|
SNR_SENDTO SyscallNum = SYS_SENDTO
|
||||||
|
SNR_RECVFROM SyscallNum = SYS_RECVFROM
|
||||||
|
SNR_SETSOCKOPT SyscallNum = SYS_SETSOCKOPT
|
||||||
|
SNR_GETSOCKOPT SyscallNum = SYS_GETSOCKOPT
|
||||||
|
SNR_SHUTDOWN SyscallNum = SYS_SHUTDOWN
|
||||||
|
SNR_SENDMSG SyscallNum = SYS_SENDMSG
|
||||||
|
SNR_RECVMSG SyscallNum = SYS_RECVMSG
|
||||||
|
SNR_READAHEAD SyscallNum = SYS_READAHEAD
|
||||||
|
SNR_BRK SyscallNum = SYS_BRK
|
||||||
|
SNR_MUNMAP SyscallNum = SYS_MUNMAP
|
||||||
|
SNR_MREMAP SyscallNum = SYS_MREMAP
|
||||||
|
SNR_ADD_KEY SyscallNum = SYS_ADD_KEY
|
||||||
|
SNR_REQUEST_KEY SyscallNum = SYS_REQUEST_KEY
|
||||||
|
SNR_KEYCTL SyscallNum = SYS_KEYCTL
|
||||||
|
SNR_CLONE SyscallNum = SYS_CLONE
|
||||||
|
SNR_EXECVE SyscallNum = SYS_EXECVE
|
||||||
|
SNR_MMAP SyscallNum = SYS_MMAP
|
||||||
|
SNR_FADVISE64 SyscallNum = SYS_FADVISE64
|
||||||
|
SNR_SWAPON SyscallNum = SYS_SWAPON
|
||||||
|
SNR_SWAPOFF SyscallNum = SYS_SWAPOFF
|
||||||
|
SNR_MPROTECT SyscallNum = SYS_MPROTECT
|
||||||
|
SNR_MSYNC SyscallNum = SYS_MSYNC
|
||||||
|
SNR_MLOCK SyscallNum = SYS_MLOCK
|
||||||
|
SNR_MUNLOCK SyscallNum = SYS_MUNLOCK
|
||||||
|
SNR_MLOCKALL SyscallNum = SYS_MLOCKALL
|
||||||
|
SNR_MUNLOCKALL SyscallNum = SYS_MUNLOCKALL
|
||||||
|
SNR_MINCORE SyscallNum = SYS_MINCORE
|
||||||
|
SNR_MADVISE SyscallNum = SYS_MADVISE
|
||||||
|
SNR_REMAP_FILE_PAGES SyscallNum = SYS_REMAP_FILE_PAGES
|
||||||
|
SNR_MBIND SyscallNum = SYS_MBIND
|
||||||
|
SNR_GET_MEMPOLICY SyscallNum = SYS_GET_MEMPOLICY
|
||||||
|
SNR_SET_MEMPOLICY SyscallNum = SYS_SET_MEMPOLICY
|
||||||
|
SNR_MIGRATE_PAGES SyscallNum = SYS_MIGRATE_PAGES
|
||||||
|
SNR_MOVE_PAGES SyscallNum = SYS_MOVE_PAGES
|
||||||
|
SNR_RT_TGSIGQUEUEINFO SyscallNum = SYS_RT_TGSIGQUEUEINFO
|
||||||
|
SNR_PERF_EVENT_OPEN SyscallNum = SYS_PERF_EVENT_OPEN
|
||||||
|
SNR_ACCEPT4 SyscallNum = SYS_ACCEPT4
|
||||||
|
SNR_RECVMMSG SyscallNum = SYS_RECVMMSG
|
||||||
|
SNR_WAIT4 SyscallNum = SYS_WAIT4
|
||||||
|
SNR_PRLIMIT64 SyscallNum = SYS_PRLIMIT64
|
||||||
|
SNR_FANOTIFY_INIT SyscallNum = SYS_FANOTIFY_INIT
|
||||||
|
SNR_FANOTIFY_MARK SyscallNum = SYS_FANOTIFY_MARK
|
||||||
|
SNR_NAME_TO_HANDLE_AT SyscallNum = SYS_NAME_TO_HANDLE_AT
|
||||||
|
SNR_OPEN_BY_HANDLE_AT SyscallNum = SYS_OPEN_BY_HANDLE_AT
|
||||||
|
SNR_CLOCK_ADJTIME SyscallNum = SYS_CLOCK_ADJTIME
|
||||||
|
SNR_SYNCFS SyscallNum = SYS_SYNCFS
|
||||||
|
SNR_SETNS SyscallNum = SYS_SETNS
|
||||||
|
SNR_SENDMMSG SyscallNum = SYS_SENDMMSG
|
||||||
|
SNR_PROCESS_VM_READV SyscallNum = SYS_PROCESS_VM_READV
|
||||||
|
SNR_PROCESS_VM_WRITEV SyscallNum = SYS_PROCESS_VM_WRITEV
|
||||||
|
SNR_KCMP SyscallNum = SYS_KCMP
|
||||||
|
SNR_FINIT_MODULE SyscallNum = SYS_FINIT_MODULE
|
||||||
|
SNR_SCHED_SETATTR SyscallNum = SYS_SCHED_SETATTR
|
||||||
|
SNR_SCHED_GETATTR SyscallNum = SYS_SCHED_GETATTR
|
||||||
|
SNR_RENAMEAT2 SyscallNum = SYS_RENAMEAT2
|
||||||
|
SNR_SECCOMP SyscallNum = SYS_SECCOMP
|
||||||
|
SNR_GETRANDOM SyscallNum = SYS_GETRANDOM
|
||||||
|
SNR_MEMFD_CREATE SyscallNum = SYS_MEMFD_CREATE
|
||||||
|
SNR_BPF SyscallNum = SYS_BPF
|
||||||
|
SNR_EXECVEAT SyscallNum = SYS_EXECVEAT
|
||||||
|
SNR_USERFAULTFD SyscallNum = SYS_USERFAULTFD
|
||||||
|
SNR_MEMBARRIER SyscallNum = SYS_MEMBARRIER
|
||||||
|
SNR_MLOCK2 SyscallNum = SYS_MLOCK2
|
||||||
|
SNR_COPY_FILE_RANGE SyscallNum = SYS_COPY_FILE_RANGE
|
||||||
|
SNR_PREADV2 SyscallNum = SYS_PREADV2
|
||||||
|
SNR_PWRITEV2 SyscallNum = SYS_PWRITEV2
|
||||||
|
SNR_PKEY_MPROTECT SyscallNum = SYS_PKEY_MPROTECT
|
||||||
|
SNR_PKEY_ALLOC SyscallNum = SYS_PKEY_ALLOC
|
||||||
|
SNR_PKEY_FREE SyscallNum = SYS_PKEY_FREE
|
||||||
|
SNR_STATX SyscallNum = SYS_STATX
|
||||||
|
SNR_IO_PGETEVENTS SyscallNum = SYS_IO_PGETEVENTS
|
||||||
|
SNR_RSEQ SyscallNum = SYS_RSEQ
|
||||||
|
SNR_KEXEC_FILE_LOAD SyscallNum = SYS_KEXEC_FILE_LOAD
|
||||||
|
SNR_PIDFD_SEND_SIGNAL SyscallNum = SYS_PIDFD_SEND_SIGNAL
|
||||||
|
SNR_IO_URING_SETUP SyscallNum = SYS_IO_URING_SETUP
|
||||||
|
SNR_IO_URING_ENTER SyscallNum = SYS_IO_URING_ENTER
|
||||||
|
SNR_IO_URING_REGISTER SyscallNum = SYS_IO_URING_REGISTER
|
||||||
|
SNR_OPEN_TREE SyscallNum = SYS_OPEN_TREE
|
||||||
|
SNR_MOVE_MOUNT SyscallNum = SYS_MOVE_MOUNT
|
||||||
|
SNR_FSOPEN SyscallNum = SYS_FSOPEN
|
||||||
|
SNR_FSCONFIG SyscallNum = SYS_FSCONFIG
|
||||||
|
SNR_FSMOUNT SyscallNum = SYS_FSMOUNT
|
||||||
|
SNR_FSPICK SyscallNum = SYS_FSPICK
|
||||||
|
SNR_PIDFD_OPEN SyscallNum = SYS_PIDFD_OPEN
|
||||||
|
SNR_CLONE3 SyscallNum = SYS_CLONE3
|
||||||
|
SNR_CLOSE_RANGE SyscallNum = SYS_CLOSE_RANGE
|
||||||
|
SNR_OPENAT2 SyscallNum = SYS_OPENAT2
|
||||||
|
SNR_PIDFD_GETFD SyscallNum = SYS_PIDFD_GETFD
|
||||||
|
SNR_FACCESSAT2 SyscallNum = SYS_FACCESSAT2
|
||||||
|
SNR_PROCESS_MADVISE SyscallNum = SYS_PROCESS_MADVISE
|
||||||
|
SNR_EPOLL_PWAIT2 SyscallNum = SYS_EPOLL_PWAIT2
|
||||||
|
SNR_MOUNT_SETATTR SyscallNum = SYS_MOUNT_SETATTR
|
||||||
|
SNR_QUOTACTL_FD SyscallNum = SYS_QUOTACTL_FD
|
||||||
|
SNR_LANDLOCK_CREATE_RULESET SyscallNum = SYS_LANDLOCK_CREATE_RULESET
|
||||||
|
SNR_LANDLOCK_ADD_RULE SyscallNum = SYS_LANDLOCK_ADD_RULE
|
||||||
|
SNR_LANDLOCK_RESTRICT_SELF SyscallNum = SYS_LANDLOCK_RESTRICT_SELF
|
||||||
|
SNR_MEMFD_SECRET SyscallNum = SYS_MEMFD_SECRET
|
||||||
|
SNR_PROCESS_MRELEASE SyscallNum = SYS_PROCESS_MRELEASE
|
||||||
|
SNR_FUTEX_WAITV SyscallNum = SYS_FUTEX_WAITV
|
||||||
|
SNR_SET_MEMPOLICY_HOME_NODE SyscallNum = SYS_SET_MEMPOLICY_HOME_NODE
|
||||||
|
SNR_CACHESTAT SyscallNum = SYS_CACHESTAT
|
||||||
|
SNR_FCHMODAT2 SyscallNum = SYS_FCHMODAT2
|
||||||
|
SNR_MAP_SHADOW_STACK SyscallNum = SYS_MAP_SHADOW_STACK
|
||||||
|
SNR_FUTEX_WAKE SyscallNum = SYS_FUTEX_WAKE
|
||||||
|
SNR_FUTEX_WAIT SyscallNum = SYS_FUTEX_WAIT
|
||||||
|
SNR_FUTEX_REQUEUE SyscallNum = SYS_FUTEX_REQUEUE
|
||||||
|
SNR_STATMOUNT SyscallNum = SYS_STATMOUNT
|
||||||
|
SNR_LISTMOUNT SyscallNum = SYS_LISTMOUNT
|
||||||
|
SNR_LSM_GET_SELF_ATTR SyscallNum = SYS_LSM_GET_SELF_ATTR
|
||||||
|
SNR_LSM_SET_SELF_ATTR SyscallNum = SYS_LSM_SET_SELF_ATTR
|
||||||
|
SNR_LSM_LIST_MODULES SyscallNum = SYS_LSM_LIST_MODULES
|
||||||
|
SNR_MSEAL SyscallNum = SYS_MSEAL
|
||||||
|
)
|
||||||
719
ext/syscall_linux_riscv64.go
Normal file
719
ext/syscall_linux_riscv64.go
Normal file
@@ -0,0 +1,719 @@
|
|||||||
|
// mksysnum_linux.pl /usr/include/riscv64-linux-gnu/asm/unistd.h
|
||||||
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
package ext
|
||||||
|
|
||||||
|
import . "syscall"
|
||||||
|
|
||||||
|
var syscallNum = map[string]SyscallNum{
|
||||||
|
"io_setup": SNR_IO_SETUP,
|
||||||
|
"io_destroy": SNR_IO_DESTROY,
|
||||||
|
"io_submit": SNR_IO_SUBMIT,
|
||||||
|
"io_cancel": SNR_IO_CANCEL,
|
||||||
|
"io_getevents": SNR_IO_GETEVENTS,
|
||||||
|
"setxattr": SNR_SETXATTR,
|
||||||
|
"lsetxattr": SNR_LSETXATTR,
|
||||||
|
"fsetxattr": SNR_FSETXATTR,
|
||||||
|
"getxattr": SNR_GETXATTR,
|
||||||
|
"lgetxattr": SNR_LGETXATTR,
|
||||||
|
"fgetxattr": SNR_FGETXATTR,
|
||||||
|
"listxattr": SNR_LISTXATTR,
|
||||||
|
"llistxattr": SNR_LLISTXATTR,
|
||||||
|
"flistxattr": SNR_FLISTXATTR,
|
||||||
|
"removexattr": SNR_REMOVEXATTR,
|
||||||
|
"lremovexattr": SNR_LREMOVEXATTR,
|
||||||
|
"fremovexattr": SNR_FREMOVEXATTR,
|
||||||
|
"getcwd": SNR_GETCWD,
|
||||||
|
"lookup_dcookie": SNR_LOOKUP_DCOOKIE,
|
||||||
|
"eventfd2": SNR_EVENTFD2,
|
||||||
|
"epoll_create1": SNR_EPOLL_CREATE1,
|
||||||
|
"epoll_ctl": SNR_EPOLL_CTL,
|
||||||
|
"epoll_pwait": SNR_EPOLL_PWAIT,
|
||||||
|
"dup": SNR_DUP,
|
||||||
|
"dup3": SNR_DUP3,
|
||||||
|
"fcntl": SNR_FCNTL,
|
||||||
|
"inotify_init1": SNR_INOTIFY_INIT1,
|
||||||
|
"inotify_add_watch": SNR_INOTIFY_ADD_WATCH,
|
||||||
|
"inotify_rm_watch": SNR_INOTIFY_RM_WATCH,
|
||||||
|
"ioctl": SNR_IOCTL,
|
||||||
|
"ioprio_set": SNR_IOPRIO_SET,
|
||||||
|
"ioprio_get": SNR_IOPRIO_GET,
|
||||||
|
"flock": SNR_FLOCK,
|
||||||
|
"mknodat": SNR_MKNODAT,
|
||||||
|
"mkdirat": SNR_MKDIRAT,
|
||||||
|
"unlinkat": SNR_UNLINKAT,
|
||||||
|
"symlinkat": SNR_SYMLINKAT,
|
||||||
|
"linkat": SNR_LINKAT,
|
||||||
|
"umount2": SNR_UMOUNT2,
|
||||||
|
"mount": SNR_MOUNT,
|
||||||
|
"pivot_root": SNR_PIVOT_ROOT,
|
||||||
|
"nfsservctl": SNR_NFSSERVCTL,
|
||||||
|
"statfs": SNR_STATFS,
|
||||||
|
"fstatfs": SNR_FSTATFS,
|
||||||
|
"truncate": SNR_TRUNCATE,
|
||||||
|
"ftruncate": SNR_FTRUNCATE,
|
||||||
|
"fallocate": SNR_FALLOCATE,
|
||||||
|
"faccessat": SNR_FACCESSAT,
|
||||||
|
"chdir": SNR_CHDIR,
|
||||||
|
"fchdir": SNR_FCHDIR,
|
||||||
|
"chroot": SNR_CHROOT,
|
||||||
|
"fchmod": SNR_FCHMOD,
|
||||||
|
"fchmodat": SNR_FCHMODAT,
|
||||||
|
"fchownat": SNR_FCHOWNAT,
|
||||||
|
"fchown": SNR_FCHOWN,
|
||||||
|
"openat": SNR_OPENAT,
|
||||||
|
"close": SNR_CLOSE,
|
||||||
|
"vhangup": SNR_VHANGUP,
|
||||||
|
"pipe2": SNR_PIPE2,
|
||||||
|
"quotactl": SNR_QUOTACTL,
|
||||||
|
"getdents64": SNR_GETDENTS64,
|
||||||
|
"lseek": SNR_LSEEK,
|
||||||
|
"read": SNR_READ,
|
||||||
|
"write": SNR_WRITE,
|
||||||
|
"readv": SNR_READV,
|
||||||
|
"writev": SNR_WRITEV,
|
||||||
|
"pread64": SNR_PREAD64,
|
||||||
|
"pwrite64": SNR_PWRITE64,
|
||||||
|
"preadv": SNR_PREADV,
|
||||||
|
"pwritev": SNR_PWRITEV,
|
||||||
|
"sendfile": SNR_SENDFILE,
|
||||||
|
"pselect6": SNR_PSELECT6,
|
||||||
|
"ppoll": SNR_PPOLL,
|
||||||
|
"signalfd4": SNR_SIGNALFD4,
|
||||||
|
"vmsplice": SNR_VMSPLICE,
|
||||||
|
"splice": SNR_SPLICE,
|
||||||
|
"tee": SNR_TEE,
|
||||||
|
"readlinkat": SNR_READLINKAT,
|
||||||
|
"newfstatat": SNR_NEWFSTATAT,
|
||||||
|
"fstat": SNR_FSTAT,
|
||||||
|
"sync": SNR_SYNC,
|
||||||
|
"fsync": SNR_FSYNC,
|
||||||
|
"fdatasync": SNR_FDATASYNC,
|
||||||
|
"sync_file_range": SNR_SYNC_FILE_RANGE,
|
||||||
|
"timerfd_create": SNR_TIMERFD_CREATE,
|
||||||
|
"timerfd_settime": SNR_TIMERFD_SETTIME,
|
||||||
|
"timerfd_gettime": SNR_TIMERFD_GETTIME,
|
||||||
|
"utimensat": SNR_UTIMENSAT,
|
||||||
|
"acct": SNR_ACCT,
|
||||||
|
"capget": SNR_CAPGET,
|
||||||
|
"capset": SNR_CAPSET,
|
||||||
|
"personality": SNR_PERSONALITY,
|
||||||
|
"exit": SNR_EXIT,
|
||||||
|
"exit_group": SNR_EXIT_GROUP,
|
||||||
|
"waitid": SNR_WAITID,
|
||||||
|
"set_tid_address": SNR_SET_TID_ADDRESS,
|
||||||
|
"unshare": SNR_UNSHARE,
|
||||||
|
"futex": SNR_FUTEX,
|
||||||
|
"set_robust_list": SNR_SET_ROBUST_LIST,
|
||||||
|
"get_robust_list": SNR_GET_ROBUST_LIST,
|
||||||
|
"nanosleep": SNR_NANOSLEEP,
|
||||||
|
"getitimer": SNR_GETITIMER,
|
||||||
|
"setitimer": SNR_SETITIMER,
|
||||||
|
"kexec_load": SNR_KEXEC_LOAD,
|
||||||
|
"init_module": SNR_INIT_MODULE,
|
||||||
|
"delete_module": SNR_DELETE_MODULE,
|
||||||
|
"timer_create": SNR_TIMER_CREATE,
|
||||||
|
"timer_gettime": SNR_TIMER_GETTIME,
|
||||||
|
"timer_getoverrun": SNR_TIMER_GETOVERRUN,
|
||||||
|
"timer_settime": SNR_TIMER_SETTIME,
|
||||||
|
"timer_delete": SNR_TIMER_DELETE,
|
||||||
|
"clock_settime": SNR_CLOCK_SETTIME,
|
||||||
|
"clock_gettime": SNR_CLOCK_GETTIME,
|
||||||
|
"clock_getres": SNR_CLOCK_GETRES,
|
||||||
|
"clock_nanosleep": SNR_CLOCK_NANOSLEEP,
|
||||||
|
"syslog": SNR_SYSLOG,
|
||||||
|
"ptrace": SNR_PTRACE,
|
||||||
|
"sched_setparam": SNR_SCHED_SETPARAM,
|
||||||
|
"sched_setscheduler": SNR_SCHED_SETSCHEDULER,
|
||||||
|
"sched_getscheduler": SNR_SCHED_GETSCHEDULER,
|
||||||
|
"sched_getparam": SNR_SCHED_GETPARAM,
|
||||||
|
"sched_setaffinity": SNR_SCHED_SETAFFINITY,
|
||||||
|
"sched_getaffinity": SNR_SCHED_GETAFFINITY,
|
||||||
|
"sched_yield": SNR_SCHED_YIELD,
|
||||||
|
"sched_get_priority_max": SNR_SCHED_GET_PRIORITY_MAX,
|
||||||
|
"sched_get_priority_min": SNR_SCHED_GET_PRIORITY_MIN,
|
||||||
|
"sched_rr_get_interval": SNR_SCHED_RR_GET_INTERVAL,
|
||||||
|
"restart_syscall": SNR_RESTART_SYSCALL,
|
||||||
|
"kill": SNR_KILL,
|
||||||
|
"tkill": SNR_TKILL,
|
||||||
|
"tgkill": SNR_TGKILL,
|
||||||
|
"sigaltstack": SNR_SIGALTSTACK,
|
||||||
|
"rt_sigsuspend": SNR_RT_SIGSUSPEND,
|
||||||
|
"rt_sigaction": SNR_RT_SIGACTION,
|
||||||
|
"rt_sigprocmask": SNR_RT_SIGPROCMASK,
|
||||||
|
"rt_sigpending": SNR_RT_SIGPENDING,
|
||||||
|
"rt_sigtimedwait": SNR_RT_SIGTIMEDWAIT,
|
||||||
|
"rt_sigqueueinfo": SNR_RT_SIGQUEUEINFO,
|
||||||
|
"rt_sigreturn": SNR_RT_SIGRETURN,
|
||||||
|
"setpriority": SNR_SETPRIORITY,
|
||||||
|
"getpriority": SNR_GETPRIORITY,
|
||||||
|
"reboot": SNR_REBOOT,
|
||||||
|
"setregid": SNR_SETREGID,
|
||||||
|
"setgid": SNR_SETGID,
|
||||||
|
"setreuid": SNR_SETREUID,
|
||||||
|
"setuid": SNR_SETUID,
|
||||||
|
"setresuid": SNR_SETRESUID,
|
||||||
|
"getresuid": SNR_GETRESUID,
|
||||||
|
"setresgid": SNR_SETRESGID,
|
||||||
|
"getresgid": SNR_GETRESGID,
|
||||||
|
"setfsuid": SNR_SETFSUID,
|
||||||
|
"setfsgid": SNR_SETFSGID,
|
||||||
|
"times": SNR_TIMES,
|
||||||
|
"setpgid": SNR_SETPGID,
|
||||||
|
"getpgid": SNR_GETPGID,
|
||||||
|
"getsid": SNR_GETSID,
|
||||||
|
"setsid": SNR_SETSID,
|
||||||
|
"getgroups": SNR_GETGROUPS,
|
||||||
|
"setgroups": SNR_SETGROUPS,
|
||||||
|
"uname": SNR_UNAME,
|
||||||
|
"sethostname": SNR_SETHOSTNAME,
|
||||||
|
"setdomainname": SNR_SETDOMAINNAME,
|
||||||
|
"getrlimit": SNR_GETRLIMIT,
|
||||||
|
"setrlimit": SNR_SETRLIMIT,
|
||||||
|
"getrusage": SNR_GETRUSAGE,
|
||||||
|
"umask": SNR_UMASK,
|
||||||
|
"prctl": SNR_PRCTL,
|
||||||
|
"getcpu": SNR_GETCPU,
|
||||||
|
"gettimeofday": SNR_GETTIMEOFDAY,
|
||||||
|
"settimeofday": SNR_SETTIMEOFDAY,
|
||||||
|
"adjtimex": SNR_ADJTIMEX,
|
||||||
|
"getpid": SNR_GETPID,
|
||||||
|
"getppid": SNR_GETPPID,
|
||||||
|
"getuid": SNR_GETUID,
|
||||||
|
"geteuid": SNR_GETEUID,
|
||||||
|
"getgid": SNR_GETGID,
|
||||||
|
"getegid": SNR_GETEGID,
|
||||||
|
"gettid": SNR_GETTID,
|
||||||
|
"sysinfo": SNR_SYSINFO,
|
||||||
|
"mq_open": SNR_MQ_OPEN,
|
||||||
|
"mq_unlink": SNR_MQ_UNLINK,
|
||||||
|
"mq_timedsend": SNR_MQ_TIMEDSEND,
|
||||||
|
"mq_timedreceive": SNR_MQ_TIMEDRECEIVE,
|
||||||
|
"mq_notify": SNR_MQ_NOTIFY,
|
||||||
|
"mq_getsetattr": SNR_MQ_GETSETATTR,
|
||||||
|
"msgget": SNR_MSGGET,
|
||||||
|
"msgctl": SNR_MSGCTL,
|
||||||
|
"msgrcv": SNR_MSGRCV,
|
||||||
|
"msgsnd": SNR_MSGSND,
|
||||||
|
"semget": SNR_SEMGET,
|
||||||
|
"semctl": SNR_SEMCTL,
|
||||||
|
"semtimedop": SNR_SEMTIMEDOP,
|
||||||
|
"semop": SNR_SEMOP,
|
||||||
|
"shmget": SNR_SHMGET,
|
||||||
|
"shmctl": SNR_SHMCTL,
|
||||||
|
"shmat": SNR_SHMAT,
|
||||||
|
"shmdt": SNR_SHMDT,
|
||||||
|
"socket": SNR_SOCKET,
|
||||||
|
"socketpair": SNR_SOCKETPAIR,
|
||||||
|
"bind": SNR_BIND,
|
||||||
|
"listen": SNR_LISTEN,
|
||||||
|
"accept": SNR_ACCEPT,
|
||||||
|
"connect": SNR_CONNECT,
|
||||||
|
"getsockname": SNR_GETSOCKNAME,
|
||||||
|
"getpeername": SNR_GETPEERNAME,
|
||||||
|
"sendto": SNR_SENDTO,
|
||||||
|
"recvfrom": SNR_RECVFROM,
|
||||||
|
"setsockopt": SNR_SETSOCKOPT,
|
||||||
|
"getsockopt": SNR_GETSOCKOPT,
|
||||||
|
"shutdown": SNR_SHUTDOWN,
|
||||||
|
"sendmsg": SNR_SENDMSG,
|
||||||
|
"recvmsg": SNR_RECVMSG,
|
||||||
|
"readahead": SNR_READAHEAD,
|
||||||
|
"brk": SNR_BRK,
|
||||||
|
"munmap": SNR_MUNMAP,
|
||||||
|
"mremap": SNR_MREMAP,
|
||||||
|
"add_key": SNR_ADD_KEY,
|
||||||
|
"request_key": SNR_REQUEST_KEY,
|
||||||
|
"keyctl": SNR_KEYCTL,
|
||||||
|
"clone": SNR_CLONE,
|
||||||
|
"execve": SNR_EXECVE,
|
||||||
|
"mmap": SNR_MMAP,
|
||||||
|
"fadvise64": SNR_FADVISE64,
|
||||||
|
"swapon": SNR_SWAPON,
|
||||||
|
"swapoff": SNR_SWAPOFF,
|
||||||
|
"mprotect": SNR_MPROTECT,
|
||||||
|
"msync": SNR_MSYNC,
|
||||||
|
"mlock": SNR_MLOCK,
|
||||||
|
"munlock": SNR_MUNLOCK,
|
||||||
|
"mlockall": SNR_MLOCKALL,
|
||||||
|
"munlockall": SNR_MUNLOCKALL,
|
||||||
|
"mincore": SNR_MINCORE,
|
||||||
|
"madvise": SNR_MADVISE,
|
||||||
|
"remap_file_pages": SNR_REMAP_FILE_PAGES,
|
||||||
|
"mbind": SNR_MBIND,
|
||||||
|
"get_mempolicy": SNR_GET_MEMPOLICY,
|
||||||
|
"set_mempolicy": SNR_SET_MEMPOLICY,
|
||||||
|
"migrate_pages": SNR_MIGRATE_PAGES,
|
||||||
|
"move_pages": SNR_MOVE_PAGES,
|
||||||
|
"rt_tgsigqueueinfo": SNR_RT_TGSIGQUEUEINFO,
|
||||||
|
"perf_event_open": SNR_PERF_EVENT_OPEN,
|
||||||
|
"accept4": SNR_ACCEPT4,
|
||||||
|
"recvmmsg": SNR_RECVMMSG,
|
||||||
|
"wait4": SNR_WAIT4,
|
||||||
|
"prlimit64": SNR_PRLIMIT64,
|
||||||
|
"fanotify_init": SNR_FANOTIFY_INIT,
|
||||||
|
"fanotify_mark": SNR_FANOTIFY_MARK,
|
||||||
|
"name_to_handle_at": SNR_NAME_TO_HANDLE_AT,
|
||||||
|
"open_by_handle_at": SNR_OPEN_BY_HANDLE_AT,
|
||||||
|
"clock_adjtime": SNR_CLOCK_ADJTIME,
|
||||||
|
"syncfs": SNR_SYNCFS,
|
||||||
|
"setns": SNR_SETNS,
|
||||||
|
"sendmmsg": SNR_SENDMMSG,
|
||||||
|
"process_vm_readv": SNR_PROCESS_VM_READV,
|
||||||
|
"process_vm_writev": SNR_PROCESS_VM_WRITEV,
|
||||||
|
"kcmp": SNR_KCMP,
|
||||||
|
"finit_module": SNR_FINIT_MODULE,
|
||||||
|
"sched_setattr": SNR_SCHED_SETATTR,
|
||||||
|
"sched_getattr": SNR_SCHED_GETATTR,
|
||||||
|
"renameat2": SNR_RENAMEAT2,
|
||||||
|
"seccomp": SNR_SECCOMP,
|
||||||
|
"getrandom": SNR_GETRANDOM,
|
||||||
|
"memfd_create": SNR_MEMFD_CREATE,
|
||||||
|
"bpf": SNR_BPF,
|
||||||
|
"execveat": SNR_EXECVEAT,
|
||||||
|
"userfaultfd": SNR_USERFAULTFD,
|
||||||
|
"membarrier": SNR_MEMBARRIER,
|
||||||
|
"mlock2": SNR_MLOCK2,
|
||||||
|
"copy_file_range": SNR_COPY_FILE_RANGE,
|
||||||
|
"preadv2": SNR_PREADV2,
|
||||||
|
"pwritev2": SNR_PWRITEV2,
|
||||||
|
"pkey_mprotect": SNR_PKEY_MPROTECT,
|
||||||
|
"pkey_alloc": SNR_PKEY_ALLOC,
|
||||||
|
"pkey_free": SNR_PKEY_FREE,
|
||||||
|
"statx": SNR_STATX,
|
||||||
|
"io_pgetevents": SNR_IO_PGETEVENTS,
|
||||||
|
"rseq": SNR_RSEQ,
|
||||||
|
"kexec_file_load": SNR_KEXEC_FILE_LOAD,
|
||||||
|
"pidfd_send_signal": SNR_PIDFD_SEND_SIGNAL,
|
||||||
|
"io_uring_setup": SNR_IO_URING_SETUP,
|
||||||
|
"io_uring_enter": SNR_IO_URING_ENTER,
|
||||||
|
"io_uring_register": SNR_IO_URING_REGISTER,
|
||||||
|
"open_tree": SNR_OPEN_TREE,
|
||||||
|
"move_mount": SNR_MOVE_MOUNT,
|
||||||
|
"fsopen": SNR_FSOPEN,
|
||||||
|
"fsconfig": SNR_FSCONFIG,
|
||||||
|
"fsmount": SNR_FSMOUNT,
|
||||||
|
"fspick": SNR_FSPICK,
|
||||||
|
"pidfd_open": SNR_PIDFD_OPEN,
|
||||||
|
"clone3": SNR_CLONE3,
|
||||||
|
"close_range": SNR_CLOSE_RANGE,
|
||||||
|
"openat2": SNR_OPENAT2,
|
||||||
|
"pidfd_getfd": SNR_PIDFD_GETFD,
|
||||||
|
"faccessat2": SNR_FACCESSAT2,
|
||||||
|
"process_madvise": SNR_PROCESS_MADVISE,
|
||||||
|
"epoll_pwait2": SNR_EPOLL_PWAIT2,
|
||||||
|
"mount_setattr": SNR_MOUNT_SETATTR,
|
||||||
|
"quotactl_fd": SNR_QUOTACTL_FD,
|
||||||
|
"landlock_create_ruleset": SNR_LANDLOCK_CREATE_RULESET,
|
||||||
|
"landlock_add_rule": SNR_LANDLOCK_ADD_RULE,
|
||||||
|
"landlock_restrict_self": SNR_LANDLOCK_RESTRICT_SELF,
|
||||||
|
"memfd_secret": SNR_MEMFD_SECRET,
|
||||||
|
"process_mrelease": SNR_PROCESS_MRELEASE,
|
||||||
|
"futex_waitv": SNR_FUTEX_WAITV,
|
||||||
|
"set_mempolicy_home_node": SNR_SET_MEMPOLICY_HOME_NODE,
|
||||||
|
"cachestat": SNR_CACHESTAT,
|
||||||
|
"fchmodat2": SNR_FCHMODAT2,
|
||||||
|
"map_shadow_stack": SNR_MAP_SHADOW_STACK,
|
||||||
|
"futex_wake": SNR_FUTEX_WAKE,
|
||||||
|
"futex_wait": SNR_FUTEX_WAIT,
|
||||||
|
"futex_requeue": SNR_FUTEX_REQUEUE,
|
||||||
|
"statmount": SNR_STATMOUNT,
|
||||||
|
"listmount": SNR_LISTMOUNT,
|
||||||
|
"lsm_get_self_attr": SNR_LSM_GET_SELF_ATTR,
|
||||||
|
"lsm_set_self_attr": SNR_LSM_SET_SELF_ATTR,
|
||||||
|
"lsm_list_modules": SNR_LSM_LIST_MODULES,
|
||||||
|
"mseal": SNR_MSEAL,
|
||||||
|
"setxattrat": SNR_SETXATTRAT,
|
||||||
|
"getxattrat": SNR_GETXATTRAT,
|
||||||
|
"listxattrat": SNR_LISTXATTRAT,
|
||||||
|
"removexattrat": SNR_REMOVEXATTRAT,
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
SYS_USERFAULTFD = 282
|
||||||
|
SYS_MEMBARRIER = 283
|
||||||
|
SYS_MLOCK2 = 284
|
||||||
|
SYS_COPY_FILE_RANGE = 285
|
||||||
|
SYS_PREADV2 = 286
|
||||||
|
SYS_PWRITEV2 = 287
|
||||||
|
SYS_PKEY_MPROTECT = 288
|
||||||
|
SYS_PKEY_ALLOC = 289
|
||||||
|
SYS_PKEY_FREE = 290
|
||||||
|
SYS_STATX = 291
|
||||||
|
SYS_IO_PGETEVENTS = 292
|
||||||
|
SYS_RSEQ = 293
|
||||||
|
SYS_KEXEC_FILE_LOAD = 294
|
||||||
|
SYS_PIDFD_SEND_SIGNAL = 424
|
||||||
|
SYS_IO_URING_SETUP = 425
|
||||||
|
SYS_IO_URING_ENTER = 426
|
||||||
|
SYS_IO_URING_REGISTER = 427
|
||||||
|
SYS_OPEN_TREE = 428
|
||||||
|
SYS_MOVE_MOUNT = 429
|
||||||
|
SYS_FSOPEN = 430
|
||||||
|
SYS_FSCONFIG = 431
|
||||||
|
SYS_FSMOUNT = 432
|
||||||
|
SYS_FSPICK = 433
|
||||||
|
SYS_PIDFD_OPEN = 434
|
||||||
|
SYS_CLONE3 = 435
|
||||||
|
SYS_CLOSE_RANGE = 436
|
||||||
|
SYS_OPENAT2 = 437
|
||||||
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
|
SYS_PROCESS_MADVISE = 440
|
||||||
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
|
SYS_QUOTACTL_FD = 443
|
||||||
|
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||||
|
SYS_LANDLOCK_ADD_RULE = 445
|
||||||
|
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||||
|
SYS_MEMFD_SECRET = 447
|
||||||
|
SYS_PROCESS_MRELEASE = 448
|
||||||
|
SYS_FUTEX_WAITV = 449
|
||||||
|
SYS_SET_MEMPOLICY_HOME_NODE = 450
|
||||||
|
SYS_CACHESTAT = 451
|
||||||
|
SYS_FCHMODAT2 = 452
|
||||||
|
SYS_MAP_SHADOW_STACK = 453
|
||||||
|
SYS_FUTEX_WAKE = 454
|
||||||
|
SYS_FUTEX_WAIT = 455
|
||||||
|
SYS_FUTEX_REQUEUE = 456
|
||||||
|
SYS_STATMOUNT = 457
|
||||||
|
SYS_LISTMOUNT = 458
|
||||||
|
SYS_LSM_GET_SELF_ATTR = 459
|
||||||
|
SYS_LSM_SET_SELF_ATTR = 460
|
||||||
|
SYS_LSM_LIST_MODULES = 461
|
||||||
|
SYS_MSEAL = 462
|
||||||
|
SYS_SETXATTRAT = 463
|
||||||
|
SYS_GETXATTRAT = 464
|
||||||
|
SYS_LISTXATTRAT = 465
|
||||||
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
|
SYS_FILE_GETATTR = 468
|
||||||
|
SYS_FILE_SETATTR = 469
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
SNR_IO_SETUP SyscallNum = SYS_IO_SETUP
|
||||||
|
SNR_IO_DESTROY SyscallNum = SYS_IO_DESTROY
|
||||||
|
SNR_IO_SUBMIT SyscallNum = SYS_IO_SUBMIT
|
||||||
|
SNR_IO_CANCEL SyscallNum = SYS_IO_CANCEL
|
||||||
|
SNR_IO_GETEVENTS SyscallNum = SYS_IO_GETEVENTS
|
||||||
|
SNR_SETXATTR SyscallNum = SYS_SETXATTR
|
||||||
|
SNR_LSETXATTR SyscallNum = SYS_LSETXATTR
|
||||||
|
SNR_FSETXATTR SyscallNum = SYS_FSETXATTR
|
||||||
|
SNR_GETXATTR SyscallNum = SYS_GETXATTR
|
||||||
|
SNR_LGETXATTR SyscallNum = SYS_LGETXATTR
|
||||||
|
SNR_FGETXATTR SyscallNum = SYS_FGETXATTR
|
||||||
|
SNR_LISTXATTR SyscallNum = SYS_LISTXATTR
|
||||||
|
SNR_LLISTXATTR SyscallNum = SYS_LLISTXATTR
|
||||||
|
SNR_FLISTXATTR SyscallNum = SYS_FLISTXATTR
|
||||||
|
SNR_REMOVEXATTR SyscallNum = SYS_REMOVEXATTR
|
||||||
|
SNR_LREMOVEXATTR SyscallNum = SYS_LREMOVEXATTR
|
||||||
|
SNR_FREMOVEXATTR SyscallNum = SYS_FREMOVEXATTR
|
||||||
|
SNR_GETCWD SyscallNum = SYS_GETCWD
|
||||||
|
SNR_LOOKUP_DCOOKIE SyscallNum = SYS_LOOKUP_DCOOKIE
|
||||||
|
SNR_EVENTFD2 SyscallNum = SYS_EVENTFD2
|
||||||
|
SNR_EPOLL_CREATE1 SyscallNum = SYS_EPOLL_CREATE1
|
||||||
|
SNR_EPOLL_CTL SyscallNum = SYS_EPOLL_CTL
|
||||||
|
SNR_EPOLL_PWAIT SyscallNum = SYS_EPOLL_PWAIT
|
||||||
|
SNR_DUP SyscallNum = SYS_DUP
|
||||||
|
SNR_DUP3 SyscallNum = SYS_DUP3
|
||||||
|
SNR_FCNTL SyscallNum = SYS_FCNTL
|
||||||
|
SNR_INOTIFY_INIT1 SyscallNum = SYS_INOTIFY_INIT1
|
||||||
|
SNR_INOTIFY_ADD_WATCH SyscallNum = SYS_INOTIFY_ADD_WATCH
|
||||||
|
SNR_INOTIFY_RM_WATCH SyscallNum = SYS_INOTIFY_RM_WATCH
|
||||||
|
SNR_IOCTL SyscallNum = SYS_IOCTL
|
||||||
|
SNR_IOPRIO_SET SyscallNum = SYS_IOPRIO_SET
|
||||||
|
SNR_IOPRIO_GET SyscallNum = SYS_IOPRIO_GET
|
||||||
|
SNR_FLOCK SyscallNum = SYS_FLOCK
|
||||||
|
SNR_MKNODAT SyscallNum = SYS_MKNODAT
|
||||||
|
SNR_MKDIRAT SyscallNum = SYS_MKDIRAT
|
||||||
|
SNR_UNLINKAT SyscallNum = SYS_UNLINKAT
|
||||||
|
SNR_SYMLINKAT SyscallNum = SYS_SYMLINKAT
|
||||||
|
SNR_LINKAT SyscallNum = SYS_LINKAT
|
||||||
|
SNR_UMOUNT2 SyscallNum = SYS_UMOUNT2
|
||||||
|
SNR_MOUNT SyscallNum = SYS_MOUNT
|
||||||
|
SNR_PIVOT_ROOT SyscallNum = SYS_PIVOT_ROOT
|
||||||
|
SNR_NFSSERVCTL SyscallNum = SYS_NFSSERVCTL
|
||||||
|
SNR_STATFS SyscallNum = SYS_STATFS
|
||||||
|
SNR_FSTATFS SyscallNum = SYS_FSTATFS
|
||||||
|
SNR_TRUNCATE SyscallNum = SYS_TRUNCATE
|
||||||
|
SNR_FTRUNCATE SyscallNum = SYS_FTRUNCATE
|
||||||
|
SNR_FALLOCATE SyscallNum = SYS_FALLOCATE
|
||||||
|
SNR_FACCESSAT SyscallNum = SYS_FACCESSAT
|
||||||
|
SNR_CHDIR SyscallNum = SYS_CHDIR
|
||||||
|
SNR_FCHDIR SyscallNum = SYS_FCHDIR
|
||||||
|
SNR_CHROOT SyscallNum = SYS_CHROOT
|
||||||
|
SNR_FCHMOD SyscallNum = SYS_FCHMOD
|
||||||
|
SNR_FCHMODAT SyscallNum = SYS_FCHMODAT
|
||||||
|
SNR_FCHOWNAT SyscallNum = SYS_FCHOWNAT
|
||||||
|
SNR_FCHOWN SyscallNum = SYS_FCHOWN
|
||||||
|
SNR_OPENAT SyscallNum = SYS_OPENAT
|
||||||
|
SNR_CLOSE SyscallNum = SYS_CLOSE
|
||||||
|
SNR_VHANGUP SyscallNum = SYS_VHANGUP
|
||||||
|
SNR_PIPE2 SyscallNum = SYS_PIPE2
|
||||||
|
SNR_QUOTACTL SyscallNum = SYS_QUOTACTL
|
||||||
|
SNR_GETDENTS64 SyscallNum = SYS_GETDENTS64
|
||||||
|
SNR_LSEEK SyscallNum = SYS_LSEEK
|
||||||
|
SNR_READ SyscallNum = SYS_READ
|
||||||
|
SNR_WRITE SyscallNum = SYS_WRITE
|
||||||
|
SNR_READV SyscallNum = SYS_READV
|
||||||
|
SNR_WRITEV SyscallNum = SYS_WRITEV
|
||||||
|
SNR_PREAD64 SyscallNum = SYS_PREAD64
|
||||||
|
SNR_PWRITE64 SyscallNum = SYS_PWRITE64
|
||||||
|
SNR_PREADV SyscallNum = SYS_PREADV
|
||||||
|
SNR_PWRITEV SyscallNum = SYS_PWRITEV
|
||||||
|
SNR_SENDFILE SyscallNum = SYS_SENDFILE
|
||||||
|
SNR_PSELECT6 SyscallNum = SYS_PSELECT6
|
||||||
|
SNR_PPOLL SyscallNum = SYS_PPOLL
|
||||||
|
SNR_SIGNALFD4 SyscallNum = SYS_SIGNALFD4
|
||||||
|
SNR_VMSPLICE SyscallNum = SYS_VMSPLICE
|
||||||
|
SNR_SPLICE SyscallNum = SYS_SPLICE
|
||||||
|
SNR_TEE SyscallNum = SYS_TEE
|
||||||
|
SNR_READLINKAT SyscallNum = SYS_READLINKAT
|
||||||
|
SNR_NEWFSTATAT SyscallNum = SYS_NEWFSTATAT
|
||||||
|
SNR_FSTAT SyscallNum = SYS_FSTAT
|
||||||
|
SNR_SYNC SyscallNum = SYS_SYNC
|
||||||
|
SNR_FSYNC SyscallNum = SYS_FSYNC
|
||||||
|
SNR_FDATASYNC SyscallNum = SYS_FDATASYNC
|
||||||
|
SNR_SYNC_FILE_RANGE SyscallNum = SYS_SYNC_FILE_RANGE
|
||||||
|
SNR_TIMERFD_CREATE SyscallNum = SYS_TIMERFD_CREATE
|
||||||
|
SNR_TIMERFD_SETTIME SyscallNum = SYS_TIMERFD_SETTIME
|
||||||
|
SNR_TIMERFD_GETTIME SyscallNum = SYS_TIMERFD_GETTIME
|
||||||
|
SNR_UTIMENSAT SyscallNum = SYS_UTIMENSAT
|
||||||
|
SNR_ACCT SyscallNum = SYS_ACCT
|
||||||
|
SNR_CAPGET SyscallNum = SYS_CAPGET
|
||||||
|
SNR_CAPSET SyscallNum = SYS_CAPSET
|
||||||
|
SNR_PERSONALITY SyscallNum = SYS_PERSONALITY
|
||||||
|
SNR_EXIT SyscallNum = SYS_EXIT
|
||||||
|
SNR_EXIT_GROUP SyscallNum = SYS_EXIT_GROUP
|
||||||
|
SNR_WAITID SyscallNum = SYS_WAITID
|
||||||
|
SNR_SET_TID_ADDRESS SyscallNum = SYS_SET_TID_ADDRESS
|
||||||
|
SNR_UNSHARE SyscallNum = SYS_UNSHARE
|
||||||
|
SNR_FUTEX SyscallNum = SYS_FUTEX
|
||||||
|
SNR_SET_ROBUST_LIST SyscallNum = SYS_SET_ROBUST_LIST
|
||||||
|
SNR_GET_ROBUST_LIST SyscallNum = SYS_GET_ROBUST_LIST
|
||||||
|
SNR_NANOSLEEP SyscallNum = SYS_NANOSLEEP
|
||||||
|
SNR_GETITIMER SyscallNum = SYS_GETITIMER
|
||||||
|
SNR_SETITIMER SyscallNum = SYS_SETITIMER
|
||||||
|
SNR_KEXEC_LOAD SyscallNum = SYS_KEXEC_LOAD
|
||||||
|
SNR_INIT_MODULE SyscallNum = SYS_INIT_MODULE
|
||||||
|
SNR_DELETE_MODULE SyscallNum = SYS_DELETE_MODULE
|
||||||
|
SNR_TIMER_CREATE SyscallNum = SYS_TIMER_CREATE
|
||||||
|
SNR_TIMER_GETTIME SyscallNum = SYS_TIMER_GETTIME
|
||||||
|
SNR_TIMER_GETOVERRUN SyscallNum = SYS_TIMER_GETOVERRUN
|
||||||
|
SNR_TIMER_SETTIME SyscallNum = SYS_TIMER_SETTIME
|
||||||
|
SNR_TIMER_DELETE SyscallNum = SYS_TIMER_DELETE
|
||||||
|
SNR_CLOCK_SETTIME SyscallNum = SYS_CLOCK_SETTIME
|
||||||
|
SNR_CLOCK_GETTIME SyscallNum = SYS_CLOCK_GETTIME
|
||||||
|
SNR_CLOCK_GETRES SyscallNum = SYS_CLOCK_GETRES
|
||||||
|
SNR_CLOCK_NANOSLEEP SyscallNum = SYS_CLOCK_NANOSLEEP
|
||||||
|
SNR_SYSLOG SyscallNum = SYS_SYSLOG
|
||||||
|
SNR_PTRACE SyscallNum = SYS_PTRACE
|
||||||
|
SNR_SCHED_SETPARAM SyscallNum = SYS_SCHED_SETPARAM
|
||||||
|
SNR_SCHED_SETSCHEDULER SyscallNum = SYS_SCHED_SETSCHEDULER
|
||||||
|
SNR_SCHED_GETSCHEDULER SyscallNum = SYS_SCHED_GETSCHEDULER
|
||||||
|
SNR_SCHED_GETPARAM SyscallNum = SYS_SCHED_GETPARAM
|
||||||
|
SNR_SCHED_SETAFFINITY SyscallNum = SYS_SCHED_SETAFFINITY
|
||||||
|
SNR_SCHED_GETAFFINITY SyscallNum = SYS_SCHED_GETAFFINITY
|
||||||
|
SNR_SCHED_YIELD SyscallNum = SYS_SCHED_YIELD
|
||||||
|
SNR_SCHED_GET_PRIORITY_MAX SyscallNum = SYS_SCHED_GET_PRIORITY_MAX
|
||||||
|
SNR_SCHED_GET_PRIORITY_MIN SyscallNum = SYS_SCHED_GET_PRIORITY_MIN
|
||||||
|
SNR_SCHED_RR_GET_INTERVAL SyscallNum = SYS_SCHED_RR_GET_INTERVAL
|
||||||
|
SNR_RESTART_SYSCALL SyscallNum = SYS_RESTART_SYSCALL
|
||||||
|
SNR_KILL SyscallNum = SYS_KILL
|
||||||
|
SNR_TKILL SyscallNum = SYS_TKILL
|
||||||
|
SNR_TGKILL SyscallNum = SYS_TGKILL
|
||||||
|
SNR_SIGALTSTACK SyscallNum = SYS_SIGALTSTACK
|
||||||
|
SNR_RT_SIGSUSPEND SyscallNum = SYS_RT_SIGSUSPEND
|
||||||
|
SNR_RT_SIGACTION SyscallNum = SYS_RT_SIGACTION
|
||||||
|
SNR_RT_SIGPROCMASK SyscallNum = SYS_RT_SIGPROCMASK
|
||||||
|
SNR_RT_SIGPENDING SyscallNum = SYS_RT_SIGPENDING
|
||||||
|
SNR_RT_SIGTIMEDWAIT SyscallNum = SYS_RT_SIGTIMEDWAIT
|
||||||
|
SNR_RT_SIGQUEUEINFO SyscallNum = SYS_RT_SIGQUEUEINFO
|
||||||
|
SNR_RT_SIGRETURN SyscallNum = SYS_RT_SIGRETURN
|
||||||
|
SNR_SETPRIORITY SyscallNum = SYS_SETPRIORITY
|
||||||
|
SNR_GETPRIORITY SyscallNum = SYS_GETPRIORITY
|
||||||
|
SNR_REBOOT SyscallNum = SYS_REBOOT
|
||||||
|
SNR_SETREGID SyscallNum = SYS_SETREGID
|
||||||
|
SNR_SETGID SyscallNum = SYS_SETGID
|
||||||
|
SNR_SETREUID SyscallNum = SYS_SETREUID
|
||||||
|
SNR_SETUID SyscallNum = SYS_SETUID
|
||||||
|
SNR_SETRESUID SyscallNum = SYS_SETRESUID
|
||||||
|
SNR_GETRESUID SyscallNum = SYS_GETRESUID
|
||||||
|
SNR_SETRESGID SyscallNum = SYS_SETRESGID
|
||||||
|
SNR_GETRESGID SyscallNum = SYS_GETRESGID
|
||||||
|
SNR_SETFSUID SyscallNum = SYS_SETFSUID
|
||||||
|
SNR_SETFSGID SyscallNum = SYS_SETFSGID
|
||||||
|
SNR_TIMES SyscallNum = SYS_TIMES
|
||||||
|
SNR_SETPGID SyscallNum = SYS_SETPGID
|
||||||
|
SNR_GETPGID SyscallNum = SYS_GETPGID
|
||||||
|
SNR_GETSID SyscallNum = SYS_GETSID
|
||||||
|
SNR_SETSID SyscallNum = SYS_SETSID
|
||||||
|
SNR_GETGROUPS SyscallNum = SYS_GETGROUPS
|
||||||
|
SNR_SETGROUPS SyscallNum = SYS_SETGROUPS
|
||||||
|
SNR_UNAME SyscallNum = SYS_UNAME
|
||||||
|
SNR_SETHOSTNAME SyscallNum = SYS_SETHOSTNAME
|
||||||
|
SNR_SETDOMAINNAME SyscallNum = SYS_SETDOMAINNAME
|
||||||
|
SNR_GETRLIMIT SyscallNum = SYS_GETRLIMIT
|
||||||
|
SNR_SETRLIMIT SyscallNum = SYS_SETRLIMIT
|
||||||
|
SNR_GETRUSAGE SyscallNum = SYS_GETRUSAGE
|
||||||
|
SNR_UMASK SyscallNum = SYS_UMASK
|
||||||
|
SNR_PRCTL SyscallNum = SYS_PRCTL
|
||||||
|
SNR_GETCPU SyscallNum = SYS_GETCPU
|
||||||
|
SNR_GETTIMEOFDAY SyscallNum = SYS_GETTIMEOFDAY
|
||||||
|
SNR_SETTIMEOFDAY SyscallNum = SYS_SETTIMEOFDAY
|
||||||
|
SNR_ADJTIMEX SyscallNum = SYS_ADJTIMEX
|
||||||
|
SNR_GETPID SyscallNum = SYS_GETPID
|
||||||
|
SNR_GETPPID SyscallNum = SYS_GETPPID
|
||||||
|
SNR_GETUID SyscallNum = SYS_GETUID
|
||||||
|
SNR_GETEUID SyscallNum = SYS_GETEUID
|
||||||
|
SNR_GETGID SyscallNum = SYS_GETGID
|
||||||
|
SNR_GETEGID SyscallNum = SYS_GETEGID
|
||||||
|
SNR_GETTID SyscallNum = SYS_GETTID
|
||||||
|
SNR_SYSINFO SyscallNum = SYS_SYSINFO
|
||||||
|
SNR_MQ_OPEN SyscallNum = SYS_MQ_OPEN
|
||||||
|
SNR_MQ_UNLINK SyscallNum = SYS_MQ_UNLINK
|
||||||
|
SNR_MQ_TIMEDSEND SyscallNum = SYS_MQ_TIMEDSEND
|
||||||
|
SNR_MQ_TIMEDRECEIVE SyscallNum = SYS_MQ_TIMEDRECEIVE
|
||||||
|
SNR_MQ_NOTIFY SyscallNum = SYS_MQ_NOTIFY
|
||||||
|
SNR_MQ_GETSETATTR SyscallNum = SYS_MQ_GETSETATTR
|
||||||
|
SNR_MSGGET SyscallNum = SYS_MSGGET
|
||||||
|
SNR_MSGCTL SyscallNum = SYS_MSGCTL
|
||||||
|
SNR_MSGRCV SyscallNum = SYS_MSGRCV
|
||||||
|
SNR_MSGSND SyscallNum = SYS_MSGSND
|
||||||
|
SNR_SEMGET SyscallNum = SYS_SEMGET
|
||||||
|
SNR_SEMCTL SyscallNum = SYS_SEMCTL
|
||||||
|
SNR_SEMTIMEDOP SyscallNum = SYS_SEMTIMEDOP
|
||||||
|
SNR_SEMOP SyscallNum = SYS_SEMOP
|
||||||
|
SNR_SHMGET SyscallNum = SYS_SHMGET
|
||||||
|
SNR_SHMCTL SyscallNum = SYS_SHMCTL
|
||||||
|
SNR_SHMAT SyscallNum = SYS_SHMAT
|
||||||
|
SNR_SHMDT SyscallNum = SYS_SHMDT
|
||||||
|
SNR_SOCKET SyscallNum = SYS_SOCKET
|
||||||
|
SNR_SOCKETPAIR SyscallNum = SYS_SOCKETPAIR
|
||||||
|
SNR_BIND SyscallNum = SYS_BIND
|
||||||
|
SNR_LISTEN SyscallNum = SYS_LISTEN
|
||||||
|
SNR_ACCEPT SyscallNum = SYS_ACCEPT
|
||||||
|
SNR_CONNECT SyscallNum = SYS_CONNECT
|
||||||
|
SNR_GETSOCKNAME SyscallNum = SYS_GETSOCKNAME
|
||||||
|
SNR_GETPEERNAME SyscallNum = SYS_GETPEERNAME
|
||||||
|
SNR_SENDTO SyscallNum = SYS_SENDTO
|
||||||
|
SNR_RECVFROM SyscallNum = SYS_RECVFROM
|
||||||
|
SNR_SETSOCKOPT SyscallNum = SYS_SETSOCKOPT
|
||||||
|
SNR_GETSOCKOPT SyscallNum = SYS_GETSOCKOPT
|
||||||
|
SNR_SHUTDOWN SyscallNum = SYS_SHUTDOWN
|
||||||
|
SNR_SENDMSG SyscallNum = SYS_SENDMSG
|
||||||
|
SNR_RECVMSG SyscallNum = SYS_RECVMSG
|
||||||
|
SNR_READAHEAD SyscallNum = SYS_READAHEAD
|
||||||
|
SNR_BRK SyscallNum = SYS_BRK
|
||||||
|
SNR_MUNMAP SyscallNum = SYS_MUNMAP
|
||||||
|
SNR_MREMAP SyscallNum = SYS_MREMAP
|
||||||
|
SNR_ADD_KEY SyscallNum = SYS_ADD_KEY
|
||||||
|
SNR_REQUEST_KEY SyscallNum = SYS_REQUEST_KEY
|
||||||
|
SNR_KEYCTL SyscallNum = SYS_KEYCTL
|
||||||
|
SNR_CLONE SyscallNum = SYS_CLONE
|
||||||
|
SNR_EXECVE SyscallNum = SYS_EXECVE
|
||||||
|
SNR_MMAP SyscallNum = SYS_MMAP
|
||||||
|
SNR_FADVISE64 SyscallNum = SYS_FADVISE64
|
||||||
|
SNR_SWAPON SyscallNum = SYS_SWAPON
|
||||||
|
SNR_SWAPOFF SyscallNum = SYS_SWAPOFF
|
||||||
|
SNR_MPROTECT SyscallNum = SYS_MPROTECT
|
||||||
|
SNR_MSYNC SyscallNum = SYS_MSYNC
|
||||||
|
SNR_MLOCK SyscallNum = SYS_MLOCK
|
||||||
|
SNR_MUNLOCK SyscallNum = SYS_MUNLOCK
|
||||||
|
SNR_MLOCKALL SyscallNum = SYS_MLOCKALL
|
||||||
|
SNR_MUNLOCKALL SyscallNum = SYS_MUNLOCKALL
|
||||||
|
SNR_MINCORE SyscallNum = SYS_MINCORE
|
||||||
|
SNR_MADVISE SyscallNum = SYS_MADVISE
|
||||||
|
SNR_REMAP_FILE_PAGES SyscallNum = SYS_REMAP_FILE_PAGES
|
||||||
|
SNR_MBIND SyscallNum = SYS_MBIND
|
||||||
|
SNR_GET_MEMPOLICY SyscallNum = SYS_GET_MEMPOLICY
|
||||||
|
SNR_SET_MEMPOLICY SyscallNum = SYS_SET_MEMPOLICY
|
||||||
|
SNR_MIGRATE_PAGES SyscallNum = SYS_MIGRATE_PAGES
|
||||||
|
SNR_MOVE_PAGES SyscallNum = SYS_MOVE_PAGES
|
||||||
|
SNR_RT_TGSIGQUEUEINFO SyscallNum = SYS_RT_TGSIGQUEUEINFO
|
||||||
|
SNR_PERF_EVENT_OPEN SyscallNum = SYS_PERF_EVENT_OPEN
|
||||||
|
SNR_ACCEPT4 SyscallNum = SYS_ACCEPT4
|
||||||
|
SNR_RECVMMSG SyscallNum = SYS_RECVMMSG
|
||||||
|
SNR_WAIT4 SyscallNum = SYS_WAIT4
|
||||||
|
SNR_PRLIMIT64 SyscallNum = SYS_PRLIMIT64
|
||||||
|
SNR_FANOTIFY_INIT SyscallNum = SYS_FANOTIFY_INIT
|
||||||
|
SNR_FANOTIFY_MARK SyscallNum = SYS_FANOTIFY_MARK
|
||||||
|
SNR_NAME_TO_HANDLE_AT SyscallNum = SYS_NAME_TO_HANDLE_AT
|
||||||
|
SNR_OPEN_BY_HANDLE_AT SyscallNum = SYS_OPEN_BY_HANDLE_AT
|
||||||
|
SNR_CLOCK_ADJTIME SyscallNum = SYS_CLOCK_ADJTIME
|
||||||
|
SNR_SYNCFS SyscallNum = SYS_SYNCFS
|
||||||
|
SNR_SETNS SyscallNum = SYS_SETNS
|
||||||
|
SNR_SENDMMSG SyscallNum = SYS_SENDMMSG
|
||||||
|
SNR_PROCESS_VM_READV SyscallNum = SYS_PROCESS_VM_READV
|
||||||
|
SNR_PROCESS_VM_WRITEV SyscallNum = SYS_PROCESS_VM_WRITEV
|
||||||
|
SNR_KCMP SyscallNum = SYS_KCMP
|
||||||
|
SNR_FINIT_MODULE SyscallNum = SYS_FINIT_MODULE
|
||||||
|
SNR_SCHED_SETATTR SyscallNum = SYS_SCHED_SETATTR
|
||||||
|
SNR_SCHED_GETATTR SyscallNum = SYS_SCHED_GETATTR
|
||||||
|
SNR_RENAMEAT2 SyscallNum = SYS_RENAMEAT2
|
||||||
|
SNR_SECCOMP SyscallNum = SYS_SECCOMP
|
||||||
|
SNR_GETRANDOM SyscallNum = SYS_GETRANDOM
|
||||||
|
SNR_MEMFD_CREATE SyscallNum = SYS_MEMFD_CREATE
|
||||||
|
SNR_BPF SyscallNum = SYS_BPF
|
||||||
|
SNR_EXECVEAT SyscallNum = SYS_EXECVEAT
|
||||||
|
SNR_USERFAULTFD SyscallNum = SYS_USERFAULTFD
|
||||||
|
SNR_MEMBARRIER SyscallNum = SYS_MEMBARRIER
|
||||||
|
SNR_MLOCK2 SyscallNum = SYS_MLOCK2
|
||||||
|
SNR_COPY_FILE_RANGE SyscallNum = SYS_COPY_FILE_RANGE
|
||||||
|
SNR_PREADV2 SyscallNum = SYS_PREADV2
|
||||||
|
SNR_PWRITEV2 SyscallNum = SYS_PWRITEV2
|
||||||
|
SNR_PKEY_MPROTECT SyscallNum = SYS_PKEY_MPROTECT
|
||||||
|
SNR_PKEY_ALLOC SyscallNum = SYS_PKEY_ALLOC
|
||||||
|
SNR_PKEY_FREE SyscallNum = SYS_PKEY_FREE
|
||||||
|
SNR_STATX SyscallNum = SYS_STATX
|
||||||
|
SNR_IO_PGETEVENTS SyscallNum = SYS_IO_PGETEVENTS
|
||||||
|
SNR_RSEQ SyscallNum = SYS_RSEQ
|
||||||
|
SNR_KEXEC_FILE_LOAD SyscallNum = SYS_KEXEC_FILE_LOAD
|
||||||
|
SNR_PIDFD_SEND_SIGNAL SyscallNum = SYS_PIDFD_SEND_SIGNAL
|
||||||
|
SNR_IO_URING_SETUP SyscallNum = SYS_IO_URING_SETUP
|
||||||
|
SNR_IO_URING_ENTER SyscallNum = SYS_IO_URING_ENTER
|
||||||
|
SNR_IO_URING_REGISTER SyscallNum = SYS_IO_URING_REGISTER
|
||||||
|
SNR_OPEN_TREE SyscallNum = SYS_OPEN_TREE
|
||||||
|
SNR_MOVE_MOUNT SyscallNum = SYS_MOVE_MOUNT
|
||||||
|
SNR_FSOPEN SyscallNum = SYS_FSOPEN
|
||||||
|
SNR_FSCONFIG SyscallNum = SYS_FSCONFIG
|
||||||
|
SNR_FSMOUNT SyscallNum = SYS_FSMOUNT
|
||||||
|
SNR_FSPICK SyscallNum = SYS_FSPICK
|
||||||
|
SNR_PIDFD_OPEN SyscallNum = SYS_PIDFD_OPEN
|
||||||
|
SNR_CLONE3 SyscallNum = SYS_CLONE3
|
||||||
|
SNR_CLOSE_RANGE SyscallNum = SYS_CLOSE_RANGE
|
||||||
|
SNR_OPENAT2 SyscallNum = SYS_OPENAT2
|
||||||
|
SNR_PIDFD_GETFD SyscallNum = SYS_PIDFD_GETFD
|
||||||
|
SNR_FACCESSAT2 SyscallNum = SYS_FACCESSAT2
|
||||||
|
SNR_PROCESS_MADVISE SyscallNum = SYS_PROCESS_MADVISE
|
||||||
|
SNR_EPOLL_PWAIT2 SyscallNum = SYS_EPOLL_PWAIT2
|
||||||
|
SNR_MOUNT_SETATTR SyscallNum = SYS_MOUNT_SETATTR
|
||||||
|
SNR_QUOTACTL_FD SyscallNum = SYS_QUOTACTL_FD
|
||||||
|
SNR_LANDLOCK_CREATE_RULESET SyscallNum = SYS_LANDLOCK_CREATE_RULESET
|
||||||
|
SNR_LANDLOCK_ADD_RULE SyscallNum = SYS_LANDLOCK_ADD_RULE
|
||||||
|
SNR_LANDLOCK_RESTRICT_SELF SyscallNum = SYS_LANDLOCK_RESTRICT_SELF
|
||||||
|
SNR_MEMFD_SECRET SyscallNum = SYS_MEMFD_SECRET
|
||||||
|
SNR_PROCESS_MRELEASE SyscallNum = SYS_PROCESS_MRELEASE
|
||||||
|
SNR_FUTEX_WAITV SyscallNum = SYS_FUTEX_WAITV
|
||||||
|
SNR_SET_MEMPOLICY_HOME_NODE SyscallNum = SYS_SET_MEMPOLICY_HOME_NODE
|
||||||
|
SNR_CACHESTAT SyscallNum = SYS_CACHESTAT
|
||||||
|
SNR_FCHMODAT2 SyscallNum = SYS_FCHMODAT2
|
||||||
|
SNR_MAP_SHADOW_STACK SyscallNum = SYS_MAP_SHADOW_STACK
|
||||||
|
SNR_FUTEX_WAKE SyscallNum = SYS_FUTEX_WAKE
|
||||||
|
SNR_FUTEX_WAIT SyscallNum = SYS_FUTEX_WAIT
|
||||||
|
SNR_FUTEX_REQUEUE SyscallNum = SYS_FUTEX_REQUEUE
|
||||||
|
SNR_STATMOUNT SyscallNum = SYS_STATMOUNT
|
||||||
|
SNR_LISTMOUNT SyscallNum = SYS_LISTMOUNT
|
||||||
|
SNR_LSM_GET_SELF_ATTR SyscallNum = SYS_LSM_GET_SELF_ATTR
|
||||||
|
SNR_LSM_SET_SELF_ATTR SyscallNum = SYS_LSM_SET_SELF_ATTR
|
||||||
|
SNR_LSM_LIST_MODULES SyscallNum = SYS_LSM_LIST_MODULES
|
||||||
|
SNR_MSEAL SyscallNum = SYS_MSEAL
|
||||||
|
SNR_SETXATTRAT SyscallNum = SYS_SETXATTRAT
|
||||||
|
SNR_GETXATTRAT SyscallNum = SYS_GETXATTRAT
|
||||||
|
SNR_LISTXATTRAT SyscallNum = SYS_LISTXATTRAT
|
||||||
|
SNR_REMOVEXATTRAT SyscallNum = SYS_REMOVEXATTRAT
|
||||||
|
SNR_OPEN_TREE_ATTR SyscallNum = SYS_OPEN_TREE_ATTR
|
||||||
|
SNR_FILE_GETATTR SyscallNum = SYS_FILE_GETATTR
|
||||||
|
SNR_FILE_SETATTR SyscallNum = SYS_FILE_SETATTR
|
||||||
|
)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package std_test
|
package ext_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
@@ -8,45 +8,31 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSyscallResolveName(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
|
|
||||||
for name, want := range std.Syscalls() {
|
|
||||||
t.Run(name, func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
|
|
||||||
if got, ok := std.SyscallResolveName(name); !ok || got != want {
|
|
||||||
t.Errorf("SyscallResolveName(%q) = %d, want %d", name, got, want)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestSchedPolicyJSON(t *testing.T) {
|
func TestSchedPolicyJSON(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
policy std.SchedPolicy
|
policy ext.SchedPolicy
|
||||||
want string
|
want string
|
||||||
encodeErr error
|
encodeErr error
|
||||||
decodeErr error
|
decodeErr error
|
||||||
}{
|
}{
|
||||||
{std.SCHED_NORMAL, `""`, nil, nil},
|
{ext.SCHED_NORMAL, `""`, nil, nil},
|
||||||
{std.SCHED_FIFO, `"fifo"`, nil, nil},
|
{ext.SCHED_FIFO, `"fifo"`, nil, nil},
|
||||||
{std.SCHED_RR, `"rr"`, nil, nil},
|
{ext.SCHED_RR, `"rr"`, nil, nil},
|
||||||
{std.SCHED_BATCH, `"batch"`, nil, nil},
|
{ext.SCHED_BATCH, `"batch"`, nil, nil},
|
||||||
{4, `"invalid policy 4"`, syscall.EINVAL, std.InvalidSchedPolicyError("invalid policy 4")},
|
{4, `"invalid policy 4"`, syscall.EINVAL, ext.InvalidSchedPolicyError("invalid policy 4")},
|
||||||
{std.SCHED_IDLE, `"idle"`, nil, nil},
|
{ext.SCHED_IDLE, `"idle"`, nil, nil},
|
||||||
{std.SCHED_DEADLINE, `"deadline"`, nil, nil},
|
{ext.SCHED_DEADLINE, `"deadline"`, nil, nil},
|
||||||
{std.SCHED_EXT, `"ext"`, nil, nil},
|
{ext.SCHED_EXT, `"ext"`, nil, nil},
|
||||||
{math.MaxInt, `"iso"`, syscall.EINVAL, std.InvalidSchedPolicyError("iso")},
|
{math.MaxInt, `"iso"`, syscall.EINVAL, ext.InvalidSchedPolicyError("iso")},
|
||||||
}
|
}
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
name := tc.policy.String()
|
name := tc.policy.String()
|
||||||
if tc.policy == std.SCHED_NORMAL {
|
if tc.policy == ext.SCHED_NORMAL {
|
||||||
name = "normal"
|
name = "normal"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,7 +47,7 @@ func TestSchedPolicyJSON(t *testing.T) {
|
|||||||
t.Fatalf("Marshal: %s, want %s", string(got), tc.want)
|
t.Fatalf("Marshal: %s, want %s", string(got), tc.want)
|
||||||
}
|
}
|
||||||
|
|
||||||
var v std.SchedPolicy
|
var v ext.SchedPolicy
|
||||||
if err = json.Unmarshal([]byte(tc.want), &v); !reflect.DeepEqual(err, tc.decodeErr) {
|
if err = json.Unmarshal([]byte(tc.want), &v); !reflect.DeepEqual(err, tc.decodeErr) {
|
||||||
t.Fatalf("Unmarshal: error = %v, want %v", err, tc.decodeErr)
|
t.Fatalf("Unmarshal: error = %v, want %v", err, tc.decodeErr)
|
||||||
}
|
}
|
||||||
@@ -76,22 +62,22 @@ func TestSchedPolicyMinMax(t *testing.T) {
|
|||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
policy std.SchedPolicy
|
policy ext.SchedPolicy
|
||||||
min, max std.Int
|
min, max ext.Int
|
||||||
err error
|
err error
|
||||||
}{
|
}{
|
||||||
{std.SCHED_NORMAL, 0, 0, nil},
|
{ext.SCHED_NORMAL, 0, 0, nil},
|
||||||
{std.SCHED_FIFO, 1, 99, nil},
|
{ext.SCHED_FIFO, 1, 99, nil},
|
||||||
{std.SCHED_RR, 1, 99, nil},
|
{ext.SCHED_RR, 1, 99, nil},
|
||||||
{std.SCHED_BATCH, 0, 0, nil},
|
{ext.SCHED_BATCH, 0, 0, nil},
|
||||||
{4, -1, -1, syscall.EINVAL},
|
{4, -1, -1, syscall.EINVAL},
|
||||||
{std.SCHED_IDLE, 0, 0, nil},
|
{ext.SCHED_IDLE, 0, 0, nil},
|
||||||
{std.SCHED_DEADLINE, 0, 0, nil},
|
{ext.SCHED_DEADLINE, 0, 0, nil},
|
||||||
{std.SCHED_EXT, 0, 0, nil},
|
{ext.SCHED_EXT, 0, 0, nil},
|
||||||
}
|
}
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
name := tc.policy.String()
|
name := tc.policy.String()
|
||||||
if tc.policy == std.SCHED_NORMAL {
|
if tc.policy == ext.SCHED_NORMAL {
|
||||||
name = "normal"
|
name = "normal"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
// Package helper exposes the internal/helper package.
|
|
||||||
//
|
|
||||||
// Deprecated: This package will be removed in 0.4.
|
|
||||||
package helper
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"time"
|
|
||||||
_ "unsafe" // for go:linkname
|
|
||||||
|
|
||||||
"hakurei.app/container"
|
|
||||||
"hakurei.app/container/check"
|
|
||||||
"hakurei.app/internal/helper"
|
|
||||||
"hakurei.app/message"
|
|
||||||
)
|
|
||||||
|
|
||||||
//go:linkname WaitDelay hakurei.app/internal/helper.WaitDelay
|
|
||||||
var WaitDelay time.Duration
|
|
||||||
|
|
||||||
const (
|
|
||||||
// HakureiHelper is set to 1 when args fd is enabled and 0 otherwise.
|
|
||||||
HakureiHelper = helper.HakureiHelper
|
|
||||||
// HakureiStatus is set to 1 when stat fd is enabled and 0 otherwise.
|
|
||||||
HakureiStatus = helper.HakureiStatus
|
|
||||||
)
|
|
||||||
|
|
||||||
type Helper = helper.Helper
|
|
||||||
|
|
||||||
// NewCheckedArgs returns a checked null-terminated argument writer for a copy of args.
|
|
||||||
//
|
|
||||||
//go:linkname NewCheckedArgs hakurei.app/internal/helper.NewCheckedArgs
|
|
||||||
func NewCheckedArgs(args ...string) (wt io.WriterTo, err error)
|
|
||||||
|
|
||||||
// MustNewCheckedArgs returns a checked null-terminated argument writer for a copy of args.
|
|
||||||
// If s contains a NUL byte this function panics instead of returning an error.
|
|
||||||
//
|
|
||||||
//go:linkname MustNewCheckedArgs hakurei.app/internal/helper.MustNewCheckedArgs
|
|
||||||
func MustNewCheckedArgs(args ...string) io.WriterTo
|
|
||||||
|
|
||||||
// NewDirect initialises a new direct Helper instance with wt as the null-terminated argument writer.
|
|
||||||
// Function argF returns an array of arguments passed directly to the child process.
|
|
||||||
//
|
|
||||||
//go:linkname NewDirect hakurei.app/internal/helper.NewDirect
|
|
||||||
func NewDirect(
|
|
||||||
ctx context.Context,
|
|
||||||
name string,
|
|
||||||
wt io.WriterTo,
|
|
||||||
stat bool,
|
|
||||||
argF func(argsFd, statFd int) []string,
|
|
||||||
cmdF func(cmd *exec.Cmd),
|
|
||||||
extraFiles []*os.File,
|
|
||||||
) Helper
|
|
||||||
|
|
||||||
// New initialises a Helper instance with wt as the null-terminated argument writer.
|
|
||||||
//
|
|
||||||
//go:linkname New hakurei.app/internal/helper.New
|
|
||||||
func New(
|
|
||||||
ctx context.Context,
|
|
||||||
msg message.Msg,
|
|
||||||
pathname *check.Absolute, name string,
|
|
||||||
wt io.WriterTo,
|
|
||||||
stat bool,
|
|
||||||
argF func(argsFd, statFd int) []string,
|
|
||||||
cmdF func(z *container.Container),
|
|
||||||
extraFiles []*os.File,
|
|
||||||
) Helper
|
|
||||||
|
|
||||||
// InternalHelperStub is an internal function but exported because it is cross-package;
|
|
||||||
// it is part of the implementation of the helper stub.
|
|
||||||
func InternalHelperStub() { helper.InternalHelperStub() }
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
// Deprecated: This package will be removed in 0.4.
|
|
||||||
package proc
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"time"
|
|
||||||
_ "unsafe" // for go:linkname
|
|
||||||
|
|
||||||
"hakurei.app/internal/helper/proc"
|
|
||||||
)
|
|
||||||
|
|
||||||
//go:linkname FulfillmentTimeout hakurei.app/internal/helper/proc.FulfillmentTimeout
|
|
||||||
var FulfillmentTimeout time.Duration
|
|
||||||
|
|
||||||
// A File is an extra file with deferred initialisation.
|
|
||||||
type File = proc.File
|
|
||||||
|
|
||||||
// ExtraFilesPre is a linked list storing addresses of [os.File].
|
|
||||||
type ExtraFilesPre = proc.ExtraFilesPre
|
|
||||||
|
|
||||||
// Fulfill calls the [File.Fulfill] method on all files, starts cmd and blocks until all fulfillment completes.
|
|
||||||
//
|
|
||||||
//go:linkname Fulfill hakurei.app/internal/helper/proc.Fulfill
|
|
||||||
func Fulfill(ctx context.Context,
|
|
||||||
v *[]*os.File, start func() error,
|
|
||||||
files []File, extraFiles *ExtraFilesPre,
|
|
||||||
) (err error)
|
|
||||||
|
|
||||||
// InitFile initialises f as part of the slice extraFiles points to,
|
|
||||||
// and returns its final fd value.
|
|
||||||
//
|
|
||||||
//go:linkname InitFile hakurei.app/internal/helper/proc.InitFile
|
|
||||||
func InitFile(f File, extraFiles *ExtraFilesPre) (fd uintptr)
|
|
||||||
|
|
||||||
// BaseFile implements the Init method of the File interface and provides indirect access to extra file state.
|
|
||||||
type BaseFile = proc.BaseFile
|
|
||||||
|
|
||||||
//go:linkname ExtraFile hakurei.app/internal/helper/proc.ExtraFile
|
|
||||||
func ExtraFile(cmd *exec.Cmd, f *os.File) (fd uintptr)
|
|
||||||
|
|
||||||
//go:linkname ExtraFileSlice hakurei.app/internal/helper/proc.ExtraFileSlice
|
|
||||||
func ExtraFileSlice(extraFiles *[]*os.File, f *os.File) (fd uintptr)
|
|
||||||
|
|
||||||
// NewWriterTo returns a [File] that receives content from wt on fulfillment.
|
|
||||||
//
|
|
||||||
//go:linkname NewWriterTo hakurei.app/internal/helper/proc.NewWriterTo
|
|
||||||
func NewWriterTo(wt io.WriterTo) File
|
|
||||||
|
|
||||||
// NewStat returns a [File] implementing the behaviour
|
|
||||||
// of the receiving end of xdg-dbus-proxy stat fd.
|
|
||||||
//
|
|
||||||
//go:linkname NewStat hakurei.app/internal/helper/proc.NewStat
|
|
||||||
func NewStat(s *io.Closer) File
|
|
||||||
|
|
||||||
var (
|
|
||||||
//go:linkname ErrStatFault hakurei.app/internal/helper/proc.ErrStatFault
|
|
||||||
ErrStatFault error
|
|
||||||
//go:linkname ErrStatRead hakurei.app/internal/helper/proc.ErrStatRead
|
|
||||||
ErrStatRead error
|
|
||||||
)
|
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"hakurei.app/container/check"
|
"hakurei.app/container/check"
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/ext"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Config configures an application container.
|
// Config configures an application container.
|
||||||
@@ -82,7 +82,7 @@ type Config struct {
|
|||||||
//
|
//
|
||||||
// Do not set this to true, it is insecure under any configuration.
|
// Do not set this to true, it is insecure under any configuration.
|
||||||
//
|
//
|
||||||
// [the /.flatpak-info hack]: https://git.gensokyo.uk/security/hakurei/issues/21
|
// [the /.flatpak-info hack]: https://git.gensokyo.uk/rosa/hakurei/issues/21
|
||||||
DirectPipeWire bool `json:"direct_pipewire,omitempty"`
|
DirectPipeWire bool `json:"direct_pipewire,omitempty"`
|
||||||
|
|
||||||
// Direct access to PulseAudio socket, no attempt is made to establish
|
// Direct access to PulseAudio socket, no attempt is made to establish
|
||||||
@@ -107,12 +107,12 @@ type Config struct {
|
|||||||
// Scheduling policy to set for the container.
|
// Scheduling policy to set for the container.
|
||||||
//
|
//
|
||||||
// The zero value retains the current scheduling policy.
|
// The zero value retains the current scheduling policy.
|
||||||
SchedPolicy std.SchedPolicy `json:"sched_policy,omitempty"`
|
SchedPolicy ext.SchedPolicy `json:"sched_policy,omitempty"`
|
||||||
// Scheduling priority to set for the container.
|
// Scheduling priority to set for the container.
|
||||||
//
|
//
|
||||||
// The zero value implies the minimum priority of the current SchedPolicy.
|
// The zero value implies the minimum priority of the current SchedPolicy.
|
||||||
// Has no effect if SchedPolicy is zero.
|
// Has no effect if SchedPolicy is zero.
|
||||||
SchedPriority std.Int `json:"sched_priority,omitempty"`
|
SchedPriority ext.Int `json:"sched_priority,omitempty"`
|
||||||
|
|
||||||
// High level configuration applied to the underlying [container].
|
// High level configuration applied to the underlying [container].
|
||||||
Container *ContainerConfig `json:"container"`
|
Container *ContainerConfig `json:"container"`
|
||||||
@@ -153,7 +153,7 @@ func (config *Config) Validate() error {
|
|||||||
Msg: "identity " + strconv.Itoa(config.Identity) + " out of range"}
|
Msg: "identity " + strconv.Itoa(config.Identity) + " out of range"}
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.SchedPolicy < 0 || config.SchedPolicy > std.SCHED_LAST {
|
if config.SchedPolicy < 0 || config.SchedPolicy > ext.SCHED_LAST {
|
||||||
return &AppError{Step: "validate configuration", Err: ErrSchedPolicyBounds,
|
return &AppError{Step: "validate configuration", Err: ErrSchedPolicyBounds,
|
||||||
Msg: "scheduling policy " +
|
Msg: "scheduling policy " +
|
||||||
strconv.Itoa(int(config.SchedPolicy)) +
|
strconv.Itoa(int(config.SchedPolicy)) +
|
||||||
|
|||||||
186
internal/netlink/netlink.go
Normal file
186
internal/netlink/netlink.go
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
// Package netlink is a partial implementation of the netlink protocol.
|
||||||
|
package netlink
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"sync"
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// AF_NETLINK socket is never shared
|
||||||
|
var (
|
||||||
|
nlPid uint32
|
||||||
|
nlPidOnce sync.Once
|
||||||
|
)
|
||||||
|
|
||||||
|
// getpid returns a cached pid value.
|
||||||
|
func getpid() uint32 {
|
||||||
|
nlPidOnce.Do(func() { nlPid = uint32(os.Getpid()) })
|
||||||
|
return nlPid
|
||||||
|
}
|
||||||
|
|
||||||
|
// A conn represents resources associated to a netlink socket.
|
||||||
|
type conn struct {
|
||||||
|
// AF_NETLINK socket.
|
||||||
|
fd int
|
||||||
|
// Kernel module or netlink group to communicate with.
|
||||||
|
family int
|
||||||
|
// Message sequence number.
|
||||||
|
seq uint32
|
||||||
|
// For pending outgoing message.
|
||||||
|
typ, flags uint16
|
||||||
|
// Outgoing position in buf.
|
||||||
|
pos int
|
||||||
|
// A page holding incoming and outgoing messages.
|
||||||
|
buf []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// dial returns the address of a newly connected conn of specified family.
|
||||||
|
func dial(family int) (*conn, error) {
|
||||||
|
var c conn
|
||||||
|
if fd, err := syscall.Socket(
|
||||||
|
syscall.AF_NETLINK,
|
||||||
|
syscall.SOCK_RAW|syscall.SOCK_CLOEXEC,
|
||||||
|
family,
|
||||||
|
); err != nil {
|
||||||
|
return nil, os.NewSyscallError("socket", err)
|
||||||
|
} else if err = syscall.Bind(fd, &syscall.SockaddrNetlink{
|
||||||
|
Family: syscall.AF_NETLINK,
|
||||||
|
Pid: getpid(),
|
||||||
|
}); err != nil {
|
||||||
|
_ = syscall.Close(fd)
|
||||||
|
return nil, os.NewSyscallError("bind", err)
|
||||||
|
} else {
|
||||||
|
c.fd, c.family = fd, family
|
||||||
|
}
|
||||||
|
c.pos = syscall.NLMSG_HDRLEN
|
||||||
|
c.buf = make([]byte, os.Getpagesize())
|
||||||
|
return &c, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close closes the underlying socket.
|
||||||
|
func (c *conn) Close() error {
|
||||||
|
if c.buf == nil {
|
||||||
|
return syscall.EINVAL
|
||||||
|
}
|
||||||
|
c.buf = nil
|
||||||
|
return syscall.Close(c.fd)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Msg is type constraint for types sent over the wire via netlink.
|
||||||
|
//
|
||||||
|
// No pointer types or compound types containing pointers may appear here.
|
||||||
|
type Msg interface {
|
||||||
|
syscall.NlMsghdr | syscall.NlMsgerr |
|
||||||
|
syscall.IfAddrmsg | RtAttrMsg[InAddr] |
|
||||||
|
syscall.IfInfomsg
|
||||||
|
}
|
||||||
|
|
||||||
|
// As returns data as the specified netlink message type.
|
||||||
|
func As[M Msg](data []byte) *M {
|
||||||
|
var v M
|
||||||
|
if unsafe.Sizeof(v) != uintptr(len(data)) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return (*M)(unsafe.Pointer(unsafe.SliceData(data)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// add queues a value to be sent by conn.
|
||||||
|
func add[M Msg](c *conn, p *M) bool {
|
||||||
|
pos := c.pos
|
||||||
|
c.pos += int(unsafe.Sizeof(*p))
|
||||||
|
if c.pos > len(c.buf) {
|
||||||
|
c.pos = pos
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
*(*M)(unsafe.Pointer(&c.buf[pos])) = *p
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// InconsistentError describes a reply from the kernel that is not consistent
|
||||||
|
// with the internal state tracked by this package.
|
||||||
|
type InconsistentError struct {
|
||||||
|
// Offending header.
|
||||||
|
syscall.NlMsghdr
|
||||||
|
// Expected message sequence.
|
||||||
|
Seq uint32
|
||||||
|
// Expected pid.
|
||||||
|
Pid uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*InconsistentError) Unwrap() error { return os.ErrInvalid }
|
||||||
|
func (e *InconsistentError) Error() string {
|
||||||
|
s := "netlink socket has inconsistent state"
|
||||||
|
switch {
|
||||||
|
case e.Seq != e.NlMsghdr.Seq:
|
||||||
|
s += fmt.Sprintf(": seq %d != %d", e.Seq, e.NlMsghdr.Seq)
|
||||||
|
case e.Pid != e.NlMsghdr.Pid:
|
||||||
|
s += fmt.Sprintf(": pid %d != %d", e.Pid, e.NlMsghdr.Pid)
|
||||||
|
}
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
// pending returns the valid slice of buf and initialises pos.
|
||||||
|
func (c *conn) pending() []byte {
|
||||||
|
buf := c.buf[:c.pos]
|
||||||
|
c.pos = syscall.NLMSG_HDRLEN
|
||||||
|
|
||||||
|
*(*syscall.NlMsghdr)(unsafe.Pointer(unsafe.SliceData(buf))) = syscall.NlMsghdr{
|
||||||
|
Len: uint32(len(buf)),
|
||||||
|
Type: c.typ,
|
||||||
|
Flags: c.flags,
|
||||||
|
Seq: c.seq,
|
||||||
|
Pid: getpid(),
|
||||||
|
}
|
||||||
|
return buf
|
||||||
|
}
|
||||||
|
|
||||||
|
// Complete indicates the completion of a roundtrip.
|
||||||
|
type Complete struct{}
|
||||||
|
|
||||||
|
// Error returns a hardcoded string that should never be displayed to the user.
|
||||||
|
func (Complete) Error() string { return "returning from roundtrip" }
|
||||||
|
|
||||||
|
// Roundtrip sends the pending message and handles the reply.
|
||||||
|
func (c *conn) Roundtrip(f func(msg *syscall.NetlinkMessage) error) error {
|
||||||
|
if c.buf == nil {
|
||||||
|
return syscall.EINVAL
|
||||||
|
}
|
||||||
|
defer func() { c.seq++ }()
|
||||||
|
|
||||||
|
if err := syscall.Sendto(c.fd, c.pending(), 0, &syscall.SockaddrNetlink{
|
||||||
|
Family: syscall.AF_NETLINK,
|
||||||
|
}); err != nil {
|
||||||
|
return os.NewSyscallError("sendto", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for {
|
||||||
|
buf := c.buf
|
||||||
|
if n, _, err := syscall.Recvfrom(c.fd, buf, 0); err != nil {
|
||||||
|
return os.NewSyscallError("recvfrom", err)
|
||||||
|
} else if n < syscall.NLMSG_HDRLEN {
|
||||||
|
return syscall.EBADE
|
||||||
|
} else {
|
||||||
|
buf = buf[:n]
|
||||||
|
}
|
||||||
|
|
||||||
|
msgs, err := syscall.ParseNetlinkMessage(buf)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, msg := range msgs {
|
||||||
|
if msg.Header.Seq != c.seq || msg.Header.Pid != getpid() {
|
||||||
|
return &InconsistentError{msg.Header, c.seq, getpid()}
|
||||||
|
}
|
||||||
|
if err = f(&msg); err != nil {
|
||||||
|
if err == (Complete{}) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
internal/netlink/netlink_test.go
Normal file
36
internal/netlink/netlink_test.go
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
package netlink
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"syscall"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() { nlPidOnce.Do(func() {}); nlPid = 1 }
|
||||||
|
|
||||||
|
type payloadTestCase struct {
|
||||||
|
name string
|
||||||
|
f func(c *conn)
|
||||||
|
want []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// checkPayload runs multiple payloadTestCase against a stub conn and checks
|
||||||
|
// the outgoing message written to its buffer page.
|
||||||
|
func checkPayload(t *testing.T, testCases []payloadTestCase) {
|
||||||
|
t.Helper()
|
||||||
|
|
||||||
|
for _, tc := range testCases {
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
c := conn{
|
||||||
|
pos: syscall.NLMSG_HDRLEN,
|
||||||
|
buf: make([]byte, os.Getpagesize()),
|
||||||
|
}
|
||||||
|
tc.f(&c)
|
||||||
|
if got := c.pending(); string(got) != string(tc.want) {
|
||||||
|
t.Errorf("pending: %#v, want %#v", got, tc.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
132
internal/netlink/rtnl.go
Normal file
132
internal/netlink/rtnl.go
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
package netlink
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RouteConn represents a NETLINK_ROUTE socket.
|
||||||
|
type RouteConn struct{ *conn }
|
||||||
|
|
||||||
|
// DialRoute returns the address of a newly connected [RouteConn].
|
||||||
|
func DialRoute() (*RouteConn, error) {
|
||||||
|
c, err := dial(syscall.NETLINK_ROUTE)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &RouteConn{c}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// rtnlConsume consumes a message from rtnetlink.
|
||||||
|
func rtnlConsume(msg *syscall.NetlinkMessage) error {
|
||||||
|
switch msg.Header.Type {
|
||||||
|
case syscall.NLMSG_DONE:
|
||||||
|
return Complete{}
|
||||||
|
|
||||||
|
case syscall.NLMSG_ERROR:
|
||||||
|
if e := As[syscall.NlMsgerr](msg.Data); e != nil {
|
||||||
|
if e.Error == 0 {
|
||||||
|
return Complete{}
|
||||||
|
}
|
||||||
|
return syscall.Errno(-e.Error)
|
||||||
|
}
|
||||||
|
return syscall.EBADE
|
||||||
|
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// InAddr is equivalent to struct in_addr.
|
||||||
|
type InAddr [4]byte
|
||||||
|
|
||||||
|
// RtAttrMsg holds syscall.RtAttr alongside its payload.
|
||||||
|
type RtAttrMsg[D any] struct {
|
||||||
|
syscall.RtAttr
|
||||||
|
Data D
|
||||||
|
}
|
||||||
|
|
||||||
|
// populate populates the Len field of the embedded syscall.RtAttr.
|
||||||
|
func (attr *RtAttrMsg[M]) populate() {
|
||||||
|
attr.Len = syscall.SizeofRtAttr + uint16(unsafe.Sizeof(attr.Data))
|
||||||
|
}
|
||||||
|
|
||||||
|
// writeIfAddrmsg writes an ifaddrmsg structure to conn.
|
||||||
|
func (c *RouteConn) writeIfAddrmsg(
|
||||||
|
typ, flags uint16,
|
||||||
|
msg *syscall.IfAddrmsg,
|
||||||
|
attrs ...RtAttrMsg[InAddr],
|
||||||
|
) bool {
|
||||||
|
c.typ, c.flags = typ, syscall.NLM_F_REQUEST|syscall.NLM_F_ACK|flags
|
||||||
|
if !add(c.conn, msg) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for _, attr := range attrs {
|
||||||
|
attr.populate()
|
||||||
|
if !add(c.conn, &attr) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SendIfAddrmsg sends an ifaddrmsg structure to rtnetlink.
|
||||||
|
func (c *RouteConn) SendIfAddrmsg(
|
||||||
|
typ, flags uint16,
|
||||||
|
msg *syscall.IfAddrmsg,
|
||||||
|
attrs ...RtAttrMsg[InAddr],
|
||||||
|
) error {
|
||||||
|
if !c.writeIfAddrmsg(typ, flags, msg, attrs...) {
|
||||||
|
return syscall.ENOMEM
|
||||||
|
}
|
||||||
|
return c.Roundtrip(rtnlConsume)
|
||||||
|
}
|
||||||
|
|
||||||
|
// writeNewaddrLo writes a RTM_NEWADDR message for the loopback address.
|
||||||
|
func (c *RouteConn) writeNewaddrLo(lo uint32) bool {
|
||||||
|
return c.writeIfAddrmsg(
|
||||||
|
syscall.RTM_NEWADDR,
|
||||||
|
syscall.NLM_F_CREATE|syscall.NLM_F_EXCL,
|
||||||
|
&syscall.IfAddrmsg{
|
||||||
|
Family: syscall.AF_INET,
|
||||||
|
Prefixlen: 8,
|
||||||
|
Flags: syscall.IFA_F_PERMANENT,
|
||||||
|
Scope: syscall.RT_SCOPE_HOST,
|
||||||
|
Index: lo,
|
||||||
|
},
|
||||||
|
RtAttrMsg[InAddr]{syscall.RtAttr{
|
||||||
|
Type: syscall.IFA_LOCAL,
|
||||||
|
}, InAddr{127, 0, 0, 1}},
|
||||||
|
RtAttrMsg[InAddr]{syscall.RtAttr{
|
||||||
|
Type: syscall.IFA_ADDRESS,
|
||||||
|
}, InAddr{127, 0, 0, 1}},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SendNewaddrLo sends a RTM_NEWADDR message for the loopback address to the kernel.
|
||||||
|
func (c *RouteConn) SendNewaddrLo(lo uint32) error {
|
||||||
|
if !c.writeNewaddrLo(lo) {
|
||||||
|
return syscall.ENOMEM
|
||||||
|
}
|
||||||
|
return c.Roundtrip(rtnlConsume)
|
||||||
|
}
|
||||||
|
|
||||||
|
// writeIfInfomsg writes an ifinfomsg structure to conn.
|
||||||
|
func (c *RouteConn) writeIfInfomsg(
|
||||||
|
typ, flags uint16,
|
||||||
|
msg *syscall.IfInfomsg,
|
||||||
|
) bool {
|
||||||
|
c.typ, c.flags = typ, syscall.NLM_F_REQUEST|syscall.NLM_F_ACK|flags
|
||||||
|
return add(c.conn, msg)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SendIfInfomsg sends an ifinfomsg structure to rtnetlink.
|
||||||
|
func (c *RouteConn) SendIfInfomsg(
|
||||||
|
typ, flags uint16,
|
||||||
|
msg *syscall.IfInfomsg,
|
||||||
|
) error {
|
||||||
|
if !c.writeIfInfomsg(typ, flags, msg) {
|
||||||
|
return syscall.ENOMEM
|
||||||
|
}
|
||||||
|
return c.Roundtrip(rtnlConsume)
|
||||||
|
}
|
||||||
62
internal/netlink/rtnl_test.go
Normal file
62
internal/netlink/rtnl_test.go
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
package netlink
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestPayloadRTNETLINK(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
checkPayload(t, []payloadTestCase{
|
||||||
|
{"RTM_NEWADDR lo", func(c *conn) {
|
||||||
|
(&RouteConn{c}).writeNewaddrLo(1)
|
||||||
|
}, []byte{
|
||||||
|
/* Len */ 0x28, 0, 0, 0,
|
||||||
|
/* Type */ 0x14, 0,
|
||||||
|
/* Flags */ 5, 6,
|
||||||
|
/* Seq */ 0, 0, 0, 0,
|
||||||
|
/* Pid */ 1, 0, 0, 0,
|
||||||
|
|
||||||
|
/* Family */ 2,
|
||||||
|
/* Prefixlen */ 8,
|
||||||
|
/* Flags */ 0x80,
|
||||||
|
/* Scope */ 0xfe,
|
||||||
|
/* Index */ 1, 0, 0, 0,
|
||||||
|
|
||||||
|
/* Len */ 8, 0,
|
||||||
|
/* Type */ 2, 0,
|
||||||
|
/* in_addr */ 127, 0, 0, 1,
|
||||||
|
|
||||||
|
/* Len */ 8, 0,
|
||||||
|
/* Type */ 1, 0,
|
||||||
|
/* in_addr */ 127, 0, 0, 1,
|
||||||
|
}},
|
||||||
|
|
||||||
|
{"RTM_NEWLINK", func(c *conn) {
|
||||||
|
c.seq++
|
||||||
|
(&RouteConn{c}).writeIfInfomsg(
|
||||||
|
syscall.RTM_NEWLINK, 0,
|
||||||
|
&syscall.IfInfomsg{
|
||||||
|
Family: syscall.AF_UNSPEC,
|
||||||
|
Index: 1,
|
||||||
|
Flags: syscall.IFF_UP,
|
||||||
|
Change: syscall.IFF_UP,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}, []byte{
|
||||||
|
/* Len */ 0x20, 0, 0, 0,
|
||||||
|
/* Type */ 0x10, 0,
|
||||||
|
/* Flags */ 5, 0,
|
||||||
|
/* Seq */ 1, 0, 0, 0,
|
||||||
|
/* Pid */ 1, 0, 0, 0,
|
||||||
|
|
||||||
|
/* Family */ 0,
|
||||||
|
/* pad */ 0,
|
||||||
|
/* Type */ 0, 0,
|
||||||
|
/* Index */ 1, 0, 0, 0,
|
||||||
|
/* Flags */ 1, 0, 0, 0,
|
||||||
|
/* Change */ 1, 0, 0, 0,
|
||||||
|
}},
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@ import (
|
|||||||
"hakurei.app/container/fhs"
|
"hakurei.app/container/fhs"
|
||||||
"hakurei.app/container/seccomp"
|
"hakurei.app/container/seccomp"
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/container/std"
|
||||||
|
"hakurei.app/ext"
|
||||||
"hakurei.app/hst"
|
"hakurei.app/hst"
|
||||||
"hakurei.app/internal/pipewire"
|
"hakurei.app/internal/pipewire"
|
||||||
"hakurei.app/message"
|
"hakurei.app/message"
|
||||||
@@ -74,9 +75,9 @@ type shimParams struct {
|
|||||||
Verbose bool
|
Verbose bool
|
||||||
|
|
||||||
// Copied from [hst.Config].
|
// Copied from [hst.Config].
|
||||||
SchedPolicy std.SchedPolicy
|
SchedPolicy ext.SchedPolicy
|
||||||
// Copied from [hst.Config].
|
// Copied from [hst.Config].
|
||||||
SchedPriority std.Int
|
SchedPriority ext.Int
|
||||||
|
|
||||||
// Outcome setup ops, contains setup state. Populated by outcome.finalise.
|
// Outcome setup ops, contains setup state. Populated by outcome.finalise.
|
||||||
Ops []outcomeOp
|
Ops []outcomeOp
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import (
|
|||||||
"hakurei.app/container/fhs"
|
"hakurei.app/container/fhs"
|
||||||
"hakurei.app/container/seccomp"
|
"hakurei.app/container/seccomp"
|
||||||
"hakurei.app/container/std"
|
"hakurei.app/container/std"
|
||||||
|
"hakurei.app/ext"
|
||||||
"hakurei.app/message"
|
"hakurei.app/message"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -414,7 +415,7 @@ func (a *execArtifact) cure(f *FContext, hostNet bool) (err error) {
|
|||||||
z.HostNet = hostNet
|
z.HostNet = hostNet
|
||||||
z.Hostname = "cure"
|
z.Hostname = "cure"
|
||||||
z.SetScheduler = SetSchedIdle
|
z.SetScheduler = SetSchedIdle
|
||||||
z.SchedPolicy = std.SCHED_IDLE
|
z.SchedPolicy = ext.SCHED_IDLE
|
||||||
if z.HostNet {
|
if z.HostNet {
|
||||||
z.Hostname = "cure-net"
|
z.Hostname = "cure-net"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,10 @@ const (
|
|||||||
LLVMRuntimes
|
LLVMRuntimes
|
||||||
LLVMClang
|
LLVMClang
|
||||||
|
|
||||||
// EarlyInit is the Rosa OS initramfs init program.
|
// EarlyInit is the Rosa OS init program.
|
||||||
EarlyInit
|
EarlyInit
|
||||||
|
// ImageSystem is the Rosa OS /system image.
|
||||||
|
ImageSystem
|
||||||
// ImageInitramfs is the Rosa OS initramfs archive.
|
// ImageInitramfs is the Rosa OS initramfs archive.
|
||||||
ImageInitramfs
|
ImageInitramfs
|
||||||
|
|
||||||
@@ -110,21 +112,11 @@ const (
|
|||||||
PkgConfig
|
PkgConfig
|
||||||
Procps
|
Procps
|
||||||
Python
|
Python
|
||||||
PythonCfgv
|
|
||||||
PythonDiscovery
|
|
||||||
PythonDistlib
|
|
||||||
PythonFilelock
|
|
||||||
PythonIdentify
|
|
||||||
PythonIniConfig
|
PythonIniConfig
|
||||||
PythonNodeenv
|
|
||||||
PythonPackaging
|
PythonPackaging
|
||||||
PythonPlatformdirs
|
|
||||||
PythonPluggy
|
PythonPluggy
|
||||||
PythonPreCommit
|
|
||||||
PythonPyTest
|
PythonPyTest
|
||||||
PythonPyYAML
|
|
||||||
PythonPygments
|
PythonPygments
|
||||||
PythonVirtualenv
|
|
||||||
QEMU
|
QEMU
|
||||||
Rdfind
|
Rdfind
|
||||||
Rsync
|
Rsync
|
||||||
|
|||||||
@@ -12,24 +12,11 @@ func (t Toolchain) newCurl() (pkg.Artifact, string) {
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
), &PackageAttr{
|
), &PackageAttr{
|
||||||
Patches: [][2]string{
|
// remove broken test
|
||||||
{"test459-misplaced-line-break", `diff --git a/tests/data/test459 b/tests/data/test459
|
Writable: true,
|
||||||
index 7a2e1db7b3..cc716aa65a 100644
|
ScriptEarly: `
|
||||||
--- a/tests/data/test459
|
chmod +w tests/data && rm tests/data/test459
|
||||||
+++ b/tests/data/test459
|
`,
|
||||||
@@ -54,8 +54,8 @@ Content-Type: application/x-www-form-urlencoded
|
|
||||||
arg
|
|
||||||
</protocol>
|
|
||||||
<stderr mode="text">
|
|
||||||
-Warning: %LOGDIR/config:1 Option 'data' uses argument with unquoted whitespace.%SP
|
|
||||||
-Warning: This may cause side-effects. Consider double quotes.
|
|
||||||
+Warning: %LOGDIR/config:1 Option 'data' uses argument with unquoted%SP
|
|
||||||
+Warning: whitespace. This may cause side-effects. Consider double quotes.
|
|
||||||
</stderr>
|
|
||||||
</verify>
|
|
||||||
</testcase>
|
|
||||||
`},
|
|
||||||
},
|
|
||||||
}, &MakeHelper{
|
}, &MakeHelper{
|
||||||
Configure: [][2]string{
|
Configure: [][2]string{
|
||||||
{"with-openssl"},
|
{"with-openssl"},
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
const hakureiVersion = "0.3.6"
|
const hakureiVersion = "0.3.7"
|
||||||
|
|
||||||
// hakureiSource is the source code of a hakurei release.
|
// hakureiSource is the source code of a hakurei release.
|
||||||
var hakureiSource = pkg.NewHTTPGetTar(
|
var hakureiSource = pkg.NewHTTPGetTar(
|
||||||
nil, "https://git.gensokyo.uk/security/hakurei/archive/"+
|
nil, "https://git.gensokyo.uk/rosa/hakurei/archive/"+
|
||||||
"v"+hakureiVersion+".tar.gz",
|
"v"+hakureiVersion+".tar.gz",
|
||||||
mustDecode("Yul9J2yV0x453lQP9KUnG_wEJo_DbKMNM7xHJGt4rITCSeX9VRK2J4kzAxcv_0-b"),
|
mustDecode("Xh_sdITOATEAQN5_UuaOyrWsgboxorqRO9bml3dGm8GAxF8NFpB7MqhSZgjJxAl2"),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package rosa
|
package rosa
|
||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import (
|
||||||
|
"hakurei.app/container/fhs"
|
||||||
|
"hakurei.app/internal/pkg"
|
||||||
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
artifactsM[EarlyInit] = Metadata{
|
artifactsM[EarlyInit] = Metadata{
|
||||||
@@ -24,12 +27,36 @@ echo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newImageSystem() (pkg.Artifact, string) {
|
||||||
|
return t.New("system.img", TNoToolchain, t.AppendPresets(nil,
|
||||||
|
SquashfsTools,
|
||||||
|
), nil, nil, `
|
||||||
|
mksquashfs /mnt/system /work/system.img
|
||||||
|
`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, t.AppendPresets(nil,
|
||||||
|
Musl,
|
||||||
|
Mksh,
|
||||||
|
Toybox,
|
||||||
|
|
||||||
|
Kmod,
|
||||||
|
Kernel,
|
||||||
|
Firmware,
|
||||||
|
)...)), Unversioned
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[ImageSystem] = Metadata{
|
||||||
|
Name: "system-image",
|
||||||
|
Description: "Rosa OS system image",
|
||||||
|
|
||||||
|
f: Toolchain.newImageSystem,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (t Toolchain) newImageInitramfs() (pkg.Artifact, string) {
|
func (t Toolchain) newImageInitramfs() (pkg.Artifact, string) {
|
||||||
return t.New("initramfs", TNoToolchain, []pkg.Artifact{
|
return t.New("initramfs", TNoToolchain, t.AppendPresets(nil,
|
||||||
t.Load(Zstd),
|
Zstd,
|
||||||
t.Load(EarlyInit),
|
EarlyInit,
|
||||||
t.Load(GenInitCPIO),
|
GenInitCPIO,
|
||||||
}, nil, nil, `
|
), nil, nil, `
|
||||||
gen_init_cpio -t 4294967295 -c /usr/src/initramfs | zstd > /work/initramfs.zst
|
gen_init_cpio -t 4294967295 -c /usr/src/initramfs | zstd > /work/initramfs.zst
|
||||||
`, pkg.Path(AbsUsrSrc.Append("initramfs"), false, pkg.NewFile("initramfs", []byte(`
|
`, pkg.Path(AbsUsrSrc.Append("initramfs"), false, pkg.NewFile("initramfs", []byte(`
|
||||||
dir /dev 0755 0 0
|
dir /dev 0755 0 0
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
const kernelVersion = "6.12.76"
|
const kernelVersion = "6.12.77"
|
||||||
|
|
||||||
var kernelSource = pkg.NewHTTPGetTar(
|
var kernelSource = pkg.NewHTTPGetTar(
|
||||||
nil, "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+
|
nil, "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+
|
||||||
"snapshot/linux-"+kernelVersion+".tar.gz",
|
"snapshot/linux-"+kernelVersion+".tar.gz",
|
||||||
mustDecode("h0UATNznQbzplvthAqNLjVF-DJQHzGyhiy4za-9Ig9tOIpnoH9mWHbEjASV6lOl2"),
|
mustDecode("_MyFL0MqqNwAJx4fP8L9FkUayXIqEJto5trAPr_9UJvaT5TK1tvlU8leS82Hw2uw"),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/x86 6.12.76 Kernel Configuration
|
# Linux/x86 6.12.76 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_CC_VERSION_TEXT="clang version 22.1.0"
|
CONFIG_CC_VERSION_TEXT="clang version 22.1.1"
|
||||||
CONFIG_GCC_VERSION=0
|
CONFIG_GCC_VERSION=0
|
||||||
CONFIG_CC_IS_CLANG=y
|
CONFIG_CC_IS_CLANG=y
|
||||||
CONFIG_CLANG_VERSION=220100
|
CONFIG_CLANG_VERSION=220101
|
||||||
CONFIG_AS_IS_LLVM=y
|
CONFIG_AS_IS_LLVM=y
|
||||||
CONFIG_AS_VERSION=220100
|
CONFIG_AS_VERSION=220101
|
||||||
CONFIG_LD_VERSION=0
|
CONFIG_LD_VERSION=0
|
||||||
CONFIG_LD_IS_LLD=y
|
CONFIG_LD_IS_LLD=y
|
||||||
CONFIG_LLD_VERSION=220100
|
CONFIG_LLD_VERSION=220101
|
||||||
CONFIG_RUSTC_VERSION=0
|
CONFIG_RUSTC_VERSION=0
|
||||||
CONFIG_RUSTC_LLVM_VERSION=0
|
CONFIG_RUSTC_LLVM_VERSION=0
|
||||||
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
|
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
|
||||||
@@ -2402,7 +2402,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||||||
#
|
#
|
||||||
# Firmware loader
|
# Firmware loader
|
||||||
#
|
#
|
||||||
CONFIG_FW_LOADER=m
|
CONFIG_FW_LOADER=y
|
||||||
CONFIG_FW_LOADER_DEBUG=y
|
CONFIG_FW_LOADER_DEBUG=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
@@ -2749,7 +2749,7 @@ CONFIG_BLK_DEV_NULL_BLK=m
|
|||||||
CONFIG_BLK_DEV_FD=m
|
CONFIG_BLK_DEV_FD=m
|
||||||
# CONFIG_BLK_DEV_FD_RAWCMD is not set
|
# CONFIG_BLK_DEV_FD_RAWCMD is not set
|
||||||
CONFIG_CDROM=m
|
CONFIG_CDROM=m
|
||||||
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
|
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y
|
||||||
CONFIG_ZRAM=m
|
CONFIG_ZRAM=m
|
||||||
# CONFIG_ZRAM_BACKEND_LZ4 is not set
|
# CONFIG_ZRAM_BACKEND_LZ4 is not set
|
||||||
# CONFIG_ZRAM_BACKEND_LZ4HC is not set
|
# CONFIG_ZRAM_BACKEND_LZ4HC is not set
|
||||||
@@ -2775,9 +2775,9 @@ CONFIG_CDROM_PKTCDVD=m
|
|||||||
CONFIG_CDROM_PKTCDVD_BUFFERS=8
|
CONFIG_CDROM_PKTCDVD_BUFFERS=8
|
||||||
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
|
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
|
||||||
CONFIG_ATA_OVER_ETH=m
|
CONFIG_ATA_OVER_ETH=m
|
||||||
CONFIG_XEN_BLKDEV_FRONTEND=m
|
CONFIG_XEN_BLKDEV_FRONTEND=y
|
||||||
CONFIG_XEN_BLKDEV_BACKEND=m
|
# CONFIG_XEN_BLKDEV_BACKEND is not set
|
||||||
CONFIG_VIRTIO_BLK=m
|
CONFIG_VIRTIO_BLK=y
|
||||||
CONFIG_BLK_DEV_RBD=m
|
CONFIG_BLK_DEV_RBD=m
|
||||||
CONFIG_BLK_DEV_UBLK=m
|
CONFIG_BLK_DEV_UBLK=m
|
||||||
CONFIG_BLKDEV_UBLK_LEGACY_OPCODES=y
|
CONFIG_BLKDEV_UBLK_LEGACY_OPCODES=y
|
||||||
@@ -2788,13 +2788,12 @@ CONFIG_BLK_DEV_RNBD_SERVER=m
|
|||||||
#
|
#
|
||||||
# NVME Support
|
# NVME Support
|
||||||
#
|
#
|
||||||
CONFIG_NVME_KEYRING=m
|
CONFIG_NVME_KEYRING=y
|
||||||
CONFIG_NVME_AUTH=m
|
CONFIG_NVME_AUTH=y
|
||||||
CONFIG_NVME_CORE=m
|
CONFIG_NVME_CORE=y
|
||||||
CONFIG_BLK_DEV_NVME=m
|
CONFIG_BLK_DEV_NVME=y
|
||||||
CONFIG_NVME_MULTIPATH=y
|
CONFIG_NVME_MULTIPATH=y
|
||||||
# CONFIG_NVME_VERBOSE_ERRORS is not set
|
# CONFIG_NVME_VERBOSE_ERRORS is not set
|
||||||
CONFIG_NVME_HWMON=y
|
|
||||||
CONFIG_NVME_FABRICS=m
|
CONFIG_NVME_FABRICS=m
|
||||||
CONFIG_NVME_RDMA=m
|
CONFIG_NVME_RDMA=m
|
||||||
CONFIG_NVME_FC=m
|
CONFIG_NVME_FC=m
|
||||||
@@ -2911,10 +2910,10 @@ CONFIG_KEBA_CP500=m
|
|||||||
#
|
#
|
||||||
# SCSI device support
|
# SCSI device support
|
||||||
#
|
#
|
||||||
CONFIG_SCSI_MOD=m
|
CONFIG_SCSI_MOD=y
|
||||||
CONFIG_RAID_ATTRS=m
|
CONFIG_RAID_ATTRS=m
|
||||||
CONFIG_SCSI_COMMON=m
|
CONFIG_SCSI_COMMON=y
|
||||||
CONFIG_SCSI=m
|
CONFIG_SCSI=y
|
||||||
CONFIG_SCSI_DMA=y
|
CONFIG_SCSI_DMA=y
|
||||||
CONFIG_SCSI_NETLINK=y
|
CONFIG_SCSI_NETLINK=y
|
||||||
CONFIG_SCSI_PROC_FS=y
|
CONFIG_SCSI_PROC_FS=y
|
||||||
@@ -2922,7 +2921,7 @@ CONFIG_SCSI_PROC_FS=y
|
|||||||
#
|
#
|
||||||
# SCSI support type (disk, tape, CD-ROM)
|
# SCSI support type (disk, tape, CD-ROM)
|
||||||
#
|
#
|
||||||
CONFIG_BLK_DEV_SD=m
|
CONFIG_BLK_DEV_SD=y
|
||||||
CONFIG_CHR_DEV_ST=m
|
CONFIG_CHR_DEV_ST=m
|
||||||
CONFIG_BLK_DEV_SR=m
|
CONFIG_BLK_DEV_SR=m
|
||||||
CONFIG_CHR_DEV_SG=m
|
CONFIG_CHR_DEV_SG=m
|
||||||
@@ -3042,7 +3041,7 @@ CONFIG_SCSI_DEBUG=m
|
|||||||
CONFIG_SCSI_PMCRAID=m
|
CONFIG_SCSI_PMCRAID=m
|
||||||
CONFIG_SCSI_PM8001=m
|
CONFIG_SCSI_PM8001=m
|
||||||
CONFIG_SCSI_BFA_FC=m
|
CONFIG_SCSI_BFA_FC=m
|
||||||
CONFIG_SCSI_VIRTIO=m
|
CONFIG_SCSI_VIRTIO=y
|
||||||
CONFIG_SCSI_CHELSIO_FCOE=m
|
CONFIG_SCSI_CHELSIO_FCOE=m
|
||||||
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
|
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
|
||||||
CONFIG_PCMCIA_AHA152X=m
|
CONFIG_PCMCIA_AHA152X=m
|
||||||
@@ -3052,7 +3051,7 @@ CONFIG_PCMCIA_SYM53C500=m
|
|||||||
# CONFIG_SCSI_DH is not set
|
# CONFIG_SCSI_DH is not set
|
||||||
# end of SCSI device support
|
# end of SCSI device support
|
||||||
|
|
||||||
CONFIG_ATA=m
|
CONFIG_ATA=y
|
||||||
CONFIG_SATA_HOST=y
|
CONFIG_SATA_HOST=y
|
||||||
CONFIG_PATA_TIMINGS=y
|
CONFIG_PATA_TIMINGS=y
|
||||||
CONFIG_ATA_VERBOSE_ERROR=y
|
CONFIG_ATA_VERBOSE_ERROR=y
|
||||||
@@ -3064,39 +3063,39 @@ CONFIG_SATA_PMP=y
|
|||||||
#
|
#
|
||||||
# Controllers with non-SFF native interface
|
# Controllers with non-SFF native interface
|
||||||
#
|
#
|
||||||
CONFIG_SATA_AHCI=m
|
CONFIG_SATA_AHCI=y
|
||||||
CONFIG_SATA_MOBILE_LPM_POLICY=3
|
CONFIG_SATA_MOBILE_LPM_POLICY=3
|
||||||
CONFIG_SATA_AHCI_PLATFORM=m
|
CONFIG_SATA_AHCI_PLATFORM=y
|
||||||
CONFIG_AHCI_DWC=m
|
CONFIG_AHCI_DWC=y
|
||||||
CONFIG_AHCI_CEVA=m
|
CONFIG_AHCI_CEVA=y
|
||||||
CONFIG_SATA_INIC162X=m
|
CONFIG_SATA_INIC162X=m
|
||||||
CONFIG_SATA_ACARD_AHCI=m
|
CONFIG_SATA_ACARD_AHCI=y
|
||||||
CONFIG_SATA_SIL24=m
|
CONFIG_SATA_SIL24=y
|
||||||
CONFIG_ATA_SFF=y
|
CONFIG_ATA_SFF=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# SFF controllers with custom DMA interface
|
# SFF controllers with custom DMA interface
|
||||||
#
|
#
|
||||||
CONFIG_PDC_ADMA=m
|
CONFIG_PDC_ADMA=y
|
||||||
CONFIG_SATA_QSTOR=m
|
CONFIG_SATA_QSTOR=y
|
||||||
CONFIG_SATA_SX4=m
|
CONFIG_SATA_SX4=m
|
||||||
CONFIG_ATA_BMDMA=y
|
CONFIG_ATA_BMDMA=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# SATA SFF controllers with BMDMA
|
# SATA SFF controllers with BMDMA
|
||||||
#
|
#
|
||||||
CONFIG_ATA_PIIX=m
|
CONFIG_ATA_PIIX=y
|
||||||
CONFIG_SATA_DWC=m
|
CONFIG_SATA_DWC=y
|
||||||
# CONFIG_SATA_DWC_OLD_DMA is not set
|
# CONFIG_SATA_DWC_OLD_DMA is not set
|
||||||
CONFIG_SATA_MV=m
|
CONFIG_SATA_MV=y
|
||||||
CONFIG_SATA_NV=m
|
CONFIG_SATA_NV=y
|
||||||
CONFIG_SATA_PROMISE=m
|
CONFIG_SATA_PROMISE=y
|
||||||
CONFIG_SATA_SIL=m
|
CONFIG_SATA_SIL=y
|
||||||
CONFIG_SATA_SIS=m
|
CONFIG_SATA_SIS=y
|
||||||
CONFIG_SATA_SVW=m
|
CONFIG_SATA_SVW=y
|
||||||
CONFIG_SATA_ULI=m
|
CONFIG_SATA_ULI=y
|
||||||
CONFIG_SATA_VIA=m
|
CONFIG_SATA_VIA=y
|
||||||
CONFIG_SATA_VITESSE=m
|
CONFIG_SATA_VITESSE=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# PATA SFF controllers with BMDMA
|
# PATA SFF controllers with BMDMA
|
||||||
@@ -3130,7 +3129,7 @@ CONFIG_PATA_RDC=m
|
|||||||
CONFIG_PATA_SCH=m
|
CONFIG_PATA_SCH=m
|
||||||
CONFIG_PATA_SERVERWORKS=m
|
CONFIG_PATA_SERVERWORKS=m
|
||||||
CONFIG_PATA_SIL680=m
|
CONFIG_PATA_SIL680=m
|
||||||
CONFIG_PATA_SIS=m
|
CONFIG_PATA_SIS=y
|
||||||
CONFIG_PATA_TOSHIBA=m
|
CONFIG_PATA_TOSHIBA=m
|
||||||
CONFIG_PATA_TRIFLEX=m
|
CONFIG_PATA_TRIFLEX=m
|
||||||
CONFIG_PATA_VIA=m
|
CONFIG_PATA_VIA=m
|
||||||
@@ -3172,8 +3171,8 @@ CONFIG_PATA_PARPORT_ON26=m
|
|||||||
#
|
#
|
||||||
# Generic fallback / legacy drivers
|
# Generic fallback / legacy drivers
|
||||||
#
|
#
|
||||||
CONFIG_PATA_ACPI=m
|
CONFIG_PATA_ACPI=y
|
||||||
CONFIG_ATA_GENERIC=m
|
CONFIG_ATA_GENERIC=y
|
||||||
CONFIG_PATA_LEGACY=m
|
CONFIG_PATA_LEGACY=m
|
||||||
CONFIG_MD=y
|
CONFIG_MD=y
|
||||||
CONFIG_BLK_DEV_MD=m
|
CONFIG_BLK_DEV_MD=m
|
||||||
@@ -9621,11 +9620,11 @@ CONFIG_EFI_SECRET=m
|
|||||||
CONFIG_SEV_GUEST=m
|
CONFIG_SEV_GUEST=m
|
||||||
CONFIG_TDX_GUEST_DRIVER=m
|
CONFIG_TDX_GUEST_DRIVER=m
|
||||||
CONFIG_VIRTIO_ANCHOR=y
|
CONFIG_VIRTIO_ANCHOR=y
|
||||||
CONFIG_VIRTIO=m
|
CONFIG_VIRTIO=y
|
||||||
CONFIG_VIRTIO_PCI_LIB=m
|
CONFIG_VIRTIO_PCI_LIB=y
|
||||||
CONFIG_VIRTIO_PCI_LIB_LEGACY=m
|
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
|
||||||
CONFIG_VIRTIO_MENU=y
|
CONFIG_VIRTIO_MENU=y
|
||||||
CONFIG_VIRTIO_PCI=m
|
CONFIG_VIRTIO_PCI=y
|
||||||
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
|
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
|
||||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
CONFIG_VIRTIO_PCI_LEGACY=y
|
||||||
CONFIG_VIRTIO_VDPA=m
|
CONFIG_VIRTIO_VDPA=m
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm64 6.12.76 Kernel Configuration
|
# Linux/arm64 6.12.76 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_CC_VERSION_TEXT="clang version 22.1.0"
|
CONFIG_CC_VERSION_TEXT="clang version 22.1.1"
|
||||||
CONFIG_GCC_VERSION=0
|
CONFIG_GCC_VERSION=0
|
||||||
CONFIG_CC_IS_CLANG=y
|
CONFIG_CC_IS_CLANG=y
|
||||||
CONFIG_CLANG_VERSION=220100
|
CONFIG_CLANG_VERSION=220101
|
||||||
CONFIG_AS_IS_LLVM=y
|
CONFIG_AS_IS_LLVM=y
|
||||||
CONFIG_AS_VERSION=220100
|
CONFIG_AS_VERSION=220101
|
||||||
CONFIG_LD_VERSION=0
|
CONFIG_LD_VERSION=0
|
||||||
CONFIG_LD_IS_LLD=y
|
CONFIG_LD_IS_LLD=y
|
||||||
CONFIG_LLD_VERSION=220100
|
CONFIG_LLD_VERSION=220101
|
||||||
CONFIG_RUSTC_VERSION=0
|
CONFIG_RUSTC_VERSION=0
|
||||||
CONFIG_RUSTC_LLVM_VERSION=0
|
CONFIG_RUSTC_LLVM_VERSION=0
|
||||||
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
|
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
|
||||||
@@ -2384,7 +2384,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||||||
#
|
#
|
||||||
# Firmware loader
|
# Firmware loader
|
||||||
#
|
#
|
||||||
CONFIG_FW_LOADER=m
|
CONFIG_FW_LOADER=y
|
||||||
CONFIG_FW_LOADER_DEBUG=y
|
CONFIG_FW_LOADER_DEBUG=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
@@ -2849,8 +2849,8 @@ CONFIG_CDROM_PKTCDVD=m
|
|||||||
CONFIG_CDROM_PKTCDVD_BUFFERS=8
|
CONFIG_CDROM_PKTCDVD_BUFFERS=8
|
||||||
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
|
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
|
||||||
CONFIG_ATA_OVER_ETH=m
|
CONFIG_ATA_OVER_ETH=m
|
||||||
CONFIG_XEN_BLKDEV_FRONTEND=m
|
CONFIG_XEN_BLKDEV_FRONTEND=y
|
||||||
CONFIG_XEN_BLKDEV_BACKEND=m
|
# CONFIG_XEN_BLKDEV_BACKEND is not set
|
||||||
CONFIG_VIRTIO_BLK=m
|
CONFIG_VIRTIO_BLK=m
|
||||||
CONFIG_BLK_DEV_RBD=m
|
CONFIG_BLK_DEV_RBD=m
|
||||||
CONFIG_BLK_DEV_UBLK=m
|
CONFIG_BLK_DEV_UBLK=m
|
||||||
@@ -2862,13 +2862,12 @@ CONFIG_BLK_DEV_RNBD_SERVER=m
|
|||||||
#
|
#
|
||||||
# NVME Support
|
# NVME Support
|
||||||
#
|
#
|
||||||
CONFIG_NVME_KEYRING=m
|
CONFIG_NVME_KEYRING=y
|
||||||
CONFIG_NVME_AUTH=m
|
CONFIG_NVME_AUTH=y
|
||||||
CONFIG_NVME_CORE=m
|
CONFIG_NVME_CORE=y
|
||||||
CONFIG_BLK_DEV_NVME=m
|
CONFIG_BLK_DEV_NVME=y
|
||||||
CONFIG_NVME_MULTIPATH=y
|
CONFIG_NVME_MULTIPATH=y
|
||||||
# CONFIG_NVME_VERBOSE_ERRORS is not set
|
# CONFIG_NVME_VERBOSE_ERRORS is not set
|
||||||
CONFIG_NVME_HWMON=y
|
|
||||||
CONFIG_NVME_FABRICS=m
|
CONFIG_NVME_FABRICS=m
|
||||||
CONFIG_NVME_RDMA=m
|
CONFIG_NVME_RDMA=m
|
||||||
CONFIG_NVME_FC=m
|
CONFIG_NVME_FC=m
|
||||||
@@ -2977,10 +2976,10 @@ CONFIG_KEBA_CP500=m
|
|||||||
#
|
#
|
||||||
# SCSI device support
|
# SCSI device support
|
||||||
#
|
#
|
||||||
CONFIG_SCSI_MOD=m
|
CONFIG_SCSI_MOD=y
|
||||||
CONFIG_RAID_ATTRS=m
|
CONFIG_RAID_ATTRS=m
|
||||||
CONFIG_SCSI_COMMON=m
|
CONFIG_SCSI_COMMON=y
|
||||||
CONFIG_SCSI=m
|
CONFIG_SCSI=y
|
||||||
CONFIG_SCSI_DMA=y
|
CONFIG_SCSI_DMA=y
|
||||||
CONFIG_SCSI_NETLINK=y
|
CONFIG_SCSI_NETLINK=y
|
||||||
CONFIG_SCSI_PROC_FS=y
|
CONFIG_SCSI_PROC_FS=y
|
||||||
@@ -2988,7 +2987,7 @@ CONFIG_SCSI_PROC_FS=y
|
|||||||
#
|
#
|
||||||
# SCSI support type (disk, tape, CD-ROM)
|
# SCSI support type (disk, tape, CD-ROM)
|
||||||
#
|
#
|
||||||
CONFIG_BLK_DEV_SD=m
|
CONFIG_BLK_DEV_SD=y
|
||||||
CONFIG_CHR_DEV_ST=m
|
CONFIG_CHR_DEV_ST=m
|
||||||
CONFIG_BLK_DEV_SR=m
|
CONFIG_BLK_DEV_SR=m
|
||||||
CONFIG_CHR_DEV_SG=m
|
CONFIG_CHR_DEV_SG=m
|
||||||
@@ -3108,7 +3107,7 @@ CONFIG_SCSI_DEBUG=m
|
|||||||
CONFIG_SCSI_PMCRAID=m
|
CONFIG_SCSI_PMCRAID=m
|
||||||
CONFIG_SCSI_PM8001=m
|
CONFIG_SCSI_PM8001=m
|
||||||
CONFIG_SCSI_BFA_FC=m
|
CONFIG_SCSI_BFA_FC=m
|
||||||
CONFIG_SCSI_VIRTIO=m
|
CONFIG_SCSI_VIRTIO=y
|
||||||
CONFIG_SCSI_CHELSIO_FCOE=m
|
CONFIG_SCSI_CHELSIO_FCOE=m
|
||||||
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
|
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
|
||||||
CONFIG_PCMCIA_AHA152X=m
|
CONFIG_PCMCIA_AHA152X=m
|
||||||
@@ -3118,7 +3117,7 @@ CONFIG_PCMCIA_SYM53C500=m
|
|||||||
# CONFIG_SCSI_DH is not set
|
# CONFIG_SCSI_DH is not set
|
||||||
# end of SCSI device support
|
# end of SCSI device support
|
||||||
|
|
||||||
CONFIG_ATA=m
|
CONFIG_ATA=y
|
||||||
CONFIG_SATA_HOST=y
|
CONFIG_SATA_HOST=y
|
||||||
CONFIG_PATA_TIMINGS=y
|
CONFIG_PATA_TIMINGS=y
|
||||||
CONFIG_ATA_VERBOSE_ERROR=y
|
CONFIG_ATA_VERBOSE_ERROR=y
|
||||||
@@ -3130,23 +3129,23 @@ CONFIG_SATA_PMP=y
|
|||||||
#
|
#
|
||||||
# Controllers with non-SFF native interface
|
# Controllers with non-SFF native interface
|
||||||
#
|
#
|
||||||
CONFIG_SATA_AHCI=m
|
CONFIG_SATA_AHCI=y
|
||||||
CONFIG_SATA_MOBILE_LPM_POLICY=3
|
CONFIG_SATA_MOBILE_LPM_POLICY=3
|
||||||
CONFIG_SATA_AHCI_PLATFORM=m
|
CONFIG_SATA_AHCI_PLATFORM=y
|
||||||
CONFIG_AHCI_BRCM=m
|
CONFIG_AHCI_BRCM=y
|
||||||
CONFIG_AHCI_DWC=m
|
CONFIG_AHCI_DWC=y
|
||||||
CONFIG_AHCI_IMX=m
|
CONFIG_AHCI_IMX=m
|
||||||
CONFIG_AHCI_CEVA=m
|
CONFIG_AHCI_CEVA=y
|
||||||
CONFIG_AHCI_MTK=m
|
CONFIG_AHCI_MTK=y
|
||||||
CONFIG_AHCI_MVEBU=m
|
CONFIG_AHCI_MVEBU=y
|
||||||
CONFIG_AHCI_SUNXI=m
|
CONFIG_AHCI_SUNXI=y
|
||||||
CONFIG_AHCI_TEGRA=m
|
CONFIG_AHCI_TEGRA=y
|
||||||
CONFIG_AHCI_XGENE=m
|
CONFIG_AHCI_XGENE=m
|
||||||
CONFIG_AHCI_QORIQ=m
|
CONFIG_AHCI_QORIQ=y
|
||||||
CONFIG_SATA_AHCI_SEATTLE=m
|
CONFIG_SATA_AHCI_SEATTLE=y
|
||||||
CONFIG_SATA_INIC162X=m
|
CONFIG_SATA_INIC162X=m
|
||||||
CONFIG_SATA_ACARD_AHCI=m
|
CONFIG_SATA_ACARD_AHCI=y
|
||||||
CONFIG_SATA_SIL24=m
|
CONFIG_SATA_SIL24=y
|
||||||
CONFIG_ATA_SFF=y
|
CONFIG_ATA_SFF=y
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -3160,19 +3159,19 @@ CONFIG_ATA_BMDMA=y
|
|||||||
#
|
#
|
||||||
# SATA SFF controllers with BMDMA
|
# SATA SFF controllers with BMDMA
|
||||||
#
|
#
|
||||||
CONFIG_ATA_PIIX=m
|
CONFIG_ATA_PIIX=y
|
||||||
CONFIG_SATA_DWC=m
|
CONFIG_SATA_DWC=y
|
||||||
# CONFIG_SATA_DWC_OLD_DMA is not set
|
# CONFIG_SATA_DWC_OLD_DMA is not set
|
||||||
CONFIG_SATA_MV=m
|
CONFIG_SATA_MV=y
|
||||||
CONFIG_SATA_NV=m
|
CONFIG_SATA_NV=y
|
||||||
CONFIG_SATA_PROMISE=m
|
CONFIG_SATA_PROMISE=y
|
||||||
CONFIG_SATA_RCAR=m
|
CONFIG_SATA_RCAR=y
|
||||||
CONFIG_SATA_SIL=m
|
CONFIG_SATA_SIL=y
|
||||||
CONFIG_SATA_SIS=m
|
CONFIG_SATA_SIS=y
|
||||||
CONFIG_SATA_SVW=m
|
CONFIG_SATA_SVW=y
|
||||||
CONFIG_SATA_ULI=m
|
CONFIG_SATA_ULI=y
|
||||||
CONFIG_SATA_VIA=m
|
CONFIG_SATA_VIA=y
|
||||||
CONFIG_SATA_VITESSE=m
|
CONFIG_SATA_VITESSE=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# PATA SFF controllers with BMDMA
|
# PATA SFF controllers with BMDMA
|
||||||
@@ -3207,7 +3206,7 @@ CONFIG_PATA_RDC=m
|
|||||||
CONFIG_PATA_SCH=m
|
CONFIG_PATA_SCH=m
|
||||||
CONFIG_PATA_SERVERWORKS=m
|
CONFIG_PATA_SERVERWORKS=m
|
||||||
CONFIG_PATA_SIL680=m
|
CONFIG_PATA_SIL680=m
|
||||||
CONFIG_PATA_SIS=m
|
CONFIG_PATA_SIS=y
|
||||||
CONFIG_PATA_TOSHIBA=m
|
CONFIG_PATA_TOSHIBA=m
|
||||||
CONFIG_PATA_TRIFLEX=m
|
CONFIG_PATA_TRIFLEX=m
|
||||||
CONFIG_PATA_VIA=m
|
CONFIG_PATA_VIA=m
|
||||||
@@ -3249,8 +3248,8 @@ CONFIG_PATA_PARPORT_ON26=m
|
|||||||
#
|
#
|
||||||
# Generic fallback / legacy drivers
|
# Generic fallback / legacy drivers
|
||||||
#
|
#
|
||||||
CONFIG_PATA_ACPI=m
|
CONFIG_PATA_ACPI=y
|
||||||
CONFIG_ATA_GENERIC=m
|
CONFIG_ATA_GENERIC=y
|
||||||
CONFIG_PATA_LEGACY=m
|
CONFIG_PATA_LEGACY=m
|
||||||
CONFIG_MD=y
|
CONFIG_MD=y
|
||||||
CONFIG_BLK_DEV_MD=m
|
CONFIG_BLK_DEV_MD=m
|
||||||
@@ -10436,11 +10435,11 @@ CONFIG_VMGENID=m
|
|||||||
CONFIG_NITRO_ENCLAVES=m
|
CONFIG_NITRO_ENCLAVES=m
|
||||||
CONFIG_ARM_PKVM_GUEST=y
|
CONFIG_ARM_PKVM_GUEST=y
|
||||||
CONFIG_VIRTIO_ANCHOR=y
|
CONFIG_VIRTIO_ANCHOR=y
|
||||||
CONFIG_VIRTIO=m
|
CONFIG_VIRTIO=y
|
||||||
CONFIG_VIRTIO_PCI_LIB=m
|
CONFIG_VIRTIO_PCI_LIB=y
|
||||||
CONFIG_VIRTIO_PCI_LIB_LEGACY=m
|
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
|
||||||
CONFIG_VIRTIO_MENU=y
|
CONFIG_VIRTIO_MENU=y
|
||||||
CONFIG_VIRTIO_PCI=m
|
CONFIG_VIRTIO_PCI=y
|
||||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
CONFIG_VIRTIO_PCI_LEGACY=y
|
||||||
CONFIG_VIRTIO_VDPA=m
|
CONFIG_VIRTIO_VDPA=m
|
||||||
CONFIG_VIRTIO_PMEM=m
|
CONFIG_VIRTIO_PMEM=m
|
||||||
|
|||||||
@@ -73,14 +73,8 @@ func llvmFlagName(flag int) string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
|
||||||
llvmVersionMajor = "22"
|
|
||||||
llvmVersion = llvmVersionMajor + ".1.1"
|
|
||||||
)
|
|
||||||
|
|
||||||
// newLLVMVariant returns a [pkg.Artifact] containing a LLVM variant.
|
// newLLVMVariant returns a [pkg.Artifact] containing a LLVM variant.
|
||||||
func (t Toolchain) newLLVMVariant(variant string, attr *llvmAttr) pkg.Artifact {
|
func (t Toolchain) newLLVMVariant(variant string, attr *llvmAttr) pkg.Artifact {
|
||||||
const checksum = "bQvV6D8AZvQykg7-uQb_saTbVavnSo1ykNJ3g57F5iE-evU3HuOYtcRnVIXTK76e"
|
|
||||||
|
|
||||||
if attr == nil {
|
if attr == nil {
|
||||||
panic("LLVM attr must be non-nil")
|
panic("LLVM attr must be non-nil")
|
||||||
@@ -169,7 +163,7 @@ ln -s ld.lld /work/system/bin/ld
|
|||||||
return t.NewPackage("llvm", llvmVersion, pkg.NewHTTPGetTar(
|
return t.NewPackage("llvm", llvmVersion, pkg.NewHTTPGetTar(
|
||||||
nil, "https://github.com/llvm/llvm-project/archive/refs/tags/"+
|
nil, "https://github.com/llvm/llvm-project/archive/refs/tags/"+
|
||||||
"llvmorg-"+llvmVersion+".tar.gz",
|
"llvmorg-"+llvmVersion+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(llvmChecksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), &PackageAttr{
|
), &PackageAttr{
|
||||||
Patches: attr.patches,
|
Patches: attr.patches,
|
||||||
@@ -316,7 +310,7 @@ ln -s clang++ /work/system/bin/c++
|
|||||||
ninja check-all
|
ninja check-all
|
||||||
`,
|
`,
|
||||||
|
|
||||||
patches: [][2]string{
|
patches: slices.Concat([][2]string{
|
||||||
{"add-rosa-vendor", `diff --git a/llvm/include/llvm/TargetParser/Triple.h b/llvm/include/llvm/TargetParser/Triple.h
|
{"add-rosa-vendor", `diff --git a/llvm/include/llvm/TargetParser/Triple.h b/llvm/include/llvm/TargetParser/Triple.h
|
||||||
index 9c83abeeb3b1..5acfe5836a23 100644
|
index 9c83abeeb3b1..5acfe5836a23 100644
|
||||||
--- a/llvm/include/llvm/TargetParser/Triple.h
|
--- a/llvm/include/llvm/TargetParser/Triple.h
|
||||||
@@ -488,7 +482,7 @@ index 64324a3f8b01..15ce70b68217 100644
|
|||||||
"/System/Library/Frameworks"};
|
"/System/Library/Frameworks"};
|
||||||
|
|
||||||
`},
|
`},
|
||||||
},
|
}, clangPatches),
|
||||||
})
|
})
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
4
internal/rosa/llvm_amd64.go
Normal file
4
internal/rosa/llvm_amd64.go
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
package rosa
|
||||||
|
|
||||||
|
// clangPatches are patches applied to the LLVM source tree for building clang.
|
||||||
|
var clangPatches [][2]string
|
||||||
12
internal/rosa/llvm_arm64.go
Normal file
12
internal/rosa/llvm_arm64.go
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package rosa
|
||||||
|
|
||||||
|
// clangPatches are patches applied to the LLVM source tree for building clang.
|
||||||
|
var clangPatches [][2]string
|
||||||
|
|
||||||
|
// one version behind, latest fails 5 tests with 2 flaky on arm64
|
||||||
|
const (
|
||||||
|
llvmVersionMajor = "21"
|
||||||
|
llvmVersion = llvmVersionMajor + ".1.8"
|
||||||
|
|
||||||
|
llvmChecksum = "8SUpqDkcgwOPsqHVtmf9kXfFeVmjVxl4LMn-qSE1AI_Xoeju-9HaoPNGtidyxyka"
|
||||||
|
)
|
||||||
11
internal/rosa/llvm_latest.go
Normal file
11
internal/rosa/llvm_latest.go
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
//go:build !arm64
|
||||||
|
|
||||||
|
package rosa
|
||||||
|
|
||||||
|
// latest version of LLVM, conditional to temporarily avoid broken new releases
|
||||||
|
const (
|
||||||
|
llvmVersionMajor = "22"
|
||||||
|
llvmVersion = llvmVersionMajor + ".1.1"
|
||||||
|
|
||||||
|
llvmChecksum = "bQvV6D8AZvQykg7-uQb_saTbVavnSo1ykNJ3g57F5iE-evU3HuOYtcRnVIXTK76e"
|
||||||
|
)
|
||||||
@@ -9,8 +9,8 @@ import (
|
|||||||
|
|
||||||
func (t Toolchain) newMeson() (pkg.Artifact, string) {
|
func (t Toolchain) newMeson() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.10.1"
|
version = "1.10.2"
|
||||||
checksum = "w895BXF_icncnXatT_OLCFe2PYEtg4KrKooMgUYdN-nQVvbFX3PvYWHGEpogsHtd"
|
checksum = "18VmKUVKuXCwtawkYCeYHseC3cKpi86OhnIPaV878wjY0rkXH8XnQwUyymnxFgcl"
|
||||||
)
|
)
|
||||||
return t.New("meson-"+version, 0, []pkg.Artifact{
|
return t.New("meson-"+version, 0, []pkg.Artifact{
|
||||||
t.Load(Zlib),
|
t.Load(Zlib),
|
||||||
|
|||||||
@@ -195,103 +195,4 @@ func init() {
|
|||||||
PythonPluggy,
|
PythonPluggy,
|
||||||
PythonPygments,
|
PythonPygments,
|
||||||
)
|
)
|
||||||
|
|
||||||
artifactsM[PythonCfgv] = newViaPip(
|
|
||||||
"cfgv",
|
|
||||||
"validate configuration and produce human readable error messages",
|
|
||||||
"3.5.0", "py2.py3", "none", "any",
|
|
||||||
"yFKTyVRlmnLKAxvvge15kAd_GOP1Xh3fZ0NFImO5pBdD5e0zj3GRmA6Q1HdtLTYO",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/",
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonIdentify] = newViaPip(
|
|
||||||
"identify",
|
|
||||||
"file identification library for Python",
|
|
||||||
"2.6.17", "py2.py3", "none", "any",
|
|
||||||
"9RxK3igO-Pxxof5AuCAGiF_L1SWi4SpuSF1fWNXCzE2D4oTRSob-9VpFMLlybrSv",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"40/66/71c1227dff78aaeb942fed29dd5651f2aec166cc7c9aeea3e8b26a539b7d/",
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonNodeenv] = newViaPip(
|
|
||||||
"nodeenv",
|
|
||||||
"a tool to create isolated node.js environments",
|
|
||||||
"1.10.0", "py2.py3", "none", "any",
|
|
||||||
"ihUb4-WQXYIhYOOKSsXlKIzjzQieOYl6ojro9H-0DFzGheaRTtuyZgsCmriq58sq",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/",
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonPyYAML] = newViaPip(
|
|
||||||
"pyyaml",
|
|
||||||
"a complete YAML 1.1 parser",
|
|
||||||
"6.0.3", "cp314", "cp314", "musllinux_1_2_x86_64",
|
|
||||||
"4_jhCFpUNtyrFp2HOMqUisR005u90MHId53eS7rkUbcGXkoaJ7JRsY21dREHEfGN",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/",
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonDistlib] = newViaPip(
|
|
||||||
"distlib",
|
|
||||||
"used as the basis for third-party packaging tools",
|
|
||||||
"0.4.0", "py2.py3", "none", "any",
|
|
||||||
"lGLLfYVhUhXOTw_84zULaH2K8n6pk1OOVXmJfGavev7N42msbtHoq-XY5D_xULI_",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/",
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonFilelock] = newViaPip(
|
|
||||||
"filelock",
|
|
||||||
"a platform-independent file locking library for Python",
|
|
||||||
"3.25.0", "py3", "none", "any",
|
|
||||||
"0gSQIYNUEjOs1JBxXjGwfLnwFPFINwqyU_Zqgj7fT_EGafv_HaD5h3Xv2Rq_qQ44",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"f9/0b/de6f54d4a8bedfe8645c41497f3c18d749f0bd3218170c667bf4b81d0cdd/",
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonPlatformdirs] = newViaPip(
|
|
||||||
"platformdirs",
|
|
||||||
"a Python package for determining platform-specific directories",
|
|
||||||
"4.9.4", "py3", "none", "any",
|
|
||||||
"JGNpMCX2JMn-7c9bk3QzOSNDgJRR_5lH-jIqfy0zXMZppRCdLsTNbdp4V7QFwxOI",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/",
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonDiscovery] = newViaPip(
|
|
||||||
"python_discovery",
|
|
||||||
"looks for a python installation",
|
|
||||||
"1.1.1", "py3", "none", "any",
|
|
||||||
"Jk_qGMfZYm0fdNOSvMdVQZuQbJlqu3NWRm7T2fRtiBXmHLQyOdJE3ypI_it1OJR0",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"75/0f/2bf7e3b5a4a65f623cb820feb5793e243fad58ae561015ee15a6152f67a2/",
|
|
||||||
PythonFilelock,
|
|
||||||
PythonPlatformdirs,
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonVirtualenv] = newViaPip(
|
|
||||||
"virtualenv",
|
|
||||||
"a tool for creating isolated virtual python environments",
|
|
||||||
"21.1.0", "py3", "none", "any",
|
|
||||||
"SLvdr3gJZ7GTS-kiRyq2RvJdrQ8SZYC1pglbViWCMLCuAIcbLNjVEUJZ4hDtKUxm",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"78/55/896b06bf93a49bec0f4ae2a6f1ed12bd05c8860744ac3a70eda041064e4d/",
|
|
||||||
PythonDistlib,
|
|
||||||
PythonDiscovery,
|
|
||||||
)
|
|
||||||
|
|
||||||
artifactsM[PythonPreCommit] = newViaPip(
|
|
||||||
"pre_commit",
|
|
||||||
"a framework for managing and maintaining multi-language pre-commit hooks",
|
|
||||||
"4.5.1", "py2.py3", "none", "any",
|
|
||||||
"9G2Hv5JpvXFZVfw4pv_KAsmHD6bvot9Z0YBDmW6JeJizqTA4xEQCKel-pCERqQFK",
|
|
||||||
"https://files.pythonhosted.org/packages/"+
|
|
||||||
"5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/",
|
|
||||||
PythonCfgv,
|
|
||||||
PythonIdentify,
|
|
||||||
PythonNodeenv,
|
|
||||||
PythonPyYAML,
|
|
||||||
PythonVirtualenv,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ func (t Toolchain) newTamaGo() (pkg.Artifact, string) {
|
|||||||
), nil, []string{
|
), nil, []string{
|
||||||
"CC=cc",
|
"CC=cc",
|
||||||
"GOCACHE=/tmp/gocache",
|
"GOCACHE=/tmp/gocache",
|
||||||
|
"CGO_ENABLED=0",
|
||||||
}, `
|
}, `
|
||||||
mkdir /work/system # "${TMPDIR}"
|
mkdir /work/system # "${TMPDIR}"
|
||||||
cp -r /usr/src/tamago /work/system
|
cp -r /usr/src/tamago /work/system
|
||||||
|
|||||||
21
ldd/exec.go
21
ldd/exec.go
@@ -18,14 +18,17 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// msgStaticSuffix is the suffix of message printed to stderr by musl on a statically linked program.
|
// msgStaticSuffix is the suffix of message printed to stderr by musl on a
|
||||||
|
// statically linked program.
|
||||||
msgStaticSuffix = ": Not a valid dynamic program"
|
msgStaticSuffix = ": Not a valid dynamic program"
|
||||||
// msgStaticGlibc is a substring of the message printed to stderr by glibc on a statically linked program.
|
// msgStaticGlibc is a substring of the message printed to stderr by glibc
|
||||||
|
// on a statically linked program.
|
||||||
msgStaticGlibc = "not a dynamic executable"
|
msgStaticGlibc = "not a dynamic executable"
|
||||||
|
|
||||||
// lddName is the file name of ldd(1) passed to exec.LookPath.
|
// lddName is the file name of ldd(1) passed to exec.LookPath.
|
||||||
lddName = "ldd"
|
lddName = "ldd"
|
||||||
// lddTimeout is the maximum duration ldd(1) is allowed to ran for before it is terminated.
|
// lddTimeout is the maximum duration ldd(1) is allowed to ran for before it
|
||||||
|
// is terminated.
|
||||||
lddTimeout = 4 * time.Second
|
lddTimeout = 4 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -104,15 +107,3 @@ func Resolve(
|
|||||||
}
|
}
|
||||||
return entries, decodeErr
|
return entries, decodeErr
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exec runs ldd(1) in a restrictive [container] and connects it to a [Decoder], returning resulting entries.
|
|
||||||
//
|
|
||||||
// Deprecated: this function takes an unchecked pathname string.
|
|
||||||
// Relative pathnames do not work in the container as working directory information is not sent.
|
|
||||||
func Exec(ctx context.Context, msg message.Msg, pathname string) ([]*Entry, error) {
|
|
||||||
if a, err := check.NewAbs(pathname); err != nil {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
return Resolve(ctx, msg, a)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
63
ldd/ldd.go
63
ldd/ldd.go
@@ -1,9 +1,9 @@
|
|||||||
// Package ldd provides a robust parser for ldd(1) output, and a convenience function
|
// Package ldd provides a robust parser for ldd(1) output, and a convenience
|
||||||
// for running ldd(1) in a strict sandbox.
|
// function for running ldd(1) in a strict sandbox.
|
||||||
//
|
//
|
||||||
// Note: despite the additional hardening, great care must be taken when using ldd(1).
|
// Note: despite the additional hardening, great care must be taken when using
|
||||||
// As a general rule, you must never run ldd(1) against a file that you do not wish to
|
// ldd(1). As a general rule, you must never run ldd(1) against a file that you
|
||||||
// execute within the same context.
|
// do not wish to execute within the same context.
|
||||||
package ldd
|
package ldd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@@ -27,8 +27,8 @@ var (
|
|||||||
ErrBadLocationFormat = errors.New("bad location format")
|
ErrBadLocationFormat = errors.New("bad location format")
|
||||||
)
|
)
|
||||||
|
|
||||||
// EntryUnexpectedSegmentsError is returned when encountering
|
// EntryUnexpectedSegmentsError is returned when encountering a line containing
|
||||||
// a line containing unexpected number of segments.
|
// unexpected number of segments.
|
||||||
type EntryUnexpectedSegmentsError string
|
type EntryUnexpectedSegmentsError string
|
||||||
|
|
||||||
func (e EntryUnexpectedSegmentsError) Error() string {
|
func (e EntryUnexpectedSegmentsError) Error() string {
|
||||||
@@ -51,26 +51,31 @@ const (
|
|||||||
// entrySegmentIndexPath is the index of the segment holding [Entry.Path],
|
// entrySegmentIndexPath is the index of the segment holding [Entry.Path],
|
||||||
// present only for a line describing a fully populated [Entry].
|
// present only for a line describing a fully populated [Entry].
|
||||||
entrySegmentIndexPath = 2
|
entrySegmentIndexPath = 2
|
||||||
// entrySegmentIndexSeparator is the index of the segment containing the magic bytes entrySegmentFullSeparator,
|
// entrySegmentIndexSeparator is the index of the segment containing the
|
||||||
// present only for a line describing a fully populated [Entry].
|
// magic bytes entrySegmentFullSeparator, present only for a line describing
|
||||||
|
// a fully populated [Entry].
|
||||||
entrySegmentIndexSeparator = 1
|
entrySegmentIndexSeparator = 1
|
||||||
// entrySegmentIndexLocation is the index of the segment holding [Entry.Location]
|
// entrySegmentIndexLocation is the index of the segment holding
|
||||||
// for a line describing a fully populated [Entry].
|
// [Entry.Location] for a line describing a fully populated [Entry].
|
||||||
entrySegmentIndexLocation = 3
|
entrySegmentIndexLocation = 3
|
||||||
// entrySegmentIndexLocationShort is the index of the segment holding [Entry.Location]
|
// entrySegmentIndexLocationShort is the index of the segment holding
|
||||||
// for a line describing only [Entry.Name].
|
// [Entry.Location] for a line describing only [Entry.Name].
|
||||||
entrySegmentIndexLocationShort = 1
|
entrySegmentIndexLocationShort = 1
|
||||||
|
|
||||||
// entrySegmentSep is the byte separating segments in an [Entry] line.
|
// entrySegmentSep is the byte separating segments in an [Entry] line.
|
||||||
entrySegmentSep = ' '
|
entrySegmentSep = ' '
|
||||||
// entrySegmentFullSeparator is the exact contents of the segment at index entrySegmentIndexSeparator.
|
// entrySegmentFullSeparator is the exact contents of the segment at index
|
||||||
|
// entrySegmentIndexSeparator.
|
||||||
entrySegmentFullSeparator = "=>"
|
entrySegmentFullSeparator = "=>"
|
||||||
|
|
||||||
// entrySegmentLocationLengthMin is the minimum possible length of a segment corresponding to [Entry.Location].
|
// entrySegmentLocationLengthMin is the minimum possible length of a segment
|
||||||
|
// corresponding to [Entry.Location].
|
||||||
entrySegmentLocationLengthMin = 4
|
entrySegmentLocationLengthMin = 4
|
||||||
// entrySegmentLocationPrefix are magic bytes prefixing a segment corresponding to [Entry.Location].
|
// entrySegmentLocationPrefix are magic bytes prefixing a segment
|
||||||
|
// corresponding to [Entry.Location].
|
||||||
entrySegmentLocationPrefix = "(0x"
|
entrySegmentLocationPrefix = "(0x"
|
||||||
// entrySegmentLocationSuffix is the magic byte suffixing a segment corresponding to [Entry.Location].
|
// entrySegmentLocationSuffix is the magic byte suffixing a segment
|
||||||
|
// corresponding to [Entry.Location].
|
||||||
entrySegmentLocationSuffix = ')'
|
entrySegmentLocationSuffix = ')'
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -144,7 +149,9 @@ func (e *Entry) String() string {
|
|||||||
if e.Path != nil {
|
if e.Path != nil {
|
||||||
buf.WriteString(entrySegmentFullSeparator + " " + e.Path.String() + " ")
|
buf.WriteString(entrySegmentFullSeparator + " " + e.Path.String() + " ")
|
||||||
}
|
}
|
||||||
buf.WriteString(entrySegmentLocationPrefix + strconv.FormatUint(e.Location, 16) + string(entrySegmentLocationSuffix))
|
buf.WriteString(entrySegmentLocationPrefix +
|
||||||
|
strconv.FormatUint(e.Location, 16) +
|
||||||
|
string(entrySegmentLocationSuffix))
|
||||||
|
|
||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
@@ -180,12 +187,12 @@ type Decoder struct {
|
|||||||
|
|
||||||
// NewDecoder returns a new decoder that reads from r.
|
// NewDecoder returns a new decoder that reads from r.
|
||||||
//
|
//
|
||||||
// The decoder introduces its own buffering and may read
|
// The decoder introduces its own buffering and may read data from r beyond the
|
||||||
// data from r beyond the [Entry] values requested.
|
// [Entry] values requested.
|
||||||
func NewDecoder(r io.Reader) *Decoder { return &Decoder{s: bufio.NewScanner(r)} }
|
func NewDecoder(r io.Reader) *Decoder { return &Decoder{s: bufio.NewScanner(r)} }
|
||||||
|
|
||||||
// Scan advances the [Decoder] to the next [Entry] and
|
// Scan advances the [Decoder] to the next [Entry] and stores the result in the
|
||||||
// stores the result in the value pointed to by v.
|
// value pointed to by v.
|
||||||
func (d *Decoder) Scan(v *Entry) bool {
|
func (d *Decoder) Scan(v *Entry) bool {
|
||||||
if d.s == nil || d.err != nil || d.depleted {
|
if d.s == nil || d.err != nil || d.depleted {
|
||||||
return false
|
return false
|
||||||
@@ -215,8 +222,8 @@ func (d *Decoder) Scan(v *Entry) bool {
|
|||||||
return d.err == nil
|
return d.err == nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Err returns the first non-EOF error that was encountered
|
// Err returns the first non-EOF error that was encountered by the underlying
|
||||||
// by the underlying [bufio.Scanner] or [Entry].
|
// [bufio.Scanner] or [Entry].
|
||||||
func (d *Decoder) Err() error {
|
func (d *Decoder) Err() error {
|
||||||
if d.err != nil || d.s == nil {
|
if d.err != nil || d.s == nil {
|
||||||
return d.err
|
return d.err
|
||||||
@@ -224,8 +231,8 @@ func (d *Decoder) Err() error {
|
|||||||
return d.s.Err()
|
return d.s.Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decode reads from the input stream until there are no more entries
|
// Decode reads from the input stream until there are no more entries and
|
||||||
// and returns the results in a slice.
|
// returns the results in a slice.
|
||||||
func (d *Decoder) Decode() ([]*Entry, error) {
|
func (d *Decoder) Decode() ([]*Entry, error) {
|
||||||
var entries []*Entry
|
var entries []*Entry
|
||||||
|
|
||||||
@@ -238,4 +245,6 @@ func (d *Decoder) Decode() ([]*Entry, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parse returns a slice of addresses to [Entry] decoded from p.
|
// Parse returns a slice of addresses to [Entry] decoded from p.
|
||||||
func Parse(p []byte) ([]*Entry, error) { return NewDecoder(bytes.NewReader(p)).Decode() }
|
func Parse(p []byte) ([]*Entry, error) {
|
||||||
|
return NewDecoder(bytes.NewReader(p)).Decode()
|
||||||
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
buildGo126Module rec {
|
buildGo126Module rec {
|
||||||
pname = "hakurei";
|
pname = "hakurei";
|
||||||
version = "0.3.6";
|
version = "0.3.7";
|
||||||
|
|
||||||
srcFiltered = builtins.path {
|
srcFiltered = builtins.path {
|
||||||
name = "${pname}-src";
|
name = "${pname}-src";
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
// Package acl exposes the internal/acl package.
|
|
||||||
//
|
|
||||||
// Deprecated: This package will be removed in 0.4.
|
|
||||||
package acl
|
|
||||||
|
|
||||||
import (
|
|
||||||
_ "unsafe" // for go:linkname
|
|
||||||
|
|
||||||
"hakurei.app/internal/acl"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Perm = acl.Perm
|
|
||||||
|
|
||||||
const (
|
|
||||||
Read = acl.Read
|
|
||||||
Write = acl.Write
|
|
||||||
Execute = acl.Execute
|
|
||||||
)
|
|
||||||
|
|
||||||
// Update replaces ACL_USER entry with qualifier uid.
|
|
||||||
//
|
|
||||||
//go:linkname Update hakurei.app/internal/acl.Update
|
|
||||||
func Update(name string, uid int, perms ...Perm) error
|
|
||||||
|
|
||||||
type Perms = acl.Perms
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
// Package dbus exposes the internal/dbus package.
|
|
||||||
//
|
|
||||||
// Deprecated: This package will be removed in 0.4.
|
|
||||||
package dbus
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"io"
|
|
||||||
_ "unsafe" // for go:linkname
|
|
||||||
|
|
||||||
"hakurei.app/hst"
|
|
||||||
"hakurei.app/internal/dbus"
|
|
||||||
"hakurei.app/message"
|
|
||||||
)
|
|
||||||
|
|
||||||
type AddrEntry = dbus.AddrEntry
|
|
||||||
|
|
||||||
// EqualAddrEntries returns whether two slices of [AddrEntry] are equal.
|
|
||||||
//
|
|
||||||
//go:linkname EqualAddrEntries hakurei.app/internal/dbus.EqualAddrEntries
|
|
||||||
func EqualAddrEntries(entries, target []AddrEntry) bool
|
|
||||||
|
|
||||||
// Parse parses D-Bus address according to
|
|
||||||
// https://dbus.freedesktop.org/doc/dbus-specification.html#addresses
|
|
||||||
//
|
|
||||||
//go:linkname Parse hakurei.app/internal/dbus.Parse
|
|
||||||
func Parse(addr []byte) ([]AddrEntry, error)
|
|
||||||
|
|
||||||
type ParseError = dbus.ParseError
|
|
||||||
|
|
||||||
const (
|
|
||||||
ErrNoColon = dbus.ErrNoColon
|
|
||||||
ErrBadPairSep = dbus.ErrBadPairSep
|
|
||||||
ErrBadPairKey = dbus.ErrBadPairKey
|
|
||||||
ErrBadPairVal = dbus.ErrBadPairVal
|
|
||||||
ErrBadValLength = dbus.ErrBadValLength
|
|
||||||
ErrBadValByte = dbus.ErrBadValByte
|
|
||||||
ErrBadValHexLength = dbus.ErrBadValHexLength
|
|
||||||
ErrBadValHexByte = dbus.ErrBadValHexByte
|
|
||||||
)
|
|
||||||
|
|
||||||
type BadAddressError = dbus.BadAddressError
|
|
||||||
|
|
||||||
// ProxyPair is an upstream dbus address and a downstream socket path.
|
|
||||||
type ProxyPair = dbus.ProxyPair
|
|
||||||
|
|
||||||
// Args returns the xdg-dbus-proxy arguments equivalent of [hst.BusConfig].
|
|
||||||
//
|
|
||||||
//go:linkname Args hakurei.app/internal/dbus.Args
|
|
||||||
func Args(c *hst.BusConfig, bus ProxyPair) (args []string)
|
|
||||||
|
|
||||||
// NewConfig returns the address of a new [hst.BusConfig] with optional defaults.
|
|
||||||
//
|
|
||||||
//go:linkname NewConfig hakurei.app/internal/dbus.NewConfig
|
|
||||||
func NewConfig(id string, defaults, mpris bool) *hst.BusConfig
|
|
||||||
|
|
||||||
const (
|
|
||||||
/*
|
|
||||||
SessionBusAddress is the name of the environment variable where the address of the login session message bus is given in.
|
|
||||||
|
|
||||||
If that variable is not set, applications may also try to read the address from the X Window System root window property _DBUS_SESSION_BUS_ADDRESS.
|
|
||||||
The root window property must have type STRING. The environment variable should have precedence over the root window property.
|
|
||||||
|
|
||||||
The address of the login session message bus is given in the DBUS_SESSION_BUS_ADDRESS environment variable.
|
|
||||||
If DBUS_SESSION_BUS_ADDRESS is not set, or if it's set to the string "autolaunch:",
|
|
||||||
the system should use platform-specific methods of locating a running D-Bus session server,
|
|
||||||
or starting one if a running instance cannot be found.
|
|
||||||
Note that this mechanism is not recommended for attempting to determine if a daemon is running.
|
|
||||||
It is inherently racy to attempt to make this determination, since the bus daemon may be started just before or just after the determination is made.
|
|
||||||
Therefore, it is recommended that applications do not try to make this determination for their functionality purposes, and instead they should attempt to start the server.
|
|
||||||
|
|
||||||
This package diverges from the specification, as the caller is unlikely to be an X client, or be in a position to autolaunch a dbus server.
|
|
||||||
So a fallback address with a socket located in the well-known default XDG_RUNTIME_DIR formatting is used.
|
|
||||||
*/
|
|
||||||
SessionBusAddress = dbus.SessionBusAddress
|
|
||||||
|
|
||||||
/*
|
|
||||||
SystemBusAddress is the name of the environment variable where the address of the system message bus is given in.
|
|
||||||
|
|
||||||
If that variable is not set, applications should try to connect to the well-known address unix:path=/var/run/dbus/system_bus_socket.
|
|
||||||
Implementations of the well-known system bus should listen on an address that will result in that connection being successful.
|
|
||||||
*/
|
|
||||||
SystemBusAddress = dbus.SystemBusAddress
|
|
||||||
|
|
||||||
// FallbackSystemBusAddress is used when [SystemBusAddress] is not set.
|
|
||||||
FallbackSystemBusAddress = dbus.FallbackSystemBusAddress
|
|
||||||
)
|
|
||||||
|
|
||||||
// Address returns the session and system bus addresses copied from environment,
|
|
||||||
// or appropriate fallback values if they are not set.
|
|
||||||
//
|
|
||||||
//go:linkname Address hakurei.app/internal/dbus.Address
|
|
||||||
func Address() (session, system string)
|
|
||||||
|
|
||||||
// ProxyName is the file name or path to the proxy program.
|
|
||||||
// Overriding ProxyName will only affect Proxy instance created after the change.
|
|
||||||
//
|
|
||||||
//go:linkname ProxyName hakurei.app/internal/dbus.ProxyName
|
|
||||||
var ProxyName string
|
|
||||||
|
|
||||||
// Proxy holds the state of a xdg-dbus-proxy process, and should never be copied.
|
|
||||||
type Proxy = dbus.Proxy
|
|
||||||
|
|
||||||
// Final describes the outcome of a proxy configuration.
|
|
||||||
type Final = dbus.Final
|
|
||||||
|
|
||||||
// Finalise creates a checked argument writer for [Proxy].
|
|
||||||
//
|
|
||||||
//go:linkname Finalise hakurei.app/internal/dbus.Finalise
|
|
||||||
func Finalise(sessionBus, systemBus ProxyPair, session, system *hst.BusConfig) (final *Final, err error)
|
|
||||||
|
|
||||||
// New returns a new instance of [Proxy].
|
|
||||||
//
|
|
||||||
//go:linkname New hakurei.app/internal/dbus.New
|
|
||||||
func New(ctx context.Context, msg message.Msg, final *Final, output io.Writer) *Proxy
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
// Package system exposes the internal/system package.
|
|
||||||
//
|
|
||||||
// Deprecated: This package will be removed in 0.4.
|
|
||||||
package system
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
_ "unsafe" // for go:linkname
|
|
||||||
|
|
||||||
"hakurei.app/hst"
|
|
||||||
"hakurei.app/internal/system"
|
|
||||||
"hakurei.app/message"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ErrDBusConfig is returned when a required hst.BusConfig argument is nil.
|
|
||||||
//
|
|
||||||
//go:linkname ErrDBusConfig hakurei.app/internal/system.ErrDBusConfig
|
|
||||||
var ErrDBusConfig error
|
|
||||||
|
|
||||||
// OpError is returned by [I.Commit] and [I.Revert].
|
|
||||||
type OpError = system.OpError
|
|
||||||
|
|
||||||
const (
|
|
||||||
// User type is reverted at final instance exit.
|
|
||||||
User = system.User
|
|
||||||
// Process type is unconditionally reverted on exit.
|
|
||||||
Process = system.Process
|
|
||||||
|
|
||||||
CM = system.CM
|
|
||||||
)
|
|
||||||
|
|
||||||
// Criteria specifies types of Op to revert.
|
|
||||||
type Criteria = system.Criteria
|
|
||||||
|
|
||||||
// Op is a reversible system operation.
|
|
||||||
type Op = system.Op
|
|
||||||
|
|
||||||
// TypeString extends [Enablement.String] to support [User] and [Process].
|
|
||||||
//
|
|
||||||
//go:linkname TypeString hakurei.app/internal/system.TypeString
|
|
||||||
func TypeString(e hst.Enablement) string
|
|
||||||
|
|
||||||
// New returns the address of a new [I] targeting uid.
|
|
||||||
//
|
|
||||||
//go:linkname New hakurei.app/internal/system.New
|
|
||||||
func New(ctx context.Context, msg message.Msg, uid int) (sys *I)
|
|
||||||
|
|
||||||
// An I provides deferred operating system interaction. [I] must not be copied.
|
|
||||||
// Methods of [I] must not be used concurrently.
|
|
||||||
type I = system.I
|
|
||||||
@@ -1,144 +0,0 @@
|
|||||||
// Package wayland exposes the internal/wayland package.
|
|
||||||
//
|
|
||||||
// Deprecated: This package will be removed in 0.4.
|
|
||||||
package wayland
|
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
"net"
|
|
||||||
"os"
|
|
||||||
"runtime"
|
|
||||||
"sync"
|
|
||||||
"syscall"
|
|
||||||
_ "unsafe" // for go:linkname
|
|
||||||
|
|
||||||
"hakurei.app/internal/wayland"
|
|
||||||
)
|
|
||||||
|
|
||||||
//go:linkname bindWaylandFd hakurei.app/internal/wayland.bindWaylandFd
|
|
||||||
func bindWaylandFd(socketPath string, fd uintptr, appID, instanceID string, syncFd uintptr) error
|
|
||||||
|
|
||||||
// Conn represents a connection to the wayland display server.
|
|
||||||
//
|
|
||||||
// Deprecated: this interface is being replaced.
|
|
||||||
// Additionally, the package it belongs to will be removed in 0.4.
|
|
||||||
type Conn struct {
|
|
||||||
conn *net.UnixConn
|
|
||||||
|
|
||||||
done chan struct{}
|
|
||||||
doneOnce sync.Once
|
|
||||||
|
|
||||||
mu sync.Mutex
|
|
||||||
}
|
|
||||||
|
|
||||||
// Attach connects Conn to a wayland socket.
|
|
||||||
func (c *Conn) Attach(p string) (err error) {
|
|
||||||
c.mu.Lock()
|
|
||||||
defer c.mu.Unlock()
|
|
||||||
|
|
||||||
if c.conn != nil {
|
|
||||||
return errors.New("socket already attached")
|
|
||||||
}
|
|
||||||
|
|
||||||
c.conn, err = net.DialUnix("unix", nil, &net.UnixAddr{Name: p, Net: "unix"})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close releases resources and closes the connection to the wayland compositor.
|
|
||||||
func (c *Conn) Close() error {
|
|
||||||
c.mu.Lock()
|
|
||||||
defer c.mu.Unlock()
|
|
||||||
|
|
||||||
if c.done == nil {
|
|
||||||
return errors.New("no socket bound")
|
|
||||||
}
|
|
||||||
|
|
||||||
c.doneOnce.Do(func() {
|
|
||||||
c.done <- struct{}{}
|
|
||||||
<-c.done
|
|
||||||
})
|
|
||||||
|
|
||||||
// closed by wayland
|
|
||||||
runtime.SetFinalizer(c.conn, nil)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Bind binds the new socket to pathname.
|
|
||||||
func (c *Conn) Bind(pathname, appID, instanceID string) (*os.File, error) {
|
|
||||||
c.mu.Lock()
|
|
||||||
defer c.mu.Unlock()
|
|
||||||
|
|
||||||
if c.conn == nil {
|
|
||||||
return nil, errors.New("socket not attached")
|
|
||||||
}
|
|
||||||
if c.done != nil {
|
|
||||||
return nil, errors.New("socket already bound")
|
|
||||||
}
|
|
||||||
|
|
||||||
if rc, err := c.conn.SyscallConn(); err != nil {
|
|
||||||
// unreachable
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
c.done = make(chan struct{})
|
|
||||||
if closeFds, err := bindRawConn(c.done, rc, pathname, appID, instanceID); err != nil {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
return os.NewFile(uintptr(closeFds[1]), "close_fd"), nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func bindRawConn(done chan struct{}, rc syscall.RawConn, p, appID, instanceID string) ([2]int, error) {
|
|
||||||
var closeFds [2]int
|
|
||||||
if err := syscall.Pipe2(closeFds[0:], syscall.O_CLOEXEC); err != nil {
|
|
||||||
return closeFds, err
|
|
||||||
}
|
|
||||||
|
|
||||||
setupDone := make(chan error, 1) // does not block with c.done
|
|
||||||
|
|
||||||
go func() {
|
|
||||||
if err := rc.Control(func(fd uintptr) {
|
|
||||||
// allow the Bind method to return after setup
|
|
||||||
setupDone <- bind(fd, p, appID, instanceID, uintptr(closeFds[1]))
|
|
||||||
close(setupDone)
|
|
||||||
|
|
||||||
// keep socket alive until done is requested
|
|
||||||
<-done
|
|
||||||
}); err != nil {
|
|
||||||
setupDone <- err
|
|
||||||
}
|
|
||||||
|
|
||||||
// notify Close that rc.Control has returned
|
|
||||||
close(done)
|
|
||||||
}()
|
|
||||||
|
|
||||||
// return write end of the pipe
|
|
||||||
return closeFds, <-setupDone
|
|
||||||
}
|
|
||||||
|
|
||||||
func bind(fd uintptr, p, appID, instanceID string, syncFd uintptr) error {
|
|
||||||
// ensure p is available
|
|
||||||
if f, err := os.Create(p); err != nil {
|
|
||||||
return err
|
|
||||||
} else if err = f.Close(); err != nil {
|
|
||||||
return err
|
|
||||||
} else if err = os.Remove(p); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return bindWaylandFd(p, fd, appID, instanceID, syncFd)
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
// WaylandDisplay contains the name of the server socket
|
|
||||||
// (https://gitlab.freedesktop.org/wayland/wayland/-/blob/1.23.1/src/wayland-client.c#L1147)
|
|
||||||
// which is concatenated with XDG_RUNTIME_DIR
|
|
||||||
// (https://gitlab.freedesktop.org/wayland/wayland/-/blob/1.23.1/src/wayland-client.c#L1171)
|
|
||||||
// or used as-is if absolute
|
|
||||||
// (https://gitlab.freedesktop.org/wayland/wayland/-/blob/1.23.1/src/wayland-client.c#L1176).
|
|
||||||
WaylandDisplay = wayland.Display
|
|
||||||
|
|
||||||
// FallbackName is used as the wayland socket name if WAYLAND_DISPLAY is unset
|
|
||||||
// (https://gitlab.freedesktop.org/wayland/wayland/-/blob/1.23.1/src/wayland-client.c#L1149).
|
|
||||||
FallbackName = wayland.FallbackName
|
|
||||||
)
|
|
||||||
Reference in New Issue
Block a user