Lines Matching defs:optval
435 static int do_tls_getsockopt_conf(struct sock *sk, char __user *optval,
448 if (!optval || (len < sizeof(*crypto_info))) {
473 if (copy_to_user(optval, crypto_info, sizeof(*crypto_info)))
489 if (copy_to_user(optval, crypto_info, cipher_desc->crypto_info))
496 static int do_tls_getsockopt_tx_zc(struct sock *sk, char __user *optval,
510 if (copy_to_user(optval, &value, sizeof(value)))
516 static int do_tls_getsockopt_no_pad(struct sock *sk, char __user *optval,
538 if (copy_to_user(optval, &value, sizeof(value)))
544 static int do_tls_getsockopt_tx_payload_len(struct sock *sk, char __user *optval,
560 if (copy_to_user(optval, &payload_len, sizeof(payload_len)))
567 char __user *optval, int __user *optlen)
576 rc = do_tls_getsockopt_conf(sk, optval, optlen,
580 rc = do_tls_getsockopt_tx_zc(sk, optval, optlen);
583 rc = do_tls_getsockopt_no_pad(sk, optval, optlen);
586 rc = do_tls_getsockopt_tx_payload_len(sk, optval, optlen);
599 char __user *optval, int __user *optlen)
605 optname, optval, optlen);
607 return do_tls_getsockopt(sk, optname, optval, optlen);
635 static int do_tls_setsockopt_conf(struct sock *sk, sockptr_t optval,
648 if (sockptr_is_null(optval) || (optlen < sizeof(*crypto_info)))
677 rc = copy_from_sockptr(crypto_info, optval, sizeof(*crypto_info));
705 rc = copy_from_sockptr_offset(crypto_info + 1, optval,
785 static int do_tls_setsockopt_tx_zc(struct sock *sk, sockptr_t optval,
791 if (sockptr_is_null(optval) || optlen != sizeof(value))
794 if (copy_from_sockptr(&value, optval, sizeof(value)))
805 static int do_tls_setsockopt_no_pad(struct sock *sk, sockptr_t optval,
813 sockptr_is_null(optval) || optlen < sizeof(val))
816 rc = copy_from_sockptr(&val, optval, sizeof(val));
821 rc = check_zeroed_sockptr(optval, sizeof(val), optlen - sizeof(val));
837 static int do_tls_setsockopt_tx_payload_len(struct sock *sk, sockptr_t optval,
848 if (sockptr_is_null(optval) || optlen != sizeof(value))
851 if (copy_from_sockptr(&value, optval, sizeof(value)))
863 static int do_tls_setsockopt(struct sock *sk, int optname, sockptr_t optval,
872 rc = do_tls_setsockopt_conf(sk, optval, optlen,
878 rc = do_tls_setsockopt_tx_zc(sk, optval, optlen);
882 rc = do_tls_setsockopt_no_pad(sk, optval, optlen);
886 rc = do_tls_setsockopt_tx_payload_len(sk, optval, optlen);
897 sockptr_t optval, unsigned int optlen)
902 return ctx->sk_proto->setsockopt(sk, level, optname, optval,
905 return do_tls_setsockopt(sk, optname, optval, optlen);