Lines Matching full:if

42 #if IS_ENABLED(CONFIG_IPV6)
78 if (IPCB(skb)->opt.optlen == 0) in ip_cmsg_recv_opts()
92 if (IPCB(skb)->opt.optlen == 0) in ip_cmsg_recv_retopts()
95 if (ip_options_echo(net, opt, skb)) { in ip_cmsg_recv_retopts()
108 if (IPCB(skb)->frag_max_size == 0) in ip_cmsg_recv_fragsize()
120 if (skb->ip_summed != CHECKSUM_COMPLETE) in ip_cmsg_recv_checksum()
123 if (offset != 0) { in ip_cmsg_recv_checksum()
138 if (err) in ip_cmsg_recv_security()
142 if (err) in ip_cmsg_recv_security()
160 if (!ports) in ip_cmsg_recv_dstaddr()
178 if (flags & IP_CMSG_PKTINFO) { in ip_cmsg_recv_offset()
182 if (!flags) in ip_cmsg_recv_offset()
186 if (flags & IP_CMSG_TTL) { in ip_cmsg_recv_offset()
190 if (!flags) in ip_cmsg_recv_offset()
194 if (flags & IP_CMSG_TOS) { in ip_cmsg_recv_offset()
198 if (!flags) in ip_cmsg_recv_offset()
202 if (flags & IP_CMSG_RECVOPTS) { in ip_cmsg_recv_offset()
206 if (!flags) in ip_cmsg_recv_offset()
210 if (flags & IP_CMSG_RETOPTS) { in ip_cmsg_recv_offset()
214 if (!flags) in ip_cmsg_recv_offset()
218 if (flags & IP_CMSG_PASSSEC) { in ip_cmsg_recv_offset()
222 if (!flags) in ip_cmsg_recv_offset()
226 if (flags & IP_CMSG_ORIGDSTADDR) { in ip_cmsg_recv_offset()
230 if (!flags) in ip_cmsg_recv_offset()
234 if (flags & IP_CMSG_CHECKSUM) in ip_cmsg_recv_offset()
237 if (flags & IP_CMSG_RECVFRAGSIZE) in ip_cmsg_recv_offset()
250 if (!CMSG_OK(msg, cmsg)) in ip_cmsg_send()
252 #if IS_ENABLED(CONFIG_IPV6) in ip_cmsg_send()
253 if (allow_ipv6 && in ip_cmsg_send()
258 if (cmsg->cmsg_len < CMSG_LEN(sizeof(*src_info))) in ip_cmsg_send()
261 if (!ipv6_addr_v4mapped(&src_info->ipi6_addr)) in ip_cmsg_send()
263 if (src_info->ipi6_ifindex) in ip_cmsg_send()
269 if (cmsg->cmsg_level == SOL_SOCKET) { in ip_cmsg_send()
271 if (err) in ip_cmsg_send()
276 if (cmsg->cmsg_level != SOL_IP) in ip_cmsg_send()
286 if (err) in ip_cmsg_send()
292 if (cmsg->cmsg_len != CMSG_LEN(sizeof(struct in_pktinfo))) in ip_cmsg_send()
295 if (info->ipi_ifindex) in ip_cmsg_send()
301 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) in ip_cmsg_send()
304 if (val < 1 || val > 255) in ip_cmsg_send()
309 if (cmsg->cmsg_len == CMSG_LEN(sizeof(int))) in ip_cmsg_send()
311 else if (cmsg->cmsg_len == CMSG_LEN(sizeof(u8))) in ip_cmsg_send()
315 if (val < 0 || val > 255) in ip_cmsg_send()
343 if (sk->sk_type != SOCK_RAW || inet_sk(sk)->inet_num == IPPROTO_RAW) in ip_ra_control()
347 if (on && !new_ra) in ip_ra_control()
355 if (ra->sk == sk) { in ip_ra_control()
356 if (on) { in ip_ra_control()
366 if (ra->destructor) in ip_ra_control()
378 if (!new_ra) { in ip_ra_control()
411 if (!skb) in ip_icmp_error()
426 if (skb_pull(skb, payload - skb->data)) { in ip_icmp_error()
427 if (inet_sk(sk)->recverr_rfc4884) in ip_icmp_error()
431 if (sock_queue_err_skb(sk, skb) == 0) in ip_icmp_error()
444 if (!inet->recverr) in ip_local_error()
448 if (!skb) in ip_local_error()
470 if (sock_queue_err_skb(sk, skb)) in ip_local_error()
475 * zero port. Also, addr_offset should be supported if port is set.
494 if (ee_origin == SO_EE_ORIGIN_ICMP) in ipv4_datagram_support_cmsg()
497 if (ee_origin == SO_EE_ORIGIN_LOCAL) in ipv4_datagram_support_cmsg()
500 /* Support IP_PKTINFO on tstamp packets if requested, to correlate in ipv4_datagram_support_cmsg()
505 if (!(sk->sk_tsflags & SOF_TIMESTAMPING_OPT_CMSG) || in ipv4_datagram_support_cmsg()
530 if (!skb) in ip_recv_error()
534 if (copied > len) { in ip_recv_error()
539 if (unlikely(err)) { in ip_recv_error()
547 if (sin && ipv4_datagram_support_addr(serr)) { in ip_recv_error()
560 if (ipv4_datagram_support_cmsg(sk, skb, serr->ee.ee_origin)) { in ip_recv_error()
563 if (inet_sk(sk)->cmsg_flags) in ip_recv_error()
581 if (sk->sk_type == SOCK_STREAM) { in __ip_sock_set_tos()
585 if (inet_sk(sk)->tos != val) { in __ip_sock_set_tos()
618 if (val < IP_PMTUDISC_DONT || val > IP_PMTUDISC_OMIT) in ip_sock_set_mtu_discover()
672 if (!msf) in set_mcast_msfilter()
676 if (psin->sin_family != AF_INET) in set_mcast_msfilter()
685 if (psin->sin_family != AF_INET) in set_mcast_msfilter()
701 if (in_compat_syscall()) { in copy_group_source_from_sockptr()
704 if (optlen != sizeof(gr32)) in copy_group_source_from_sockptr()
706 if (copy_from_sockptr(&gr32, optval, sizeof(gr32))) in copy_group_source_from_sockptr()
712 if (optlen != sizeof(*greqs)) in copy_group_source_from_sockptr()
714 if (copy_from_sockptr(greqs, optval, sizeof(*greqs))) in copy_group_source_from_sockptr()
730 if (err) in do_mcast_group_source()
733 if (greqs.gsr_group.ss_family != AF_INET || in do_mcast_group_source()
743 if (optname == MCAST_BLOCK_SOURCE) { in do_mcast_group_source()
746 } else if (optname == MCAST_UNBLOCK_SOURCE) { in do_mcast_group_source()
749 } else if (optname == MCAST_JOIN_SOURCE_GROUP) { in do_mcast_group_source()
757 if (err && err != -EADDRINUSE) in do_mcast_group_source()
774 if (optlen < GROUP_FILTER_SIZE(0)) in ip_set_mcast_msfilter()
776 if (optlen > sysctl_optmem_max) in ip_set_mcast_msfilter()
780 if (IS_ERR(gsf)) in ip_set_mcast_msfilter()
785 if (gsf->gf_numsrc >= 0x1ffffff || in ip_set_mcast_msfilter()
790 if (GROUP_FILTER_SIZE(gsf->gf_numsrc) > optlen) in ip_set_mcast_msfilter()
809 if (optlen < size0) in compat_ip_set_mcast_msfilter()
811 if (optlen > sysctl_optmem_max - 4) in compat_ip_set_mcast_msfilter()
815 if (!p) in compat_ip_set_mcast_msfilter()
820 if (copy_from_sockptr(gf32, optval, optlen)) in compat_ip_set_mcast_msfilter()
826 if (n >= 0x1ffffff) in compat_ip_set_mcast_msfilter()
830 if (offsetof(struct compat_group_filter, gf_slist[n]) > optlen) in compat_ip_set_mcast_msfilter()
835 if (n > sock_net(sk)->ipv4.sysctl_igmp_max_msf) in compat_ip_set_mcast_msfilter()
851 if (optlen < sizeof(struct group_req)) in ip_mcast_join_leave()
853 if (copy_from_sockptr(&greq, optval, sizeof(greq))) in ip_mcast_join_leave()
857 if (psin->sin_family != AF_INET) in ip_mcast_join_leave()
861 if (optname == MCAST_JOIN_GROUP) in ip_mcast_join_leave()
873 if (optlen < sizeof(struct compat_group_req)) in compat_ip_mcast_join_leave()
875 if (copy_from_sockptr(&greq, optval, sizeof(greq))) in compat_ip_mcast_join_leave()
879 if (psin->sin_family != AF_INET) in compat_ip_mcast_join_leave()
884 if (optname == MCAST_JOIN_GROUP) in compat_ip_mcast_join_leave()
923 if (optlen >= sizeof(int)) { in do_ip_setsockopt()
924 if (copy_from_sockptr(&val, optval, sizeof(val))) in do_ip_setsockopt()
926 } else if (optlen >= sizeof(char)) { in do_ip_setsockopt()
929 if (copy_from_sockptr(&ucval, optval, sizeof(ucval))) in do_ip_setsockopt()
935 /* If optlen==0, it is equivalent to val == 0 */ in do_ip_setsockopt()
937 if (optname == IP_ROUTER_ALERT) in do_ip_setsockopt()
939 if (ip_mroute_opt(optname)) in do_ip_setsockopt()
943 if (needs_rtnl) in do_ip_setsockopt()
952 if (optlen > 40) in do_ip_setsockopt()
955 if (err) in do_ip_setsockopt()
959 if (inet->is_icsk) { in do_ip_setsockopt()
961 #if IS_ENABLED(CONFIG_IPV6) in do_ip_setsockopt()
962 if (sk->sk_family == PF_INET || in do_ip_setsockopt()
967 if (old) in do_ip_setsockopt()
969 if (opt) in do_ip_setsockopt()
972 #if IS_ENABLED(CONFIG_IPV6) in do_ip_setsockopt()
977 if (old) in do_ip_setsockopt()
982 if (val) in do_ip_setsockopt()
988 if (val) in do_ip_setsockopt()
994 if (val) in do_ip_setsockopt()
1000 if (val) in do_ip_setsockopt()
1006 if (val) in do_ip_setsockopt()
1012 if (val) in do_ip_setsockopt()
1018 if (val) in do_ip_setsockopt()
1024 if (val) { in do_ip_setsockopt()
1025 if (!(inet->cmsg_flags & IP_CMSG_CHECKSUM)) { in do_ip_setsockopt()
1030 if (inet->cmsg_flags & IP_CMSG_CHECKSUM) { in do_ip_setsockopt()
1037 if (sk->sk_type != SOCK_RAW && sk->sk_type != SOCK_DGRAM) in do_ip_setsockopt()
1039 if (val) in do_ip_setsockopt()
1048 if (optlen < 1) in do_ip_setsockopt()
1050 if (val != -1 && (val < 1 || val > 255)) in do_ip_setsockopt()
1055 if (sk->sk_type != SOCK_RAW) { in do_ip_setsockopt()
1062 if (sk->sk_type != SOCK_RAW) { in do_ip_setsockopt()
1072 if (val < IP_PMTUDISC_DONT || val > IP_PMTUDISC_OMIT) in do_ip_setsockopt()
1078 if (!val) in do_ip_setsockopt()
1082 if (val < 0 || val > 1) in do_ip_setsockopt()
1087 if (sk->sk_type == SOCK_STREAM) in do_ip_setsockopt()
1089 if (optlen < 1) in do_ip_setsockopt()
1091 if (val == -1) in do_ip_setsockopt()
1093 if (val < 0 || val > 255) in do_ip_setsockopt()
1098 if (optlen < 1) in do_ip_setsockopt()
1108 if (optlen != sizeof(int)) in do_ip_setsockopt()
1112 if (ifindex == 0) { in do_ip_setsockopt()
1120 if (!dev) in do_ip_setsockopt()
1127 if (sk->sk_bound_dev_if && midx != sk->sk_bound_dev_if) in do_ip_setsockopt()
1140 if (sk->sk_type == SOCK_STREAM) in do_ip_setsockopt()
1146 if (optlen < sizeof(struct in_addr)) in do_ip_setsockopt()
1150 if (optlen >= sizeof(struct ip_mreqn)) { in do_ip_setsockopt()
1151 if (copy_from_sockptr(&mreq, optval, sizeof(mreq))) in do_ip_setsockopt()
1155 if (optlen >= sizeof(struct ip_mreq)) { in do_ip_setsockopt()
1156 if (copy_from_sockptr(&mreq, optval, in do_ip_setsockopt()
1159 } else if (optlen >= sizeof(struct in_addr)) { in do_ip_setsockopt()
1160 if (copy_from_sockptr(&mreq.imr_address, optval, in do_ip_setsockopt()
1166 if (!mreq.imr_ifindex) { in do_ip_setsockopt()
1167 if (mreq.imr_address.s_addr == htonl(INADDR_ANY)) { in do_ip_setsockopt()
1174 if (dev) in do_ip_setsockopt()
1181 if (!dev) in do_ip_setsockopt()
1189 if (sk->sk_bound_dev_if && in do_ip_setsockopt()
1206 if (inet_sk(sk)->is_icsk) in do_ip_setsockopt()
1209 if (optlen < sizeof(struct ip_mreq)) in do_ip_setsockopt()
1212 if (optlen >= sizeof(struct ip_mreqn)) { in do_ip_setsockopt()
1213 if (copy_from_sockptr(&mreq, optval, sizeof(mreq))) in do_ip_setsockopt()
1217 if (copy_from_sockptr(&mreq, optval, in do_ip_setsockopt()
1222 if (optname == IP_ADD_MEMBERSHIP) in do_ip_setsockopt()
1232 if (optlen < IP_MSFILTER_SIZE(0)) in do_ip_setsockopt()
1234 if (optlen > sysctl_optmem_max) { in do_ip_setsockopt()
1239 if (IS_ERR(msf)) { in do_ip_setsockopt()
1244 if (msf->imsf_numsrc >= 0x3ffffffcU || in do_ip_setsockopt()
1250 if (IP_MSFILTER_SIZE(msf->imsf_numsrc) > optlen) { in do_ip_setsockopt()
1267 if (optlen != sizeof(struct ip_mreq_source)) in do_ip_setsockopt()
1269 if (copy_from_sockptr(&mreqs, optval, sizeof(mreqs))) { in do_ip_setsockopt()
1273 if (optname == IP_BLOCK_SOURCE) { in do_ip_setsockopt()
1276 } else if (optname == IP_UNBLOCK_SOURCE) { in do_ip_setsockopt()
1279 } else if (optname == IP_ADD_SOURCE_MEMBERSHIP) { in do_ip_setsockopt()
1286 if (err && err != -EADDRINUSE) in do_ip_setsockopt()
1299 if (in_compat_syscall()) in do_ip_setsockopt()
1312 if (in_compat_syscall()) in do_ip_setsockopt()
1318 if (optlen < 1) in do_ip_setsockopt()
1320 if (val != 0 && val != 1) in do_ip_setsockopt()
1326 if (optlen < 1) in do_ip_setsockopt()
1334 if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)) in do_ip_setsockopt()
1340 if (!!val && !ns_capable(sock_net(sk)->user_ns, CAP_NET_RAW) && in do_ip_setsockopt()
1345 if (optlen < 1) in do_ip_setsockopt()
1351 if (optlen < 1) in do_ip_setsockopt()
1353 if (val < 0 || val > 255) in do_ip_setsockopt()
1363 if (needs_rtnl) in do_ip_setsockopt()
1369 if (needs_rtnl) in do_ip_setsockopt()
1389 if (prepare && skb_rtable(skb)) { in ipv4_pktinfo_prepare()
1394 * element so the iif is picked up from the prior IPCB. If iif in ipv4_pktinfo_prepare()
1402 if (pktinfo->ipi_ifindex == LOOPBACK_IFINDEX) in ipv4_pktinfo_prepare()
1404 else if (l3slave && rt && rt->rt_iif) in ipv4_pktinfo_prepare()
1420 if (level != SOL_IP) in ip_setsockopt()
1424 #if IS_ENABLED(CONFIG_BPFILTER_UMH) in ip_setsockopt()
1425 if (optname >= BPFILTER_IPT_SO_SET_REPLACE && in ip_setsockopt()
1431 if (err == -ENOPROTOOPT && optname != IP_HDRINCL && in ip_setsockopt()
1465 if (len < size0) in ip_get_mcast_msfilter()
1467 if (copy_from_user(&gsf, p, size0)) in ip_get_mcast_msfilter()
1472 if (err) in ip_get_mcast_msfilter()
1474 if (gsf.gf_numsrc < num) in ip_get_mcast_msfilter()
1476 if (put_user(GROUP_FILTER_SIZE(num), optlen) || in ip_get_mcast_msfilter()
1492 if (len < size0) in compat_ip_get_mcast_msfilter()
1494 if (copy_from_user(&gf32, p, size0)) in compat_ip_get_mcast_msfilter()
1503 if (err) in compat_ip_get_mcast_msfilter()
1505 if (gf.gf_numsrc < num) in compat_ip_get_mcast_msfilter()
1508 if (put_user(len, optlen) || in compat_ip_get_mcast_msfilter()
1523 if (level != SOL_IP) in do_ip_getsockopt()
1526 if (ip_mroute_opt(optname)) in do_ip_getsockopt()
1529 if (get_user(len, optlen)) in do_ip_getsockopt()
1531 if (len < 0) in do_ip_getsockopt()
1534 if (needs_rtnl) in do_ip_getsockopt()
1548 if (inet_opt) in do_ip_getsockopt()
1554 if (opt->optlen == 0) in do_ip_getsockopt()
1560 if (put_user(len, optlen)) in do_ip_getsockopt()
1562 if (copy_to_user(optval, opt->__data, len)) in do_ip_getsockopt()
1621 if (dst) { in do_ip_getsockopt()
1625 if (!val) { in do_ip_getsockopt()
1653 if (put_user(len, optlen)) in do_ip_getsockopt()
1655 if (copy_to_user(optval, &addr, len)) in do_ip_getsockopt()
1663 if (len < IP_MSFILTER_SIZE(0)) { in do_ip_getsockopt()
1667 if (copy_from_user(&msf, optval, IP_MSFILTER_SIZE(0))) { in do_ip_getsockopt()
1676 if (in_compat_syscall()) in do_ip_getsockopt()
1691 if (sk->sk_type != SOCK_STREAM) in do_ip_getsockopt()
1699 if (inet->cmsg_flags & IP_CMSG_PKTINFO) { in do_ip_getsockopt()
1707 if (inet->cmsg_flags & IP_CMSG_TTL) { in do_ip_getsockopt()
1711 if (inet->cmsg_flags & IP_CMSG_TOS) { in do_ip_getsockopt()
1733 if (len < sizeof(int) && len > 0 && val >= 0 && val <= 255) { in do_ip_getsockopt()
1736 if (put_user(len, optlen)) in do_ip_getsockopt()
1738 if (copy_to_user(optval, &ucval, 1)) in do_ip_getsockopt()
1742 if (put_user(len, optlen)) in do_ip_getsockopt()
1744 if (copy_to_user(optval, &val, len)) in do_ip_getsockopt()
1751 if (needs_rtnl) in do_ip_getsockopt()
1763 #if IS_ENABLED(CONFIG_BPFILTER_UMH) in ip_getsockopt()
1764 if (optname >= BPFILTER_IPT_SO_GET_INFO && in ip_getsockopt()
1770 if (err == -ENOPROTOOPT && optname != IP_PKTOPTIONS && in ip_getsockopt()
1774 if (get_user(len, optlen)) in ip_getsockopt()
1778 if (err >= 0) in ip_getsockopt()