Sorry for build error, I will fix it in the next version. On 2024/11/28 21:52, kernel test robot wrote: > Hi Guangguan, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on net-next/main] > > url: https://github.com/intel-lab-lkp/linux/commits/Guangguan-Wang/net-smc-support-SMC-R-V2-for-rdma-devices-with-max_recv_sge-equals-to-1/20241128-111259 > base: net-next/main > patch link: https://lore.kernel.org/r/20241127094533.18459-3-guangguan.wang%40linux.alibaba.com > patch subject: [PATCH net-next 2/2] net/smc: support ipv4 mapped ipv6 addr client for smc-r v2 > config: arm-randconfig-001-20241128 (https://download.01.org/0day-ci/archive/20241128/202411282154.DjX7ilwF-lkp@xxxxxxxxx/config) > compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241128/202411282154.DjX7ilwF-lkp@xxxxxxxxx/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > | Closes: https://lore.kernel.org/oe-kbuild-all/202411282154.DjX7ilwF-lkp@xxxxxxxxx/ > > All errors (new ones prefixed by >>): > > In file included from net/smc/af_smc.c:27: > In file included from include/linux/if_vlan.h:10: > In file included from include/linux/netdevice.h:38: > In file included from include/net/net_namespace.h:43: > In file included from include/linux/skbuff.h:17: > In file included from include/linux/bvec.h:10: > In file included from include/linux/highmem.h:8: > In file included from include/linux/cacheflush.h:5: > In file included from arch/arm/include/asm/cacheflush.h:10: > In file included from include/linux/mm.h:2225: > include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] > 518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" > | ~~~~~~~~~~~ ^ ~~~ >>> net/smc/af_smc.c:1120:46: error: no member named 'skc_v6_rcv_saddr' in 'struct sock_common'; did you mean 'skc_rcv_saddr'? > 1120 | !ipv6_addr_v4mapped(&smc->clcsock->sk->sk_v6_rcv_saddr)) || > | ^ > include/net/sock.h:376:37: note: expanded from macro 'sk_v6_rcv_saddr' > 376 | #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr > | ^ > include/net/sock.h:155:11: note: 'skc_rcv_saddr' declared here > 155 | __be32 skc_rcv_saddr; > | ^ > 1 warning and 1 error generated. > > > vim +1120 net/smc/af_smc.c > > 1087 > 1088 static int smc_find_proposal_devices(struct smc_sock *smc, > 1089 struct smc_init_info *ini) > 1090 { > 1091 int rc = 0; > 1092 > 1093 /* check if there is an ism device available */ > 1094 if (!(ini->smcd_version & SMC_V1) || > 1095 smc_find_ism_device(smc, ini) || > 1096 smc_connect_ism_vlan_setup(smc, ini)) > 1097 ini->smcd_version &= ~SMC_V1; > 1098 /* else ISM V1 is supported for this connection */ > 1099 > 1100 /* check if there is an rdma device available */ > 1101 if (!(ini->smcr_version & SMC_V1) || > 1102 smc_find_rdma_device(smc, ini)) > 1103 ini->smcr_version &= ~SMC_V1; > 1104 /* else RDMA is supported for this connection */ > 1105 > 1106 ini->smc_type_v1 = smc_indicated_type(ini->smcd_version & SMC_V1, > 1107 ini->smcr_version & SMC_V1); > 1108 > 1109 /* check if there is an ism v2 device available */ > 1110 if (!(ini->smcd_version & SMC_V2) || > 1111 !smc_ism_is_v2_capable() || > 1112 smc_find_ism_v2_device_clnt(smc, ini)) > 1113 ini->smcd_version &= ~SMC_V2; > 1114 > 1115 /* check if there is an rdma v2 device available */ > 1116 ini->check_smcrv2 = true; > 1117 ini->smcrv2.saddr = smc->clcsock->sk->sk_rcv_saddr; > 1118 if (!(ini->smcr_version & SMC_V2) || > 1119 (smc->clcsock->sk->sk_family != AF_INET && >> 1120 !ipv6_addr_v4mapped(&smc->clcsock->sk->sk_v6_rcv_saddr)) || > 1121 !smc_clc_ueid_count() || > 1122 smc_find_rdma_device(smc, ini)) > 1123 ini->smcr_version &= ~SMC_V2; > 1124 ini->check_smcrv2 = false; > 1125 > 1126 ini->smc_type_v2 = smc_indicated_type(ini->smcd_version & SMC_V2, > 1127 ini->smcr_version & SMC_V2); > 1128 > 1129 /* if neither ISM nor RDMA are supported, fallback */ > 1130 if (ini->smc_type_v1 == SMC_TYPE_N && ini->smc_type_v2 == SMC_TYPE_N) > 1131 rc = SMC_CLC_DECL_NOSMCDEV; > 1132 > 1133 return rc; > 1134 } > 1135 >