On Sat, Jul 16, 2022 at 10:13:46AM -0500, Mike Karels wrote: M> > This cause LINT-NOIP builds to fail: M> > ld: error: undefined symbol: vnet_entry_in_loopback_mask M> >>>> referenced by ib_cma.c M> >>>> ib_cma.o:(rdma_destroy_id) M> >>>> referenced by ib_cma.c M> >>>> ib_cma.o:(rdma_resolve_addr) M> >>>> referenced by ib_cma.c M> >>>> ib_cma.o:(rdma_bind_addr) M> >>>> referenced 11 more times M> M> Yuck. The Infiniband code isn’t ifdefed for INET (or INET6) and just M> uses things. One of its Linux compat shims uses IN_LOOPBACK, which now M> refers to a mask field via VNET. I can either add one #ifdef INET to M> ib_cma.c, or remove OFED from LINT-NOIP. I suppose I should add the M> #ifdef; any other opinions?
I think the right thing to do will be to add ifdefs to cma_loopback_addr(). The beginning of the file should be augmented with including opt_inet.h and opt_inet6.h, too. -- Gleb Smirnoff