...

Source file src/github.com/cilium/ebpf/link/kprobe_amd64_test.go

Documentation: github.com/cilium/ebpf/link

     1  //go:build amd64
     2  // +build amd64
     3  
     4  package link
     5  
     6  import (
     7  	"errors"
     8  	"os"
     9  	"testing"
    10  
    11  	"github.com/cilium/ebpf"
    12  )
    13  
    14  func TestKprobeOffset(t *testing.T) {
    15  	prog := mustLoadProgram(t, ebpf.Kprobe, 0, "")
    16  
    17  	for i := uint64(2); i < 10; i++ {
    18  		k, err := Kprobe("inet6_release", prog, &KprobeOptions{Offset: i})
    19  		if err != nil {
    20  			continue
    21  		}
    22  		k.Close()
    23  
    24  		_, err = Kprobe("inet6_release", prog, &KprobeOptions{Offset: i - 1})
    25  		if !errors.Is(err, os.ErrNotExist) {
    26  			t.Fatalf("expected 'os.ErrNotExist', got: '%v'", err)
    27  		}
    28  		return
    29  	}
    30  
    31  	t.Fatal("no valid offsets found")
    32  }
    33  

View as plain text