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);
701 sockptr_t optval, int optlen)
706 if (optlen != sizeof(gr32))
714 if (optlen != sizeof(*greqs))
724 sockptr_t optval, int optlen)
731 err = copy_group_source_from_sockptr(&greqs, optval, optlen);
771 static int ip_set_mcast_msfilter(struct sock *sk, sockptr_t optval, int optlen)
776 if (optlen < GROUP_FILTER_SIZE(0))
778 if (optlen > READ_ONCE(sysctl_optmem_max))
781 gsf = memdup_sockptr(optval, optlen);
792 if (GROUP_FILTER_SIZE(gsf->gf_numsrc) > optlen)
804 int optlen)
812 if (optlen < size0)
814 if (optlen > READ_ONCE(sysctl_optmem_max) - 4)
817 p = kmalloc(optlen + 4, GFP_KERNEL);
823 if (copy_from_sockptr(gf32, optval, optlen))
833 if (offsetof(struct compat_group_filter, gf_slist_flex[n]) > optlen)
848 sockptr_t optval, int optlen)
854 if (optlen < sizeof(struct group_req))
870 sockptr_t optval, int optlen)
876 if (optlen < sizeof(struct compat_group_req))
895 sockptr_t optval, unsigned int optlen)
929 if (optlen >= sizeof(int)) {
932 } else if (optlen >= sizeof(char)) {
941 /* If optlen==0, it is equivalent to val == 0 */
946 return ip_mroute_setsockopt(sk, optname, optval, optlen);
987 if (optlen < 1)
997 if (optlen < 1)
1002 if (optlen < 1)
1012 if (optlen < 1)
1025 if (optlen < 1)
1032 if (optlen < 1)
1054 if (optlen > 40)
1056 err = ip_options_get(sock_net(sk), &opt, optval, optlen);
1070 icsk->icsk_ext_hdr_len -= old->opt.optlen;
1072 icsk->icsk_ext_hdr_len += opt->opt.optlen;
1107 if (optlen < 1)
1121 if (optlen != sizeof(int))
1159 if (optlen < sizeof(struct in_addr))
1163 if (optlen >= sizeof(struct ip_mreqn)) {
1168 if (optlen >= sizeof(struct ip_mreq)) {
1172 } else if (optlen >= sizeof(struct in_addr)) {
1222 if (optlen < sizeof(struct ip_mreq))
1225 if (optlen >= sizeof(struct ip_mreqn)) {
1245 if (optlen < IP_MSFILTER_SIZE(0))
1247 if (optlen > READ_ONCE(sysctl_optmem_max)) {
1251 msf = memdup_sockptr(optval, optlen);
1263 if (IP_MSFILTER_SIZE(msf->imsf_numsrc) > optlen) {
1280 if (optlen != sizeof(struct ip_mreq_source))
1314 optlen);
1316 err = ip_mcast_join_leave(sk, optname, optval, optlen);
1322 err = do_mcast_group_source(sk, optname, optval, optlen);
1326 err = compat_ip_set_mcast_msfilter(sk, optval, optlen);
1328 err = ip_set_mcast_msfilter(sk, optval, optlen);
1335 err = xfrm_user_policy(sk, optname, optval, optlen);
1343 if (optlen != sizeof(__u32))
1412 unsigned int optlen)
1419 err = do_ip_setsockopt(sk, level, optname, optval, optlen);
1423 err = bpfilter_ip_set_sockopt(sk, optname, optval, optlen);
1431 err = nf_setsockopt(sk, PF_INET, optname, optval, optlen);
1453 sockptr_t optlen, int len)
1473 if (copy_to_sockptr(optlen, &gsf_size, sizeof(int)) ||
1480 sockptr_t optlen, int len)
1505 if (copy_to_sockptr(optlen, &len, sizeof(int)) ||
1515 sockptr_t optval, sockptr_t optlen)
1526 return ip_mroute_getsockopt(sk, optname, optval, optlen);
1528 if (copy_from_sockptr(&len, optlen, sizeof(int)))
1612 opt->optlen = 0;
1616 inet_opt->opt.optlen);
1619 if (opt->optlen == 0) {
1621 return copy_to_sockptr(optlen, &len, sizeof(int));
1626 len = min_t(unsigned int, len, opt->optlen);
1627 if (copy_to_sockptr(optlen, &len, sizeof(int)))
1667 if (copy_to_sockptr(optlen, &len, sizeof(int)))
1685 err = ip_mc_msfget(sk, &msf, optval, optlen);
1690 err = compat_ip_get_mcast_msfilter(sk, optval, optlen,
1693 err = ip_get_mcast_msfilter(sk, optval, optlen, len);
1731 return copy_to_sockptr(optlen, &len, sizeof(int));
1748 if (copy_to_sockptr(optlen, &len, sizeof(int)))
1754 if (copy_to_sockptr(optlen, &len, sizeof(int)))
1769 int optname, char __user *optval, int __user *optlen)
1774 USER_SOCKPTR(optval), USER_SOCKPTR(optlen));
1779 err = bpfilter_ip_get_sockopt(sk, optname, optval, optlen);
1787 if (get_user(len, optlen))
1792 err = put_user(len, optlen);