@ -3,7 +3,7 @@ use std::borrow::Cow;
use proc_macro2 ::TokenStream ;
use proc_macro2 ::TokenStream ;
use proc_macro2_diagnostics ::{ Diagnostic , SpanDiagnosticExt as _ } ;
use proc_macro2_diagnostics ::{ Diagnostic , SpanDiagnosticExt as _ } ;
use quote ::quote ;
use quote ::quote ;
use syn ::{ spanned::Spanned as _ , Ident , ItemFn } ;
use syn ::{ Ident, ItemFn , spanned::Spanned as _ } ;
pub ( crate ) struct CgroupSockAddr {
pub ( crate ) struct CgroupSockAddr {
item : ItemFn ,
item : ItemFn ,
@ -46,8 +46,8 @@ impl CgroupSockAddr {
let section_name : Cow < ' _ , _ > = format! ( "cgroup/{attach_type}" ) . into ( ) ;
let section_name : Cow < ' _ , _ > = format! ( "cgroup/{attach_type}" ) . into ( ) ;
let fn_name = & sig . ident ;
let fn_name = & sig . ident ;
quote ! {
quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = #section_name]
#[ unsafe( link_section = #section_name) ]
#vis fn #fn_name ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
#vis fn #fn_name ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return #fn_name ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return #fn_name ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -76,8 +76,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/connect4 " ]
#[ unsafe( link_section = " cgroup/connect4 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -102,8 +102,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/connect6 " ]
#[ unsafe( link_section = " cgroup/connect6 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -128,8 +128,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/bind4 " ]
#[ unsafe( link_section = " cgroup/bind4 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -154,8 +154,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/bind6 " ]
#[ unsafe( link_section = " cgroup/bind6 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -180,8 +180,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/getpeername4 " ]
#[ unsafe( link_section = " cgroup/getpeername4 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -206,8 +206,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/getpeername6 " ]
#[ unsafe( link_section = " cgroup/getpeername6 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -232,8 +232,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/getsockname4 " ]
#[ unsafe( link_section = " cgroup/getsockname4 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -258,8 +258,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/getsockname6 " ]
#[ unsafe( link_section = " cgroup/getsockname6 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -284,8 +284,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/sendmsg4 " ]
#[ unsafe( link_section = " cgroup/sendmsg4 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -310,8 +310,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/sendmsg6 " ]
#[ unsafe( link_section = " cgroup/sendmsg6 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -336,8 +336,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/recvmsg4 " ]
#[ unsafe( link_section = " cgroup/recvmsg4 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
@ -362,8 +362,8 @@ mod tests {
. unwrap ( ) ;
. unwrap ( ) ;
let expanded = prog . expand ( ) ;
let expanded = prog . expand ( ) ;
let expected = quote ! {
let expected = quote ! {
#[ no_mangle]
#[ unsafe( no_mangle) ]
#[ link_section = " cgroup/recvmsg6 " ]
#[ unsafe( link_section = " cgroup/recvmsg6 " ) ]
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
fn foo ( ctx : * mut ::aya_ebpf ::bindings ::bpf_sock_addr ) -> i32 {
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;
return foo ( ::aya_ebpf ::programs ::SockAddrContext ::new ( ctx ) ) ;