Hi, In recent debian kernel 6.1.66-1 kprobe to nf_nat_ipv4_manip_pkt or any nf_nat function is not working. It was working fine on 6.1.55-1 kfunc is working fine. Any suggestions on how to fix this? Below are logs: Not working : / # bpftrace --info System OS: Linux 6.1.0-15-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.66-1 (2023-12-09) Arch: x86_64 Build version: v0.17.1 LLVM: 16.0.3 unsafe uprobe: no bfd: yes libdw (DWARF support): yes Kernel helpers probe_read: yes probe_read_str: yes probe_read_user: yes probe_read_user_str: yes probe_read_kernel: yes probe_read_kernel_str: yes get_current_cgroup_id: yes send_signal: yes override_return: no get_boot_ns: yes dpath: yes skboutput: no Kernel features Instruction limit: 1000000 Loop support: yes btf: yes map batch: yes uprobe refcount (depends on Build:bcc bpf_attach_uprobe refcount): yes Map types hash: yes percpu hash: yes array: yes percpu array: yes stack_trace: yes perf_event_array: yes Probe types kprobe: yes tracepoint: yes perf_event: yes kfunc: yes iter:task: yes iter:task_file: yes kprobe_multi: no raw_tp_special: yes / # $ sudo bpftrace -l | grep "manip" kfunc:nf_nat:l4proto_manip_pkt kfunc:nf_nat:nf_nat_ipv4_manip_pkt kfunc:nf_nat:nf_nat_ipv6_manip_pkt kfunc:nf_nat:nf_nat_manip_pkt kprobe:l4proto_manip_pkt kprobe:nf_nat_ipv4_manip_pkt kprobe:nf_nat_ipv6_manip_pkt kprobe:nf_nat_manip_pkt / # bpftrace -e 'kprobe:nf_nat_ipv4_manip_pkt { printf("func called\n"); }' Attaching 1 probe... cannot attach kprobe, probe entry may not exist ERROR: Error attaching probe: 'kprobe:nf_nat_ipv4_manip_pkt' / # bpftrace -e 'kfunc:nf_nat:nf_nat_ipv4_manip_pkt { printf("func called\n"); }' Attaching 1 probe... func called func called func called func called func called func called func called func called func called func called func called func called ^C / # Working: / # bpftrace --info System OS: Linux 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) Arch: x86_64 Build version: v0.17.1 LLVM: 16.0.3 unsafe uprobe: no bfd: yes libdw (DWARF support): yes Kernel helpers probe_read: yes probe_read_str: yes probe_read_user: yes probe_read_user_str: yes probe_read_kernel: yes probe_read_kernel_str: yes get_current_cgroup_id: yes send_signal: yes override_return: no get_boot_ns: yes dpath: yes skboutput: no Kernel features Instruction limit: 1000000 Loop support: yes btf: yes map batch: yes uprobe refcount (depends on Build:bcc bpf_attach_uprobe refcount): yes Map types hash: yes percpu hash: yes array: yes percpu array: yes stack_trace: yes perf_event_array: yes Probe types kprobe: yes tracepoint: yes perf_event: yes kfunc: yes iter:task: yes iter:task_file: yes kprobe_multi: no raw_tp_special: yes / # bpftrace -l | grep "manip" kprobe:l4proto_manip_pkt kprobe:nf_nat_ipv4_manip_pkt kprobe:nf_nat_ipv6_manip_pkt kprobe:nf_nat_manip_pkt / # / # bpftrace --version bpftrace v0.17.1 / # bpftrace -e 'kprobe:nf_nat_ipv4_manip_pkt { printf("func called\n"); }' Attaching 1 probe... func called func called func called func called func called func called func called func called ^C / # bpftrace -e 'kfunc:nf_nat:nf_nat_ipv4_manip_pkt { printf("func called\n"); }' Attaching 1 probe... func called func called func called func called func called func called func called func called func called ^C / #