Skip to content

Commit

Permalink
netconsole: add task name to extra data fields
Browse files Browse the repository at this point in the history
This is the core patch for this whole patchset. Add support for
including the current task's name in netconsole's extra data output.
This adds a new append_taskname() function that writes the task name
(from current->comm) into the target's extradata buffer, similar to how
CPU numbers are handled.

The task name is included when the SYSDATA_TASKNAME field is set,
appearing in the format "taskname=<name>" in the output. This additional
context can help with debugging by showing which task generated each
console message.

Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  • Loading branch information
Breno Leitao authored and Paolo Abeni committed Mar 4, 2025
1 parent 09e8775 commit dd30ae5
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion drivers/net/netconsole.c
Original file line number Diff line number Diff line change
Expand Up @@ -1179,24 +1179,33 @@ static int append_cpu_nr(struct netconsole_target *nt, int offset)
raw_smp_processor_id());
}

static int append_taskname(struct netconsole_target *nt, int offset)
{
return scnprintf(&nt->extradata_complete[offset],
MAX_EXTRADATA_ENTRY_LEN, " taskname=%s\n",
current->comm);
}
/*
* prepare_extradata - append sysdata at extradata_complete in runtime
* @nt: target to send message to
*/
static int prepare_extradata(struct netconsole_target *nt)
{
u32 fields = SYSDATA_CPU_NR | SYSDATA_TASKNAME;
int extradata_len;

/* userdata was appended when configfs write helper was called
* by update_userdata().
*/
extradata_len = nt->userdata_length;

if (!(nt->sysdata_fields & SYSDATA_CPU_NR))
if (!(nt->sysdata_fields & fields))
goto out;

if (nt->sysdata_fields & SYSDATA_CPU_NR)
extradata_len += append_cpu_nr(nt, extradata_len);
if (nt->sysdata_fields & SYSDATA_TASKNAME)
extradata_len += append_taskname(nt, extradata_len);

WARN_ON_ONCE(extradata_len >
MAX_EXTRADATA_ENTRY_LEN * MAX_EXTRADATA_ITEMS);
Expand Down

0 comments on commit dd30ae5

Please sign in to comment.