| /linux/net/ipv4/ |
| H A D | ip_options.c | 50 memcpy(iph + sizeof(struct iphdr), opt->__data, opt->optlen); in ip_options_build() 82 int optlen; in __ip_options_echo() local 86 if (sopt->optlen == 0) in __ip_options_echo() 93 optlen = sptr[sopt->rr+1]; in __ip_options_echo() 95 dopt->rr = dopt->optlen + sizeof(struct iphdr); in __ip_options_echo() 96 memcpy(dptr, sptr+sopt->rr, optlen); in __ip_options_echo() 97 if (sopt->rr_needaddr && soffset <= optlen) { in __ip_options_echo() 98 if (soffset + 3 > optlen) in __ip_options_echo() 103 dptr += optlen; in __ip_options_echo() 104 dopt->optlen += optlen; in __ip_options_echo() [all …]
|
| H A D | cipso_ipv4.c | 1500 int optlen; in cipso_v4_optptr() local 1503 for (optlen = iph->ihl*4 - sizeof(struct iphdr); optlen > 1; ) { in cipso_v4_optptr() 1513 if (!taglen || taglen > optlen) in cipso_v4_optptr() 1518 optlen -= taglen; in cipso_v4_optptr() 1729 parm.opt.optlen = ip_hdr(skb)->ihl * 4 - sizeof(struct iphdr); in cipso_v4_error() 1813 int iter = 0, optlen = 0; in cipso_v4_get_actual_opt_len() local 1828 optlen = iter; in cipso_v4_get_actual_opt_len() 1831 return optlen; in cipso_v4_get_actual_opt_len() 1895 opt->opt.optlen = opt_len; in cipso_v4_sock_setattr() 1906 sk_conn->icsk_ext_hdr_len -= old->opt.optlen; in cipso_v4_sock_setattr() [all …]
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | sockopt_sk.c | 24 socklen_t optlen; in getsetsockopt() local 35 optlen = getpagesize() * 2; in getsetsockopt() 36 big_buf = calloc(1, optlen); in getsetsockopt() 43 err = setsockopt(fd, SOL_IP, IP_TOS, big_buf, optlen); in getsetsockopt() 49 memset(big_buf, 0, optlen); in getsetsockopt() 50 optlen = 1; in getsetsockopt() 51 err = getsockopt(fd, SOL_IP, IP_TOS, big_buf, &optlen); in getsetsockopt() 82 optlen = 4; in getsetsockopt() 83 err = getsockopt(fd, SOL_CUSTOM, 0, &buf, &optlen); in getsetsockopt() 89 if (optlen != 1) { in getsetsockopt() [all …]
|
| H A D | sockopt_multi.c | 12 socklen_t optlen; in run_getsockopt_test() local 26 optlen = 1; in run_getsockopt_test() 27 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 50 optlen = 1; in run_getsockopt_test() 51 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 75 optlen = 1; in run_getsockopt_test() 76 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 102 optlen = 1; in run_getsockopt_test() 103 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 118 optlen = 1; in run_getsockopt_test() [all …]
|
| H A D | sockopt.c | 237 offsetof(struct bpf_sockopt, optlen)), 267 offsetof(struct bpf_sockopt, optlen)), 335 offsetof(struct bpf_sockopt, optlen)), 514 offsetof(struct bpf_sockopt, optlen)), 569 offsetof(struct bpf_sockopt, optlen)), 617 offsetof(struct bpf_sockopt, optlen)), 624 offsetof(struct bpf_sockopt, optlen)), 646 offsetof(struct bpf_sockopt, optlen)), 663 offsetof(struct bpf_sockopt, optlen)), 682 offsetof(struct bpf_sockopt, optlen)), [all …]
|
| /linux/net/mptcp/ |
| H A D | sockopt.c | 59 unsigned int optlen, int *val) in mptcp_get_int_option() argument 61 if (optlen < sizeof(int)) in mptcp_get_int_option() 180 unsigned int optlen) in mptcp_setsockopt_sol_socket_int() argument 184 ret = mptcp_get_int_option(msk, optval, optlen, &val); in mptcp_setsockopt_sol_socket_int() 214 unsigned int optlen) in mptcp_setsockopt_sol_socket_timestamping() argument 221 if (optlen == sizeof(timestamping)) { in mptcp_setsockopt_sol_socket_timestamping() 225 } else if (optlen == sizeof(int)) { in mptcp_setsockopt_sol_socket_timestamping() 260 unsigned int optlen) in mptcp_setsockopt_sol_socket_linger() argument 268 if (optlen < sizeof(ling)) in mptcp_setsockopt_sol_socket_linger() 301 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_sol_socket() argument [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | sockopt_multi.c | 28 ctx->optlen = 1; in _getsockopt_child() 34 if (ctx->optlen > page_size) in _getsockopt_child() 35 ctx->optlen = 0; in _getsockopt_child() 57 ctx->optlen = 1; in _getsockopt_parent() 63 if (ctx->optlen > page_size) in _getsockopt_parent() 64 ctx->optlen = 0; in _getsockopt_parent() 81 ctx->optlen = 1; in _setsockopt() 87 if (ctx->optlen > page_size) in _setsockopt() 88 ctx->optlen = 0; in _setsockopt()
|
| H A D | cgroup_getset_retval_setsockopt.c | 23 if (ctx->optlen > page_size) in get_retval() 24 ctx->optlen = 0; in get_retval() 38 if (ctx->optlen > page_size) in set_eunatch() 39 ctx->optlen = 0; in set_eunatch() 53 if (ctx->optlen > page_size) in set_eisconn() 54 ctx->optlen = 0; in set_eisconn() 65 if (ctx->optlen > page_size) in legacy_eperm() 66 ctx->optlen = 0; in legacy_eperm()
|
| H A D | sockopt_sk.c | 98 ctx->optlen = 1; in _getsockopt() 128 ctx->optlen = 1; in _getsockopt() 134 if (ctx->optlen > page_size) in _getsockopt() 135 ctx->optlen = 0; in _getsockopt() 179 ctx->optlen = 0; /* bypass optval>PAGE_SIZE */ in _setsockopt() 190 ctx->optlen = 4; in _setsockopt() 202 ctx->optlen = 5; in _setsockopt() 209 if (ctx->optlen != page_size * 2) in _setsockopt() 217 ctx->optlen = 1; in _setsockopt() 243 ctx->optlen = -1; /* BPF has consumed this option, don't call kernel in _setsockopt() [all …]
|
| H A D | cgroup_getset_retval_getsockopt.c | 25 if (ctx->optlen > page_size) in get_retval() 26 ctx->optlen = 0; in get_retval() 40 if (ctx->optlen > page_size) in set_eisconn() 41 ctx->optlen = 0; in set_eisconn() 54 if (ctx->optlen > page_size) in clear_retval() 55 ctx->optlen = 0; in clear_retval()
|
| H A D | sockopt_inherit.c | 72 ctx->optlen = 1; in _getsockopt() 78 if (ctx->optlen > page_size) in _getsockopt() 79 ctx->optlen = 0; in _getsockopt() 101 ctx->optlen = -1; in _setsockopt() 107 if (ctx->optlen > page_size) in _setsockopt() 108 ctx->optlen = 0; in _setsockopt()
|
| H A D | test_tcp_hdr_options.c | 161 __u8 optlen; in synack_opt_len() 176 optlen = option_total_len(passive_synack_out.flags); in synack_opt_len() 177 if (optlen) { in synack_opt_len() 178 err = bpf_reserve_hdr_opt(skops, optlen, 0); in synack_opt_len() 205 __u8 optlen; 211 optlen = option_total_len(active_syn_out.flags); in syn_opt_len() 212 if (optlen) { in syn_opt_len() 213 err = bpf_reserve_hdr_opt(skops, optlen, 0); in syn_opt_len() 233 __u8 optlen; in fin_opt_len() 248 optlen in fin_opt_len() 164 __u8 optlen; synack_opt_len() local 208 __u8 optlen; syn_opt_len() local 236 __u8 optlen; fin_opt_len() local [all...] |
| H A D | test_ldsx_insn.c | 72 old_optlen = ctx->optlen; in _getsockopt() 75 ctx->optlen = -1; in _getsockopt() 79 set_optlen = ctx->optlen; in _getsockopt() 82 ctx->optlen = old_optlen; in _getsockopt()
|
| /linux/net/sctp/ |
| H A D | socket.c | 1390 int __user *optlen) in sctp_getsockopt_connectx3() argument 1427 if (put_user(sizeof(assoc_id), optlen)) in sctp_getsockopt_connectx3() 2220 unsigned int optlen) in sctp_setsockopt_disable_fragments() argument 2222 if (optlen < sizeof(int)) in sctp_setsockopt_disable_fragments() 2229 unsigned int optlen) in sctp_setsockopt_events() argument 2235 if (optlen > sizeof(struct sctp_event_subscribe)) in sctp_setsockopt_events() 2238 for (i = 0; i < optlen; i++) in sctp_setsockopt_events() 2278 unsigned int optlen) in sctp_setsockopt_autoclose() argument 2286 if (optlen != sizeof(int)) in sctp_setsockopt_autoclose() 2627 unsigned int optlen) in sctp_setsockopt_peer_addr_params() argument [all …]
|
| /linux/Documentation/bpf/ |
| H A D | prog_cgroup_sockopt.rst | 16 all input arguments: ``level``, ``optname``, ``optval`` and ``optlen``. 26 If BPF program sets ``optlen`` to -1, the control will be returned 30 Note, that ``optlen`` can not be increased beyond the user-supplied 44 sockopt. The BPF hook can observe ``optval``, ``optlen`` and ``retval`` 46 the values above, adjust ``optlen`` and reset ``retval`` to 0. If ``optlen`` 60 * ``1`` - success: copy ``optval`` and ``optlen`` to userspace, return 78 adjust ``optval``, ``optlen`` and reset ``retval`` to 0. After that 84 to the input arguments (``level``, ``optname``, ``optval``, ``optlen``), 94 * Set ``optlen`` to zero, which indicates that the kernel should 97 * Set ``optlen`` to the value less than ``PAGE_SIZE``, which [all …]
|
| /linux/io_uring/ |
| H A D | cmd_net.c | 31 int optlen, optname, level, err; in io_uring_cmd_getsockopt() local 40 optlen = READ_ONCE(sqe->optlen); in io_uring_cmd_getsockopt() 44 KERNEL_SOCKPTR(&optlen)); in io_uring_cmd_getsockopt() 49 return optlen; in io_uring_cmd_getsockopt() 58 int optname, optlen, level; in io_uring_cmd_setsockopt() local 64 optlen = READ_ONCE(sqe->optlen); in io_uring_cmd_setsockopt() 69 optlen); in io_uring_cmd_setsockopt() 165 peer = READ_ONCE(sqe->optlen); in io_uring_cmd_getsockname()
|
| /linux/net/ipv6/netfilter/ |
| H A D | ip6t_hbh.c | 57 unsigned int optlen; in hbh_mt6() local 137 optlen = *lp + 2; in hbh_mt6() 140 optlen = 1; in hbh_mt6() 144 pr_debug("len%04X\n", optlen); in hbh_mt6() 146 if ((ptr > skb->len - optlen || hdrlen < optlen) && in hbh_mt6() 151 ptr += optlen; in hbh_mt6() 152 hdrlen -= optlen; in hbh_mt6()
|
| /linux/net/dccp/ |
| H A D | proto.c | |
| H A D | ccid.h | |
| /linux/net/tls/ |
| H A D | tls_main.c | 436 int __user *optlen, int tx) in do_tls_getsockopt_conf() argument 445 if (get_user(len, optlen)) in do_tls_getsockopt_conf() 497 int __user *optlen) in do_tls_getsockopt_tx_zc() argument 503 if (get_user(len, optlen)) in do_tls_getsockopt_tx_zc() 517 int __user *optlen) in do_tls_getsockopt_no_pad() argument 525 if (get_user(len, optlen)) in do_tls_getsockopt_no_pad() 536 if (put_user(sizeof(value), optlen)) in do_tls_getsockopt_no_pad() 545 int __user *optlen) in do_tls_getsockopt_tx_payload_len() argument 551 if (get_user(len, optlen)) in do_tls_getsockopt_tx_payload_len() 557 if (put_user(sizeof(payload_len), optlen)) in do_tls_getsockopt_tx_payload_len() [all …]
|
| /linux/net/ipv6/ |
| H A D | exthdrs_core.c | 139 int optlen; in ipv6_find_tlv() local 146 optlen = 1; in ipv6_find_tlv() 151 optlen = nh[offset + 1] + 2; in ipv6_find_tlv() 152 if (optlen > len) in ipv6_find_tlv() 156 offset += optlen; in ipv6_find_tlv() 157 len -= optlen; in ipv6_find_tlv()
|
| /linux/kernel/bpf/ |
| H A D | cgroup.c | 1997 int *optlen, char **kernel_optval) in __cgroup_bpf_run_filter_setsockopt() argument 2012 max_optlen = max_t(int, 16, *optlen); in __cgroup_bpf_run_filter_setsockopt() 2017 ctx.optlen = *optlen; in __cgroup_bpf_run_filter_setsockopt() 2020 min(*optlen, max_optlen))) { in __cgroup_bpf_run_filter_setsockopt() 2033 if (ctx.optlen == -1) { in __cgroup_bpf_run_filter_setsockopt() 2036 } else if (ctx.optlen > max_optlen || ctx.optlen < -1) { in __cgroup_bpf_run_filter_setsockopt() 2038 if (*optlen > PAGE_SIZE && ctx.optlen >= 0) { in __cgroup_bpf_run_filter_setsockopt() 2040 ctx.optlen, max_optlen); in __cgroup_bpf_run_filter_setsockopt() 2056 if (ctx.optlen != 0) { in __cgroup_bpf_run_filter_setsockopt() 2057 *optlen = ctx.optlen; in __cgroup_bpf_run_filter_setsockopt() [all …]
|
| /linux/net/xfrm/ |
| H A D | xfrm_output.c | 231 int hdrlen, optlen; in xfrm4_beet_encap_add() local 234 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm4_beet_encap_add() 235 if (unlikely(optlen)) in xfrm4_beet_encap_add() 236 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4); in xfrm4_beet_encap_add() 252 if (unlikely(optlen)) { in xfrm4_beet_encap_add() 253 if (WARN_ON(optlen < 0)) in xfrm4_beet_encap_add() 256 ph->padlen = 4 - (optlen & 4); in xfrm4_beet_encap_add() 257 ph->hdrlen = optlen / 8; in xfrm4_beet_encap_add() 365 int optlen, hdr_len; in xfrm6_beet_encap_add() local 368 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm6_beet_encap_add() [all …]
|
| /linux/net/netfilter/ |
| H A D | xt_dccp.c | 43 unsigned int optlen = dh->dccph_doff*4 - __dccp_hdr_len(dh); in dccp_find_option() local 49 if (!optlen) in dccp_find_option() 53 op = skb_header_pointer(skb, protoff + optoff, optlen, dccp_optbuf); in dccp_find_option() 59 for (i = 0; i < optlen; ) { in dccp_find_option() 65 if (op[i] < 2 || i == optlen - 1) in dccp_find_option()
|
| /linux/include/net/ |
| H A D | gue.h | 90 static inline int validate_gue_flags(struct guehdr *guehdr, size_t optlen) in validate_gue_flags() argument 99 if (len > optlen) in validate_gue_flags() 113 if (len > optlen) in validate_gue_flags()
|