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()
699 sockptr_t optval, int optlen) in copy_group_source_from_sockptr() argument
704 if (optlen != sizeof(gr32)) in copy_group_source_from_sockptr()
712 if (optlen != sizeof(*greqs)) in copy_group_source_from_sockptr()
722 sockptr_t optval, int optlen) in do_mcast_group_source() argument
729 err = copy_group_source_from_sockptr(&greqs, optval, optlen); in do_mcast_group_source()
769 static int ip_set_mcast_msfilter(struct sock *sk, sockptr_t optval, int optlen) in ip_set_mcast_msfilter() argument
774 if (optlen < GROUP_FILTER_SIZE(0)) in ip_set_mcast_msfilter()
776 if (optlen > READ_ONCE(sysctl_optmem_max)) in ip_set_mcast_msfilter()
779 gsf = memdup_sockptr(optval, optlen); in ip_set_mcast_msfilter()
790 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[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()
890 sockptr_t optval, unsigned int optlen) in do_ip_setsockopt() argument
923 if (optlen >= sizeof(int)) { in do_ip_setsockopt()
926 } else if (optlen >= sizeof(char)) { in do_ip_setsockopt()
940 return ip_mroute_setsockopt(sk, optname, optval, optlen); in do_ip_setsockopt()
952 if (optlen > 40) in do_ip_setsockopt()
954 err = ip_options_get(sock_net(sk), &opt, optval, optlen); in do_ip_setsockopt()
968 icsk->icsk_ext_hdr_len -= old->opt.optlen; in do_ip_setsockopt()
970 icsk->icsk_ext_hdr_len += opt->opt.optlen; in do_ip_setsockopt()
1048 if (optlen < 1) in do_ip_setsockopt()
1089 if (optlen < 1) in do_ip_setsockopt()
1098 if (optlen < 1) in do_ip_setsockopt()
1108 if (optlen != sizeof(int)) 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()
1155 if (optlen >= sizeof(struct ip_mreq)) { in do_ip_setsockopt()
1159 } else if (optlen >= sizeof(struct in_addr)) { 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()
1232 if (optlen < IP_MSFILTER_SIZE(0)) in do_ip_setsockopt()
1234 if (optlen > READ_ONCE(sysctl_optmem_max)) { in do_ip_setsockopt()
1238 msf = memdup_sockptr(optval, optlen); 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()
1301 optlen); in do_ip_setsockopt()
1303 err = ip_mcast_join_leave(sk, optname, optval, optlen); in do_ip_setsockopt()
1309 err = do_mcast_group_source(sk, optname, optval, optlen); in do_ip_setsockopt()
1313 err = compat_ip_set_mcast_msfilter(sk, optval, optlen); in do_ip_setsockopt()
1315 err = ip_set_mcast_msfilter(sk, optval, optlen); in do_ip_setsockopt()
1318 if (optlen < 1) in do_ip_setsockopt()
1326 if (optlen < 1) in do_ip_setsockopt()
1336 err = xfrm_user_policy(sk, optname, optval, optlen); in do_ip_setsockopt()
1345 if (optlen < 1) in do_ip_setsockopt()
1351 if (optlen < 1) in do_ip_setsockopt()
1416 unsigned int optlen) in ip_setsockopt() argument
1423 err = do_ip_setsockopt(sk, level, optname, optval, optlen); in ip_setsockopt()
1427 err = bpfilter_ip_set_sockopt(sk, optname, optval, optlen); in ip_setsockopt()
1435 err = nf_setsockopt(sk, PF_INET, optname, optval, optlen); in ip_setsockopt()
1457 int __user *optlen, int len) in ip_get_mcast_msfilter() argument
1476 if (put_user(GROUP_FILTER_SIZE(num), optlen) || in ip_get_mcast_msfilter()
1483 int __user *optlen, int len) in compat_ip_get_mcast_msfilter() argument
1508 if (put_user(len, optlen) || in compat_ip_get_mcast_msfilter()
1516 char __user *optval, int __user *optlen) in do_ip_getsockopt() argument
1527 return ip_mroute_getsockopt(sk, optname, optval, optlen); in do_ip_getsockopt()
1529 if (get_user(len, optlen)) in do_ip_getsockopt()
1547 opt->optlen = 0; in do_ip_getsockopt()
1551 inet_opt->opt.optlen); in do_ip_getsockopt()
1554 if (opt->optlen == 0) in do_ip_getsockopt()
1555 return put_user(0, optlen); in do_ip_getsockopt()
1559 len = min_t(unsigned int, len, opt->optlen); in do_ip_getsockopt()
1560 if (put_user(len, optlen)) in do_ip_getsockopt()
1653 if (put_user(len, optlen)) in do_ip_getsockopt()
1672 (struct ip_msfilter __user *)optval, optlen); in do_ip_getsockopt()
1677 err = compat_ip_get_mcast_msfilter(sk, optval, optlen, in do_ip_getsockopt()
1680 err = ip_get_mcast_msfilter(sk, optval, optlen, len); in do_ip_getsockopt()
1716 return put_user(len, optlen); in do_ip_getsockopt()
1736 if (put_user(len, optlen)) in do_ip_getsockopt()
1742 if (put_user(len, optlen)) in do_ip_getsockopt()
1757 int optname, char __user *optval, int __user *optlen) in ip_getsockopt() argument
1761 err = do_ip_getsockopt(sk, level, optname, optval, optlen); in ip_getsockopt()
1766 err = bpfilter_ip_get_sockopt(sk, optname, optval, optlen); in ip_getsockopt()
1774 if (get_user(len, optlen)) in ip_getsockopt()
1779 err = put_user(len, optlen); in ip_getsockopt()