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: <dbe0b77b-df0b-8477-cc78-3e0c392680e8@infradead.org>
Date:   Mon, 5 Apr 2021 09:31:38 -0700
From:   Randy Dunlap <rdunlap@...radead.org>
To:     Christophe Leroy <christophe.leroy@...roup.eu>,
        linux-kernel@...r.kernel.org
Cc:     linuxppc-dev@...ts.ozlabs.org, kernel test robot <lkp@...el.com>,
        Anton Blanchard <anton@...ba.org>
Subject: Re: [PATCH v2] powerpc: iommu: fix build when neither PCI or IBMVIO
 is set

On 4/5/21 2:04 AM, Christophe Leroy wrote:
> 
> 
> Le 04/04/2021 à 21:26, Randy Dunlap a écrit :
>> When neither CONFIG_PCI nor CONFIG_IBMVIO is set/enabled, iommu.c has a
>> build error. The fault injection code is not useful in that kernel config,
>> so make the FAIL_IOMMU option depend on PCI || IBMVIO.
>>
>> Prevents this build error (warning escalated to error):
>> ../arch/powerpc/kernel/iommu.c:178:30: error: 'fail_iommu_bus_notifier' defined but not used [-Werror=unused-variable]
>>    178 | static struct notifier_block fail_iommu_bus_notifier = {
>>
>> Fixes: d6b9a81b2a45 ("powerpc: IOMMU fault injection")
>> Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
>> Reported-by: kernel test robot <lkp@...el.com>
>> Suggested-by: Michael Ellerman <mpe@...erman.id.au>
>> Cc: Michael Ellerman <mpe@...erman.id.au>
>> Cc: linuxppc-dev@...ts.ozlabs.org
>> Cc: Anton Blanchard <anton@...ba.org>
>> ---
>> I was supposed to update this about one month ago, but then I lost
>> some email and also took a break for a few weeks, then I remembered,
>> so here it is.
>>
>>   arch/powerpc/Kconfig.debug |    1 +
>>   1 file changed, 1 insertion(+)
> 
> Wouldn't it be cleaner to get rid of those two horid #ifdefs ?
> Of course we can do both.

Sure, that works. Thanks.

Acked-by: Randy Dunlap <rdunlap@...radead.org> # build-tested


> diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
> index 216871414434..d691afa8acf8 100644
> --- a/arch/powerpc/kernel/iommu.c
> +++ b/arch/powerpc/kernel/iommu.c
> @@ -180,12 +180,10 @@ static struct notifier_block fail_iommu_bus_notifier = {
> 
>  static int __init fail_iommu_setup(void)
>  {
> -#ifdef CONFIG_PCI
> -    bus_register_notifier(&pci_bus_type, &fail_iommu_bus_notifier);
> -#endif
> -#ifdef CONFIG_IBMVIO
> -    bus_register_notifier(&vio_bus_type, &fail_iommu_bus_notifier);
> -#endif
> +    if (IS_ENABLED(CONFIG_PCI))
> +        bus_register_notifier(&pci_bus_type, &fail_iommu_bus_notifier);
> +    if (IS_ENABLED(CONFIG_IBMVIO))
> +        bus_register_notifier(&vio_bus_type, &fail_iommu_bus_notifier);
> 
>      return 0;
>  }
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 86c799c97b77..361f4f255911 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -964,6 +964,8 @@ enum {
>  #define PCI_IRQ_MSIX        (1 << 2) /* Allow MSI-X interrupts */
>  #define PCI_IRQ_AFFINITY    (1 << 3) /* Auto-assign affinity */
> 
> +extern struct bus_type pci_bus_type;
> +
>  /* These external functions are only available when PCI support is enabled */
>  #ifdef CONFIG_PCI
> 
> @@ -986,8 +988,6 @@ enum pcie_bus_config_types {
> 
>  extern enum pcie_bus_config_types pcie_bus_config;
> 
> -extern struct bus_type pci_bus_type;
> -
>  /* Do NOT directly access these two variables, unless you are arch-specific PCI
>   * code, or PCI core code. */
>  extern struct list_head pci_root_buses;    /* List of all known PCI buses */


-- 
~Randy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ