lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 18 Mar 2022 08:44:52 -0700
From:   Guenter Roeck <groeck@...gle.com>
To:     Paul Menzel <pmenzel@...gen.mpg.de>
Cc:     Aashish Sharma <shraash@...gle.com>,
        Harry Wentland <harry.wentland@....com>,
        Leo Li <sunpeng.li@....com>,
        Rodrigo Siqueira <Rodrigo.Siqueira@....com>,
        Alex Deucher <alexander.deucher@....com>,
        Pan Xinhui <Xinhui.Pan@....com>,
        David Airlie <airlied@...ux.ie>,
        Nicholas Kazlauskas <nicholas.kazlauskas@....com>,
        Meenakshikumar Somasundaram <meenakshikumar.somasundaram@....com>,
        Jake Wang <haonan.wang2@....com>,
        Anson Jacob <Anson.Jacob@....com>,
        Guenter Roeck <groeck@...omium.org>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        Maling list - DRI developers 
        <dri-devel@...ts.freedesktop.org>,
        amd-gfx list <amd-gfx@...ts.freedesktop.org>,
        Daniel Vetter <daniel@...ll.ch>, Wayne Lin <wayne.lin@....com>,
        Anthony Koo <Anthony.Koo@....com>
Subject: Re: [PATCH] drm/amd/display: Fixed the unused-but-set-variable warning

Hi Paul,

On Thu, Mar 17, 2022 at 10:58 PM Paul Menzel <pmenzel@...gen.mpg.de> wrote:
>
> Dear Aashish,
>
>
> Am 17.03.22 um 15:01 schrieb Aashish Sharma:
>
> Thank you for your patch. If you are going to send a v2, please use
> imperative mood. Maybe:
>

Uuh, sorry, I have to take the blame for that. I am guiding Aashish
through the process of submitting patches upstream, and I completely
missed that.

> drm/amd/display: Fix unused-but-set-variable warning
>
>
> > Fixed this kernel test robot warning:
>
> Maybe:
>
> Fix the kernel test robot warning below:
>
> > drivers/gpu/drm/amd/amdgpu/../display/dmub/inc/dmub_cmd.h:2893:12:
> > warning: variable 'temp' set but not used [-Wunused-but-set-variable]
> >
> > Replaced the assignment to the unused temp variable with READ_ONCE()
> > macro to flush the writes.
>
> Replace …
>
> Excuse my ignorance regarding `READ_ONCE()`, but is that the reason you
> remove the volatile qualifier?
>

It is not the reason to remove volatile, it is to enable removing it.
I had suggested using it, following its description " ... Ensuring
that the compiler does not fold, spindle, or otherwise  * mutilate
accesses ... ", to avoid the use of volatile, and to make it obvious
from the code that the read is intentional. My apologies if that is
the wrong approach. A simpler solution would be to just remove the
temp variable if that is preferred.

> Some robots ask in their report to add a Found-by tag. If so, please add
> one.

I think that should be "Reported-by", or more specifically

Reported-by: kernel test robot <lkp@...el.com>

>
> > Signed-off-by: Aashish Sharma <shraash@...gle.com>
> > ---
> >   drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 5 ++---
> >   1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
> > index 873ecd04e01d..b7981a781701 100644
> > --- a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
> > +++ b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
> > @@ -2913,13 +2913,12 @@ static inline void dmub_rb_flush_pending(const struct dmub_rb *rb)
> >       uint32_t wptr = rb->wrpt;
> >
> >       while (rptr != wptr) {
> > -             uint64_t volatile *data = (uint64_t volatile *)((uint8_t *)(rb->base_address) + rptr);
> > +             uint64_t *data = (uint64_t volatile *)((uint8_t *)(rb->base_address) + rptr);
> >               //uint64_t volatile *p = (uint64_t volatile *)data;
> > -             uint64_t temp;
> >               uint8_t i;
> >
> >               for (i = 0; i < DMUB_RB_CMD_SIZE / sizeof(uint64_t); i++)
> > -                     temp = *data++;
> > +                     (void)READ_ONCE(*data++);
>
> Did you verify, that the generated code is the same now, or what the
> differences are. If it’s different from before, you should document in
> the commit message, that it’s wanted, as otherwise, it’s an invasive
> change just to fix a warning.
>

The generated code is exactly the same on x86.

Thanks,
Guenter

> >               rptr += DMUB_RB_CMD_SIZE;
> >               if (rptr >= rb->capacity)
>
>
> Kind regards,
>
> Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ