]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bnxt_en: Report the ethtool coredump length after copying the coredump
authorShruti Parab <shruti.parab@broadcom.com>
Thu, 17 Apr 2025 17:24:46 +0000 (10:24 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 22 Apr 2025 01:50:34 +0000 (18:50 -0700)
commitc21c8e1e4348315aa89f31dfa96c6f3ba3b9a5cf
tree565bfbd3decdce01ceb6e545b3cfe5aa536dcf07
parent0fcad44a86bdc2b5f202d91ba1eeeee6fceb7b25
bnxt_en: Report the ethtool coredump length after copying the coredump

ethtool first calls .get_dump_flags() to get the dump length.  For
coredump, the driver calls the FW to get the coredump length (L1).  The
min. of L1 and the user specified length is then passed to
.get_dump_data() (L2) to get the coredump.  The actual coredump length
retrieved by the FW (L3) during .get_dump_data() may be smaller than L1.
This length discrepancy will trigger a WARN_ON() in
ethtool_get_dump_data().

ethtool has already vzalloc'ed a buffer with size L1.  Just report
the coredump length as L2 even though the actual coredump length L3
may be smaller.  The extra zero padding does not matter.  This will
prevent the warning that may alarm the user.

For correctness, only do the final length update if there is no error.

Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com>
Signed-off-by: Shruti Parab <shruti.parab@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250417172448.1206107-3-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c