From mboxrd@z Thu Jan 1 00:00:00 1970 From: kbuild test robot Subject: Re: [PATCH bpf-next 1/5] bpf: Hooks for sys_sendmsg Date: Tue, 22 May 2018 08:08:47 +0800 Message-ID: <201805220817.C8GwdJw0%fengguang.wu@intel.com> References: <654b59700a21ed2342b12f30a583ba9329ef850b.1526694154.git.rdna@fb.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="pf9I7BMVVzbSWLtt" Cc: kbuild-all@01.org, netdev@vger.kernel.org, Andrey Ignatov , davem@davemloft.net, ast@kernel.org, daniel@iogearbox.net, kernel-team@fb.com To: Andrey Ignatov Return-path: Received: from mga17.intel.com ([192.55.52.151]:63760 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751138AbeEVAJ2 (ORCPT ); Mon, 21 May 2018 20:09:28 -0400 Content-Disposition: inline In-Reply-To: <654b59700a21ed2342b12f30a583ba9329ef850b.1526694154.git.rdna@fb.com> Sender: netdev-owner@vger.kernel.org List-ID: --pf9I7BMVVzbSWLtt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Andrey, Thank you for the patch! Yet something to improve: [auto build test ERROR on bpf-next/master] url: https://github.com/0day-ci/linux/commits/Andrey-Ignatov/bpf-Hooks-for-sys_sendmsg/20180522-065614 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: i386-randconfig-s1-201820 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): net/ipv4/udp.c: In function 'udp_sendmsg': net/ipv4/udp.c:1014:44: error: macro "BPF_CGROUP_RUN_PROG_UDP4_SENDMSG_LOCK" passed 3 arguments, but takes just 2 (struct sockaddr *)usin, &ipc.addr); ^ >> net/ipv4/udp.c:1013:9: error: 'BPF_CGROUP_RUN_PROG_UDP4_SENDMSG_LOCK' undeclared (first use in this function) err = BPF_CGROUP_RUN_PROG_UDP4_SENDMSG_LOCK(sk, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/ipv4/udp.c:1013:9: note: each undeclared identifier is reported only once for each function it appears in -- net/ipv6/udp.c: In function 'udpv6_sendmsg': net/ipv6/udp.c:1320:44: error: macro "BPF_CGROUP_RUN_PROG_UDP6_SENDMSG_LOCK" passed 3 arguments, but takes just 2 (struct sockaddr *)sin6, &fl6.saddr); ^ >> net/ipv6/udp.c:1319:9: error: 'BPF_CGROUP_RUN_PROG_UDP6_SENDMSG_LOCK' undeclared (first use in this function) err = BPF_CGROUP_RUN_PROG_UDP6_SENDMSG_LOCK(sk, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/ipv6/udp.c:1319:9: note: each undeclared identifier is reported only once for each function it appears in vim +/BPF_CGROUP_RUN_PROG_UDP4_SENDMSG_LOCK +1013 net/ipv4/udp.c 898 899 int udp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) 900 { 901 struct inet_sock *inet = inet_sk(sk); 902 struct udp_sock *up = udp_sk(sk); 903 DECLARE_SOCKADDR(struct sockaddr_in *, usin, msg->msg_name); 904 struct flowi4 fl4_stack; 905 struct flowi4 *fl4; 906 int ulen = len; 907 struct ipcm_cookie ipc; 908 struct rtable *rt = NULL; 909 int free = 0; 910 int connected = 0; 911 __be32 daddr, faddr, saddr; 912 __be16 dport; 913 u8 tos; 914 int err, is_udplite = IS_UDPLITE(sk); 915 int corkreq = up->corkflag || msg->msg_flags&MSG_MORE; 916 int (*getfrag)(void *, char *, int, int, int, struct sk_buff *); 917 struct sk_buff *skb; 918 struct ip_options_data opt_copy; 919 920 if (len > 0xFFFF) 921 return -EMSGSIZE; 922 923 /* 924 * Check the flags. 925 */ 926 927 if (msg->msg_flags & MSG_OOB) /* Mirror BSD error message compatibility */ 928 return -EOPNOTSUPP; 929 930 ipc.opt = NULL; 931 ipc.tx_flags = 0; 932 ipc.ttl = 0; 933 ipc.tos = -1; 934 935 getfrag = is_udplite ? udplite_getfrag : ip_generic_getfrag; 936 937 fl4 = &inet->cork.fl.u.ip4; 938 if (up->pending) { 939 /* 940 * There are pending frames. 941 * The socket lock must be held while it's corked. 942 */ 943 lock_sock(sk); 944 if (likely(up->pending)) { 945 if (unlikely(up->pending != AF_INET)) { 946 release_sock(sk); 947 return -EINVAL; 948 } 949 goto do_append_data; 950 } 951 release_sock(sk); 952 } 953 ulen += sizeof(struct udphdr); 954 955 /* 956 * Get and verify the address. 957 */ 958 if (usin) { 959 if (msg->msg_namelen < sizeof(*usin)) 960 return -EINVAL; 961 if (usin->sin_family != AF_INET) { 962 if (usin->sin_family != AF_UNSPEC) 963 return -EAFNOSUPPORT; 964 } 965 966 daddr = usin->sin_addr.s_addr; 967 dport = usin->sin_port; 968 if (dport == 0) 969 return -EINVAL; 970 } else { 971 if (sk->sk_state != TCP_ESTABLISHED) 972 return -EDESTADDRREQ; 973 daddr = inet->inet_daddr; 974 dport = inet->inet_dport; 975 /* Open fast path for connected socket. 976 Route will not be used, if at least one option is set. 977 */ 978 connected = 1; 979 } 980 981 ipc.sockc.tsflags = sk->sk_tsflags; 982 ipc.addr = inet->inet_saddr; 983 ipc.oif = sk->sk_bound_dev_if; 984 ipc.gso_size = up->gso_size; 985 986 if (msg->msg_controllen) { 987 err = udp_cmsg_send(sk, msg, &ipc.gso_size); 988 if (err > 0) 989 err = ip_cmsg_send(sk, msg, &ipc, 990 sk->sk_family == AF_INET6); 991 if (unlikely(err < 0)) { 992 kfree(ipc.opt); 993 return err; 994 } 995 if (ipc.opt) 996 free = 1; 997 connected = 0; 998 } 999 if (!ipc.opt) { 1000 struct ip_options_rcu *inet_opt; 1001 1002 rcu_read_lock(); 1003 inet_opt = rcu_dereference(inet->inet_opt); 1004 if (inet_opt) { 1005 memcpy(&opt_copy, inet_opt, 1006 sizeof(*inet_opt) + inet_opt->opt.optlen); 1007 ipc.opt = &opt_copy.opt; 1008 } 1009 rcu_read_unlock(); 1010 } 1011 1012 if (!connected) { > 1013 err = BPF_CGROUP_RUN_PROG_UDP4_SENDMSG_LOCK(sk, > 1014 (struct sockaddr *)usin, &ipc.addr); 1015 if (err) 1016 goto out_free; 1017 if (usin) { 1018 if (usin->sin_port == 0) { 1019 /* BPF program set invalid port. Reject it. */ 1020 err = -EINVAL; 1021 goto out_free; 1022 } 1023 daddr = usin->sin_addr.s_addr; 1024 dport = usin->sin_port; 1025 } 1026 } 1027 1028 saddr = ipc.addr; 1029 ipc.addr = faddr = daddr; 1030 1031 sock_tx_timestamp(sk, ipc.sockc.tsflags, &ipc.tx_flags); 1032 1033 if (ipc.opt && ipc.opt->opt.srr) { 1034 if (!daddr) { 1035 err = -EINVAL; 1036 goto out_free; 1037 } 1038 faddr = ipc.opt->opt.faddr; 1039 connected = 0; 1040 } 1041 tos = get_rttos(&ipc, inet); 1042 if (sock_flag(sk, SOCK_LOCALROUTE) || 1043 (msg->msg_flags & MSG_DONTROUTE) || 1044 (ipc.opt && ipc.opt->opt.is_strictroute)) { 1045 tos |= RTO_ONLINK; 1046 connected = 0; 1047 } 1048 1049 if (ipv4_is_multicast(daddr)) { 1050 if (!ipc.oif) 1051 ipc.oif = inet->mc_index; 1052 if (!saddr) 1053 saddr = inet->mc_addr; 1054 connected = 0; 1055 } else if (!ipc.oif) { 1056 ipc.oif = inet->uc_index; 1057 } else if (ipv4_is_lbcast(daddr) && inet->uc_index) { 1058 /* oif is set, packet is to local broadcast and 1059 * and uc_index is set. oif is most likely set 1060 * by sk_bound_dev_if. If uc_index != oif check if the 1061 * oif is an L3 master and uc_index is an L3 slave. 1062 * If so, we want to allow the send using the uc_index. 1063 */ 1064 if (ipc.oif != inet->uc_index && 1065 ipc.oif == l3mdev_master_ifindex_by_index(sock_net(sk), 1066 inet->uc_index)) { 1067 ipc.oif = inet->uc_index; 1068 } 1069 } 1070 1071 if (connected) 1072 rt = (struct rtable *)sk_dst_check(sk, 0); 1073 1074 if (!rt) { 1075 struct net *net = sock_net(sk); 1076 __u8 flow_flags = inet_sk_flowi_flags(sk); 1077 1078 fl4 = &fl4_stack; 1079 1080 flowi4_init_output(fl4, ipc.oif, sk->sk_mark, tos, 1081 RT_SCOPE_UNIVERSE, sk->sk_protocol, 1082 flow_flags, 1083 faddr, saddr, dport, inet->inet_sport, 1084 sk->sk_uid); 1085 1086 security_sk_classify_flow(sk, flowi4_to_flowi(fl4)); 1087 rt = ip_route_output_flow(net, fl4, sk); 1088 if (IS_ERR(rt)) { 1089 err = PTR_ERR(rt); 1090 rt = NULL; 1091 if (err == -ENETUNREACH) 1092 IP_INC_STATS(net, IPSTATS_MIB_OUTNOROUTES); 1093 goto out; 1094 } 1095 1096 err = -EACCES; 1097 if ((rt->rt_flags & RTCF_BROADCAST) && 1098 !sock_flag(sk, SOCK_BROADCAST)) 1099 goto out; 1100 if (connected) 1101 sk_dst_set(sk, dst_clone(&rt->dst)); 1102 } 1103 1104 if (msg->msg_flags&MSG_CONFIRM) 1105 goto do_confirm; 1106 back_from_confirm: 1107 1108 saddr = fl4->saddr; 1109 if (!ipc.addr) 1110 daddr = ipc.addr = fl4->daddr; 1111 1112 /* Lockless fast path for the non-corking case. */ 1113 if (!corkreq) { 1114 struct inet_cork cork; 1115 1116 skb = ip_make_skb(sk, fl4, getfrag, msg, ulen, 1117 sizeof(struct udphdr), &ipc, &rt, 1118 &cork, msg->msg_flags); 1119 err = PTR_ERR(skb); 1120 if (!IS_ERR_OR_NULL(skb)) 1121 err = udp_send_skb(skb, fl4, &cork); 1122 goto out; 1123 } 1124 1125 lock_sock(sk); 1126 if (unlikely(up->pending)) { 1127 /* The socket is already corked while preparing it. */ 1128 /* ... which is an evident application bug. --ANK */ 1129 release_sock(sk); 1130 1131 net_dbg_ratelimited("socket already corked\n"); 1132 err = -EINVAL; 1133 goto out; 1134 } 1135 /* 1136 * Now cork the socket to pend data. 1137 */ 1138 fl4 = &inet->cork.fl.u.ip4; 1139 fl4->daddr = daddr; 1140 fl4->saddr = saddr; 1141 fl4->fl4_dport = dport; 1142 fl4->fl4_sport = inet->inet_sport; 1143 up->pending = AF_INET; 1144 1145 do_append_data: 1146 up->len += ulen; 1147 err = ip_append_data(sk, fl4, getfrag, msg, ulen, 1148 sizeof(struct udphdr), &ipc, &rt, 1149 corkreq ? msg->msg_flags|MSG_MORE : msg->msg_flags); 1150 if (err) 1151 udp_flush_pending_frames(sk); 1152 else if (!corkreq) 1153 err = udp_push_pending_frames(sk); 1154 else if (unlikely(skb_queue_empty(&sk->sk_write_queue))) 1155 up->pending = 0; 1156 release_sock(sk); 1157 1158 out: 1159 ip_rt_put(rt); 1160 out_free: 1161 if (free) 1162 kfree(ipc.opt); 1163 if (!err) 1164 return len; 1165 /* 1166 * ENOBUFS = no kernel mem, SOCK_NOSPACE = no sndbuf space. Reporting 1167 * ENOBUFS might not be good (it's not tunable per se), but otherwise 1168 * we don't have a good statistic (IpOutDiscards but it can be too many 1169 * things). We could add another new stat but at least for now that 1170 * seems like overkill. 1171 */ 1172 if (err == -ENOBUFS || test_bit(SOCK_NOSPACE, &sk->sk_socket->flags)) { 1173 UDP_INC_STATS(sock_net(sk), 1174 UDP_MIB_SNDBUFERRORS, is_udplite); 1175 } 1176 return err; 1177 1178 do_confirm: 1179 if (msg->msg_flags & MSG_PROBE) 1180 dst_confirm_neigh(&rt->dst, &fl4->daddr); 1181 if (!(msg->msg_flags&MSG_PROBE) || len) 1182 goto back_from_confirm; 1183 err = 0; 1184 goto out; 1185 } 1186 EXPORT_SYMBOL(udp_sendmsg); 1187 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --pf9I7BMVVzbSWLtt Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 wEyNEiagcVnQVDDC6wAMwYzYiHcBAA== --pf9I7BMVVzbSWLtt--