From bf31f56cada95428cfdaa8920972eb502095eef4 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Wed, 15 Jun 2022 13:46:33 +0200 Subject: [PATCH] unix: add MemfdSecret on linux/riscv64 Now that SYS_MEMFD_SECRET is defined on linux/riscv64, CL 398514 can be reverted to provide MemfdSecret on that platform as well. Fixes golang/go#51547 Change-Id: I48e3e029fd2a3aeb860d69faf387bc10753759c7 Reviewed-on: https://go-review.googlesource.com/c/sys/+/411376 TryBot-Result: Gopher Robot Run-TryBot: Ian Lance Taylor Reviewed-by: Ian Lance Taylor Run-TryBot: Tobias Klauser Reviewed-by: Cherry Mui Auto-Submit: Ian Lance Taylor --- unix/syscall_linux_riscv64.go | 1 + unix/zsyscall_linux_riscv64.go | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/unix/syscall_linux_riscv64.go b/unix/syscall_linux_riscv64.go index 8ff7adba..925a748a 100644 --- a/unix/syscall_linux_riscv64.go +++ b/unix/syscall_linux_riscv64.go @@ -22,6 +22,7 @@ import "unsafe" //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getuid() (uid int) //sys Listen(s int, n int) (err error) +//sys MemfdSecret(flags int) (fd int, err error) //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK diff --git a/unix/zsyscall_linux_riscv64.go b/unix/zsyscall_linux_riscv64.go index a1a9bcbb..1239cc2d 100644 --- a/unix/zsyscall_linux_riscv64.go +++ b/unix/zsyscall_linux_riscv64.go @@ -180,6 +180,17 @@ func Listen(s int, n int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func MemfdSecret(flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 {