Since the commit mentioned below __xdp_reg_mem_model() can return a NULL pointer. This pointer is dereferenced in trace_mem_connect() which leads to segfault. It can be reproduced with enabled trace events during ifup. Only assign the arguments in the trace-event macro if `xa' is set. Otherwise set the parameters to 0. Fixes: 4a48ef70b93b8 ("xdp: Allow registering memory model without rxq reference") Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- include/trace/events/xdp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/trace/events/xdp.h b/include/trace/events/xdp.h index c40fc97f94171..9196dcd08e6c7 100644 --- a/include/trace/events/xdp.h +++ b/include/trace/events/xdp.h @@ -362,9 +362,9 @@ TRACE_EVENT(mem_connect, TP_fast_assign( __entry->xa = xa; - __entry->mem_id = xa->mem.id; - __entry->mem_type = xa->mem.type; - __entry->allocator = xa->allocator; + __entry->mem_id = xa ? xa->mem.id : 0; + __entry->mem_type = xa ? xa->mem.type : 0; + __entry->allocator = xa ? xa->allocator : NULL; __entry->rxq = rxq; __entry->ifindex = rxq->dev->ifindex; ), -- 2.35.1