From a84f016776b7a275d1a30e66b5b97f649b4456da Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 16 Jan 2018 13:43:44 +0100 Subject: sys/linux: don't touch mknod$loop during sanitization mknod$loop contains proc type as dev number. Current sanitization code truncates 64-bit -1 to 32-bits which later causes validation failure. Don't do that, it's unnecessary for proc type. --- sys/linux/init.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sys/linux/init.go') diff --git a/sys/linux/init.go b/sys/linux/init.go index dc92f8f95..2885ee422 100644 --- a/sys/linux/init.go +++ b/sys/linux/init.go @@ -167,6 +167,9 @@ func (arch *arch) sanitizeCall(c *prog.Call) { if c.Meta.CallName == "mknodat" { pos = 2 } + if _, ok := c.Args[pos+1].Type().(*prog.ProcType); ok { + return + } mode := c.Args[pos].(*prog.ConstArg) dev := c.Args[pos+1].(*prog.ConstArg) dev.Val = uint64(uint32(dev.Val)) -- cgit mrf-deployment