Re: [PATCH v6 00/14] Introduce AMD Pensando RDMA driver

Leon Romanovsky
2025-09-18T18:07:54Z

On Wed, Sep 03, 2025 at 11:45:52AM +0530, Abhijit Gangurde wrote:
> This patchset introduces an RDMA driver for the AMD Pensando adapter.
> An AMD Pensando Ethernet device with RDMA capabilities extends its
> functionality through an auxiliary device.
>
> The first 6 patches of the series modify the ionic Ethernet driver
> to support the RDMA driver. The ionic RDMA driver implementation is
> split into the remaining 8 patches.
>
> The user-mode of the driver is being reviewed at:
> https://github.com/linux-rdma/rdma-core/pull/1620

<...>

> Abhijit Gangurde (14):
> net: ionic: Create an auxiliary device for rdma driver
> net: ionic: Update LIF identity with additional RDMA capabilities
> net: ionic: Export the APIs from net driver to support device commands
> net: ionic: Provide RDMA reset support for the RDMA driver
> net: ionic: Provide interrupt allocation support for the RDMA driver
> net: ionic: Provide doorbell and CMB region information
> RDMA: Add IONIC to rdma_driver_id definition
> RDMA/ionic: Register auxiliary module for ionic ethernet adapter
> RDMA/ionic: Create device queues to support admin operations
> RDMA/ionic: Register device ops for control path
> RDMA/ionic: Register device ops for datapath
> RDMA/ionic: Register device ops for miscellaneous functionality
> RDMA/ionic: Implement device stats ops
> RDMA/ionic: Add Makefile/Kconfig to kernel build environment

This series generates CI warnings:
1. In my local CI

➜ kernel git:(rdma-next) yo ci
e81ec02df1e47 (HEAD -> rdma-next) RDMA: Use %pe format specifier for error pointers
In file included from ./include/linux/string.h:382,
from ./include/linux/bitmap.h:13,
from ./include/linux/cpumask.h:12,
from ./arch/x86/include/asm/paravirt.h:21,
from ./arch/x86/include/asm/cpuid/api.h:57,
from ./arch/x86/include/asm/processor.h:19,
from ./arch/x86/include/asm/timex.h:5,
from ./include/linux/timex.h:67,
from ./include/linux/time32.h:13,
from ./include/linux/time.h:60,
from ./include/linux/stat.h:19,
from ./include/linux/module.h:13,
from drivers/infiniband/hw/ionic/ionic_controlpath.c:4:
In function ‘fortify_memcpy_chk’,
inlined from ‘ionic_set_ah_attr.isra’ at drivers/infiniband/hw/ionic/ionic_controlpath.c:609:3:
./include/linux/fortify-string.h:580:25: error: call to ‘__read_overflow2_field’ declared with attribute warning: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Werror=attribute-warning]
580 | __read_overflow2_field(q_size_field, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [scripts/Makefile.build:287: drivers/infiniband/hw/ionic/ionic_controlpath.o] Error 1
make[5]: *** [scripts/Makefile.build:556: drivers/infiniband/hw/ionic] Error 2
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [scripts/Makefile.build:556: drivers/infiniband/hw] Error 2
make[3]: *** [scripts/Makefile.build:556: drivers/infiniband] Error 2
make[2]: *** [scripts/Makefile.build:556: drivers] Error 2
make[1]: *** [/tmp/tmp53nb1nwr/Makefile:2011: .] Error 2
make: *** [Makefile:248: __sub-make] Error 2

2. From kbuild

Unverified Error/Warning (likely false positive, kindly check if interested):

ERROR: modpost: "__xchg_called_with_bad_pointer" [drivers/infiniband/hw/ionic/ionic_rdma.ko] undefined!

Error/Warning ids grouped by kconfigs:

recent_errors
`-- sparc-allmodconfig
`-- ERROR:__xchg_called_with_bad_pointer-drivers-infiniband-hw-ionic-ionic_rdma.ko-undefined