From: sashiko-bot@kernel.org
To: "Bivash Kumar Singh" <bivashraj750@gmail.com>
Cc: dmitry.torokhov@gmail.com, linux-input@vger.kernel.org
Subject: Re: [PATCH v2] Input: gunze: replace deprecated APIs and fix warning style
Date: Sun, 19 Jul 2026 05:53:56 +0000 [thread overview]
Message-ID: <20260719055357.5DDAC1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260719054121.5917-1-bivashraj750@gmail.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Strict parsing with kstrtoul() and an early return drops packets on non-digit coordinate data, potentially causing permanently stuck touch states.
--
--- Patch [1]: [PATCH v2] Input: gunze: replace deprecated APIs and fix warning style ---
commit 448e772e264a7d37aec51432b84a51cdf06f350f
Author: Bivash Kumar Singh <bivashraj750@gmail.com>
Input: gunze: replace deprecated APIs and fix warning style
This commit replaces the deprecated simple_strtoul() API with kstrtoul()
and updates the logging style to use dev_warn(). It also adds an early
return in the packet processing path if coordinate parsing fails.
> diff --git a/drivers/input/touchscreen/gunze.c b/drivers/input/touchscreen/gunze.c
> index 2baeb4f3b941c..e9c028430420c 100644
> --- a/drivers/input/touchscreen/gunze.c
> +++ b/drivers/input/touchscreen/gunze.c
[ ... ]
> @@ -41,15 +41,24 @@ static void gunze_process_packet(struct gunze *gunze)
[ ... ]
> - input_report_abs(dev, ABS_X, simple_strtoul(gunze->data + 1, NULL, 10));
> - input_report_abs(dev, ABS_Y, 1024 - simple_strtoul(gunze->data + 6, NULL, 10));
> + memcpy(buf, gunze->data, GUNZE_MAX_LENGTH);
> + buf[5] = '\0'; /*NULL-terminate X portion: "1234\0" */
> + buf[GUNZE_MAX_LENGTH] = '\0'; /*NULL-terminate Y portion */
> +
> + if (kstrtoul(buf + 1, 10, &x) || kstrtoul(buf + 6, 10, &y))
> + return;
[Severity: High]
Could this strict parsing with kstrtoul() and early return drop valid events
and cause the touch state to get permanently stuck?
Unlike simple_strtoul(), which stops parsing at the first non-digit character,
kstrtoul() will return an error if the string contains trailing spaces or
serial line noise.
If a touch release packet (starting with 'R') contains non-digit padding,
kstrtoul() will return an error and trigger this early return.
> +
> + input_report_abs(dev, ABS_X, x);
> + input_report_abs(dev, ABS_Y, 1024 - y);
> input_report_key(dev, BTN_TOUCH, gunze->data[0] == 'T');
> input_sync(dev);
Bypassing the BTN_TOUCH state update and input_sync() would cause the
touchscreen to remain stuck in a pressed state until a subsequent valid
packet is received.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260719054121.5917-1-bivashraj750@gmail.com?part=1
next prev parent reply other threads:[~2026-07-19 5:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-18 19:00 [PATCH] Input: gunze: replace deprecated APIs and fix warning style Bivash Kumar Singh
2026-07-18 19:12 ` sashiko-bot
2026-07-19 5:41 ` [PATCH v2] " Bivash Kumar Singh
2026-07-19 5:53 ` sashiko-bot [this message]
2026-07-19 6:02 ` [PATCH v3] " Bivash Kumar Singh
2026-07-19 6:13 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260719055357.5DDAC1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=bivashraj750@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox