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] [day] [month] [year] [list]
Date:   Thu, 2 Feb 2017 10:08:04 -0700
From:   Alex Williamson <alex.williamson@...hat.com>
To:     Michael Ellerman <mpe@...erman.id.au>
Cc:     aik@...abs.ru, linuxppc-dev@...abs.org,
        linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
        gwshan@...ux.vnet.ibm.com
Subject: Re: [PATCH] vfio: Fix build break when SPAPR_TCE_IOMMU=n

On Thu, 02 Feb 2017 20:50:48 +1100
Michael Ellerman <mpe@...erman.id.au> wrote:

> Michael Ellerman <mpe@...erman.id.au> writes:
> 
> > Currently the kconfig logic for VFIO_IOMMU_SPAPR_TCE and VFIO_SPAPR_EEH
> > is broken when SPAPR_TCE_IOMMU=n. Leading to:
> >
> >     warning: (VFIO) selects VFIO_IOMMU_SPAPR_TCE which has unmet direct dependencies (VFIO && SPAPR_TCE_IOMMU)
> >     warning: (VFIO) selects VFIO_IOMMU_SPAPR_TCE which has unmet direct dependencies (VFIO && SPAPR_TCE_IOMMU)
> >     drivers/vfio/vfio_iommu_spapr_tce.c:113:8: error: implicit declaration of function 'mm_iommu_find'
> >
> > This stems from the fact that VFIO selects VFIO_IOMMU_SPAPR_TCE, and
> > although it has an if clause, the condition is not correct.
> >
> > We could fix it by doing select VFIO_IOMMU_SPAPR_TCE if SPAPR_TCE_IOMMU,
> > but the cleaner fix is to drop the selects and tie VFIO_IOMMU_SPAPR_TCE
> > to the value of VFIO, and express the dependencies in only once place.
> >
> > Do the same for VFIO_SPAPR_EEH.
> >
> > The end result is that the values of VFIO_IOMMU_SPAPR_TCE and
> > VFIO_SPAPR_EEH follow the value of VFIO, except when SPAPR_TCE_IOMMU=n
> > and/or EEH=n. Which is exactly what we want to happen.  
> 
> Ping?
> 
> There was a bit of discussion on this patch but I think we decided it
> was correct in the end.

If there are no other comments or objections, I'll queue this for
v4.11.  Based on this last comment:

  eg, using def_tristate you get:

  # CONFIG_VFIO_IOMMU_SPAPR_TCE is not set
  # CONFIG_VFIO is not set

  Whereas using depends all you get is:

  # CONFIG_VFIO is not set

I prefer prefer the solution here that doesn't leave extra unselected
config entries when CONFIG_VFIO is also not selected.  Thanks,

Alex

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ