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: <1d57d1b3-cbaa-41d1-baf1-fa2fec1fd285@arm.com>
Date: Wed, 6 Aug 2025 13:37:21 +0100
From: Robin Murphy <robin.murphy@....com>
To: Arnd Bergmann <arnd@...nel.org>, Nipun Gupta <nipun.gupta@....com>,
 Nikhil Agarwal <nikhil.agarwal@....com>
Cc: Thomas Gleixner <tglx@...utronix.de>, Marc Zyngier <maz@...nel.org>,
 Arnd Bergmann <arnd@...db.de>,
 Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
 Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
 Thomas Weißschuu <linux@...ssschuh.net>,
 Qiu-ji Chen <chenqiuji666@...il.com>, Peter Zijlstra <peterz@...radead.org>,
 "Rob Herring (Arm)" <robh@...nel.org>,
 Abhijit Gangurde <abhijit.gangurde@....com>,
 Nathan Chancellor <nathan@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] cdx: don't select CONFIG_GENERIC_MSI_IRQ

On 2025-08-05 5:10 pm, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
> 
> x86 does not use CONFIG_GENERIC_MSI_IRQ, and trying to enable it anyway
> results in a build failure:
> 
> In file included from include/linux/ssb/ssb.h:10,
>                   from drivers/ssb/pcihost_wrapper.c:18:
> include/linux/gpio/driver.h:41:33: error: field 'msiinfo' has incomplete type
>     41 |         msi_alloc_info_t        msiinfo;
>        |                                 ^~~~~~~
> In file included from include/linux/kvm_host.h:19,
>                   from arch/x86/events/intel/core.c:17:
> include/linux/msi.h:528:33: error: field 'alloc_info' has incomplete type
>    528 |         msi_alloc_info_t        alloc_info;
> 
> Change the driver to actually build without this symbol and remove the
> incorrect 'select' statements.

Looks OK to me, the Makefile is clearly trying to support building 
without this force-enabled anyway. In fact I'd go as far as saying that 
this also deserves a

Fixes: e8b18c11731d ("cdx: Fix missing GENERIC_MSI_IRQ on compile test")

And FWIW,

Reviewed-by: Robin Murphy <robin.murphy@....com>

> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
>   drivers/cdx/Kconfig                     | 1 -
>   drivers/cdx/cdx.c                       | 2 +-
>   drivers/cdx/controller/Kconfig          | 1 -
>   drivers/cdx/controller/cdx_controller.c | 3 ++-
>   4 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/cdx/Kconfig b/drivers/cdx/Kconfig
> index 3af41f51cf38..1f1e360507d7 100644
> --- a/drivers/cdx/Kconfig
> +++ b/drivers/cdx/Kconfig
> @@ -8,7 +8,6 @@
>   config CDX_BUS
>   	bool "CDX Bus driver"
>   	depends on OF && ARM64 || COMPILE_TEST
> -	select GENERIC_MSI_IRQ
>   	help
>   	  Driver to enable Composable DMA Transfer(CDX) Bus. CDX bus
>   	  exposes Fabric devices which uses composable DMA IP to the
> diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c
> index 092306ca2541..1a5c95ba09ba 100644
> --- a/drivers/cdx/cdx.c
> +++ b/drivers/cdx/cdx.c
> @@ -310,7 +310,7 @@ static int cdx_probe(struct device *dev)
>   	 * Setup MSI device data so that generic MSI alloc/free can
>   	 * be used by the device driver.
>   	 */
> -	if (cdx->msi_domain) {
> +	if (IS_ENABLED(CONFIG_GENERIC_MSI_IRQ) && cdx->msi_domain) {
>   		error = msi_setup_device_data(&cdx_dev->dev);
>   		if (error)
>   			return error;
> diff --git a/drivers/cdx/controller/Kconfig b/drivers/cdx/controller/Kconfig
> index 0641a4c21e66..a480b62cbd1f 100644
> --- a/drivers/cdx/controller/Kconfig
> +++ b/drivers/cdx/controller/Kconfig
> @@ -10,7 +10,6 @@ if CDX_BUS
>   config CDX_CONTROLLER
>   	tristate "CDX bus controller"
>   	depends on HAS_DMA
> -	select GENERIC_MSI_IRQ
>   	select REMOTEPROC
>   	select RPMSG
>   	help
> diff --git a/drivers/cdx/controller/cdx_controller.c b/drivers/cdx/controller/cdx_controller.c
> index fca83141e3e6..5e3fd89b6b56 100644
> --- a/drivers/cdx/controller/cdx_controller.c
> +++ b/drivers/cdx/controller/cdx_controller.c
> @@ -193,7 +193,8 @@ static int xlnx_cdx_probe(struct platform_device *pdev)
>   	cdx->ops = &cdx_ops;
>   
>   	/* Create MSI domain */
> -	cdx->msi_domain = cdx_msi_domain_init(&pdev->dev);
> +	if (IS_ENABLED(CONFIG_GENERIC_MSI_IRQ))
> +		cdx->msi_domain = cdx_msi_domain_init(&pdev->dev);
>   	if (!cdx->msi_domain) {
>   		ret = dev_err_probe(&pdev->dev, -ENODEV, "cdx_msi_domain_init() failed");
>   		goto cdx_msi_fail;


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ