diff mbox series

input_helper: Modify the check range of the input event number

Message ID TYAPR01MB6044D2E0749663D84DE1F395D9352@TYAPR01MB6044.jpnprd01.prod.outlook.com
State New
Headers show
Series input_helper: Modify the check range of the input event number | expand

Commit Message

Kogure Akihisa ( 小暮 明久 ) March 26, 2024, 12:24 a.m. UTC
If the input event number is greater than 32, the newly added event ID
will be 256 or later.
When there were already 32 input events in the device, this test program
only checked 0~99, so it failed because it could not find a new input
event ID.

In order to eliminate this failure, we changed the event ID range to be
checked by this test program to 0~356 (256+100).

Bug: 330269984
Test: ltp
Change-Id: I1b53008b15641fcdccf214af9183de1c29a3309c
---

Comments

Cyril Hrubis March 26, 2024, 2:23 p.m. UTC | #1
Hi!
> If the input event number is greater than 32, the newly added event ID
> will be 256 or later.

I've tried it and it seems to work that way, but it strange why these
are numbered discontinously. May be even a bug.

> When there were already 32 input events in the device, this test program
> only checked 0~99, so it failed because it could not find a new input
> event ID.
> In order to eliminate this failure, we changed the event ID range to be
> checked by this test program to 0~356 (256+100).

I guess that since we are changing the code we can as well add a bigger
value there. Let's bump it at least ten times so that we don't have to
change it again later on.

> Bug: 330269984
> Test: ltp
> Change-Id: I1b53008b15641fcdccf214af9183de1c29a3309c
> ---
> 
> diff --git a/testcases/kernel/input/input_helper.c b/testcases/kernel/input/input_helper.c
> index c929de6..f086ae5 100644
> --- a/testcases/kernel/input/input_helper.c
> +++ b/testcases/kernel/input/input_helper.c
> @@ -41,7 +41,7 @@
>       int ret, fd = -1;
>       unsigned int i;
> 
> -     for (i = 0; i < 100; i++) {
> +     for (i = 0; i < 356; i++) {
>             snprintf(path, sizeof(path), "/dev/input/event%i", i);
> 
>             fd = open(path, O_RDONLY);
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Cyril Hrubis March 26, 2024, 2:37 p.m. UTC | #2
Hi!
> > If the input event number is greater than 32, the newly added event ID
> > will be 256 or later.
> 
> I've tried it and it seems to work that way, but it strange why these
> are numbered discontinously. May be even a bug.

And apparently this is intentional:

commit 7f8d4cad1e4e11a45d02bd6e024cc2812963c38a
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Mon Oct 8 09:07:24 2012 -0700

    Input: extend the number of event (and other) devices
Kogure Akihisa ( 小暮 明久 ) March 27, 2024, 1:26 a.m. UTC | #3
Hi !

> I guess that since we are changing the code we can as well add a bigger
> value there. Let's bump it at least ten times so that we don't have to
> change it again later on.

The following commit was set to 1023 for the upper limit of event IDs, so we changed it to check up to 0-1023.
https://github.com/torvalds/linux/commit/7f8d4cad1e4e11a45d02bd6e024cc2812963c38a

---

If the input event number is greater than 32, the newly added event ID
will be 256 or later.
When there were already 32 input events in the device, this test program
only checked 0~99, so it failed because it could not find a new input
event ID.

In order to eliminate this failure, we changed the event ID range to be
checked by this test program to 0~1023.
(https://github.com/torvalds/linux/commit/7f8d4cad1e4e11a45d02bd6e024cc2812963c38a, it looks like the upper limit should be 1023.)

---

diff --git a/testcases/kernel/input/input_helper.c b/testcases/kernel/input/input_helper.c
index 09530fb..6b60d17 100644
--- a/testcases/kernel/input/input_helper.c
+++ b/testcases/kernel/input/input_helper.c
@@ -40,7 +40,7 @@
      int ret, fd = -1;
      unsigned int i;

-     for (i = 0; i < 100; i++) {
+     for (i = 0; i < 1024; i++) {
            snprintf(path, sizeof(path), "/dev/input/event%i", i);

            fd = open(path, O_RDONLY);



---
Akihisa Kogure
akihisa.kogure.ke@kyocera.jp
Petr Vorel March 28, 2024, 10:42 a.m. UTC | #4
Hi,

> If the input event number is greater than 32, the newly added event ID
> will be 256 or later.
> When there were already 32 input events in the device, this test program
> only checked 0~99, so it failed because it could not find a new input
> event ID.

> In order to eliminate this failure, we changed the event ID range to be
> checked by this test program to 0~1023.
> (https://github.com/torvalds/linux/commit/7f8d4cad1e4e11a45d02bd6e024cc2812963c38a, it looks like the upper limit should be 1023.)

For 1024:
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Ideally you would send v2, but we can also update the commit message and code
before merge.

Kind regards,
Petr

> ---

> diff --git a/testcases/kernel/input/input_helper.c b/testcases/kernel/input/input_helper.c
> index 09530fb..6b60d17 100644
> --- a/testcases/kernel/input/input_helper.c
> +++ b/testcases/kernel/input/input_helper.c
> @@ -40,7 +40,7 @@
>       int ret, fd = -1;
>       unsigned int i;

> -     for (i = 0; i < 100; i++) {
> +     for (i = 0; i < 1024; i++) {
>             snprintf(path, sizeof(path), "/dev/input/event%i", i);
diff mbox series

Patch

diff --git a/testcases/kernel/input/input_helper.c b/testcases/kernel/input/input_helper.c
index c929de6..f086ae5 100644
--- a/testcases/kernel/input/input_helper.c
+++ b/testcases/kernel/input/input_helper.c
@@ -41,7 +41,7 @@ 
      int ret, fd = -1;
      unsigned int i;

-     for (i = 0; i < 100; i++) {
+     for (i = 0; i < 356; i++) {
            snprintf(path, sizeof(path), "/dev/input/event%i", i);

            fd = open(path, O_RDONLY);