From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Yizhuo Zhai <yzhai003@ucr.edu>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
Date: Tue, 15 Jun 2021 12:41:51 -0700 [thread overview]
Message-ID: <YMkCfykNyHtuMUkY@google.com> (raw)
In-Reply-To: <CABvMjLSKe2ojoVTZOwv_Dr4P4rsDa334vBc_-T8sMTPUJ-f==g@mail.gmail.com>
On Tue, Jun 15, 2021 at 11:57:36AM -0700, Yizhuo Zhai wrote:
> Hi Demitry:
>
> Thanks for your quick response, following your advice, a careful way
> is changing the return type of "hideep_nvm_unlock()" from void to
> int, and its caller "hideep_program_nvm()" also needs to add the
> return check.
>
> If this sounds ok, I would go ahead to modify the patch accordingly.
Yes, this sounds right.
>
> On Tue, Jun 15, 2021 at 11:15 AM Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> >
> > Hi Yizhuo,
> >
> > On Tue, Jun 15, 2021 at 10:26:09AM -0700, Yizhuo Zhai wrote:
> > > Inside function hideep_nvm_unlock(), variable "unmask_code" could
> > > be uninitialized if hideep_pgm_r_reg() returns error, however, it
> > > is used in the later if statement after an "and" operation, which
> > > is potentially unsafe.
> >
> > I do not think that simply initializing the variable makes the code
> > behave any better. If we want to fix this properly we need to check for
> > errors returned by hideep_pgm_r_reg() and hideep_pgm_w_reg() and exit
> > this function early, signalling the caller about errors.
> >
> > >
> > > Signed-off-by: Yizhuo <yzhai003@ucr.edu>
> > > ---
> > > drivers/input/touchscreen/hideep.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/input/touchscreen/hideep.c
> > > b/drivers/input/touchscreen/hideep.c
> > > index ddad4a82a5e5..49b713ad4384 100644
> > > --- a/drivers/input/touchscreen/hideep.c
> > > +++ b/drivers/input/touchscreen/hideep.c
> > > @@ -363,7 +363,7 @@ static int hideep_enter_pgm(struct hideep_ts *ts)
> > >
> > > static void hideep_nvm_unlock(struct hideep_ts *ts)
> > > {
> > > - u32 unmask_code;
> > > + u32 unmask_code = 0;
> > >
> > > hideep_pgm_w_reg(ts, HIDEEP_FLASH_CFG, HIDEEP_NVM_SFR_RPAGE);
> > > hideep_pgm_r_reg(ts, 0x0000000C, &unmask_code);
> > > --
> > > 2.17.1
> >
> > Thanks.
> >
> > --
> > Dmitry
>
>
>
> --
> Kind Regards,
>
> Yizhuo Zhai
>
> Computer Science, Graduate Student
> University of California, Riverside
--
Dmitry
next prev parent reply other threads:[~2021-06-15 19:41 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-15 17:26 [PATCH] Input: hideep - fix the uninitialized use in hideep_nvm_unlock() Yizhuo Zhai
2021-06-15 18:15 ` Dmitry Torokhov
2021-06-15 18:57 ` Yizhuo Zhai
2021-06-15 19:41 ` Dmitry Torokhov [this message]
[not found] <CABvMjLRxy1yqXUOWqTTeq=UOsLtuPAyOSCi4SPgcbAqjMuWCCg@mail.gmail.com>
2021-06-20 5:10 ` Dmitry Torokhov
2021-06-20 5:26 ` Dmitry Torokhov
2021-06-20 5:35 ` Dmitry Torokhov
2021-06-20 6:00 ` Yizhuo Zhai
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=YMkCfykNyHtuMUkY@google.com \
--to=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=yzhai003@ucr.edu \
/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.