| Function report | 
| Source Code: kernel\bpf\syscall.c | Create Date:2022-07-28 12:53:48 | 
| Last Modify:2022-05-19 18:06:12 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:bpf_raw_tracepoint_open
Proto:static int bpf_raw_tracepoint_open(const union bpf_attr *attr)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| const union bpf_attr * | attr | 
| 1953 | If helper macro to check that unused fields 'union bpf_attr' are zero (BPF_RAW_TRACEPOINT_OPEN) Then Return -EINVAL | 
| 1956 | prog = bpf_prog_get(prog_fd) | 
| 1964 | Go to out_put_prog | 
| 1967 | If Type of BPF program == BPF_PROG_TYPE_TRACING Then | 
| 1968 | If name Then | 
| 1973 | Go to out_put_prog | 
| 1975 | If For some prog types == BPF_TRACE_RAW_TP Then tp_name = function name for valid attach_btf_id | 
| 1977 | Else Return bpf_tracing_prog_attach(prog) | 
| 1979 | Else | 
| 1980 | If Copy a NUL terminated string from userspace < 0 Then | 
| 1984 | Go to out_put_prog | 
| 1990 | btp = bpf_get_raw_tracepoint(tp_name) | 
| 1991 | If Not btp Then | 
| 1993 | Go to out_put_prog | 
| 1996 | raw_tp = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). | 
| 1997 | If Not raw_tp Then | 
| 1999 | Go to out_put_btp | 
| 2004 | err = bpf_probe_register(btp, prog) | 
| 2005 | If err Then Go to out_free_tp | 
| 2008 | tp_fd = anon_inode_getfd("bpf-raw-tracepoint", & bpf_raw_tp_fops, raw_tp, O_CLOEXEC) | 
| 2010 | If tp_fd < 0 Then | 
| 2015 | Return tp_fd | 
| 2017 | out_free_tp : | 
| 2019 | out_put_btp : | 
| 2020 | bpf_put_raw_tracepoint(btp) | 
| 2021 | out_put_prog : | 
| 2022 | bpf_prog_put(prog) | 
| 2023 | Return err | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |