/Linux-v5.15/tools/testing/selftests/bpf/progs/ |
D | sockopt_sk.c | 33 __u8 *optval = ctx->optval; in _getsockopt() local 75 if (optval + sizeof(struct tcp_zerocopy_receive) > optval_end) in _getsockopt() 78 if (((struct tcp_zerocopy_receive *)optval)->address != 0) in _getsockopt() 85 if (optval + 1 > optval_end) in _getsockopt() 91 optval[0] = 0x55; in _getsockopt() 98 if (optval_end - optval != page_size) in _getsockopt() 107 if (optval + 1 > optval_end) in _getsockopt() 121 optval[0] = storage->val; in _getsockopt() 131 __u8 *optval = ctx->optval; in _setsockopt() local 154 if (optval + sizeof(__u32) > optval_end) in _setsockopt() [all …]
|
D | sockopt_multi.c | 13 __u8 *optval = ctx->optval; in _getsockopt_child() local 18 if (optval + 1 > optval_end) in _getsockopt_child() 21 if (optval[0] != 0x80) in _getsockopt_child() 26 optval[0] = 0x90; in _getsockopt_child() 36 __u8 *optval = ctx->optval; in _getsockopt_parent() local 41 if (optval + 1 > optval_end) in _getsockopt_parent() 44 if (optval[0] != 0x90) in _getsockopt_parent() 49 optval[0] = 0xA0; in _getsockopt_parent() 59 __u8 *optval = ctx->optval; in _setsockopt() local 64 if (optval + 1 > optval_end) in _setsockopt() [all …]
|
D | sockopt_inherit.c | 56 __u8 *optval = ctx->optval; in _getsockopt() local 61 if (optval + 1 > optval_end) in _getsockopt() 70 optval[0] = storage->val; in _getsockopt() 81 __u8 *optval = ctx->optval; in _setsockopt() local 86 if (optval + 1 > optval_end) in _setsockopt() 93 storage->val = optval[0]; in _setsockopt()
|
D | sockopt_qos_to_cc.c | 16 int *optval = ctx->optval; in sockopt_qos_to_cc() local 24 if (optval + 1 > optval_end) in sockopt_qos_to_cc() 33 if (*optval == 0x2d) { in sockopt_qos_to_cc()
|
/Linux-v5.15/net/mptcp/ |
D | sockopt.c | 55 static int mptcp_get_int_option(struct mptcp_sock *msk, sockptr_t optval, in mptcp_get_int_option() argument 61 if (copy_from_sockptr(val, optval, sizeof(*val))) in mptcp_get_int_option() 121 sockptr_t optval = KERNEL_SOCKPTR(&val); in mptcp_sol_socket_intval() local 126 optval, sizeof(val)); in mptcp_sol_socket_intval() 145 sockptr_t optval = KERNEL_SOCKPTR(&val); in mptcp_setsockopt_sol_socket_tstamp() local 151 optval, sizeof(val)); in mptcp_setsockopt_sol_socket_tstamp() 169 sockptr_t optval, in mptcp_setsockopt_sol_socket_int() argument 174 ret = mptcp_get_int_option(msk, optval, optlen, &val); in mptcp_setsockopt_sol_socket_int() 205 sockptr_t optval, in mptcp_setsockopt_sol_socket_timestamping() argument 214 if (copy_from_sockptr(×tamping, optval, in mptcp_setsockopt_sol_socket_timestamping() [all …]
|
/Linux-v5.15/include/net/ |
D | bond_options.h | 119 static inline void __bond_opt_init(struct bond_opt_value *optval, in __bond_opt_init() argument 122 memset(optval, 0, sizeof(*optval)); in __bond_opt_init() 123 optval->value = ULLONG_MAX; in __bond_opt_init() 125 optval->string = string; in __bond_opt_init() 127 optval->value = value; in __bond_opt_init() 129 #define bond_opt_initval(optval, value) __bond_opt_init(optval, NULL, value) argument 130 #define bond_opt_initstr(optval, str) __bond_opt_init(optval, str, ULLONG_MAX) argument
|
/Linux-v5.15/net/ipv6/ |
D | ipv6_sockglue.c | 140 sockptr_t optval, int optlen) in copy_group_source_from_sockptr() argument 147 if (copy_from_sockptr(&gr32, optval, sizeof(gr32))) in copy_group_source_from_sockptr() 155 if (copy_from_sockptr(greqs, optval, 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() 203 static int ipv6_set_mcast_msfilter(struct sock *sk, sockptr_t optval, in ipv6_set_mcast_msfilter() argument 214 gsf = memdup_sockptr(optval, optlen); in ipv6_set_mcast_msfilter() 234 static int compat_ipv6_set_mcast_msfilter(struct sock *sk, sockptr_t optval, in compat_ipv6_set_mcast_msfilter() argument 254 if (copy_from_sockptr(gf32, optval, optlen)) in compat_ipv6_set_mcast_msfilter() 279 sockptr_t optval, int optlen) in ipv6_mcast_join_leave() argument [all …]
|
/Linux-v5.15/net/rds/ |
D | af_rds.c | 293 static int rds_cancel_sent_to(struct rds_sock *rs, sockptr_t optval, int len) in rds_cancel_sent_to() argument 310 if (copy_from_sockptr(&sin, optval, in rds_cancel_sent_to() 318 if (copy_from_sockptr(&sin6, optval, in rds_cancel_sent_to() 330 static int rds_set_bool_option(unsigned char *optvar, sockptr_t optval, in rds_set_bool_option() argument 337 if (copy_from_sockptr(&value, optval, 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 370 if (copy_from_sockptr(&t_type, optval, sizeof(t_type))) in rds_set_transport() 381 static int rds_enable_recvtstamp(struct sock *sk, sockptr_t optval, in rds_enable_recvtstamp() argument [all …]
|
/Linux-v5.15/net/ipv4/ |
D | ip_sockglue.c | 698 sockptr_t optval, int optlen) in copy_group_source_from_sockptr() argument 705 if (copy_from_sockptr(&gr32, optval, sizeof(gr32))) in copy_group_source_from_sockptr() 713 if (copy_from_sockptr(greqs, optval, 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 778 gsf = memdup_sockptr(optval, optlen); in ip_set_mcast_msfilter() 800 static int compat_ip_set_mcast_msfilter(struct sock *sk, sockptr_t optval, in compat_ip_set_mcast_msfilter() argument 820 if (copy_from_sockptr(gf32, optval, optlen)) in compat_ip_set_mcast_msfilter() 845 sockptr_t optval, int optlen) in ip_mcast_join_leave() argument [all …]
|
/Linux-v5.15/net/ipv4/bpfilter/ |
D | sockopt.c | 24 static int bpfilter_mbox_request(struct sock *sk, int optname, sockptr_t optval, in bpfilter_mbox_request() argument 48 err = bpfilter_ops.sockopt(sk, optname, optval, optlen, is_set); in bpfilter_mbox_request() 54 int bpfilter_ip_set_sockopt(struct sock *sk, int optname, sockptr_t optval, in bpfilter_ip_set_sockopt() argument 57 return bpfilter_mbox_request(sk, optname, optval, optlen, true); in bpfilter_ip_set_sockopt() 60 int bpfilter_ip_get_sockopt(struct sock *sk, int optname, char __user *optval, in bpfilter_ip_get_sockopt() argument 68 return bpfilter_mbox_request(sk, optname, USER_SOCKPTR(optval), len, in bpfilter_ip_get_sockopt()
|
/Linux-v5.15/net/sctp/ |
D | socket.c | 1385 char __user *optval, in sctp_getsockopt_connectx3() argument 1399 if (copy_from_user(¶m32, optval, sizeof(param32))) in sctp_getsockopt_connectx3() 1410 if (copy_from_user(¶m, optval, sizeof(param))) in sctp_getsockopt_connectx3() 1421 if (copy_to_user(optval, &assoc_id, sizeof(assoc_id))) in sctp_getsockopt_connectx3() 2259 static int sctp_setsockopt_autoclose(struct sock *sk, u32 *optval, in sctp_setsockopt_autoclose() argument 2271 sp->autoclose = *optval; in sctp_setsockopt_autoclose() 4560 sockptr_t optval, unsigned int optlen) in sctp_setsockopt() argument 4576 return af->setsockopt(sk, level, optname, optval, optlen); in sctp_setsockopt() 4584 kopt = memdup_sockptr(optval, optlen); in sctp_setsockopt() 5383 char __user *optval, in sctp_getsockopt_sctp_status() argument [all …]
|
/Linux-v5.15/net/tls/ |
D | tls_main.c | 333 static int do_tls_getsockopt_conf(struct sock *sk, char __user *optval, in do_tls_getsockopt_conf() argument 345 if (!optval || (len < sizeof(*crypto_info))) { in do_tls_getsockopt_conf() 370 if (copy_to_user(optval, crypto_info, sizeof(*crypto_info))) in do_tls_getsockopt_conf() 394 if (copy_to_user(optval, in do_tls_getsockopt_conf() 418 if (copy_to_user(optval, 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() [all …]
|
/Linux-v5.15/net/dccp/ |
D | proto.c | 414 sockptr_t optval, unsigned int optlen) in dccp_setsockopt_service() argument 429 if (copy_from_sockptr_offset(sl->dccpsl_list, optval, in dccp_setsockopt_service() 484 sockptr_t optval, unsigned int optlen) in dccp_setsockopt_ccid() argument 492 val = memdup_sockptr(optval, optlen); in dccp_setsockopt_ccid() 509 sockptr_t optval, unsigned int optlen) in do_dccp_setsockopt() argument 525 return dccp_setsockopt_ccid(sk, optname, optval, optlen); in do_dccp_setsockopt() 531 if (copy_from_sockptr(&val, optval, sizeof(int))) in do_dccp_setsockopt() 535 return dccp_setsockopt_service(sk, val, optval, optlen); in do_dccp_setsockopt() 574 int dccp_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval, in dccp_setsockopt() argument 579 optname, optval, in dccp_setsockopt() [all …]
|
D | ccid.h | 80 u32 __user *optval, 84 u32 __user *optval, 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.15/drivers/net/bonding/ |
D | bond_procfs.c | 61 const struct bond_opt_value *optval; in bond_info_show_master() local 72 optval = bond_opt_get_val(BOND_OPT_FAIL_OVER_MAC, in bond_info_show_master() 74 seq_printf(seq, " (fail_over_mac %s)", optval->string); in bond_info_show_master() 80 optval = bond_opt_get_val(BOND_OPT_XMIT_HASH, in bond_info_show_master() 83 optval->string, bond->params.xmit_policy); in bond_info_show_master() 91 optval = bond_opt_get_val(BOND_OPT_PRIMARY_RESELECT, in bond_info_show_master() 94 optval->string); in bond_info_show_master() 141 optval = bond_opt_get_val(BOND_OPT_AD_SELECT, in bond_info_show_master() 144 optval->string); in bond_info_show_master()
|
/Linux-v5.15/Documentation/bpf/ |
D | prog_cgroup_sockopt.rst | 16 all input arguments: ``level``, ``optname``, ``optval`` and ``optlen``. 44 sockopt. The BPF hook can observe ``optval``, ``optlen`` and ``retval`` 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``), 89 Large optval 91 When the ``optval`` is greater than the ``PAGE_SIZE``, the BPF program 96 done by the BPF program to the ``optval`` are ignored. 98 indicates that the kernel should use BPF's trimmed ``optval``.
|
/Linux-v5.15/include/linux/ |
D | bpfilter.h | 10 int bpfilter_ip_set_sockopt(struct sock *sk, int optname, sockptr_t optval, 12 int bpfilter_ip_get_sockopt(struct sock *sk, int optname, char __user *optval, 20 int (*sockopt)(struct sock *sk, int optname, sockptr_t optval,
|
D | bpf-cgroup.h | 206 int *optname, char __user *optval, 209 int optname, char __user *optval, 214 int optname, void *optval, 420 #define BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock, level, optname, optval, optlen, \ argument 426 optname, optval, \ 440 #define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, optlen, \ argument 450 sock, level, optname, optval, optlen, \ 455 #define BPF_CGROUP_RUN_PROG_GETSOCKOPT_KERN(sock, level, optname, optval, \ argument 461 sock, level, optname, optval, optlen, retval); \ 540 #define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, \ argument [all …]
|
/Linux-v5.15/net/dns_resolver/ |
D | dns_key.c | 151 char optval[128]; in dns_resolver_preparse() local 155 if (opt_len <= 0 || opt_len > sizeof(optval)) { in dns_resolver_preparse() 165 memcpy(optval, eq, next_opt - eq); in dns_resolver_preparse() 166 optval[next_opt - eq] = '\0'; in dns_resolver_preparse() 169 optval[0] = '\0'; in dns_resolver_preparse() 173 opt_nlen, opt_nlen, opt, optval); in dns_resolver_preparse() 181 ret = kstrtoul(optval, 10, &derrno); in dns_resolver_preparse()
|
/Linux-v5.15/drivers/net/ethernet/chelsio/inline_crypto/chtls/ |
D | chtls_main.c | 467 static int do_chtls_getsockopt(struct sock *sk, char __user *optval, in do_chtls_getsockopt() argument 473 if (copy_to_user(optval, &crypto_info, sizeof(struct tls_crypto_info))) in do_chtls_getsockopt() 479 char __user *optval, int __user *optlen) in chtls_getsockopt() argument 485 optname, optval, optlen); in chtls_getsockopt() 487 return do_chtls_getsockopt(sk, optval, optlen); in chtls_getsockopt() 491 sockptr_t optval, unsigned int optlen) in do_chtls_setsockopt() argument 501 if (sockptr_is_null(optval) || optlen < sizeof(*crypto_info)) { in do_chtls_setsockopt() 506 rc = copy_from_sockptr(&tmp_crypto_info, optval, sizeof(*crypto_info)); in do_chtls_setsockopt() 530 optval, sizeof(*crypto_info), in do_chtls_setsockopt() 547 optval, sizeof(*crypto_info), in do_chtls_setsockopt() [all …]
|
/Linux-v5.15/tools/testing/selftests/bpf/prog_tests/ |
D | sockopt.c | 106 offsetof(struct bpf_sockopt, optval)), 321 offsetof(struct bpf_sockopt, optval)), 348 offsetof(struct bpf_sockopt, optval)), 452 offsetof(struct bpf_sockopt, optval)), 656 offsetof(struct bpf_sockopt, optval)), 734 offsetof(struct bpf_sockopt, optval)), 761 offsetof(struct bpf_sockopt, optval)), 807 offsetof(struct bpf_sockopt, optval)), 880 void *optval = NULL; in run_test() local 925 optval = malloc(test->get_optlen); in run_test() [all …]
|
/Linux-v5.15/net/bluetooth/ |
D | l2cap_sock.c | 425 char __user *optval, int __user *optlen) in l2cap_sock_getsockopt_old() argument 479 if (copy_to_user(optval, (char *) &opts, len)) in l2cap_sock_getsockopt_old() 511 if (put_user(opt, (u32 __user *) optval)) in l2cap_sock_getsockopt_old() 529 if (copy_to_user(optval, (char *) &cinfo, len)) in l2cap_sock_getsockopt_old() 544 char __user *optval, int __user *optlen) in l2cap_sock_getsockopt() argument 556 return l2cap_sock_getsockopt_old(sock, optname, optval, optlen); in l2cap_sock_getsockopt() 586 if (copy_to_user(optval, (char *) &sec, len)) in l2cap_sock_getsockopt() 598 (u32 __user *) optval)) in l2cap_sock_getsockopt() 605 (u32 __user *) optval)) in l2cap_sock_getsockopt() 620 if (copy_to_user(optval, (char *) &pwr, len)) in l2cap_sock_getsockopt() [all …]
|
/Linux-v5.15/net/atm/ |
D | pvc.c | 66 sockptr_t optval, unsigned int optlen) in pvc_setsockopt() argument 72 error = vcc_setsockopt(sock, level, optname, optval, optlen); in pvc_setsockopt() 78 char __user *optval, int __user *optlen) in pvc_getsockopt() argument 84 error = vcc_getsockopt(sock, level, optname, optval, optlen); in pvc_getsockopt()
|
/Linux-v5.15/kernel/bpf/ |
D | cgroup.c | 1352 ctx->optval = buf->data; in sockopt_alloc_buf() 1353 ctx->optval_end = ctx->optval + max_optlen; in sockopt_alloc_buf() 1357 ctx->optval = kzalloc(max_optlen, GFP_USER); in sockopt_alloc_buf() 1358 if (!ctx->optval) in sockopt_alloc_buf() 1361 ctx->optval_end = ctx->optval + max_optlen; in sockopt_alloc_buf() 1369 if (ctx->optval == buf->data) in sockopt_free_buf() 1371 kfree(ctx->optval); in sockopt_free_buf() 1377 return ctx->optval != buf->data; in sockopt_buf_allocated() 1381 int *optname, char __user *optval, in __cgroup_bpf_run_filter_setsockopt() argument 1412 if (copy_from_user(ctx.optval, optval, min(*optlen, max_optlen)) != 0) { in __cgroup_bpf_run_filter_setsockopt() [all …]
|
/Linux-v5.15/net/bpfilter/ |
D | bpfilter_kern.c | 63 sockptr_t optval, unsigned int optlen, in bpfilter_process_sockopt() argument 70 .addr = (uintptr_t)optval.user, in bpfilter_process_sockopt() 73 if (uaccess_kernel() || sockptr_is_kernel(optval)) { in bpfilter_process_sockopt()
|