[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CADnq5_PGyR=6iyFNrmjcimFc+y7ietqVybV89z3zqUcxbkJSNA@mail.gmail.com>
Date: Thu, 9 Nov 2023 10:40:39 -0500
From: Alex Deucher <alexdeucher@...il.com>
To: José Pekkarinen <jose.pekkarinen@...hound.fi>
Cc: Greg KH <gregkh@...uxfoundation.org>, Xinhui.Pan@....com,
linux-kernel@...r.kernel.org, amd-gfx@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org, skhan@...uxfoundation.org,
alexander.deucher@....com, evan.quan@....com,
christian.koenig@....com, linux-kernel-mentees@...ts.linux.dev
Subject: Re: [PATCH] drm/amd/pm: replace 1-element arrays with flexible-array members
On Thu, Nov 9, 2023 at 7:14 AM José Pekkarinen
<jose.pekkarinen@...hound.fi> wrote:
>
> On 2023-11-09 11:06, Greg KH wrote:
> > On Thu, Nov 09, 2023 at 10:43:50AM +0200, José Pekkarinen wrote:
> >> On 2023-11-08 09:29, Greg KH wrote:
> >> > On Wed, Nov 08, 2023 at 08:54:35AM +0200, José Pekkarinen wrote:
> >> > > The following case seems to be safe to be replaced with a flexible
> >> > > array
> >> > > to clean up the added coccinelle warning. This patch will just do it.
> >> > >
> >> > > drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h:76:38-63:
> >> > > WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> >> > >
> >> > > Signed-off-by: José Pekkarinen <jose.pekkarinen@...hound.fi>
> >> > > ---
> >> > > drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h | 2 +-
> >> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> >> > >
> >> > > diff --git a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h
> >> > > b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h
> >> > > index c7b61222d258..1ce4087005f0 100644
> >> > > --- a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h
> >> > > +++ b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h
> >> > > @@ -73,7 +73,7 @@ struct smu8_register_index_data_pair {
> >> > >
> >> > > struct smu8_ih_meta_data {
> >> > > uint32_t command;
> >> > > - struct smu8_register_index_data_pair register_index_value_pair[1];
> >> > > + struct smu8_register_index_data_pair register_index_value_pair[];
> >> >
> >> > Did you just change this structure size without any need to change any
> >> > code as well? How was this tested?
> >>
> >> I didn't find any use of that struct member, if I missed
> >> something here, please let me know and I'll happily address any
> >> needed further work.
> >
> > I don't think this is even a variable array. It's just a one element
> > one, which is fine, don't be confused by the coccinelle "warning" here,
> > it's fired many false-positives and you need to verify this properly
> > with the driver authors first before changing anything.
>
> My apologies to you, and anybody that feels the same, it is not my
> intention to bother with mistaken patches, I just assume that this patch
> or any other from me, will go to review process, where it should be fine
> if the patch is right, wrong, need further work, or further testing
> either
> from my side or anybody else, and at the end of the day I need to do
> patches if I want to find my mentorship patches, and graduate.
>
> > In short, you just changed the size of this structure, are you _sure_
> > you can do that? And yes, it doesn't look like this field is used, but
> > the structure is, so be careful.
>
> I don't know, let check it out together and see where this goes.
I think it may have been used with the SMU firmware. I'll need to
check with that team to determine if this was meant to be a variable
sized array or not.
Alex
Powered by blists - more mailing lists