/Linux-v5.10/net/ipv4/ |
D | ip_options.c | 50 memcpy(iph + sizeof(struct iphdr), opt->__data, opt->optlen); in ip_options_build() 95 int optlen; in __ip_options_echo() local 99 if (sopt->optlen == 0) in __ip_options_echo() 106 optlen = sptr[sopt->rr+1]; in __ip_options_echo() 108 dopt->rr = dopt->optlen + sizeof(struct iphdr); in __ip_options_echo() 109 memcpy(dptr, sptr+sopt->rr, optlen); in __ip_options_echo() 110 if (sopt->rr_needaddr && soffset <= optlen) { in __ip_options_echo() 111 if (soffset + 3 > optlen) in __ip_options_echo() 116 dptr += optlen; in __ip_options_echo() 117 dopt->optlen += optlen; in __ip_options_echo() [all …]
|
D | ip_sockglue.c | 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 [all …]
|
/Linux-v5.10/net/ipv6/ |
D | ipv6_sockglue.c | 140 sockptr_t optval, int optlen) in copy_group_source_from_sockptr() argument 145 if (optlen < sizeof(gr32)) in copy_group_source_from_sockptr() 153 if (optlen < sizeof(*greqs)) in copy_group_source_from_sockptr() 163 sockptr_t optval, int optlen) in do_ipv6_mcast_group_source() argument 169 ret = copy_group_source_from_sockptr(&greqs, optval, optlen); in do_ipv6_mcast_group_source() 204 int optlen) in ipv6_set_mcast_msfilter() argument 209 if (optlen < GROUP_FILTER_SIZE(0)) in ipv6_set_mcast_msfilter() 211 if (optlen > sysctl_optmem_max) in ipv6_set_mcast_msfilter() 214 gsf = memdup_sockptr(optval, optlen); in ipv6_set_mcast_msfilter() 225 if (GROUP_FILTER_SIZE(gsf->gf_numsrc) > optlen) in ipv6_set_mcast_msfilter() [all …]
|
D | exthdrs_core.c | 136 int optlen; in ipv6_find_tlv() local 143 optlen = 1; in ipv6_find_tlv() 146 optlen = nh[offset + 1] + 2; in ipv6_find_tlv() 147 if (optlen > len) in ipv6_find_tlv() 151 offset += optlen; in ipv6_find_tlv() 152 len -= optlen; in ipv6_find_tlv()
|
/Linux-v5.10/tools/testing/selftests/bpf/prog_tests/ |
D | sockopt_sk.c | 15 socklen_t optlen; in getsetsockopt() local 26 optlen = getpagesize() * 2; in getsetsockopt() 27 big_buf = calloc(1, optlen); in getsetsockopt() 34 err = setsockopt(fd, SOL_IP, IP_TOS, big_buf, optlen); in getsetsockopt() 40 memset(big_buf, 0, optlen); in getsetsockopt() 41 optlen = 1; in getsetsockopt() 42 err = getsockopt(fd, SOL_IP, IP_TOS, big_buf, &optlen); in getsetsockopt() 73 optlen = 4; in getsetsockopt() 74 err = getsockopt(fd, SOL_CUSTOM, 0, &buf, &optlen); in getsetsockopt() 80 if (optlen != 1) { in getsetsockopt() [all …]
|
D | sockopt_multi.c | 60 socklen_t optlen; in run_getsockopt_test() local 74 optlen = 1; in run_getsockopt_test() 75 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 97 optlen = 1; in run_getsockopt_test() 98 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 121 optlen = 1; in run_getsockopt_test() 122 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 148 optlen = 1; in run_getsockopt_test() 149 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test() 167 optlen = 1; in run_getsockopt_test() [all …]
|
D | sockopt.c | 229 offsetof(struct bpf_sockopt, optlen)), 257 offsetof(struct bpf_sockopt, optlen)), 300 offsetof(struct bpf_sockopt, optlen)), 477 offsetof(struct bpf_sockopt, optlen)), 531 offsetof(struct bpf_sockopt, optlen)), 578 offsetof(struct bpf_sockopt, optlen)), 585 offsetof(struct bpf_sockopt, optlen)), 606 offsetof(struct bpf_sockopt, optlen)), 622 offsetof(struct bpf_sockopt, optlen)), 640 offsetof(struct bpf_sockopt, optlen)), [all …]
|
/Linux-v5.10/net/sctp/ |
D | socket.c | 1372 int __user *optlen) in sctp_getsockopt_connectx3() argument 1409 if (put_user(sizeof(assoc_id), optlen)) in sctp_getsockopt_connectx3() 2188 unsigned int optlen) in sctp_setsockopt_disable_fragments() argument 2190 if (optlen < sizeof(int)) in sctp_setsockopt_disable_fragments() 2197 unsigned int optlen) in sctp_setsockopt_events() argument 2203 if (optlen > sizeof(struct sctp_event_subscribe)) in sctp_setsockopt_events() 2206 for (i = 0; i < optlen; i++) in sctp_setsockopt_events() 2246 unsigned int optlen) in sctp_setsockopt_autoclose() argument 2254 if (optlen != sizeof(int)) in sctp_setsockopt_autoclose() 2593 unsigned int optlen) in sctp_setsockopt_peer_addr_params() argument [all …]
|
/Linux-v5.10/tools/testing/selftests/bpf/progs/ |
D | sockopt_sk.c | 40 ctx->optlen = 0; /* bypass optval>PAGE_SIZE */ in _getsockopt() 68 ctx->optlen = 1; in _getsockopt() 98 ctx->optlen = 1; in _getsockopt() 115 ctx->optlen = 0; /* bypass optval>PAGE_SIZE */ in _setsockopt() 126 ctx->optlen = 4; in _setsockopt() 138 ctx->optlen = 5; in _setsockopt() 145 if (ctx->optlen != PAGE_SIZE * 2) in _setsockopt() 153 ctx->optlen = 1; in _setsockopt() 177 ctx->optlen = -1; /* BPF has consumed this option, don't call kernel in _setsockopt()
|
D | test_tcp_hdr_options.c | 164 __u8 optlen; in synack_opt_len() local 179 optlen = option_total_len(passive_synack_out.flags); in synack_opt_len() 180 if (optlen) { in synack_opt_len() 181 err = bpf_reserve_hdr_opt(skops, optlen, 0); in synack_opt_len() 208 __u8 optlen; in syn_opt_len() local 214 optlen = option_total_len(active_syn_out.flags); in syn_opt_len() 215 if (optlen) { in syn_opt_len() 216 err = bpf_reserve_hdr_opt(skops, optlen, 0); in syn_opt_len() 236 __u8 optlen; in fin_opt_len() local 251 optlen = option_total_len(opt->flags); in fin_opt_len() [all …]
|
D | sockopt_multi.c | 27 ctx->optlen = 1; in _getsockopt_child() 50 ctx->optlen = 1; in _getsockopt_parent() 68 ctx->optlen = 1; in _setsockopt()
|
/Linux-v5.10/net/ipv4/bpfilter/ |
D | sockopt.c | 25 unsigned int optlen, bool is_set) in bpfilter_mbox_request() argument 48 err = bpfilter_ops.sockopt(sk, optname, optval, optlen, is_set); in bpfilter_mbox_request() 55 unsigned int optlen) in bpfilter_ip_set_sockopt() argument 57 return bpfilter_mbox_request(sk, optname, optval, optlen, true); in bpfilter_ip_set_sockopt() 61 int __user *optlen) in bpfilter_ip_get_sockopt() argument 65 if (get_user(len, optlen)) in bpfilter_ip_get_sockopt()
|
/Linux-v5.10/net/ipv6/netfilter/ |
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-v5.10/net/netfilter/ |
D | xt_tcpmss.c | 33 unsigned int i, optlen; in tcpmss_mt() local 44 optlen = th->doff*4 - sizeof(*th); in tcpmss_mt() 45 if (!optlen) in tcpmss_mt() 49 op = skb_header_pointer(skb, par->thoff + sizeof(*th), optlen, _opt); in tcpmss_mt() 53 for (i = 0; i < optlen; ) { in tcpmss_mt() 55 && (optlen - i) >= TCPOLEN_MSS in tcpmss_mt()
|
/Linux-v5.10/net/rds/ |
D | af_rds.c | 331 int optlen) in rds_set_bool_option() argument 335 if (optlen < sizeof(int)) in rds_set_bool_option() 343 static int rds_cong_monitor(struct rds_sock *rs, sockptr_t optval, int optlen) in rds_cong_monitor() argument 347 ret = rds_set_bool_option(&rs->rs_cong_monitor, optval, optlen); in rds_cong_monitor() 360 static int rds_set_transport(struct rds_sock *rs, sockptr_t optval, int optlen) in rds_set_transport() argument 367 if (optlen != sizeof(int)) in rds_set_transport() 382 int optlen, int optname) in rds_enable_recvtstamp() argument 386 if (optlen != sizeof(int)) in rds_enable_recvtstamp() 406 int optlen) in rds_recv_track_latency() argument 411 if (optlen != sizeof(struct rds_rx_trace_so)) in rds_recv_track_latency() [all …]
|
/Linux-v5.10/net/dccp/ |
D | proto.c | 414 sockptr_t optval, unsigned int optlen) in dccp_setsockopt_service() argument 420 optlen > DCCP_SERVICE_LIST_MAX_LEN * sizeof(u32)) in dccp_setsockopt_service() 423 if (optlen > sizeof(service)) { in dccp_setsockopt_service() 424 sl = kmalloc(optlen, GFP_KERNEL); in dccp_setsockopt_service() 428 sl->dccpsl_nr = optlen / sizeof(u32) - 1; in dccp_setsockopt_service() 430 sizeof(service), optlen - sizeof(service)) || in dccp_setsockopt_service() 484 sockptr_t optval, unsigned int optlen) in dccp_setsockopt_ccid() argument 489 if (optlen < 1 || optlen > DCCP_FEAT_MAX_SP_VALS) in dccp_setsockopt_ccid() 492 val = memdup_sockptr(optval, optlen); in dccp_setsockopt_ccid() 498 rc = dccp_feat_register_sp(sk, DCCPF_CCID, 1, val, optlen); in dccp_setsockopt_ccid() [all …]
|
D | ccid.h | 81 int __user *optlen); 85 int __user *optlen); 243 u32 __user *optval, int __user *optlen) in ccid_hc_rx_getsockopt() argument 248 optval, optlen); in ccid_hc_rx_getsockopt() 254 u32 __user *optval, int __user *optlen) in ccid_hc_tx_getsockopt() argument 259 optval, optlen); in ccid_hc_tx_getsockopt()
|
/Linux-v5.10/Documentation/bpf/ |
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-v5.10/net/can/ |
D | raw.c | 486 sockptr_t optval, unsigned int optlen) in raw_setsockopt() argument 502 if (optlen % sizeof(struct can_filter) != 0) in raw_setsockopt() 505 if (optlen > CAN_RAW_FILTER_MAX * sizeof(struct can_filter)) in raw_setsockopt() 508 count = optlen / sizeof(struct can_filter); in raw_setsockopt() 512 filter = memdup_sockptr(optval, optlen); in raw_setsockopt() 566 if (optlen != sizeof(err_mask)) in raw_setsockopt() 569 if (copy_from_sockptr(&err_mask, optval, optlen)) in raw_setsockopt() 605 if (optlen != sizeof(ro->loopback)) in raw_setsockopt() 608 if (copy_from_sockptr(&ro->loopback, optval, optlen)) in raw_setsockopt() 614 if (optlen != sizeof(ro->recv_own_msgs)) in raw_setsockopt() [all …]
|
/Linux-v5.10/include/linux/ |
D | bpfilter.h | 11 unsigned int optlen); 13 int __user *optlen); 21 unsigned int optlen, bool is_set);
|
D | bpf-cgroup.h | 144 int *optlen, char **kernel_optval); 147 int __user *optlen, int max_optlen, 342 #define BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock, level, optname, optval, optlen, \ argument 349 optlen, \ 354 #define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) \ argument 358 get_user(__ret, optlen); \ 362 #define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, optlen, \ argument 369 optlen, max_optlen, \ 452 #define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) ({ 0; }) argument 454 optlen, max_optlen, retval) ({ retval; }) argument [all …]
|
/Linux-v5.10/net/xfrm/ |
D | xfrm_output.c | 152 int hdrlen, optlen; in xfrm4_beet_encap_add() local 155 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm4_beet_encap_add() 156 if (unlikely(optlen)) in xfrm4_beet_encap_add() 157 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4); in xfrm4_beet_encap_add() 173 if (unlikely(optlen)) { in xfrm4_beet_encap_add() 174 if (WARN_ON(optlen < 0)) in xfrm4_beet_encap_add() 177 ph->padlen = 4 - (optlen & 4); in xfrm4_beet_encap_add() 178 ph->hdrlen = optlen / 8; in xfrm4_beet_encap_add() 281 int optlen, hdr_len; in xfrm6_beet_encap_add() local 284 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm6_beet_encap_add() [all …]
|
/Linux-v5.10/samples/bpf/ |
D | test_cgrp2_sock.c | 128 socklen_t optlen = len; in get_bind_to_device() local 132 rc = getsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, name, &optlen); in get_bind_to_device() 142 socklen_t optlen = sizeof(mark); in get_somark() local 145 rc = getsockopt(sd, SOL_SOCKET, SO_MARK, &mark, &optlen); in get_somark() 155 socklen_t optlen = sizeof(prio); in get_priority() local 158 rc = getsockopt(sd, SOL_SOCKET, SO_PRIORITY, &prio, &optlen); in get_priority()
|
/Linux-v5.10/net/tls/ |
D | tls_main.c | 334 int __user *optlen, int tx) in do_tls_getsockopt_conf() argument 342 if (get_user(len, optlen)) in do_tls_getsockopt_conf() 433 char __user *optval, int __user *optlen) in do_tls_getsockopt() argument 440 rc = do_tls_getsockopt_conf(sk, optval, optlen, in do_tls_getsockopt() 451 char __user *optval, int __user *optlen) in tls_getsockopt() argument 457 optname, optval, optlen); in tls_getsockopt() 459 return do_tls_getsockopt(sk, optname, optval, optlen); in tls_getsockopt() 463 unsigned int optlen, int tx) in do_tls_setsockopt_conf() argument 472 if (sockptr_is_null(optval) || (optlen < sizeof(*crypto_info))) { in do_tls_setsockopt_conf() 529 if (optlen != optsize) { in do_tls_setsockopt_conf() [all …]
|
/Linux-v5.10/include/net/ |
D | gue.h | 87 static inline int validate_gue_flags(struct guehdr *guehdr, size_t optlen) in validate_gue_flags() argument 96 if (len > optlen) in validate_gue_flags() 110 if (len > optlen) in validate_gue_flags()
|