On 10/15/21 3:36 PM, Herbert Xu wrote: > On Fri, Oct 15, 2021 at 03:11:15PM +0200, Vegard Nossum wrote: >> Fix the following build/link error by adding a dependency on CRYPTO_HASH: >> >> ld: drivers/scsi/libiscsi_tcp.o: in function `iscsi_tcp_dgst_header': >> libiscsi_tcp.c:(.text+0x237): undefined reference to `crypto_ahash_digest' >> ld: drivers/scsi/libiscsi_tcp.o: in function `iscsi_tcp_segment_done': >> libiscsi_tcp.c:(.text+0x1325): undefined reference to `crypto_ahash_final' >> >> Fixes: 5d6ac29b9ebf2 ("iscsi_tcp: Use ahash") >> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> >> Signed-off-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> >> --- >> drivers/scsi/Kconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig >> index 6e3a04107bb65..09764f3c42447 100644 >> --- a/drivers/scsi/Kconfig >> +++ b/drivers/scsi/Kconfig >> @@ -290,6 +290,7 @@ config ISCSI_TCP >> tristate "iSCSI Initiator over TCP/IP" >> depends on SCSI && INET >> select CRYPTO >> + select CRYPTO_HASH >> select CRYPTO_MD5 >> select CRYPTO_CRC32C >> select SCSI_ISCSI_ATTRS > > CRYPTO_MD5 already selects CRYPTO_HASH so this shouldn't be needed. You're right, my apologies. libiscsi_tcp.o is built for CONFIG_ISCSI_TCP, but it's _also_ built for CONFIG_SCSI_CXGB3_ISCSI and CONFIG_SCSI_CXGB4_ISCSI. I missed that when I looked at the Makefile and wrongly assumed that CONFIG_ISCSI_TCP was missing the select. I'm not sure what the right fix here would be -- should CONFIG_SCSI_CXGB[34]_ISCSI depend on CONFIG_ISCSI_TCP..? Or should we add those CRYPTO* selects in there as well? Vegard