summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBrian Geffon <bgeffon@google.com>2018-10-09 09:51:01 -0700
committerShentubot <shentubot@google.com>2018-10-09 09:52:14 -0700
commitacf7a951894a1b445ff61e945e32c989892f476f (patch)
treeb3478390a10454c70dd619924efa22414fa42b0f
parentae5122eb87b5b453d51b70cffe2a253333af9eb4 (diff)
Add memunit to sysinfo(2).
Also properly add padding after Procs in the linux.Sysinfo structure. This will be implicitly padded to 64bits so we need to do the same. PiperOrigin-RevId: 216372907 Change-Id: I6eb6a27800da61d8f7b7b6e87bf0391a48fdb475
-rw-r--r--pkg/abi/linux/linux.go1
-rw-r--r--pkg/sentry/syscalls/linux/sys_sysinfo.go1
2 files changed, 2 insertions, 0 deletions
diff --git a/pkg/abi/linux/linux.go b/pkg/abi/linux/linux.go
index a946849c5..de2af80dc 100644
--- a/pkg/abi/linux/linux.go
+++ b/pkg/abi/linux/linux.go
@@ -31,6 +31,7 @@ type Sysinfo struct {
TotalSwap uint64
FreeSwap uint64
Procs uint16
+ _ [6]byte // Pad Procs to 64bits.
TotalHigh uint64
FreeHigh uint64
Unit uint32
diff --git a/pkg/sentry/syscalls/linux/sys_sysinfo.go b/pkg/sentry/syscalls/linux/sys_sysinfo.go
index bd0ffcd5c..6560bac57 100644
--- a/pkg/sentry/syscalls/linux/sys_sysinfo.go
+++ b/pkg/sentry/syscalls/linux/sys_sysinfo.go
@@ -36,6 +36,7 @@ func Sysinfo(t *kernel.Task, args arch.SyscallArguments) (uintptr, *kernel.Sysca
Uptime: t.Kernel().MonotonicClock().Now().Seconds(),
TotalRAM: totalSize,
FreeRAM: totalSize - totalUsage,
+ Unit: 1,
}
_, err := t.CopyOut(addr, si)
return 0, nil, err