Hi Yi-Hung, Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master] url: https://github.com/0day-ci/linux/commits/Yi-Hung-Wei/netfilter-Export-nf_ct_destroy_timeout/20190323-094843 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' sparse warnings: (new ones prefixed by >>) net//openvswitch/conntrack.c:1854:25: sparse: undefined identifier 'xt_ct_destroy_timeout' >> net//openvswitch/conntrack.c:1154:28: sparse: incompatible types in >> comparison expression (different address spaces) net//openvswitch/conntrack.c:1188:23: sparse: incompatible types in comparison expression (different address spaces) include/linux/slab.h:664:13: sparse: undefined identifier '__builtin_mul_overflow' >> net//openvswitch/conntrack.c:1854:46: sparse: call with no type! include/linux/slab.h:664:13: sparse: call with no type! vim +1154 net//openvswitch/conntrack.c 1143 1144 static void ovs_ct_add_timeout(struct net *net, struct nf_conn *ct, 1145 const char *timeout_name, u16 l3num, u8 l4num) 1146 { 1147 #ifdef CONFIG_NF_CONNTRACK_TIMEOUT 1148 typeof(nf_ct_timeout_find_get_hook) timeout_find_get; 1149 typeof(nf_ct_timeout_put_hook) timeout_put; 1150 struct nf_ct_timeout *timeout; 1151 struct nf_conn_timeout *timeout_ext; 1152 1153 rcu_read_lock(); > 1154 timeout_find_get = rcu_dereference(nf_ct_timeout_find_get_hook); 1155 if (!timeout_find_get) { 1156 net_info_ratelimited("Timeout policy base is empty"); 1157 goto out; 1158 } 1159 1160 timeout = timeout_find_get(net, timeout_name); 1161 if (!timeout) { 1162 net_info_ratelimited("No such timeout policy \"%s\"\n", 1163 timeout_name); 1164 goto out; 1165 } 1166 1167 if (timeout->l3num != l3num) { 1168 net_info_ratelimited("Timeout policy `%s' can only be used by " 1169 "L3 protocol number %d\n", timeout_name, 1170 timeout->l3num); 1171 goto err_put_timeout; 1172 } 1173 1174 if (timeout->l4proto->l4proto != l4num) { 1175 net_info_ratelimited("Timeout policy `%s' can only be used by " 1176 "L4 protocol number %d\n", timeout_name, 1177 timeout->l4proto->l4proto); 1178 goto err_put_timeout; 1179 } 1180 1181 timeout_ext = nf_ct_timeout_ext_add(ct, timeout, GFP_ATOMIC); 1182 if (!timeout_ext) 1183 goto err_put_timeout; 1184 1185 goto out; 1186 1187 err_put_timeout: 1188 timeout_put = rcu_dereference(nf_ct_timeout_put_hook); 1189 if (timeout_put) 1190 timeout_put(timeout); 1191 out: 1192 rcu_read_unlock(); 1193 return; 1194 #endif 1195 } 1196 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation