@@ -244,10 +244,10 @@ DEFINE_KPROBE(ipt_do_table, 1)
244244 struct xt_table * table = (void * )PT_REGS_PARM3 (ctx );
245245 nf_event_t e = {
246246 .event = { .func = func , },
247- .hook = _ (state -> hook ),
247+ .hook = _C (state , hook ),
248248 };
249249
250- bpf_probe_read (e .table , sizeof (e .table ) - 1 , table -> name );
250+ bpf_probe_read (e .table , sizeof (e .table ) - 1 , _C ( table , name ) );
251251 return handle_entry (ctx , skb , & e .event , sizeof (e ), func );
252252}
253253
@@ -265,8 +265,8 @@ DEFINE_KPROBE(nf_hook_slow, 1)
265265 if (handle_entry (ctx , skb , & e .event , 0 , func ))
266266 return 0 ;
267267
268- e .hook = _ (state -> hook );
269- e .pf = _ (state -> pf );
268+ e .hook = _C (state , hook );
269+ e .pf = _C (state , pf );
270270 EVENT_OUTPUT (ctx , e );
271271 return 0 ;
272272
@@ -277,8 +277,8 @@ on_hooks:;
277277 if (handle_entry (ctx , skb , & hooks_event .event , 0 , func ))
278278 return 0 ;
279279
280- hooks_event .hook = _ (state -> hook );
281- hooks_event .pf = _ (state -> pf );
280+ hooks_event .hook = _C (state , hook );
281+ hooks_event .pf = _C (state , pf );
282282 num = _ (entries -> num_hook_entries );
283283
284284#define COPY_HOOK (i ) do { \
@@ -318,18 +318,20 @@ DEFINE_KPROBE_RAW(nft_do_chain, NULL)
318318 if (handle_entry (ctx , skb , & e .event , 0 , func ))
319319 return 0 ;
320320
321- #ifndef NFT_HIGH_VERSION
322- state = _ (pkt -> xt . state );
323- # else
324- state = _ (pkt -> state );
325- #endif
326- chain = (void * )PT_REGS_PARM2 (ctx );
327- table = _ (chain -> table );
328- e .hook = _ (state -> hook );
329- e .pf = _ (state -> pf );
321+ if ( ARGS_GET_CONFIG ( nft_high ))
322+ state = _ ((( struct _nft_pktinfo_new * ) pkt ) -> state );
323+ else
324+ state = _ ((( struct _nft_pktinfo * ) pkt ) -> xt . state );
325+
326+ chain = (void * )PT_REGS_PARM2 (ctx );
327+ table = _CT (chain , table );
328+ e .hook = _C (state , hook );
329+ e .pf = _C (state , pf );
330330
331- bpf_probe_read_kernel_str (e .chain , sizeof (e .chain ), _ (chain -> name ));
332- bpf_probe_read_kernel_str (e .table , sizeof (e .table ), _ (table -> name ));
331+ bpf_probe_read_kernel_str (e .chain , sizeof (e .chain ),
332+ _CT (chain , name ));
333+ bpf_probe_read_kernel_str (e .table , sizeof (e .table ),
334+ _CT (table , name ));
333335
334336 EVENT_OUTPUT (ctx , e );
335337 return 0 ;
0 commit comments