Home
last modified time | relevance | path

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

1234567

/Linux-v5.4/net/ipv4/
Dip_options.c50 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 …]
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()
591 int optname, char __user *optval, unsigned int optlen) in do_ip_setsockopt() argument
623 if (optlen >= sizeof(int)) { in do_ip_setsockopt()
626 } else if (optlen >= sizeof(char)) { in do_ip_setsockopt()
640 return ip_mroute_setsockopt(sk, optname, optval, optlen); in do_ip_setsockopt()
652 if (optlen > 40) in do_ip_setsockopt()
655 optval, optlen); in do_ip_setsockopt()
[all …]
Dudp_impl.h16 char __user *optval, unsigned int optlen);
18 char __user *optval, int __user *optlen);
22 char __user *optval, unsigned int optlen);
24 char __user *optval, int __user *optlen);
Draw.c582 sizeof(*inet_opt) + inet_opt->opt.optlen); in raw_sendmsg()
812 static int raw_seticmpfilter(struct sock *sk, char __user *optval, int optlen) in raw_seticmpfilter() argument
814 if (optlen > sizeof(struct icmp_filter)) in raw_seticmpfilter()
815 optlen = sizeof(struct icmp_filter); in raw_seticmpfilter()
816 if (copy_from_user(&raw_sk(sk)->filter, optval, optlen)) in raw_seticmpfilter()
821 static int raw_geticmpfilter(struct sock *sk, char __user *optval, int __user *optlen) in raw_geticmpfilter() argument
825 if (get_user(len, optlen)) in raw_geticmpfilter()
833 if (put_user(len, optlen) || in raw_geticmpfilter()
841 char __user *optval, unsigned int optlen) in do_raw_setsockopt() argument
847 return raw_seticmpfilter(sk, optval, optlen); in do_raw_setsockopt()
[all …]
/Linux-v5.4/net/ipv6/
Dipv6_sockglue.c140 char __user *optval, unsigned int optlen) in do_ipv6_setsockopt() argument
151 if (optlen >= sizeof(int)) { in do_ipv6_setsockopt()
161 return ip6_mroute_setsockopt(sk, optname, optval, optlen); in do_ipv6_setsockopt()
170 if (optlen < sizeof(int)) in do_ipv6_setsockopt()
255 if (optlen < sizeof(int) || in do_ipv6_setsockopt()
263 if (optlen < sizeof(int)) in do_ipv6_setsockopt()
270 if (optlen < sizeof(int)) in do_ipv6_setsockopt()
277 if (optlen < sizeof(int)) in do_ipv6_setsockopt()
284 if (optlen < sizeof(int)) in do_ipv6_setsockopt()
291 if (optlen < sizeof(int)) in do_ipv6_setsockopt()
[all …]
Dudp_impl.h19 char __user *optval, int __user *optlen);
21 char __user *optval, unsigned int optlen);
24 char __user *optval, unsigned int optlen);
26 char __user *optval, int __user *optlen);
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()
Draw.c975 char __user *optval, int optlen) in rawv6_seticmpfilter() argument
979 if (optlen > sizeof(struct icmp6_filter)) in rawv6_seticmpfilter()
980 optlen = sizeof(struct icmp6_filter); in rawv6_seticmpfilter()
981 if (copy_from_user(&raw6_sk(sk)->filter, optval, optlen)) in rawv6_seticmpfilter()
992 char __user *optval, int __user *optlen) in rawv6_geticmpfilter() argument
998 if (get_user(len, optlen)) in rawv6_geticmpfilter()
1004 if (put_user(len, optlen)) in rawv6_geticmpfilter()
1018 char __user *optval, unsigned int optlen) in do_rawv6_setsockopt() argument
1065 char __user *optval, unsigned int optlen) in rawv6_setsockopt() argument
1074 return rawv6_seticmpfilter(sk, level, optname, optval, optlen); in rawv6_setsockopt()
[all …]
/Linux-v5.4/tools/testing/selftests/bpf/prog_tests/
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()
147 optlen = 1; in run_getsockopt_test()
148 err = getsockopt(sock_fd, SOL_IP, IP_TOS, &buf, &optlen); in run_getsockopt_test()
166 optlen = 1; in run_getsockopt_test()
[all …]
Dsockopt_sk.c15 socklen_t optlen; in getsetsockopt() local
33 optlen = 1; in getsetsockopt()
34 err = getsockopt(fd, SOL_IP, IP_TOS, &buf, &optlen); in getsetsockopt()
65 optlen = 4; in getsetsockopt()
66 err = getsockopt(fd, SOL_CUSTOM, 0, &buf, &optlen); in getsetsockopt()
72 if (optlen != 1) { in getsetsockopt()
73 log_err("Unexpected optlen %d != 1", optlen); in getsetsockopt()
91 optlen = 4; in getsetsockopt()
92 err = getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &buf, &optlen); in getsetsockopt()
114 optlen = sizeof(buf.cc); in getsetsockopt()
[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-v5.4/net/sctp/
Dsocket.c1380 int __user *optlen) in sctp_getsockopt_connectx3() argument
1413 if (put_user(sizeof(assoc_id), optlen)) in sctp_getsockopt_connectx3()
2193 unsigned int optlen) in sctp_setsockopt_disable_fragments() argument
2197 if (optlen < sizeof(int)) in sctp_setsockopt_disable_fragments()
2209 unsigned int optlen) in sctp_setsockopt_events() argument
2217 if (optlen > sizeof(struct sctp_event_subscribe)) in sctp_setsockopt_events()
2220 if (copy_from_user(&subscribe, optval, optlen)) in sctp_setsockopt_events()
2223 for (i = 0; i < optlen; i++) in sctp_setsockopt_events()
2263 unsigned int optlen) in sctp_setsockopt_autoclose() argument
2271 if (optlen != sizeof(int)) in sctp_setsockopt_autoclose()
[all …]
/Linux-v5.4/net/dccp/
Dproto.c405 char __user *optval, unsigned int optlen) in dccp_setsockopt_service() argument
411 optlen > DCCP_SERVICE_LIST_MAX_LEN * sizeof(u32)) in dccp_setsockopt_service()
414 if (optlen > sizeof(service)) { in dccp_setsockopt_service()
415 sl = kmalloc(optlen, GFP_KERNEL); in dccp_setsockopt_service()
419 sl->dccpsl_nr = optlen / sizeof(u32) - 1; in dccp_setsockopt_service()
422 optlen - sizeof(service)) || in dccp_setsockopt_service()
476 char __user *optval, unsigned int optlen) in dccp_setsockopt_ccid() argument
481 if (optlen < 1 || optlen > DCCP_FEAT_MAX_SP_VALS) in dccp_setsockopt_ccid()
484 val = memdup_user(optval, optlen); in dccp_setsockopt_ccid()
490 rc = dccp_feat_register_sp(sk, DCCPF_CCID, 1, val, optlen); in dccp_setsockopt_ccid()
[all …]
/Linux-v5.4/net/ipv4/bpfilter/
Dsockopt.c27 unsigned int optlen, bool is_set) in bpfilter_mbox_request() argument
46 err = bpfilter_ops.sockopt(sk, optname, optval, optlen, is_set); in bpfilter_mbox_request()
53 unsigned int optlen) in bpfilter_ip_set_sockopt() argument
55 return bpfilter_mbox_request(sk, optname, optval, optlen, true); in bpfilter_ip_set_sockopt()
59 int __user *optlen) in bpfilter_ip_get_sockopt() argument
63 if (get_user(len, optlen)) in bpfilter_ip_get_sockopt()
/Linux-v5.4/net/ipv6/netfilter/
Dip6t_hbh.c57 unsigned int optlen; in hbh_mt6() local
138 optlen = *lp + 2; in hbh_mt6()
141 optlen = 1; in hbh_mt6()
145 pr_debug("len%04X\n", optlen); in hbh_mt6()
147 if ((ptr > skb->len - optlen || hdrlen < optlen) && in hbh_mt6()
152 ptr += optlen; in hbh_mt6()
153 hdrlen -= optlen; in hbh_mt6()
/Linux-v5.4/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-v5.4/net/rds/
Daf_rds.c331 int optlen) in rds_set_bool_option() argument
335 if (optlen < sizeof(int)) in rds_set_bool_option()
344 int optlen) in rds_cong_monitor() argument
348 ret = rds_set_bool_option(&rs->rs_cong_monitor, optval, optlen); in rds_cong_monitor()
362 int optlen) in rds_set_transport() argument
369 if (optlen != sizeof(int)) in rds_set_transport()
384 int optlen, int optname) in rds_enable_recvtstamp() argument
388 if (optlen != sizeof(int)) in rds_enable_recvtstamp()
408 int optlen) in rds_recv_track_latency() argument
413 if (optlen != sizeof(struct rds_rx_trace_so)) in rds_recv_track_latency()
[all …]
/Linux-v5.4/net/
Dcompat.c341 char __user *optval, unsigned int optlen) in do_set_attach_filter() argument
354 char __user *optval, unsigned int optlen) in compat_sock_setsockopt() argument
359 optval, optlen); in compat_sock_setsockopt()
360 return sock_setsockopt(sock, level, optname, optval, optlen); in compat_sock_setsockopt()
364 char __user *optval, unsigned int optlen) in __compat_sys_setsockopt() argument
369 if (optlen > INT_MAX) in __compat_sys_setsockopt()
382 optname, optval, optlen); in __compat_sys_setsockopt()
385 optname, optval, optlen); in __compat_sys_setsockopt()
388 optname, optval, optlen); in __compat_sys_setsockopt()
395 char __user *, optval, unsigned int, optlen) in COMPAT_SYSCALL_DEFINE5() argument
[all …]
/Linux-v5.4/net/can/
Draw.c488 char __user *optval, unsigned int optlen) in raw_setsockopt() argument
504 if (optlen % sizeof(struct can_filter) != 0) in raw_setsockopt()
507 if (optlen > CAN_RAW_FILTER_MAX * sizeof(struct can_filter)) in raw_setsockopt()
510 count = optlen / sizeof(struct can_filter); in raw_setsockopt()
514 filter = memdup_user(optval, optlen); in raw_setsockopt()
568 if (optlen != sizeof(err_mask)) in raw_setsockopt()
571 if (copy_from_user(&err_mask, optval, optlen)) in raw_setsockopt()
607 if (optlen != sizeof(ro->loopback)) in raw_setsockopt()
610 if (copy_from_user(&ro->loopback, optval, optlen)) in raw_setsockopt()
616 if (optlen != sizeof(ro->recv_own_msgs)) in raw_setsockopt()
[all …]
/Linux-v5.4/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``),
/Linux-v5.4/net/xfrm/
Dxfrm_output.c146 int hdrlen, optlen; in xfrm4_beet_encap_add() local
149 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm4_beet_encap_add()
150 if (unlikely(optlen)) in xfrm4_beet_encap_add()
151 hdrlen += IPV4_BEET_PHMAXLEN - (optlen & 4); in xfrm4_beet_encap_add()
167 if (unlikely(optlen)) { in xfrm4_beet_encap_add()
168 if (WARN_ON(optlen < 0)) in xfrm4_beet_encap_add()
171 ph->padlen = 4 - (optlen & 4); in xfrm4_beet_encap_add()
172 ph->hdrlen = optlen / 8; in xfrm4_beet_encap_add()
275 int optlen, hdr_len; in xfrm6_beet_encap_add() local
278 optlen = XFRM_MODE_SKB_CB(skb)->optlen; in xfrm6_beet_encap_add()
[all …]
/Linux-v5.4/include/linux/
Dbpf-cgroup.h129 int *optlen, char **kernel_optval);
132 int __user *optlen, int max_optlen,
297 #define BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock, level, optname, optval, optlen, \ argument
304 optlen, \
309 #define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) \ argument
313 get_user(__ret, optlen); \
317 #define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, optlen, \ argument
324 optlen, max_optlen, \
400 #define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) ({ 0; }) argument
402 optlen, max_optlen, retval) ({ retval; }) argument
[all …]
Dbpfilter.h10 unsigned int optlen);
12 int __user *optlen);
19 unsigned int optlen, bool is_set);
/Linux-v5.4/tools/testing/selftests/bpf/progs/
Dsockopt_sk.c73 ctx->optlen = 1; in _getsockopt()
99 ctx->optlen = 4; in _setsockopt()
111 ctx->optlen = 5; in _setsockopt()
128 ctx->optlen = -1; /* BPF has consumed this option, don't call kernel in _setsockopt()
/Linux-v5.4/kernel/bpf/
Dcgroup.c978 int *optlen, char **kernel_optval) in __cgroup_bpf_run_filter_setsockopt() argument
1000 max_optlen = max_t(int, 16, *optlen); in __cgroup_bpf_run_filter_setsockopt()
1006 ctx.optlen = *optlen; in __cgroup_bpf_run_filter_setsockopt()
1008 if (copy_from_user(ctx.optval, optval, *optlen) != 0) { in __cgroup_bpf_run_filter_setsockopt()
1023 if (ctx.optlen == -1) { in __cgroup_bpf_run_filter_setsockopt()
1026 } else if (ctx.optlen > max_optlen || ctx.optlen < -1) { in __cgroup_bpf_run_filter_setsockopt()
1036 *optlen = ctx.optlen; in __cgroup_bpf_run_filter_setsockopt()
1049 int __user *optlen, int max_optlen, in __cgroup_bpf_run_filter_getsockopt() argument
1073 ctx.optlen = max_optlen; in __cgroup_bpf_run_filter_getsockopt()
1083 if (get_user(ctx.optlen, optlen)) { in __cgroup_bpf_run_filter_getsockopt()
[all …]

1234567