diff --git a/pkg/sensors/program/loader.go b/pkg/sensors/program/loader.go index fe95f12280d..0df39723da7 100644 --- a/pkg/sensors/program/loader.go +++ b/pkg/sensors/program/loader.go @@ -696,44 +696,6 @@ func slimVerifierError(errStr string) string { return errStr[:headEnd] + "\n...\n" + errStr[tailStart:] } -func installTailCalls(bpfDir string, spec *ebpf.CollectionSpec, coll *ebpf.Collection, load *Program) error { - // FIXME(JM): This should be replaced by using the cilium/ebpf prog array initialization. - - secToProgName := make(map[string]string) - for name, prog := range spec.Programs { - secToProgName[prog.SectionName] = name - } - - install := func(pinPath string, secPrefix string) error { - tailCallsMap, err := ebpf.LoadPinnedMap(filepath.Join(bpfDir, pinPath), nil) - if err != nil { - return nil - } - defer tailCallsMap.Close() - - for i := 0; i < 13; i++ { - secName := fmt.Sprintf("%s/%d", secPrefix, i) - if progName, ok := secToProgName[secName]; ok { - if prog, ok := coll.Programs[progName]; ok { - err := tailCallsMap.Update(uint32(i), uint32(prog.FD()), ebpf.UpdateAny) - if err != nil { - return fmt.Errorf("update of tail-call map '%s' failed: %w", pinPath, err) - } - } - } - } - return nil - } - - if load.TcMap != nil { - if err := install(load.TcMap.PinPath, load.TcPrefix); err != nil { - return err - } - } - - return nil -} - func doLoadProgram( bpfDir string, load *Program, @@ -857,11 +819,6 @@ func doLoadProgram( } defer coll.Close() - err = installTailCalls(bpfDir, spec, coll, load) - if err != nil { - return nil, fmt.Errorf("installing tail calls failed: %s", err) - } - for _, mapLoad := range load.MapLoad { pinPath := "" if pm, ok := load.PinMap[mapLoad.Name]; ok { diff --git a/pkg/sensors/program/program.go b/pkg/sensors/program/program.go index 835d7d7d1fb..f8b0efb992e 100644 --- a/pkg/sensors/program/program.go +++ b/pkg/sensors/program/program.go @@ -149,10 +149,6 @@ type Program struct { // Type information used for CO-RE relocations. KernelTypes *btf.Spec - // Tail call prefix/map - TcPrefix string - TcMap *Map - Link link.Link Prog *ebpf.Program @@ -175,12 +171,6 @@ func (p *Program) SetAttachData(d interface{}) *Program { return p } -func (p *Program) SetTailCall(prefix string, m *Map) *Program { - p.TcPrefix = prefix - p.TcMap = m - return p -} - func (p *Program) SetPolicy(policy string) *Program { p.Policy = policy return p