aboutsummaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-10-16 13:32:08 +0200
committerDmitry Vyukov <dvyukov@google.com>2015-10-16 13:33:24 +0200
commit587db99baa54c04e23c207aaf6a5d05d0e1bb791 (patch)
tree2f48a32111a1b503d90051df9e1ffd7fa7a81ff4 /ipc
parent7f031e85ef365617dffd35ca5ba1f8cd2cf5174e (diff)
lkvm support
Diffstat (limited to 'ipc')
-rw-r--r--ipc/ipc.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/ipc/ipc.go b/ipc/ipc.go
index aa7a0e3a5..bf5f38207 100644
--- a/ipc/ipc.go
+++ b/ipc/ipc.go
@@ -267,9 +267,11 @@ func (env *Env) execBin() (output, strace []byte, failed, hanged bool, err0 erro
func createMapping(size int) (f *os.File, mem []byte, err error) {
f, err = ioutil.TempFile("./", "syzkaller-shm")
if err != nil {
+ err = fmt.Errorf("failed to create temp file: %v", err)
return
}
if err = f.Truncate(int64(size)); err != nil {
+ err = fmt.Errorf("failed to truncate shm file: %v", err)
f.Close()
os.Remove(f.Name())
return
@@ -277,11 +279,13 @@ func createMapping(size int) (f *os.File, mem []byte, err error) {
f.Close()
f, err = os.OpenFile(f.Name(), os.O_RDWR, 0)
if err != nil {
+ err = fmt.Errorf("failed to open shm file: %v", err)
os.Remove(f.Name())
return
}
mem, err = syscall.Mmap(int(f.Fd()), 0, size, syscall.PROT_READ|syscall.PROT_WRITE, syscall.MAP_SHARED)
if err != nil {
+ err = fmt.Errorf("failed to mmap shm file: %v", err)
f.Close()
os.Remove(f.Name())
return