nvme: trace: avoid memcpy overflow warning
authorArnd Bergmann <arnd@arndb.de>
Wed, 3 Jan 2024 15:56:56 +0000 (16:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:55 +0000 (15:35 -0800)
[ Upstream commit a7de1dea76cd6a3707707af4ea2f8bc3cdeaeb11 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/target/trace.h

index 155334d..974d99d 100644 (file)
@@ -84,7 +84,7 @@ TRACE_EVENT(nvmet_req_init,
                __entry->flags = cmd->common.flags;
                __entry->nsid = le32_to_cpu(cmd->common.nsid);
                __entry->metadata = le64_to_cpu(cmd->common.metadata);
-               memcpy(__entry->cdw10, &cmd->common.cdw10,
+               memcpy(__entry->cdw10, &cmd->common.cdws,
                        sizeof(__entry->cdw10));
        ),
        TP_printk("nvmet%s: %sqid=%d, cmdid=%u, nsid=%u, flags=%#x, "