On Wed, Feb 02, 2022 at 06:09:04AM +0300, Dmitry V. Levin wrote: > The change of sizeof(struct smc_diag_linkinfo) by commit 79d39fc503b4 > ("net/smc: Add netlink net namespace support") introduced an ABI > regression: since struct smc_diag_lgrinfo contains an object of > type "struct smc_diag_linkinfo", offset of all subsequent members > of struct smc_diag_lgrinfo was changed by that change. > > As result, applications compiled with the old version > of struct smc_diag_linkinfo will receive garbage in > struct smc_diag_lgrinfo.role if the kernel implements > this new version of struct smc_diag_linkinfo. > > Fix this regression by reverting the part of commit 79d39fc503b4 that > changes struct smc_diag_linkinfo. After all, there is SMC_GEN_NETLINK > interface which is good enough, so there is probably no need to touch > the smc_diag ABI in the first place. > > Fixes: 79d39fc503b4 ("net/smc: Add netlink net namespace support") > Signed-off-by: Dmitry V. Levin <ldv@xxxxxxxxxxxx> Thank you and Karsten. It was my negligence that caused the ABI incompatibility issue. I will consider to fix it completely. And we are starting to build smc-tools and other userspace test for potential ABI modifications. Best regards, Tony Lu