Lines Matching refs:optlen
78 if (IPCB(skb)->opt.optlen == 0)
81 put_cmsg(msg, SOL_IP, IP_RECVOPTS, IPCB(skb)->opt.optlen,
92 if (IPCB(skb)->opt.optlen == 0)
101 put_cmsg(msg, SOL_IP, IP_RETOPTS, opt->optlen, opt->__data);
706 sockptr_t optval, int optlen)
711 if (optlen != sizeof(gr32))
719 if (optlen != sizeof(*greqs))
729 sockptr_t optval, int optlen)
736 err = copy_group_source_from_sockptr(&greqs, optval, optlen);
776 static int ip_set_mcast_msfilter(struct sock *sk, sockptr_t optval, int optlen)
781 if (optlen < GROUP_FILTER_SIZE(0))
783 if (optlen > READ_ONCE(sysctl_optmem_max))
786 gsf = memdup_sockptr(optval, optlen);
797 if (GROUP_FILTER_SIZE(gsf->gf_numsrc) > optlen)
808 int optlen)
816 if (optlen < size0)
818 if (optlen > READ_ONCE(sysctl_optmem_max) - 4)
821 p = kmalloc(optlen + 4, GFP_KERNEL);
827 if (copy_from_sockptr(gf32, optval, optlen))
837 if (offsetof(struct compat_group_filter, gf_slist[n]) > optlen)
852 sockptr_t optval, int optlen)
858 if (optlen < sizeof(struct group_req))
874 sockptr_t optval, int optlen)
880 if (optlen < sizeof(struct compat_group_req))
897 sockptr_t optval, unsigned int optlen)
930 if (optlen >= sizeof(int)) {
933 } else if (optlen >= sizeof(char)) {
942 /* If optlen==0, it is equivalent to val == 0 */
947 return ip_mroute_setsockopt(sk, optname, optval, optlen);
959 if (optlen > 40)
961 err = ip_options_get(sock_net(sk), &opt, optval, optlen);
975 icsk->icsk_ext_hdr_len -= old->opt.optlen;
977 icsk->icsk_ext_hdr_len += opt->opt.optlen;
1055 if (optlen < 1)
1096 if (optlen < 1)
1105 if (optlen < 1)
1115 if (optlen != sizeof(int))
1153 if (optlen < sizeof(struct in_addr))
1157 if (optlen >= sizeof(struct ip_mreqn)) {
1162 if (optlen >= sizeof(struct ip_mreq)) {
1166 } else if (optlen >= sizeof(struct in_addr)) {
1216 if (optlen < sizeof(struct ip_mreq))
1219 if (optlen >= sizeof(struct ip_mreqn)) {
1239 if (optlen < IP_MSFILTER_SIZE(0))
1241 if (optlen > READ_ONCE(sysctl_optmem_max)) {
1245 msf = memdup_sockptr(optval, optlen);
1257 if (IP_MSFILTER_SIZE(msf->imsf_numsrc) > optlen) {
1274 if (optlen != sizeof(struct ip_mreq_source))
1308 optlen);
1310 err = ip_mcast_join_leave(sk, optname, optval, optlen);
1316 err = do_mcast_group_source(sk, optname, optval, optlen);
1320 err = compat_ip_set_mcast_msfilter(sk, optval, optlen);
1322 err = ip_set_mcast_msfilter(sk, optval, optlen);
1325 if (optlen < 1)
1333 if (optlen < 1)
1343 err = xfrm_user_policy(sk, optname, optval, optlen);
1352 if (optlen < 1)
1358 if (optlen < 1)
1423 unsigned int optlen)
1430 err = do_ip_setsockopt(sk, level, optname, optval, optlen);
1434 err = bpfilter_ip_set_sockopt(sk, optname, optval, optlen);
1442 err = nf_setsockopt(sk, PF_INET, optname, optval, optlen);
1464 int __user *optlen, int len)
1483 if (put_user(GROUP_FILTER_SIZE(num), optlen) ||
1490 int __user *optlen, int len)
1515 if (put_user(len, optlen) ||
1523 char __user *optval, int __user *optlen)
1534 return ip_mroute_getsockopt(sk, optname, optval, optlen);
1536 if (get_user(len, optlen))
1554 opt->optlen = 0;
1558 inet_opt->opt.optlen);
1561 if (opt->optlen == 0)
1562 return put_user(0, optlen);
1566 len = min_t(unsigned int, len, opt->optlen);
1567 if (put_user(len, optlen))
1660 if (put_user(len, optlen))
1679 (struct ip_msfilter __user *)optval, optlen);
1684 err = compat_ip_get_mcast_msfilter(sk, optval, optlen,
1687 err = ip_get_mcast_msfilter(sk, optval, optlen, len);
1723 return put_user(len, optlen);
1746 if (put_user(len, optlen))
1752 if (put_user(len, optlen))
1767 int optname, char __user *optval, int __user *optlen)
1771 err = do_ip_getsockopt(sk, level, optname, optval, optlen);
1776 err = bpfilter_ip_get_sockopt(sk, optname, optval, optlen);
1784 if (get_user(len, optlen))
1789 err = put_user(len, optlen);