• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package main
2
3import (
4	"log"
5	"os"
6	"syscall"
7	"time"
8
9	"kernel.org/pub/linux/libs/security/libcap/psx"
10)
11
12const prSetKeepCaps = 8
13
14func main() {
15	r, w, err := os.Pipe()
16	if err != nil {
17		log.Fatalf("failed to obtain pipe: %v", err)
18	}
19	data := make([]byte, 2+r.Fd())
20	go r.Read(data)
21	time.Sleep(500 * time.Millisecond)
22	psx.Syscall3(syscall.SYS_PRCTL, prSetKeepCaps, 1, 0)
23	w.Close()
24	r.Close()
25}
26