summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/syscalls/linux
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-04-21 04:01:15 +0000
committergVisor bot <gvisor-bot@google.com>2020-04-21 04:01:15 +0000
commit3e147501a7ad79a1eeee7530acbd74081cd5a8a3 (patch)
tree2cc58530ed95e0294abf999a3b81815dc1668f9e /pkg/sentry/syscalls/linux
parenta020b29fb4332a42c2e96afde5678ad16b3d89e0 (diff)
parentc615aafa219e8d9783b9c9a25252e4973de57d4a (diff)
Merge release-20200323.0-198-gc615aaf (automated)
Diffstat (limited to 'pkg/sentry/syscalls/linux')
-rwxr-xr-xpkg/sentry/syscalls/linux/vfs2/vfs2_abi_autogen_unsafe.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkg/sentry/syscalls/linux/vfs2/vfs2_abi_autogen_unsafe.go b/pkg/sentry/syscalls/linux/vfs2/vfs2_abi_autogen_unsafe.go
index c538be89d..372fbcd8e 100755
--- a/pkg/sentry/syscalls/linux/vfs2/vfs2_abi_autogen_unsafe.go
+++ b/pkg/sentry/syscalls/linux/vfs2/vfs2_abi_autogen_unsafe.go
@@ -38,6 +38,7 @@ func (s *sigSetWithSize) UnmarshalBytes(src []byte) {
}
// Packed implements marshal.Marshallable.Packed.
+//go:nosplit
func (s *sigSetWithSize) Packed() bool {
return true
}
@@ -53,6 +54,7 @@ func (s *sigSetWithSize) UnmarshalUnsafe(src []byte) {
}
// CopyOutN implements marshal.Marshallable.CopyOutN.
+//go:nosplit
func (s *sigSetWithSize) CopyOutN(task marshal.Task, addr usermem.Addr, limit int) (int, error) {
// Construct a slice backed by dst's underlying memory.
var buf []byte
@@ -61,7 +63,7 @@ func (s *sigSetWithSize) CopyOutN(task marshal.Task, addr usermem.Addr, limit in
hdr.Len = s.SizeBytes()
hdr.Cap = s.SizeBytes()
- length, err := task.CopyOutBytes(addr, buf[:limit])
+ length, err := task.CopyOutBytes(addr, buf[:limit]) // escapes: okay.
// Since we bypassed the compiler's escape analysis, indicate that s
// must live until the use above.
runtime.KeepAlive(s)
@@ -69,11 +71,13 @@ func (s *sigSetWithSize) CopyOutN(task marshal.Task, addr usermem.Addr, limit in
}
// CopyOut implements marshal.Marshallable.CopyOut.
+//go:nosplit
func (s *sigSetWithSize) CopyOut(task marshal.Task, addr usermem.Addr) (int, error) {
return s.CopyOutN(task, addr, s.SizeBytes())
}
// CopyIn implements marshal.Marshallable.CopyIn.
+//go:nosplit
func (s *sigSetWithSize) CopyIn(task marshal.Task, addr usermem.Addr) (int, error) {
// Construct a slice backed by dst's underlying memory.
var buf []byte
@@ -82,7 +86,7 @@ func (s *sigSetWithSize) CopyIn(task marshal.Task, addr usermem.Addr) (int, erro
hdr.Len = s.SizeBytes()
hdr.Cap = s.SizeBytes()
- length, err := task.CopyInBytes(addr, buf)
+ length, err := task.CopyInBytes(addr, buf) // escapes: okay.
// Since we bypassed the compiler's escape analysis, indicate that s
// must live until the use above.
runtime.KeepAlive(s)