Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

nvme: trace: avoid memcpy overflow warning

A previous patch introduced a struct_group() in nvme_common_command to help
stringop fortification figure out the length of the fields, but one function
is not currently using them:

In file included from drivers/nvme/target/core.c:7:
In file included from include/linux/string.h:254:
include/linux/fortify-string.h:592:4: error: call to '__read_overflow2_field' declared with 'warning' attribute: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
__read_overflow2_field(q_size_field, size);
^

Change this one to use the correct field name to avoid the warning.

Fixes: 5c629dc9609dc ("nvme: use struct group for generic command dwords")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>

authored by

Arnd Bergmann and committed by
Keith Busch
a7de1dea 4ee7ffeb

+1 -1
+1 -1
drivers/nvme/target/trace.h
··· 90 90 __entry->flags = cmd->common.flags; 91 91 __entry->nsid = le32_to_cpu(cmd->common.nsid); 92 92 __entry->metadata = le64_to_cpu(cmd->common.metadata); 93 - memcpy(__entry->cdw10, &cmd->common.cdw10, 93 + memcpy(__entry->cdw10, &cmd->common.cdws, 94 94 sizeof(__entry->cdw10)); 95 95 ), 96 96 TP_printk("nvmet%s: %sqid=%d, cmdid=%u, nsid=%u, flags=%#x, "