diff options
| author | Matthew Heon <matthew.heon@gmail.com> | 2017-11-01 14:38:21 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-01 14:38:21 -0400 |
| commit | f5019df3f5da9030ce21e5c8ad3d3921a6585e7f (patch) | |
| tree | 05412dcc190ca026dbe51a4ef72bb91ff646e7c6 /vendor/golang.org/x/sys/unix/openbsd_pledge.go | |
| parent | 2b74391cd5281f6fdf391ff8ad50fd1490f6bf89 (diff) | |
| parent | eab0737f1189a7b88f0a37a6b894ca4345b6853f (diff) | |
| download | podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.tar.gz podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.tar.bz2 podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.zip | |
Merge pull request #1 from mheon/master
Initial checkin
Diffstat (limited to 'vendor/golang.org/x/sys/unix/openbsd_pledge.go')
| -rw-r--r-- | vendor/golang.org/x/sys/unix/openbsd_pledge.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/golang.org/x/sys/unix/openbsd_pledge.go b/vendor/golang.org/x/sys/unix/openbsd_pledge.go new file mode 100644 index 000000000..db4f72ea9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/openbsd_pledge.go @@ -0,0 +1,38 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build openbsd +// +build 386 amd64 arm + +package unix + +import ( + "syscall" + "unsafe" +) + +const ( + SYS_PLEDGE = 108 +) + +// Pledge implements the pledge syscall. For more information see pledge(2). +func Pledge(promises string, paths []string) error { + promisesPtr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + promisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil) + if paths != nil { + var pathsPtr []*byte + if pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil { + return err + } + pathsUnsafe = unsafe.Pointer(&pathsPtr[0]) + } + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0) + if e != 0 { + return e + } + return nil +} |
