From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "Gerecke, Jason" <Jason.Gerecke@wacom.com>
Cc: Jiri Kosina <jikos@kernel.org>, Yiyuan GUO <yguoaz@gmail.com>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
Yiyuan GUO <yguoaz@cse.ust.hk>,
"Cheng, Ping" <Ping.Cheng@wacom.com>
Subject: Re: [PATCH] HID: wacom: check input_dev->absinfo in wacom_bpt3_touch_msg
Date: Wed, 2 Jun 2021 18:33:06 -0700 [thread overview]
Message-ID: <YLgxUnP8cTi9J9eg@google.com> (raw)
In-Reply-To: <VI1PR07MB58210C73FCD05B54826446E4ED239@VI1PR07MB5821.eurprd07.prod.outlook.com>
On Fri, May 28, 2021 at 02:19:37PM +0000, Gerecke, Jason wrote:
> From: Jiri Kosina <jikos@kernel.org>
> >
> > On Mon, 17 May 2021, Yiyuan GUO wrote:
> >
> > > The function wacom_bpt3_touch_msg calls input_abs_get_res(input,
> > > ABS_MT_POSITION_X) to obtain x_res, which may equal to 0 if
> > > input->absinfo is NULL. Since x_res is used as a divisor, this
> > > may lead to divide by zero problem.
> > >
> > > Signed-off-by: Yiyuan GUO <yguoaz@cse.ust.hk>
> > > ---
> > > drivers/hid/wacom_wac.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
> > > index 81d7d12bc..a5a6fb8bc 100644
> > > --- a/drivers/hid/wacom_wac.c
> > > +++ b/drivers/hid/wacom_wac.c
> > > @@ -2892,7 +2892,7 @@ static void wacom_bpt3_touch_msg(struct wacom_wac *wacom, unsigned char *data)
> > > bool touch = data[1] & 0x80;
> > > int slot = input_mt_get_slot_by_key(input, data[0]);
> > >
> > > - if (slot < 0)
> > > + if (slot < 0 || !input->absinfo)
> > > return;
> > >
> > > touch = touch && report_touch_events(wacom);
> >
> > CCing Wacom driver maintainers in order to get their ack.
> >
> > --
> > Jiri Kosina
> > SUSE Labs
>
> A NULL input->absinfo is very much an unexpected condition. We've
> either failed somewhere during setup or things have gone off the rails
> afterwards. Silently limping along like this is a bad idea. I'd really
> like to see an error message logged and the device removed if
> possible.
Input core (input_register_device) will refuse registering an input
device claiming to be absolute (EV_ABS present in dev->absbit) but not
having dev->absinfo allocated, so this is not going to happen in real
life.
Thanks.
--
Dmitry
prev parent reply other threads:[~2021-06-03 1:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-17 9:34 [PATCH] HID: wacom: check input_dev->absinfo in wacom_bpt3_touch_msg Yiyuan GUO
2021-05-26 10:50 ` Jiri Kosina
2021-05-28 14:19 ` Gerecke, Jason
2021-06-03 1:33 ` Dmitry Torokhov [this message]
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=YLgxUnP8cTi9J9eg@google.com \
--to=dmitry.torokhov@gmail.com \
--cc=Jason.Gerecke@wacom.com \
--cc=Ping.Cheng@wacom.com \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=yguoaz@cse.ust.hk \
--cc=yguoaz@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.