]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
HID: core: Fix size_t specifier in hid_report_raw_event()
authorNathan Chancellor <nathan@kernel.org>
Sun, 17 May 2026 04:51:01 +0000 (13:51 +0900)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 18 May 2026 20:05:41 +0000 (13:05 -0700)
When building for 32-bit platforms, for which 'size_t' is
'unsigned int', there are warnings around using the incorrect format
specifier to print bsize in hid_report_raw_event():

  drivers/hid/hid-core.c:2054:29: error: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat]
   2053 |                 hid_warn_ratelimited(hid, "Event data for report %d is incorrect (%d vs %ld)\n",
        |                                                                                         ~~~
        |                                                                                         %zu
   2054 |                                      report->id, csize, bsize);
        |                                                         ^~~~~
  drivers/hid/hid-core.c:2076:29: error: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat]
   2075 |                 hid_warn_ratelimited(hid, "Event data for report %d was too short (%d vs %ld)\n",
        |                                                                                          ~~~
        |                                                                                          %zu
   2076 |                                      report->id, rsize, bsize);
        |                                                         ^~~~~

Use the proper 'size_t' format specifier, '%zu', to clear up the
warnings.

Cc: stable@vger.kernel.org
Fixes: 2c85c61d1332 ("HID: pass the buffer size to hid_report_raw_event")
Reported-by: Miguel Ojeda <ojeda@kernel.org>
Closes: https://lore.kernel.org/20260516020430.110135-1-ojeda@kernel.org/
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/hid/hid-core.c

index b3596851c7191a4a24094ef1e393aef0b07447e2..41a79e43c82b32c8a04187f08d76497a71d2da50 100644 (file)
@@ -2050,7 +2050,7 @@ int hid_report_raw_event(struct hid_device *hid, enum hid_report_type type, u8 *
                return 0;
 
        if (unlikely(bsize < csize)) {
-               hid_warn_ratelimited(hid, "Event data for report %d is incorrect (%d vs %ld)\n",
+               hid_warn_ratelimited(hid, "Event data for report %d is incorrect (%d vs %zu)\n",
                                     report->id, csize, bsize);
                return -EINVAL;
        }
@@ -2072,7 +2072,7 @@ int hid_report_raw_event(struct hid_device *hid, enum hid_report_type type, u8 *
                rsize = max_buffer_size;
 
        if (bsize < rsize) {
-               hid_warn_ratelimited(hid, "Event data for report %d was too short (%d vs %ld)\n",
+               hid_warn_ratelimited(hid, "Event data for report %d was too short (%d vs %zu)\n",
                                     report->id, rsize, bsize);
                return -EINVAL;
        }