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] [thread-next>] [day] [month] [year] [list]
Message-ID: <18260f9c-2e2e-1210-7203-ac3b79f7da2a@arm.com>
Date:   Wed, 18 Jan 2023 11:09:14 +0000
From:   Steven Price <steven.price@....com>
To:     Arnd Bergmann <arnd@...nel.org>, Rob Herring <robh@...nel.org>,
        Tomeu Vizoso <tomeu.vizoso@...labora.com>
Cc:     Arnd Bergmann <arnd@...db.de>,
        Alyssa Rosenzweig <alyssa.rosenzweig@...labora.com>,
        David Airlie <airlied@...il.com>,
        Daniel Vetter <daniel@...ll.ch>,
        Adrián Larumbe <adrian.larumbe@...labora.com>,
        dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
        Robin Murphy <robin.murphy@....com>
Subject: Re: [PATCH] drm/panfrost: fix GENERIC_ATOMIC64 dependency

On 17/01/2023 16:44, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
> 
> On ARMv5 and earlier, a randconfig build can still run into
> 
> WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE
>   Depends on [n]: IOMMU_SUPPORT [=y] && (ARM [=y] || ARM64 || COMPILE_TEST [=y]) && !GENERIC_ATOMIC64 [=y]
>   Selected by [y]:
>   - DRM_PANFROST [=y] && HAS_IOMEM [=y] && DRM [=y] && (ARM [=y] || ARM64 || COMPILE_TEST [=y] && !GENERIC_ATOMIC64 [=y]) && MMU [=y]
> 
> Rework the dependencies to always require a working cmpxchg64.
> 
> Fixes: db594ba3fcf9 ("drm/panfrost: depend on !GENERIC_ATOMIC64 when using COMPILE_TEST")

Looking at db594ba3fcf9 - it states:

>     Since panfrost has a 'select' on IOMMU_IO_PGTABLE_LPAE we must depend on
>     the same set of flags. Otherwise IOMMU_IO_PGTABLE_LPAE will be forced on
>     even though it cannot build (no support for cmpxchg64).

And at the time the dependencies on IOMMU_IO_PGTABLE_LPAE were exactly
these.

However d286a58bc8f4 ("iommu: Tidy up io-pgtable dependencies")
(currently in the iommu tree) changed the depends to split the
!GENERIC_ATOMIC64 out. So we could argue that really that's the commit
that should be blamed in the fixes line.

However there's no harm in this being backported further than it
strictly needs to be, and it's clearly better having the
!GENERIC_ATOMIC64 split out. So I'll merge this to drm-misc-fixes.

Reviewed-by: Steven Price <steven.price@....com>

Thanks!

Steve

> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
>  drivers/gpu/drm/panfrost/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/panfrost/Kconfig b/drivers/gpu/drm/panfrost/Kconfig
> index 079600328be1..e6403a9d66ad 100644
> --- a/drivers/gpu/drm/panfrost/Kconfig
> +++ b/drivers/gpu/drm/panfrost/Kconfig
> @@ -3,7 +3,8 @@
>  config DRM_PANFROST
>  	tristate "Panfrost (DRM support for ARM Mali Midgard/Bifrost GPUs)"
>  	depends on DRM
> -	depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64)
> +	depends on ARM || ARM64 || COMPILE_TEST
> +	depends on !GENERIC_ATOMIC64    # for IOMMU_IO_PGTABLE_LPAE
>  	depends on MMU
>  	select DRM_SCHED
>  	select IOMMU_SUPPORT

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ