Linux Input/HID development
 help / color / mirror / Atom feed
* [bug report] selftests/hid: add tests for bpf_hid_hw_request
@ 2023-06-06  8:31 Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2023-06-06  8:31 UTC (permalink / raw)
  To: benjamin.tissoires; +Cc: linux-input

Hello Benjamin Tissoires,

The patch 4f7153cf461e: "selftests/hid: add tests for
bpf_hid_hw_request" from Nov 3, 2022, leads to the following Smatch
static checker warning:

	./tools/testing/selftests/hid/hid_bpf.c:214 uhid_event()
	warn: assigning (-5) to unsigned variable 'answer.u.get_report_reply.err'

./tools/testing/selftests/hid/hid_bpf.c
    203         case UHID_CLOSE:
    204                 UHID_LOG("UHID_CLOSE from uhid-dev");
    205                 break;
    206         case UHID_OUTPUT:
    207                 UHID_LOG("UHID_OUTPUT from uhid-dev");
    208                 break;
    209         case UHID_GET_REPORT:
    210                 UHID_LOG("UHID_GET_REPORT from uhid-dev");
    211 
    212                 answer.type = UHID_GET_REPORT_REPLY;
    213                 answer.u.get_report_reply.id = ev.u.get_report.id;
--> 214                 answer.u.get_report_reply.err = ev.u.get_report.rnum == 1 ? 0 : -EIO;
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is a u16 so it can't hold negative error codes.

    215                 answer.u.get_report_reply.size = sizeof(feature_data);
    216                 memcpy(answer.u.get_report_reply.data, feature_data, sizeof(feature_data));
    217 
    218                 uhid_write(_metadata, fd, &answer);
    219 
    220                 break;
    221         case UHID_SET_REPORT:
    222                 UHID_LOG("UHID_SET_REPORT from uhid-dev");
    223                 break;
    224         default:

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [bug report] selftests/hid: add tests for bpf_hid_hw_request
@ 2024-09-05  6:17 Dan Carpenter
  2024-09-05 12:45 ` Benjamin Tissoires
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2024-09-05  6:17 UTC (permalink / raw)
  To: Benjamin Tissoires; +Cc: linux-input

[ Moving these functions around made them show up as new warnings. ]

Hello Benjamin Tissoires,

Commit 4f7153cf461e ("selftests/hid: add tests for
bpf_hid_hw_request") from Nov 3, 2022 (linux-next), leads to the
following Smatch static checker warning:

	tools/testing/selftests/hid/hid_common.h:212 uhid_event()
	warn: assigning (-5) to unsigned variable 'answer.u.get_report_reply.err'

tools/testing/selftests/hid/hid_common.h
    207         case UHID_GET_REPORT:
    208                 UHID_LOG("UHID_GET_REPORT from uhid-dev");
    209 
    210                 answer.type = UHID_GET_REPORT_REPLY;
    211                 answer.u.get_report_reply.id = ev.u.get_report.id;
--> 212                 answer.u.get_report_reply.err = ev.u.get_report.rnum == 1 ? 0 : -EIO;

answer.u.get_report_reply.err is a u16.  I couldn't figure out which kind of
error codes it's supposed to store or how they're used...

    213                 answer.u.get_report_reply.size = sizeof(feature_data);
    214                 memcpy(answer.u.get_report_reply.data, feature_data, sizeof(feature_data));
    215 
    216                 uhid_write(_metadata, fd, &answer);
    217 
    218                 break;
    219         case UHID_SET_REPORT:
    220                 UHID_LOG("UHID_SET_REPORT from uhid-dev");
    221                 break;
    222         default:

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-09-05 12:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-06  8:31 [bug report] selftests/hid: add tests for bpf_hid_hw_request Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2024-09-05  6:17 Dan Carpenter
2024-09-05 12:45 ` Benjamin Tissoires

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox