Lines Matching refs:optlen

78 	if (IPCB(skb)->opt.optlen == 0)  in ip_cmsg_recv_opts()
81 put_cmsg(msg, SOL_IP, IP_RECVOPTS, IPCB(skb)->opt.optlen, in ip_cmsg_recv_opts()
92 if (IPCB(skb)->opt.optlen == 0) in ip_cmsg_recv_retopts()
101 put_cmsg(msg, SOL_IP, IP_RETOPTS, opt->optlen, opt->__data); in ip_cmsg_recv_retopts()
698 sockptr_t optval, int optlen) in copy_group_source_from_sockptr() argument
703 if (optlen != sizeof(gr32)) in copy_group_source_from_sockptr()
711 if (optlen != sizeof(*greqs)) in copy_group_source_from_sockptr()
721 sockptr_t optval, int optlen) in do_mcast_group_source() argument
728 err = copy_group_source_from_sockptr(&greqs, optval, optlen); in do_mcast_group_source()
768 static int ip_set_mcast_msfilter(struct sock *sk, sockptr_t optval, int optlen) in ip_set_mcast_msfilter() argument
773 if (optlen < GROUP_FILTER_SIZE(0)) in ip_set_mcast_msfilter()
775 if (optlen > READ_ONCE(sysctl_optmem_max)) in ip_set_mcast_msfilter()
778 gsf = memdup_sockptr(optval, optlen); in ip_set_mcast_msfilter()
789 if (GROUP_FILTER_SIZE(gsf->gf_numsrc) > optlen) in ip_set_mcast_msfilter()
801 int optlen) in compat_ip_set_mcast_msfilter() argument
809 if (optlen < size0) in compat_ip_set_mcast_msfilter()
811 if (optlen > READ_ONCE(sysctl_optmem_max) - 4) in compat_ip_set_mcast_msfilter()
814 p = kmalloc(optlen + 4, GFP_KERNEL); in compat_ip_set_mcast_msfilter()
820 if (copy_from_sockptr(gf32, optval, optlen)) in compat_ip_set_mcast_msfilter()
830 if (offsetof(struct compat_group_filter, gf_slist_flex[n]) > optlen) in compat_ip_set_mcast_msfilter()
845 sockptr_t optval, int optlen) in ip_mcast_join_leave() argument
851 if (optlen < sizeof(struct group_req)) in ip_mcast_join_leave()
867 sockptr_t optval, int optlen) in compat_ip_mcast_join_leave() argument
873 if (optlen < sizeof(struct compat_group_req)) in compat_ip_mcast_join_leave()
892 sockptr_t optval, unsigned int optlen) in do_ip_setsockopt() argument
925 if (optlen >= sizeof(int)) { in do_ip_setsockopt()
928 } else if (optlen >= sizeof(char)) { in do_ip_setsockopt()
942 return ip_mroute_setsockopt(sk, optname, optval, optlen); in do_ip_setsockopt()
954 if (optlen > 40) in do_ip_setsockopt()
956 err = ip_options_get(sock_net(sk), &opt, optval, optlen); in do_ip_setsockopt()
970 icsk->icsk_ext_hdr_len -= old->opt.optlen; in do_ip_setsockopt()
972 icsk->icsk_ext_hdr_len += opt->opt.optlen; in do_ip_setsockopt()
1050 if (optlen < 1) in do_ip_setsockopt()
1091 if (optlen < 1) in do_ip_setsockopt()
1100 if (optlen < 1) in do_ip_setsockopt()
1110 if (optlen != sizeof(int)) in do_ip_setsockopt()
1148 if (optlen < sizeof(struct in_addr)) in do_ip_setsockopt()
1152 if (optlen >= sizeof(struct ip_mreqn)) { in do_ip_setsockopt()
1157 if (optlen >= sizeof(struct ip_mreq)) { in do_ip_setsockopt()
1161 } else if (optlen >= sizeof(struct in_addr)) { in do_ip_setsockopt()
1211 if (optlen < sizeof(struct ip_mreq)) in do_ip_setsockopt()
1214 if (optlen >= sizeof(struct ip_mreqn)) { in do_ip_setsockopt()
1234 if (optlen < IP_MSFILTER_SIZE(0)) in do_ip_setsockopt()
1236 if (optlen > READ_ONCE(sysctl_optmem_max)) { in do_ip_setsockopt()
1240 msf = memdup_sockptr(optval, optlen); in do_ip_setsockopt()
1252 if (IP_MSFILTER_SIZE(msf->imsf_numsrc) > optlen) { in do_ip_setsockopt()
1269 if (optlen != sizeof(struct ip_mreq_source)) in do_ip_setsockopt()
1303 optlen); in do_ip_setsockopt()
1305 err = ip_mcast_join_leave(sk, optname, optval, optlen); in do_ip_setsockopt()
1311 err = do_mcast_group_source(sk, optname, optval, optlen); in do_ip_setsockopt()
1315 err = compat_ip_set_mcast_msfilter(sk, optval, optlen); in do_ip_setsockopt()
1317 err = ip_set_mcast_msfilter(sk, optval, optlen); in do_ip_setsockopt()
1320 if (optlen < 1) in do_ip_setsockopt()
1328 if (optlen < 1) in do_ip_setsockopt()
1338 err = xfrm_user_policy(sk, optname, optval, optlen); in do_ip_setsockopt()
1347 if (optlen < 1) in do_ip_setsockopt()
1353 if (optlen < 1) in do_ip_setsockopt()
1425 unsigned int optlen) in ip_setsockopt() argument
1432 err = do_ip_setsockopt(sk, level, optname, optval, optlen); in ip_setsockopt()
1436 err = bpfilter_ip_set_sockopt(sk, optname, optval, optlen); in ip_setsockopt()
1444 err = nf_setsockopt(sk, PF_INET, optname, optval, optlen); in ip_setsockopt()
1466 sockptr_t optlen, int len) in ip_get_mcast_msfilter() argument
1486 if (copy_to_sockptr(optlen, &gsf_size, sizeof(int)) || in ip_get_mcast_msfilter()
1493 sockptr_t optlen, int len) in compat_ip_get_mcast_msfilter() argument
1518 if (copy_to_sockptr(optlen, &len, sizeof(int)) || in compat_ip_get_mcast_msfilter()
1528 sockptr_t optval, sockptr_t optlen) in do_ip_getsockopt() argument
1539 return ip_mroute_getsockopt(sk, optname, optval, optlen); in do_ip_getsockopt()
1541 if (copy_from_sockptr(&len, optlen, sizeof(int))) in do_ip_getsockopt()
1559 opt->optlen = 0; in do_ip_getsockopt()
1563 inet_opt->opt.optlen); in do_ip_getsockopt()
1566 if (opt->optlen == 0) { in do_ip_getsockopt()
1568 return copy_to_sockptr(optlen, &len, sizeof(int)); in do_ip_getsockopt()
1573 len = min_t(unsigned int, len, opt->optlen); in do_ip_getsockopt()
1574 if (copy_to_sockptr(optlen, &len, sizeof(int))) in do_ip_getsockopt()
1667 if (copy_to_sockptr(optlen, &len, sizeof(int))) in do_ip_getsockopt()
1685 err = ip_mc_msfget(sk, &msf, optval, optlen); in do_ip_getsockopt()
1690 err = compat_ip_get_mcast_msfilter(sk, optval, optlen, in do_ip_getsockopt()
1693 err = ip_get_mcast_msfilter(sk, optval, optlen, len); in do_ip_getsockopt()
1734 return copy_to_sockptr(optlen, &len, sizeof(int)); in do_ip_getsockopt()
1754 if (copy_to_sockptr(optlen, &len, sizeof(int))) in do_ip_getsockopt()
1760 if (copy_to_sockptr(optlen, &len, sizeof(int))) in do_ip_getsockopt()
1775 int optname, char __user *optval, int __user *optlen) in ip_getsockopt() argument
1780 USER_SOCKPTR(optval), USER_SOCKPTR(optlen)); in ip_getsockopt()
1785 err = bpfilter_ip_get_sockopt(sk, optname, optval, optlen); in ip_getsockopt()
1793 if (get_user(len, optlen)) in ip_getsockopt()
1798 err = put_user(len, optlen); in ip_getsockopt()