2023-01-27 22:14:27

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] gpu: host1x: fix uninitialized variable use

From: Arnd Bergmann <[email protected]>

The error handling for platform_get_irq() failing no longer
works after a recent change, clang now points this out with
a warning:

drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
if (syncpt_irq < 0)
^~~~~~~~~~

Fix this by removing the variable and checking the correct
error status.

Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/gpu/host1x/dev.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
index 4872d183d860..aae2efeef503 100644
--- a/drivers/gpu/host1x/dev.c
+++ b/drivers/gpu/host1x/dev.c
@@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
static int host1x_probe(struct platform_device *pdev)
{
struct host1x *host;
- int syncpt_irq;
int err;

host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
@@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
}

host->syncpt_irq = platform_get_irq(pdev, 0);
- if (syncpt_irq < 0)
- return syncpt_irq;
+ if (host->syncpt_irq < 0)
+ return host->syncpt_irq;

mutex_init(&host->devices_lock);
INIT_LIST_HEAD(&host->devices);
--
2.39.0



2023-01-27 23:18:29

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> The error handling for platform_get_irq() failing no longer
> works after a recent change, clang now points this out with
> a warning:
>
> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> if (syncpt_irq < 0)
> ^~~~~~~~~~
>
> Fix this by removing the variable and checking the correct
> error status.
>
> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> Signed-off-by: Arnd Bergmann <[email protected]>

I had the same diff pending but civic duty called today :)

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
> drivers/gpu/host1x/dev.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> index 4872d183d860..aae2efeef503 100644
> --- a/drivers/gpu/host1x/dev.c
> +++ b/drivers/gpu/host1x/dev.c
> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> static int host1x_probe(struct platform_device *pdev)
> {
> struct host1x *host;
> - int syncpt_irq;
> int err;
>
> host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> }
>
> host->syncpt_irq = platform_get_irq(pdev, 0);
> - if (syncpt_irq < 0)
> - return syncpt_irq;
> + if (host->syncpt_irq < 0)
> + return host->syncpt_irq;
>
> mutex_init(&host->devices_lock);
> INIT_LIST_HEAD(&host->devices);
> --
> 2.39.0
>

2023-01-28 08:12:50

by Mikko Perttunen

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

On 1/28/23 01:18, Nathan Chancellor wrote:
> On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
>> From: Arnd Bergmann <[email protected]>
>>
>> The error handling for platform_get_irq() failing no longer
>> works after a recent change, clang now points this out with
>> a warning:
>>
>> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
>> if (syncpt_irq < 0)
>> ^~~~~~~~~~
>>
>> Fix this by removing the variable and checking the correct
>> error status.
>>
>> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
>> Signed-off-by: Arnd Bergmann <[email protected]>
>
> I had the same diff pending but civic duty called today :)
>
> Reviewed-by: Nathan Chancellor <[email protected]>
>
>> ---
>> drivers/gpu/host1x/dev.c | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
>> index 4872d183d860..aae2efeef503 100644
>> --- a/drivers/gpu/host1x/dev.c
>> +++ b/drivers/gpu/host1x/dev.c
>> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
>> static int host1x_probe(struct platform_device *pdev)
>> {
>> struct host1x *host;
>> - int syncpt_irq;
>> int err;
>>
>> host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
>> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
>> }
>>
>> host->syncpt_irq = platform_get_irq(pdev, 0);
>> - if (syncpt_irq < 0)
>> - return syncpt_irq;
>> + if (host->syncpt_irq < 0)
>> + return host->syncpt_irq;
>>
>> mutex_init(&host->devices_lock);
>> INIT_LIST_HEAD(&host->devices);
>> --
>> 2.39.0
>>

Thanks both for the fix :)

FWIW,

Reviewed-by: Mikko Perttunen <[email protected]>

2023-02-01 23:19:42

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> The error handling for platform_get_irq() failing no longer
> works after a recent change, clang now points this out with
> a warning:
>
> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> if (syncpt_irq < 0)
> ^~~~~~~~~~
>
> Fix this by removing the variable and checking the correct
> error status.
>
> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> Signed-off-by: Arnd Bergmann <[email protected]>

Thanks Arnd, I saw some reports from kernelci about this, too.
https://lore.kernel.org/linux-next/?q=warning%3A+variable+%27syncpt_irq%27+is+uninitialized+when+used+here

Reported-by: "kernelci.org bot" <[email protected]>
Reviewed-by: Nick Desaulniers <[email protected]>

> ---
> drivers/gpu/host1x/dev.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> index 4872d183d860..aae2efeef503 100644
> --- a/drivers/gpu/host1x/dev.c
> +++ b/drivers/gpu/host1x/dev.c
> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> static int host1x_probe(struct platform_device *pdev)
> {
> struct host1x *host;
> - int syncpt_irq;
> int err;
>
> host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> }
>
> host->syncpt_irq = platform_get_irq(pdev, 0);
> - if (syncpt_irq < 0)
> - return syncpt_irq;
> + if (host->syncpt_irq < 0)
> + return host->syncpt_irq;
>
> mutex_init(&host->devices_lock);
> INIT_LIST_HEAD(&host->devices);
> --
> 2.39.0
>
>

2023-02-23 16:29:00

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

Hi Thierry, Daniel, and David,

On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> The error handling for platform_get_irq() failing no longer
> works after a recent change, clang now points this out with
> a warning:
>
> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> if (syncpt_irq < 0)
> ^~~~~~~~~~
>
> Fix this by removing the variable and checking the correct
> error status.
>
> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/gpu/host1x/dev.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> index 4872d183d860..aae2efeef503 100644
> --- a/drivers/gpu/host1x/dev.c
> +++ b/drivers/gpu/host1x/dev.c
> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> static int host1x_probe(struct platform_device *pdev)
> {
> struct host1x *host;
> - int syncpt_irq;
> int err;
>
> host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> }
>
> host->syncpt_irq = platform_get_irq(pdev, 0);
> - if (syncpt_irq < 0)
> - return syncpt_irq;
> + if (host->syncpt_irq < 0)
> + return host->syncpt_irq;
>
> mutex_init(&host->devices_lock);
> INIT_LIST_HEAD(&host->devices);
> --
> 2.39.0
>

Apologies if this has been reported already or has a solution in
progress but mainline is now broken because this change got separated
from the change it is fixing:

https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log

I see this change sitting in the drm-tegra tree [1], which is getting
merged into -next, so it is fixed there, which is why we did not notice
any issues until the drm-next tree was merged into mainline. Can this be
fast tracked to Linus to unbreak clang builds with -Werror?

[1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a

Cheers,
Nathan

2023-03-08 16:59:07

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

Ping? This warning is now in 6.3-rc1.

On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
> Hi Thierry, Daniel, and David,
>
> On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > The error handling for platform_get_irq() failing no longer
> > works after a recent change, clang now points this out with
> > a warning:
> >
> > drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> > if (syncpt_irq < 0)
> > ^~~~~~~~~~
> >
> > Fix this by removing the variable and checking the correct
> > error status.
> >
> > Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> > Signed-off-by: Arnd Bergmann <[email protected]>
> > ---
> > drivers/gpu/host1x/dev.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> > index 4872d183d860..aae2efeef503 100644
> > --- a/drivers/gpu/host1x/dev.c
> > +++ b/drivers/gpu/host1x/dev.c
> > @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> > static int host1x_probe(struct platform_device *pdev)
> > {
> > struct host1x *host;
> > - int syncpt_irq;
> > int err;
> >
> > host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> > @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> > }
> >
> > host->syncpt_irq = platform_get_irq(pdev, 0);
> > - if (syncpt_irq < 0)
> > - return syncpt_irq;
> > + if (host->syncpt_irq < 0)
> > + return host->syncpt_irq;
> >
> > mutex_init(&host->devices_lock);
> > INIT_LIST_HEAD(&host->devices);
> > --
> > 2.39.0
> >
>
> Apologies if this has been reported already or has a solution in
> progress but mainline is now broken because this change got separated
> from the change it is fixing:
>
> https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
> https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
>
> I see this change sitting in the drm-tegra tree [1], which is getting
> merged into -next, so it is fixed there, which is why we did not notice
> any issues until the drm-next tree was merged into mainline. Can this be
> fast tracked to Linus to unbreak clang builds with -Werror?
>
> [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a

2023-03-08 17:28:24

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use



On 08/03/2023 16:56, Nathan Chancellor wrote:
> Ping? This warning is now in 6.3-rc1.

Thierry is away at the moment.

David, Daniel, do you want to pick this up directly in the meantime as a
fix for 6.3? Mikko has already reviewed and FWIW ...

Reviewed-by: Jon Hunter <[email protected]>

Thanks
Jon


> On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
>> Hi Thierry, Daniel, and David,
>>
>> On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
>>> From: Arnd Bergmann <[email protected]>
>>>
>>> The error handling for platform_get_irq() failing no longer
>>> works after a recent change, clang now points this out with
>>> a warning:
>>>
>>> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
>>> if (syncpt_irq < 0)
>>> ^~~~~~~~~~
>>>
>>> Fix this by removing the variable and checking the correct
>>> error status.
>>>
>>> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
>>> Signed-off-by: Arnd Bergmann <[email protected]>
>>> ---
>>> drivers/gpu/host1x/dev.c | 5 ++---
>>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
>>> index 4872d183d860..aae2efeef503 100644
>>> --- a/drivers/gpu/host1x/dev.c
>>> +++ b/drivers/gpu/host1x/dev.c
>>> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
>>> static int host1x_probe(struct platform_device *pdev)
>>> {
>>> struct host1x *host;
>>> - int syncpt_irq;
>>> int err;
>>>
>>> host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
>>> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
>>> }
>>>
>>> host->syncpt_irq = platform_get_irq(pdev, 0);
>>> - if (syncpt_irq < 0)
>>> - return syncpt_irq;
>>> + if (host->syncpt_irq < 0)
>>> + return host->syncpt_irq;
>>>
>>> mutex_init(&host->devices_lock);
>>> INIT_LIST_HEAD(&host->devices);
>>> --
>>> 2.39.0
>>>
>>
>> Apologies if this has been reported already or has a solution in
>> progress but mainline is now broken because this change got separated
>> from the change it is fixing:
>>
>> https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
>> https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
>>
>> I see this change sitting in the drm-tegra tree [1], which is getting
>> merged into -next, so it is fixed there, which is why we did not notice
>> any issues until the drm-next tree was merged into mainline. Can this be
>> fast tracked to Linus to unbreak clang builds with -Werror?
>>
>> [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a

--
nvpublic

2023-03-24 09:47:46

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
>
>
> On 08/03/2023 16:56, Nathan Chancellor wrote:
> > Ping? This warning is now in 6.3-rc1.
>
> Thierry is away at the moment.
>
> David, Daniel, do you want to pick this up directly in the meantime as a fix
> for 6.3? Mikko has already reviewed and FWIW ...

Generally first fallback should be drm-misc maintainers (or anyone else
with commit rights), but since this fell through cracks for weeks it seems
I'll pick it up to drm-fixes now directly.
-Daniel

>
> Reviewed-by: Jon Hunter <[email protected]>
>
> Thanks
> Jon
>
>
> > On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
> > > Hi Thierry, Daniel, and David,
> > >
> > > On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> > > > From: Arnd Bergmann <[email protected]>
> > > >
> > > > The error handling for platform_get_irq() failing no longer
> > > > works after a recent change, clang now points this out with
> > > > a warning:
> > > >
> > > > drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> > > > if (syncpt_irq < 0)
> > > > ^~~~~~~~~~
> > > >
> > > > Fix this by removing the variable and checking the correct
> > > > error status.
> > > >
> > > > Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> > > > Signed-off-by: Arnd Bergmann <[email protected]>
> > > > ---
> > > > drivers/gpu/host1x/dev.c | 5 ++---
> > > > 1 file changed, 2 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> > > > index 4872d183d860..aae2efeef503 100644
> > > > --- a/drivers/gpu/host1x/dev.c
> > > > +++ b/drivers/gpu/host1x/dev.c
> > > > @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> > > > static int host1x_probe(struct platform_device *pdev)
> > > > {
> > > > struct host1x *host;
> > > > - int syncpt_irq;
> > > > int err;
> > > > host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> > > > @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> > > > }
> > > > host->syncpt_irq = platform_get_irq(pdev, 0);
> > > > - if (syncpt_irq < 0)
> > > > - return syncpt_irq;
> > > > + if (host->syncpt_irq < 0)
> > > > + return host->syncpt_irq;
> > > > mutex_init(&host->devices_lock);
> > > > INIT_LIST_HEAD(&host->devices);
> > > > --
> > > > 2.39.0
> > > >
> > >
> > > Apologies if this has been reported already or has a solution in
> > > progress but mainline is now broken because this change got separated
> > > from the change it is fixing:
> > >
> > > https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
> > > https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
> > >
> > > I see this change sitting in the drm-tegra tree [1], which is getting
> > > merged into -next, so it is fixed there, which is why we did not notice
> > > any issues until the drm-next tree was merged into mainline. Can this be
> > > fast tracked to Linus to unbreak clang builds with -Werror?
> > >
> > > [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a
>
> --
> nvpublic

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2023-03-24 10:04:59

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

On Fri, 24 Mar 2023 at 10:46, Daniel Vetter <[email protected]> wrote:
>
> On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
> >
> >
> > On 08/03/2023 16:56, Nathan Chancellor wrote:
> > > Ping? This warning is now in 6.3-rc1.
> >
> > Thierry is away at the moment.
> >
> > David, Daniel, do you want to pick this up directly in the meantime as a fix
> > for 6.3? Mikko has already reviewed and FWIW ...
>
> Generally first fallback should be drm-misc maintainers (or anyone else
> with commit rights), but since this fell through cracks for weeks it seems
> I'll pick it up to drm-fixes now directly.

Ok I think I found out why this fell through cracks, MAINTAINERS isn't
updated that host1x&tegra is maintained in drm-misc.

John, since Thierry is out, can you pls create the MAINTAINERS patch to
- point at drm-misc git repo everywhere needed
- add any missing host1x paths to the drm-misc entry so that
get_maintainers.pl adds the right people for this patch (currently it
doesn't)

Also should we have at least a 2nd person for tegra stuff (or well
maybe nvidia stuff in general) for drm-misc? Currently it's just
Thierry, and I don't think that's enough. Whomever gets volunteered
please follow

https://drm.pages.freedesktop.org/maintainer-tools/commit-access.html#drm-misc

Thanks, Daniel


>
> >
> > Reviewed-by: Jon Hunter <[email protected]>
> >
> > Thanks
> > Jon
> >
> >
> > > On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
> > > > Hi Thierry, Daniel, and David,
> > > >
> > > > On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> > > > > From: Arnd Bergmann <[email protected]>
> > > > >
> > > > > The error handling for platform_get_irq() failing no longer
> > > > > works after a recent change, clang now points this out with
> > > > > a warning:
> > > > >
> > > > > drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> > > > > if (syncpt_irq < 0)
> > > > > ^~~~~~~~~~
> > > > >
> > > > > Fix this by removing the variable and checking the correct
> > > > > error status.
> > > > >
> > > > > Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> > > > > Signed-off-by: Arnd Bergmann <[email protected]>
> > > > > ---
> > > > > drivers/gpu/host1x/dev.c | 5 ++---
> > > > > 1 file changed, 2 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> > > > > index 4872d183d860..aae2efeef503 100644
> > > > > --- a/drivers/gpu/host1x/dev.c
> > > > > +++ b/drivers/gpu/host1x/dev.c
> > > > > @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> > > > > static int host1x_probe(struct platform_device *pdev)
> > > > > {
> > > > > struct host1x *host;
> > > > > - int syncpt_irq;
> > > > > int err;
> > > > > host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> > > > > @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> > > > > }
> > > > > host->syncpt_irq = platform_get_irq(pdev, 0);
> > > > > - if (syncpt_irq < 0)
> > > > > - return syncpt_irq;
> > > > > + if (host->syncpt_irq < 0)
> > > > > + return host->syncpt_irq;
> > > > > mutex_init(&host->devices_lock);
> > > > > INIT_LIST_HEAD(&host->devices);
> > > > > --
> > > > > 2.39.0
> > > > >
> > > >
> > > > Apologies if this has been reported already or has a solution in
> > > > progress but mainline is now broken because this change got separated
> > > > from the change it is fixing:
> > > >
> > > > https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
> > > > https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
> > > >
> > > > I see this change sitting in the drm-tegra tree [1], which is getting
> > > > merged into -next, so it is fixed there, which is why we did not notice
> > > > any issues until the drm-next tree was merged into mainline. Can this be
> > > > fast tracked to Linus to unbreak clang builds with -Werror?
> > > >
> > > > [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a
> >
> > --
> > nvpublic
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch



--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2023-03-24 11:01:34

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

On Fri, 24 Mar 2023 at 11:38, Thierry Reding <[email protected]> wrote:
>
> On Fri, Mar 24, 2023 at 10:59:23AM +0100, Daniel Vetter wrote:
> > On Fri, 24 Mar 2023 at 10:46, Daniel Vetter <[email protected]> wrote:
> > >
> > > On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
> > > >
> > > >
> > > > On 08/03/2023 16:56, Nathan Chancellor wrote:
> > > > > Ping? This warning is now in 6.3-rc1.
> > > >
> > > > Thierry is away at the moment.
> > > >
> > > > David, Daniel, do you want to pick this up directly in the meantime as a fix
> > > > for 6.3? Mikko has already reviewed and FWIW ...
> > >
> > > Generally first fallback should be drm-misc maintainers (or anyone else
> > > with commit rights), but since this fell through cracks for weeks it seems
> > > I'll pick it up to drm-fixes now directly.
> >
> > Ok I think I found out why this fell through cracks, MAINTAINERS isn't
> > updated that host1x&tegra is maintained in drm-misc.
> >
> > John, since Thierry is out, can you pls create the MAINTAINERS patch to
> > - point at drm-misc git repo everywhere needed
> > - add any missing host1x paths to the drm-misc entry so that
> > get_maintainers.pl adds the right people for this patch (currently it
> > doesn't)
> >
> > Also should we have at least a 2nd person for tegra stuff (or well
> > maybe nvidia stuff in general) for drm-misc? Currently it's just
> > Thierry, and I don't think that's enough. Whomever gets volunteered
> > please follow
> >
> > https://drm.pages.freedesktop.org/maintainer-tools/commit-access.html#drm-misc
>
> We never actually moved host1x and Tegra DRM to drm-misc completely.
> There's still a separate tree that feeds into linux-next. This made
> sense a while ago because there was a lot going on, but development
> speed has decreased recently, so we may want to fix that. The big
> benefit is that drm-misc is better oiled than drm-tegra, so getting
> things merged would be easier for everyone.

Hm I thought you had a split where you feed -fixes through misc and
features through tegra.git? Just listing both trees would cover that.

> I'm all in favor of adding a second Tegra person to take pick up the
> slack when necessary.

Imo features still through tegra.git with just you is fine, there's
not going to be anyone else (like ci farms) blocked if that's held up
for a bit. It's more the bugfixes where a 2nd nvidia person would be
great.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2023-03-24 11:16:03

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH] gpu: host1x: fix uninitialized variable use

On Fri, Mar 24, 2023 at 10:59:23AM +0100, Daniel Vetter wrote:
> On Fri, 24 Mar 2023 at 10:46, Daniel Vetter <[email protected]> wrote:
> >
> > On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
> > >
> > >
> > > On 08/03/2023 16:56, Nathan Chancellor wrote:
> > > > Ping? This warning is now in 6.3-rc1.
> > >
> > > Thierry is away at the moment.
> > >
> > > David, Daniel, do you want to pick this up directly in the meantime as a fix
> > > for 6.3? Mikko has already reviewed and FWIW ...
> >
> > Generally first fallback should be drm-misc maintainers (or anyone else
> > with commit rights), but since this fell through cracks for weeks it seems
> > I'll pick it up to drm-fixes now directly.
>
> Ok I think I found out why this fell through cracks, MAINTAINERS isn't
> updated that host1x&tegra is maintained in drm-misc.
>
> John, since Thierry is out, can you pls create the MAINTAINERS patch to
> - point at drm-misc git repo everywhere needed
> - add any missing host1x paths to the drm-misc entry so that
> get_maintainers.pl adds the right people for this patch (currently it
> doesn't)
>
> Also should we have at least a 2nd person for tegra stuff (or well
> maybe nvidia stuff in general) for drm-misc? Currently it's just
> Thierry, and I don't think that's enough. Whomever gets volunteered
> please follow
>
> https://drm.pages.freedesktop.org/maintainer-tools/commit-access.html#drm-misc

We never actually moved host1x and Tegra DRM to drm-misc completely.
There's still a separate tree that feeds into linux-next. This made
sense a while ago because there was a lot going on, but development
speed has decreased recently, so we may want to fix that. The big
benefit is that drm-misc is better oiled than drm-tegra, so getting
things merged would be easier for everyone.

I'm all in favor of adding a second Tegra person to take pick up the
slack when necessary.

Thierry


Attachments:
(No filename) (1.90 kB)
signature.asc (849.00 B)
Download all attachments