Home
last modified time | relevance | path

Searched refs:optlen (Results 1 – 25 of 168) sorted by relevance

1234567

/Linux-v6.1/net/ipv4/
Dip_options.c50 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 …]
Dip_sockglue.c78 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()
698 sockptr_t optval, int optlen) in copy_group_source_from_sockptr() argument
703 if (optlen != sizeof(gr32)) in copy_group_source_from_sockptr()
711 if (optlen != sizeof(*greqs)) in copy_group_source_from_sockptr()
721 sockptr_t optval, int optlen) in do_mcast_group_source() argument
728 err = copy_group_source_from_sockptr(&greqs, optval, optlen); in do_mcast_group_source()
768 static int ip_set_mcast_msfilter(struct sock *sk, sockptr_t optval, int optlen) in ip_set_mcast_msfilter() argument
[all …]
/Linux-v6.1/tools/testing/selftests/bpf/prog_tests/
Dsockopt_sk.c23 socklen_t optlen; in getsetsockopt() local
34 optlen = getpagesize() * 2; in getsetsockopt()
35 big_buf = calloc(1, optlen); in getsetsockopt()
42 err = setsockopt(fd, SOL_IP, IP_TOS, big_buf, optlen); in getsetsockopt()
48 memset(big_buf, 0, optlen); in getsetsockopt()
49 optlen = 1; in getsetsockopt()
50 err = getsockopt(fd, SOL_IP, IP_TOS, big_buf, &optlen); in getsetsockopt()
81 optlen = 4; in getsetsockopt()
82 err = getsockopt(fd, SOL_CUSTOM, 0, &buf, &optlen); in getsetsockopt()
88 if (optlen != 1) { in getsetsockopt()
[all …]
Dsockopt_multi.c60 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 …]
Dsockopt.c229 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-v6.1/net/ipv6/
Dipv6_sockglue.c142 sockptr_t optval, int optlen) in copy_group_source_from_sockptr() argument
147 if (optlen < sizeof(gr32)) in copy_group_source_from_sockptr()
155 if (optlen < sizeof(*greqs)) in copy_group_source_from_sockptr()
165 sockptr_t optval, int optlen) in do_ipv6_mcast_group_source() argument
171 ret = copy_group_source_from_sockptr(&greqs, optval, optlen); in do_ipv6_mcast_group_source()
206 int optlen) in ipv6_set_mcast_msfilter() argument
211 if (optlen < GROUP_FILTER_SIZE(0)) in ipv6_set_mcast_msfilter()
213 if (optlen > READ_ONCE(sysctl_optmem_max)) in ipv6_set_mcast_msfilter()
216 gsf = memdup_sockptr(optval, optlen); in ipv6_set_mcast_msfilter()
227 if (GROUP_FILTER_SIZE(gsf->gf_numsrc) > optlen) in ipv6_set_mcast_msfilter()
[all …]
Dexthdrs_core.c136 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-v6.1/net/mptcp/
Dsockopt.c58 unsigned int optlen, int *val) in mptcp_get_int_option() argument
60 if (optlen < sizeof(int)) in mptcp_get_int_option()
172 unsigned int optlen) in mptcp_setsockopt_sol_socket_int() argument
176 ret = mptcp_get_int_option(msk, optval, optlen, &val); in mptcp_setsockopt_sol_socket_int()
208 unsigned int optlen) in mptcp_setsockopt_sol_socket_timestamping() argument
215 if (optlen == sizeof(timestamping)) { in mptcp_setsockopt_sol_socket_timestamping()
219 } else if (optlen == sizeof(int)) { in mptcp_setsockopt_sol_socket_timestamping()
250 unsigned int optlen) in mptcp_setsockopt_sol_socket_linger() argument
258 if (optlen < sizeof(ling)) in mptcp_setsockopt_sol_socket_linger()
291 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_sol_socket() argument
[all …]
/Linux-v6.1/net/sctp/
Dsocket.c1387 int __user *optlen) in sctp_getsockopt_connectx3() argument
1424 if (put_user(sizeof(assoc_id), optlen)) in sctp_getsockopt_connectx3()
2199 unsigned int optlen) in sctp_setsockopt_disable_fragments() argument
2201 if (optlen < sizeof(int)) in sctp_setsockopt_disable_fragments()
2208 unsigned int optlen) in sctp_setsockopt_events() argument
2214 if (optlen > sizeof(struct sctp_event_subscribe)) in sctp_setsockopt_events()
2217 for (i = 0; i < optlen; i++) in sctp_setsockopt_events()
2257 unsigned int optlen) in sctp_setsockopt_autoclose() argument
2265 if (optlen != sizeof(int)) in sctp_setsockopt_autoclose()
2605 unsigned int optlen) in sctp_setsockopt_peer_addr_params() argument
[all …]
/Linux-v6.1/tools/testing/selftests/bpf/progs/
Dsockopt_sk.c49 ctx->optlen = 0; /* bypass optval>PAGE_SIZE */ in _getsockopt()
93 ctx->optlen = 1; in _getsockopt()
123 ctx->optlen = 1; in _getsockopt()
148 ctx->optlen = 0; /* bypass optval>PAGE_SIZE */ in _setsockopt()
159 ctx->optlen = 4; in _setsockopt()
171 ctx->optlen = 5; in _setsockopt()
178 if (ctx->optlen != page_size * 2) in _setsockopt()
186 ctx->optlen = 1; in _setsockopt()
210 ctx->optlen = -1; /* BPF has consumed this option, don't call kernel in _setsockopt()
Dtest_tcp_hdr_options.c164 __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 …]
/Linux-v6.1/net/ipv6/netfilter/
Dip6t_hbh.c57 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-v6.1/net/ipv4/bpfilter/
Dsockopt.c25 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-v6.1/net/netfilter/
Dxt_tcpmss.c33 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-v6.1/net/rds/
Daf_rds.c331 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-v6.1/net/dccp/
Dproto.c402 sockptr_t optval, unsigned int optlen) in dccp_setsockopt_service() argument
408 optlen > DCCP_SERVICE_LIST_MAX_LEN * sizeof(u32)) in dccp_setsockopt_service()
411 if (optlen > sizeof(service)) { in dccp_setsockopt_service()
412 sl = kmalloc(optlen, GFP_KERNEL); in dccp_setsockopt_service()
416 sl->dccpsl_nr = optlen / sizeof(u32) - 1; in dccp_setsockopt_service()
418 sizeof(service), optlen - sizeof(service)) || in dccp_setsockopt_service()
472 sockptr_t optval, unsigned int optlen) in dccp_setsockopt_ccid() argument
477 if (optlen < 1 || optlen > DCCP_FEAT_MAX_SP_VALS) in dccp_setsockopt_ccid()
480 val = memdup_sockptr(optval, optlen); in dccp_setsockopt_ccid()
486 rc = dccp_feat_register_sp(sk, DCCPF_CCID, 1, val, optlen); in dccp_setsockopt_ccid()
[all …]
/Linux-v6.1/Documentation/bpf/
Dprog_cgroup_sockopt.rst16 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-v6.1/net/can/
Draw.c518 sockptr_t optval, unsigned int optlen) in raw_setsockopt() argument
534 if (optlen % sizeof(struct can_filter) != 0) in raw_setsockopt()
537 if (optlen > CAN_RAW_FILTER_MAX * sizeof(struct can_filter)) in raw_setsockopt()
540 count = optlen / sizeof(struct can_filter); in raw_setsockopt()
544 filter = memdup_sockptr(optval, optlen); in raw_setsockopt()
605 if (optlen != sizeof(err_mask)) in raw_setsockopt()
608 if (copy_from_sockptr(&err_mask, optval, optlen)) in raw_setsockopt()
649 if (optlen != sizeof(ro->loopback)) in raw_setsockopt()
652 if (copy_from_sockptr(&ro->loopback, optval, optlen)) in raw_setsockopt()
658 if (optlen != sizeof(ro->recv_own_msgs)) in raw_setsockopt()
[all …]
/Linux-v6.1/include/linux/
Dbpf-cgroup.h141 int *optlen, char **kernel_optval);
144 int __user *optlen, int max_optlen,
149 int *optlen, int retval);
363 #define BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock, level, optname, optval, optlen, \ argument
371 optlen, \
376 #define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) \ argument
380 get_user(__ret, optlen); \
384 #define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, optlen, \ argument
395 sock, level, optname, optval, optlen, \
401 optlen, retval) \ argument
[all …]
Dbpfilter.h11 unsigned int optlen);
13 int __user *optlen);
21 unsigned int optlen, bool is_set);
/Linux-v6.1/net/tls/
Dtls_main.c355 int __user *optlen, int tx) in do_tls_getsockopt_conf() argument
363 if (get_user(len, optlen)) in do_tls_getsockopt_conf()
584 int __user *optlen) in do_tls_getsockopt_tx_zc() argument
590 if (get_user(len, optlen)) in do_tls_getsockopt_tx_zc()
604 int __user *optlen) in do_tls_getsockopt_no_pad() argument
612 if (get_user(len, optlen)) in do_tls_getsockopt_no_pad()
625 if (put_user(sizeof(value), optlen)) in do_tls_getsockopt_no_pad()
634 char __user *optval, int __user *optlen) in do_tls_getsockopt() argument
641 rc = do_tls_getsockopt_conf(sk, optval, optlen, in do_tls_getsockopt()
645 rc = do_tls_getsockopt_tx_zc(sk, optval, optlen); in do_tls_getsockopt()
[all …]
/Linux-v6.1/net/xfrm/
Dxfrm_output.c229 int hdrlen, optlen; in xfrm4_beet_encap_add() local
232 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm4_beet_encap_add()
233 if (unlikely(optlen)) in xfrm4_beet_encap_add()
234 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4); in xfrm4_beet_encap_add()
250 if (unlikely(optlen)) { in xfrm4_beet_encap_add()
251 if (WARN_ON(optlen < 0)) in xfrm4_beet_encap_add()
254 ph->padlen = 4 - (optlen & 4); in xfrm4_beet_encap_add()
255 ph->hdrlen = optlen / 8; in xfrm4_beet_encap_add()
359 int optlen, hdr_len; in xfrm6_beet_encap_add() local
362 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm6_beet_encap_add()
[all …]
/Linux-v6.1/samples/bpf/
Dtest_cgrp2_sock.c132 socklen_t optlen = len; in get_bind_to_device() local
136 rc = getsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, name, &optlen); in get_bind_to_device()
146 socklen_t optlen = sizeof(mark); in get_somark() local
149 rc = getsockopt(sd, SOL_SOCKET, SO_MARK, &mark, &optlen); in get_somark()
159 socklen_t optlen = sizeof(prio); in get_priority() local
162 rc = getsockopt(sd, SOL_SOCKET, SO_PRIORITY, &prio, &optlen); in get_priority()
/Linux-v6.1/net/rxrpc/
Dserver_key.c121 int rxrpc_server_keyring(struct rxrpc_sock *rx, sockptr_t optval, int optlen) in rxrpc_server_keyring() argument
128 if (optlen <= 0 || optlen > PAGE_SIZE - 1) in rxrpc_server_keyring()
131 description = memdup_sockptr_nul(optval, optlen); in rxrpc_server_keyring()
/Linux-v6.1/include/net/
Dgue.h90 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()

1234567