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  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]
Date:   Sun, 03 Jan 2021 08:51:50 -0800
From:   James Bottomley <jejb@...ux.ibm.com>
To:     Arnd Bergmann <arnd@...nel.org>, Karen Xie <kxie@...lsio.com>,
        "Martin K. Petersen" <martin.petersen@...cle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Tom Seewald <tseewald@...il.com>
Cc:     Arnd Bergmann <arnd@...db.de>,
        Randy Dunlap <rdunlap@...radead.org>,
        Masahiro Yamada <masahiroy@...nel.org>,
        linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] cxgb4: fix TLS dependencies again

On Sun, 2021-01-03 at 15:01 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
> 
> A previous patch tried to avoid a build failure, but missed one case
> that Kconfig warns about:
> 
> WARNING: unmet direct dependencies detected for CHELSIO_T4
>   Depends on [m]: NETDEVICES [=y] && ETHERNET [=y] &&
> NET_VENDOR_CHELSIO [=y] && PCI [=y] && (IPV6 [=y] || IPV6 [=y]=n) &&
> (TLS [=m] || TLS [=m]=n)
>   Selected by [y]:
>   - SCSI_CXGB4_ISCSI [=y] && SCSI_LOWLEVEL [=y] && SCSI [=y] && PCI
> [=y] && INET [=y] && (IPV6 [=y] || IPV6 [=y]=n) && ETHERNET [=y]
> x86_64-linux-ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o: in
> function `cxgb_select_queue':
> cxgb4_main.c:(.text+0xf5df): undefined reference to
> `tls_validate_xmit_skb'
> 
> When any of the dependencies of CHELSIO_T4 are not met, then
> SCSI_CXGB4_ISCSI must not 'select' it either.
> 
> Fix it by mirroring the network driver dependencies on the iscsi
> driver. A more invasive but also more reliable alternative would
> be to use 'depends on CHELSIO_T4' instead.
> 
> Fixes: 659fbdcf2f14 ("cxgb4: Fix build failure when CONFIG_TLS=m")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
>  drivers/scsi/cxgbi/cxgb4i/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/cxgbi/cxgb4i/Kconfig
> b/drivers/scsi/cxgbi/cxgb4i/Kconfig
> index 8b0deece9758..2af88a55fbca 100644
> --- a/drivers/scsi/cxgbi/cxgb4i/Kconfig
> +++ b/drivers/scsi/cxgbi/cxgb4i/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config SCSI_CXGB4_ISCSI
>  	tristate "Chelsio T4 iSCSI support"
> -	depends on PCI && INET && (IPV6 || IPV6=n)
> +	depends on PCI && INET && (IPV6 || IPV6=n) && (TLS || TLS=n)
>  	depends on THERMAL || !THERMAL
>  	depends on ETHERNET
>  	depends on TLS || TLS=n

I thought all separated depends statements were the equivalent of && in
a single statement.  If so, how does repeating TLS || TLS=n twice fix
the problem?  This sounds more like we have some sort of bug in our
Kconfig apparatus.

James


Powered by blists - more mailing lists