Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\trampoline.c Create Date:2022-07-28 13:15:50
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:bpf_trampoline_link_prog

Proto:int bpf_trampoline_link_prog(struct bpf_prog *prog)

Type:int

Parameter:

TypeParameterName
struct bpf_prog *prog
195  err = 0
197  tr = trampoline
198  kind = bpf_attach_type_to_tramp( For some prog types )
199  mutex_lock( & serializes access to fields of this trampoline )
200  If Number of attached programs. A counter per kind. [BPF_TRAMP_FENTRY] + Number of attached programs. A counter per kind. [BPF_TRAMP_FEXIT] >= Each call __bpf_prog_enter + call bpf_func + call __bpf_prog_exit is ~50* bytes on x86. Pick a number to fit into PAGE_SIZE / 2 Then
202  err = -E2BIG
203  Go to out
205  If Not hlist_unhashed( & tramp_hlist) Then
207  err = -EBUSY
208  Go to out
210  hlist_add_head( & tramp_hlist, & list of BPF programs using this trampoline [kind])
211  Number of attached programs. A counter per kind. [kind]++
212  err = bpf_trampoline_update(trampoline)
213  If err Then
214  hlist_del( & tramp_hlist)
215  Number of attached programs. A counter per kind. [kind]--
217  out :
218  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
219  Return err
Caller
NameDescribe
bpf_tracing_prog_attach