On 24/06/2026 00:51, Alison Schofield wrote:
On Mon, Jun 22, 2026 at 03:20:11PM +0100, Ben Dooks wrote:
The dev_err() call in btt_log_read() is passing a seq value
into dev_err() which is a __le32 without any conversion.
Fix the following (prototype) sparse warnings:
drivers/nvdimm/btt.c:342:17: warning: incorrect type in argument 5 (different
base types)
drivers/nvdimm/btt.c:342:17: expected int
drivers/nvdimm/btt.c:342:17: got restricted __le32 [usertype] seq
drivers/nvdimm/btt.c:342:17: warning: incorrect type in argument 6 (different
base types)
drivers/nvdimm/btt.c:342:17: expected int
drivers/nvdimm/btt.c:342:17: got restricted __le32 [usertype] seq
Hi Ben,
Please revise the commit log.
The commit log is a message to all future readers, not a place to
paste static analysis warnings and leave the user visible impact
assumed, or as an exercise for the reader.
Prefer something like this:
When BTT log corruption is detected, btt_log_read() reports the
sequence numbers of the two log entries. Those values are stored
little-endian, so printing them without conversion can report
byte-swapped sequence numbers on big-endian systems.
Convert the sequence numbers to CPU endianness before passing
them to dev_err().
Issue reported by sparse.
(There is no need for the sparse pastings.)
Thanks, I've posted a v2, with a reworded patch commit log.
The only comment is that I like the sparse warnings as it makes it
easier to search if there is a patch in flight for this.
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
https://www.codethink.co.uk/privacy.html