Re: [PATCH -next] rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS

Geert Uytterhoeven
2019-07-11T07:58:59Z

Hi Jason,

On Wed, Jul 10, 2019 at 4:46 PM Jason Gunthorpe <jgg@ziepe.ca> wrote:
> On Wed, Jul 10, 2019 at 03:39:30PM +0200, Geert Uytterhoeven wrote:
> > If LIBCRC32C and DMA_VIRT_OPS are not enabled:
> >
> > drivers/infiniband/sw/siw/siw_main.o: In function `siw_newlink':
> > siw_main.c:(.text+0x35c): undefined reference to `dma_virt_ops'
> > drivers/infiniband/sw/siw/siw_qp_rx.o: In function `siw_csum_update':
> > siw_qp_rx.c:(.text+0x16): undefined reference to `crc32c'
> >
> > Fix the first issue by adding a select of DMA_VIRT_OPS.
> > Fix the second issue by replacing the unneeded dependency on
> > CRYPTO_CRC32 by a dependency on LIBCRC32C.
> >
> > Reported-by: noreply@ellerman.id.au (first issue)
> > Fixes: c0cf5bdde46c664d ("rdma/siw: addition to kernel build environment")
> > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> > drivers/infiniband/sw/siw/Kconfig | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/infiniband/sw/siw/Kconfig b/drivers/infiniband/sw/siw/Kconfig
> > index 94f684174ce3556e..b622fc62f2cd6d46 100644
> > +++ b/drivers/infiniband/sw/siw/Kconfig
> > @@ -1,6 +1,7 @@
> > config RDMA_SIW
> > tristate "Software RDMA over TCP/IP (iWARP) driver"
> > - depends on INET && INFINIBAND && CRYPTO_CRC32
> > + depends on INET && INFINIBAND && LIBCRC32C
>
> Is this the best practice?
>
> siw is using both the libcrc32c API and the
> 'crypto_alloc_shash("crc32c", 0, 0);' version. Is it right to get that
> transitively through LIBCRC32C?

Yes, I think so.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds