From acf7a951894a1b445ff61e945e32c989892f476f Mon Sep 17 00:00:00 2001 From: Brian Geffon Date: Tue, 9 Oct 2018 09:51:01 -0700 Subject: [PATCH] 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 --- pkg/abi/linux/linux.go | 1 + pkg/sentry/syscalls/linux/sys_sysinfo.go | 1 + 2 files changed, 2 insertions(+) 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