Skip to content

Commit 4f5641e

Browse files
committed
Use the existing accept4 program instead of inet_csk_accept
1 parent 6597c03 commit 4f5641e

File tree

2 files changed

+5
-21
lines changed

2 files changed

+5
-21
lines changed

bpf/generictracer/k_tracer.c

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -117,13 +117,10 @@ int BPF_KRETPROBE(obi_kretprobe_sys_accept4, s32 fd) {
117117
(void)ctx;
118118

119119
u64 id = bpf_get_current_pid_tgid();
120-
121120
if (!valid_pid(id)) {
122121
return 0;
123122
}
124123

125-
//bpf_dbg_printk("=== accept 4 ret id=%d ===", id);
126-
127124
bpf_dbg_printk("=== accept 4 ret id=%d, fd=%d ===", id, fd);
128125

129126
// The file descriptor is the value returned from the accept4 syscall.
@@ -138,6 +135,11 @@ int BPF_KRETPROBE(obi_kretprobe_sys_accept4, s32 fd) {
138135
goto cleanup;
139136
}
140137

138+
struct socket *sock = (struct socket *)args->addr;
139+
struct sock *sk = BPF_CORE_READ(sock, sk);
140+
struct sock_port_ns np = sock_port_ns_from_sk(sk);
141+
bpf_map_update_elem(&listening_ports, &np, &(bool){true}, BPF_ANY);
142+
141143
ssl_pid_connection_info_t info = {};
142144

143145
if (parse_accept_socket_info(args, &info.p_conn.conn)) {
@@ -1053,20 +1055,6 @@ int obi_handle_buf_with_args(void *ctx) {
10531055
return 0;
10541056
}
10551057

1056-
SEC("kprobe/inet_csk_accept")
1057-
int BPF_KPROBE(obi_kprobe_inet_csk_accept, struct sock *sk) {
1058-
(void)ctx;
1059-
1060-
u64 id = bpf_get_current_pid_tgid();
1061-
(void)id;
1062-
1063-
bpf_dbg_printk("=== inet_csk_accept id=%d ===", id);
1064-
1065-
struct sock_port_ns np = sock_port_ns_from_sk(sk);
1066-
bpf_map_update_elem(&listening_ports, &np, &(bool){true}, BPF_ANY);
1067-
return 0;
1068-
}
1069-
10701058
SEC("kprobe/inet_csk_listen_stop")
10711059
int BPF_KPROBE(obi_kprobe_inet_csk_listen_stop, struct sock *sk) {
10721060
(void)ctx;

pkg/components/ebpf/generictracer/generictracer.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,6 @@ func (p *Tracer) KProbes() map[string]ebpfcommon.ProbeDesc {
304304
Start: p.bpfObjects.ObiKprobeUnixStreamSendmsg,
305305
End: p.bpfObjects.ObiKretprobeUnixStreamSendmsg,
306306
},
307-
"inet_csk_accept": {
308-
Required: true,
309-
Start: p.bpfObjects.ObiKprobeInetCskAccept,
310-
},
311307
"inet_csk_listen_stop": {
312308
Required: true,
313309
Start: p.bpfObjects.ObiKprobeInetCskListenStop,

0 commit comments

Comments
 (0)