Lines Matching refs:sock

139 	struct socket *sock = f->private_data;  in sock_show_fdinfo()  local
140 const struct proto_ops *ops = READ_ONCE(sock->ops); in sock_show_fdinfo()
143 ops->show_fdinfo(m, sock); in sock_show_fdinfo()
462 struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname) in sock_alloc_file() argument
467 dname = sock->sk ? sock->sk->sk_prot_creator->name : ""; in sock_alloc_file()
469 file = alloc_file_pseudo(SOCK_INODE(sock), sock_mnt, dname, in sock_alloc_file()
473 sock_release(sock); in sock_alloc_file()
478 sock->file = file; in sock_alloc_file()
479 file->private_data = sock; in sock_alloc_file()
480 stream_open(SOCK_INODE(sock), file); in sock_alloc_file()
485 static int sock_map_fd(struct socket *sock, int flags) in sock_map_fd() argument
490 sock_release(sock); in sock_map_fd()
494 newfile = sock_alloc_file(sock, flags, NULL); in sock_map_fd()
536 struct socket *sock; in sockfd_lookup() local
544 sock = sock_from_file(file); in sockfd_lookup()
545 if (!sock) { in sockfd_lookup()
549 return sock; in sockfd_lookup()
556 struct socket *sock; in sockfd_lookup_light() local
560 sock = sock_from_file(f.file); in sockfd_lookup_light()
561 if (likely(sock)) { in sockfd_lookup_light()
563 return sock; in sockfd_lookup_light()
605 struct socket *sock = SOCKET_I(d_inode(dentry)); in sockfs_setattr() local
607 if (sock->sk) in sockfs_setattr()
608 sock->sk->sk_uid = iattr->ia_uid; in sockfs_setattr()
632 struct socket *sock; in sock_alloc() local
638 sock = SOCKET_I(inode); in sock_alloc()
646 return sock; in sock_alloc()
650 static void __sock_release(struct socket *sock, struct inode *inode) in __sock_release() argument
652 const struct proto_ops *ops = READ_ONCE(sock->ops); in __sock_release()
659 ops->release(sock); in __sock_release()
660 sock->sk = NULL; in __sock_release()
663 sock->ops = NULL; in __sock_release()
667 if (sock->wq.fasync_list) in __sock_release()
670 if (!sock->file) { in __sock_release()
671 iput(SOCK_INODE(sock)); in __sock_release()
674 sock->file = NULL; in __sock_release()
685 void sock_release(struct socket *sock) in sock_release() argument
687 __sock_release(sock, NULL); in sock_release()
722 static noinline void call_trace_sock_send_length(struct sock *sk, int ret, in call_trace_sock_send_length()
728 static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg) in sock_sendmsg_nosec() argument
730 int ret = INDIRECT_CALL_INET(READ_ONCE(sock->ops)->sendmsg, inet6_sendmsg, in sock_sendmsg_nosec()
731 inet_sendmsg, sock, msg, in sock_sendmsg_nosec()
736 call_trace_sock_send_length(sock->sk, ret, 0); in sock_sendmsg_nosec()
740 static int __sock_sendmsg(struct socket *sock, struct msghdr *msg) in __sock_sendmsg() argument
742 int err = security_socket_sendmsg(sock, msg, in __sock_sendmsg()
745 return err ?: sock_sendmsg_nosec(sock, msg); in __sock_sendmsg()
756 int sock_sendmsg(struct socket *sock, struct msghdr *msg) in sock_sendmsg() argument
767 ret = __sock_sendmsg(sock, msg); in sock_sendmsg()
786 int kernel_sendmsg(struct socket *sock, struct msghdr *msg, in kernel_sendmsg() argument
790 return sock_sendmsg(sock, msg); in kernel_sendmsg()
807 int kernel_sendmsg_locked(struct sock *sk, struct msghdr *msg, in kernel_sendmsg_locked()
810 struct socket *sock = sk->sk_socket; in kernel_sendmsg_locked() local
811 const struct proto_ops *ops = READ_ONCE(sock->ops); in kernel_sendmsg_locked()
845 static ktime_t get_timestamp(struct sock *sk, struct sk_buff *skb, int *if_index) in get_timestamp()
893 void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk, in __sock_recv_timestamp()
986 void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk, in __sock_recv_wifi_status()
1003 static inline void sock_recv_drops(struct msghdr *msg, struct sock *sk, in sock_recv_drops()
1011 static void sock_recv_mark(struct msghdr *msg, struct sock *sk, in sock_recv_mark()
1022 void __sock_recv_cmsgs(struct msghdr *msg, struct sock *sk, in __sock_recv_cmsgs()
1036 static noinline void call_trace_sock_recv_length(struct sock *sk, int ret, int flags) in call_trace_sock_recv_length()
1041 static inline int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg, in sock_recvmsg_nosec() argument
1044 int ret = INDIRECT_CALL_INET(READ_ONCE(sock->ops)->recvmsg, in sock_recvmsg_nosec()
1046 inet_recvmsg, sock, msg, in sock_recvmsg_nosec()
1049 call_trace_sock_recv_length(sock->sk, ret, flags); in sock_recvmsg_nosec()
1062 int sock_recvmsg(struct socket *sock, struct msghdr *msg, int flags) in sock_recvmsg() argument
1064 int err = security_socket_recvmsg(sock, msg, msg_data_left(msg), flags); in sock_recvmsg()
1066 return err ?: sock_recvmsg_nosec(sock, msg, flags); in sock_recvmsg()
1086 int kernel_recvmsg(struct socket *sock, struct msghdr *msg, in kernel_recvmsg() argument
1091 return sock_recvmsg(sock, msg, flags); in kernel_recvmsg()
1099 struct socket *sock = file->private_data; in sock_splice_read() local
1102 ops = READ_ONCE(sock->ops); in sock_splice_read()
1106 return ops->splice_read(sock, ppos, pipe, len, flags); in sock_splice_read()
1111 struct socket *sock = file->private_data; in sock_splice_eof() local
1114 ops = READ_ONCE(sock->ops); in sock_splice_eof()
1116 ops->splice_eof(sock); in sock_splice_eof()
1122 struct socket *sock = file->private_data; in sock_read_iter() local
1136 res = sock_recvmsg(sock, &msg, msg.msg_flags); in sock_read_iter()
1144 struct socket *sock = file->private_data; in sock_write_iter() local
1155 if (sock->type == SOCK_SEQPACKET) in sock_write_iter()
1158 res = __sock_sendmsg(sock, &msg); in sock_write_iter()
1210 static long sock_do_ioctl(struct net *net, struct socket *sock, in sock_do_ioctl() argument
1213 const struct proto_ops *ops = READ_ONCE(sock->ops); in sock_do_ioctl()
1220 err = ops->ioctl(sock, cmd, arg); in sock_do_ioctl()
1250 struct socket *sock; in sock_ioctl() local
1251 struct sock *sk; in sock_ioctl()
1256 sock = file->private_data; in sock_ioctl()
1257 ops = READ_ONCE(sock->ops); in sock_ioctl()
1258 sk = sock->sk; in sock_ioctl()
1282 err = f_setown(sock->file, pid, 1); in sock_ioctl()
1286 err = put_user(f_getown(sock->file), in sock_ioctl()
1319 err = ops->gettstamp(sock, argp, in sock_ioctl()
1329 err = ops->gettstamp(sock, argp, in sock_ioctl()
1339 err = sock_do_ioctl(net, sock, cmd, arg); in sock_ioctl()
1361 struct socket *sock = NULL; in sock_create_lite() local
1367 sock = sock_alloc(); in sock_create_lite()
1368 if (!sock) { in sock_create_lite()
1373 sock->type = type; in sock_create_lite()
1374 err = security_socket_post_create(sock, family, type, protocol, 1); in sock_create_lite()
1379 *res = sock; in sock_create_lite()
1382 sock_release(sock); in sock_create_lite()
1383 sock = NULL; in sock_create_lite()
1391 struct socket *sock = file->private_data; in sock_poll() local
1392 const struct proto_ops *ops = READ_ONCE(sock->ops); in sock_poll()
1398 if (sk_can_busy_loop(sock->sk)) { in sock_poll()
1401 sk_busy_loop(sock->sk, 1); in sock_poll()
1407 return ops->poll(file, sock, wait) | flag; in sock_poll()
1412 struct socket *sock = file->private_data; in sock_mmap() local
1414 return READ_ONCE(sock->ops)->mmap(file, sock, vma); in sock_mmap()
1436 struct socket *sock = filp->private_data; in sock_fasync() local
1437 struct sock *sk = sock->sk; in sock_fasync()
1438 struct socket_wq *wq = &sock->wq; in sock_fasync()
1502 struct socket *sock; in __sock_create() local
1533 sock = sock_alloc(); in __sock_create()
1534 if (!sock) { in __sock_create()
1540 sock->type = type; in __sock_create()
1569 err = pf->create(net, sock, protocol, kern); in __sock_create()
1577 if (!try_module_get(sock->ops->owner)) in __sock_create()
1585 err = security_socket_post_create(sock, family, type, protocol, kern); in __sock_create()
1588 *res = sock; in __sock_create()
1595 sock->ops = NULL; in __sock_create()
1598 sock_release(sock); in __sock_create()
1644 struct socket *sock; in __sys_socket_create() local
1657 retval = sock_create(family, type, protocol, &sock); in __sys_socket_create()
1661 return sock; in __sys_socket_create()
1666 struct socket *sock; in __sys_socket_file() local
1669 sock = __sys_socket_create(family, type, protocol); in __sys_socket_file()
1670 if (IS_ERR(sock)) in __sys_socket_file()
1671 return ERR_CAST(sock); in __sys_socket_file()
1677 return sock_alloc_file(sock, flags, NULL); in __sys_socket_file()
1705 struct socket *sock; in __sys_socket() local
1708 sock = __sys_socket_create(family, type, in __sys_socket()
1710 if (IS_ERR(sock)) in __sys_socket()
1711 return PTR_ERR(sock); in __sys_socket()
1717 return sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK)); in __sys_socket()
1837 struct socket *sock; in __sys_bind() local
1841 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_bind()
1842 if (sock) { in __sys_bind()
1845 err = security_socket_bind(sock, in __sys_bind()
1849 err = READ_ONCE(sock->ops)->bind(sock, in __sys_bind()
1853 fput_light(sock->file, fput_needed); in __sys_bind()
1871 struct socket *sock; in __sys_listen() local
1875 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_listen()
1876 if (sock) { in __sys_listen()
1877 somaxconn = READ_ONCE(sock_net(sock->sk)->core.sysctl_somaxconn); in __sys_listen()
1881 err = security_socket_listen(sock, backlog); in __sys_listen()
1883 err = READ_ONCE(sock->ops)->listen(sock, backlog); in __sys_listen()
1885 fput_light(sock->file, fput_needed); in __sys_listen()
1899 struct socket *sock, *newsock; in do_accept() local
1905 sock = sock_from_file(file); in do_accept()
1906 if (!sock) in do_accept()
1912 ops = READ_ONCE(sock->ops); in do_accept()
1914 newsock->type = sock->type; in do_accept()
1923 newfile = sock_alloc_file(newsock, flags, sock->sk->sk_prot_creator->name); in do_accept()
1927 err = security_socket_accept(sock, newsock); in do_accept()
1931 err = ops->accept(sock, newsock, sock->file->f_flags | file_flags, in do_accept()
2036 struct socket *sock; in __sys_connect_file() local
2039 sock = sock_from_file(file); in __sys_connect_file()
2040 if (!sock) { in __sys_connect_file()
2046 security_socket_connect(sock, (struct sockaddr *)address, addrlen); in __sys_connect_file()
2050 err = READ_ONCE(sock->ops)->connect(sock, (struct sockaddr *)address, in __sys_connect_file()
2051 addrlen, sock->file->f_flags | file_flags); in __sys_connect_file()
2088 struct socket *sock; in __sys_getsockname() local
2092 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getsockname()
2093 if (!sock) in __sys_getsockname()
2096 err = security_socket_getsockname(sock); in __sys_getsockname()
2100 err = READ_ONCE(sock->ops)->getname(sock, (struct sockaddr *)&address, 0); in __sys_getsockname()
2107 fput_light(sock->file, fput_needed); in __sys_getsockname()
2126 struct socket *sock; in __sys_getpeername() local
2130 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getpeername()
2131 if (sock != NULL) { in __sys_getpeername()
2132 const struct proto_ops *ops = READ_ONCE(sock->ops); in __sys_getpeername()
2134 err = security_socket_getpeername(sock); in __sys_getpeername()
2136 fput_light(sock->file, fput_needed); in __sys_getpeername()
2140 err = ops->getname(sock, (struct sockaddr *)&address, 1); in __sys_getpeername()
2145 fput_light(sock->file, fput_needed); in __sys_getpeername()
2164 struct socket *sock; in __sys_sendto() local
2174 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendto()
2175 if (!sock) in __sys_sendto()
2191 if (sock->file->f_flags & O_NONBLOCK) in __sys_sendto()
2194 err = __sock_sendmsg(sock, &msg); in __sys_sendto()
2197 fput_light(sock->file, fput_needed); in __sys_sendto()
2232 struct socket *sock; in __sys_recvfrom() local
2240 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_recvfrom()
2241 if (!sock) in __sys_recvfrom()
2244 if (sock->file->f_flags & O_NONBLOCK) in __sys_recvfrom()
2246 err = sock_recvmsg(sock, &msg, flags); in __sys_recvfrom()
2255 fput_light(sock->file, fput_needed); in __sys_recvfrom()
2277 static bool sock_use_custom_sol_socket(const struct socket *sock) in sock_use_custom_sol_socket() argument
2279 return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags); in sock_use_custom_sol_socket()
2293 struct socket *sock; in __sys_setsockopt() local
2298 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_setsockopt()
2299 if (!sock) in __sys_setsockopt()
2302 err = security_socket_setsockopt(sock, level, optname); in __sys_setsockopt()
2307 err = BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock->sk, &level, &optname, in __sys_setsockopt()
2319 ops = READ_ONCE(sock->ops); in __sys_setsockopt()
2320 if (level == SOL_SOCKET && !sock_use_custom_sol_socket(sock)) in __sys_setsockopt()
2321 err = sock_setsockopt(sock, level, optname, optval, optlen); in __sys_setsockopt()
2325 err = ops->setsockopt(sock, level, optname, optval, in __sys_setsockopt()
2329 fput_light(sock->file, fput_needed); in __sys_setsockopt()
2352 struct socket *sock; in __sys_getsockopt() local
2354 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getsockopt()
2355 if (!sock) in __sys_getsockopt()
2358 err = security_socket_getsockopt(sock, level, optname); in __sys_getsockopt()
2365 ops = READ_ONCE(sock->ops); in __sys_getsockopt()
2367 err = sock_getsockopt(sock, level, optname, optval, optlen); in __sys_getsockopt()
2371 err = ops->getsockopt(sock, level, optname, optval, in __sys_getsockopt()
2375 err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, in __sys_getsockopt()
2379 fput_light(sock->file, fput_needed); in __sys_getsockopt()
2393 int __sys_shutdown_sock(struct socket *sock, int how) in __sys_shutdown_sock() argument
2397 err = security_socket_shutdown(sock, how); in __sys_shutdown_sock()
2399 err = READ_ONCE(sock->ops)->shutdown(sock, how); in __sys_shutdown_sock()
2407 struct socket *sock; in __sys_shutdown() local
2409 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_shutdown()
2410 if (sock != NULL) { in __sys_shutdown()
2411 err = __sys_shutdown_sock(sock, how); in __sys_shutdown()
2412 fput_light(sock->file, fput_needed); in __sys_shutdown()
2501 static int ____sys_sendmsg(struct socket *sock, struct msghdr *msg_sys, in ____sys_sendmsg() argument
2520 cmsghdr_from_user_compat_to_kern(msg_sys, sock->sk, ctl, in ____sys_sendmsg()
2530 ctl_buf = sock_kmalloc(sock->sk, ctl_len, GFP_KERNEL); in ____sys_sendmsg()
2543 if (sock->file->f_flags & O_NONBLOCK) in ____sys_sendmsg()
2555 err = sock_sendmsg_nosec(sock, msg_sys); in ____sys_sendmsg()
2558 err = __sock_sendmsg(sock, msg_sys); in ____sys_sendmsg()
2572 sock_kfree_s(sock->sk, ctl_buf, ctl_len); in ____sys_sendmsg()
2597 static int ___sys_sendmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_sendmsg() argument
2612 err = ____sys_sendmsg(sock, msg_sys, flags, used_address, in ___sys_sendmsg()
2621 long __sys_sendmsg_sock(struct socket *sock, struct msghdr *msg, in __sys_sendmsg_sock() argument
2624 return ____sys_sendmsg(sock, msg, flags, NULL, 0); in __sys_sendmsg_sock()
2632 struct socket *sock; in __sys_sendmsg() local
2637 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendmsg()
2638 if (!sock) in __sys_sendmsg()
2641 err = ___sys_sendmsg(sock, msg, &msg_sys, flags, NULL, 0); in __sys_sendmsg()
2643 fput_light(sock->file, fput_needed); in __sys_sendmsg()
2661 struct socket *sock; in __sys_sendmmsg() local
2676 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendmmsg()
2677 if (!sock) in __sys_sendmmsg()
2691 err = ___sys_sendmsg(sock, (struct user_msghdr __user *)compat_entry, in __sys_sendmmsg()
2698 err = ___sys_sendmsg(sock, in __sys_sendmmsg()
2715 fput_light(sock->file, fput_needed); in __sys_sendmmsg()
2751 static int ____sys_recvmsg(struct socket *sock, struct msghdr *msg_sys, in ____sys_recvmsg() argument
2771 if (sock->file->f_flags & O_NONBLOCK) in ____sys_recvmsg()
2775 err = sock_recvmsg_nosec(sock, msg_sys, flags); in ____sys_recvmsg()
2777 err = sock_recvmsg(sock, msg_sys, flags); in ____sys_recvmsg()
2807 static int ___sys_recvmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_recvmsg() argument
2819 err = ____sys_recvmsg(sock, msg_sys, msg, uaddr, flags, nosec); in ___sys_recvmsg()
2828 long __sys_recvmsg_sock(struct socket *sock, struct msghdr *msg, in __sys_recvmsg_sock() argument
2832 return ____sys_recvmsg(sock, msg, umsg, uaddr, flags, 0); in __sys_recvmsg_sock()
2840 struct socket *sock; in __sys_recvmsg() local
2845 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_recvmsg()
2846 if (!sock) in __sys_recvmsg()
2849 err = ___sys_recvmsg(sock, msg, &msg_sys, flags, 0); in __sys_recvmsg()
2851 fput_light(sock->file, fput_needed); in __sys_recvmsg()
2871 struct socket *sock; in do_recvmmsg() local
2885 sock = sockfd_lookup_light(fd, &err, &fput_needed); in do_recvmmsg()
2886 if (!sock) in do_recvmmsg()
2890 err = sock_error(sock->sk); in do_recvmmsg()
2905 err = ___sys_recvmsg(sock, (struct user_msghdr __user *)compat_entry, in do_recvmmsg()
2913 err = ___sys_recvmsg(sock, in do_recvmmsg()
2969 WRITE_ONCE(sock->sk->sk_err, -err); in do_recvmmsg()
2972 fput_light(sock->file, fput_needed); in do_recvmmsg()
3385 static int compat_sock_ioctl_trans(struct file *file, struct socket *sock, in compat_sock_ioctl_trans() argument
3389 struct sock *sk = sock->sk; in compat_sock_ioctl_trans()
3401 ops = READ_ONCE(sock->ops); in compat_sock_ioctl_trans()
3404 return ops->gettstamp(sock, argp, cmd == SIOCGSTAMP_OLD, in compat_sock_ioctl_trans()
3476 return sock_do_ioctl(net, sock, cmd, arg); in compat_sock_ioctl_trans()
3485 struct socket *sock = file->private_data; in compat_sock_ioctl() local
3486 const struct proto_ops *ops = READ_ONCE(sock->ops); in compat_sock_ioctl()
3488 struct sock *sk; in compat_sock_ioctl()
3491 sk = sock->sk; in compat_sock_ioctl()
3495 ret = ops->compat_ioctl(sock, cmd, arg); in compat_sock_ioctl()
3502 ret = compat_sock_ioctl_trans(file, sock, cmd, arg); in compat_sock_ioctl()
3517 int kernel_bind(struct socket *sock, struct sockaddr *addr, int addrlen) in kernel_bind() argument
3523 return READ_ONCE(sock->ops)->bind(sock, (struct sockaddr *)&address, in kernel_bind()
3536 int kernel_listen(struct socket *sock, int backlog) in kernel_listen() argument
3538 return READ_ONCE(sock->ops)->listen(sock, backlog); in kernel_listen()
3553 int kernel_accept(struct socket *sock, struct socket **newsock, int flags) in kernel_accept() argument
3555 struct sock *sk = sock->sk; in kernel_accept()
3556 const struct proto_ops *ops = READ_ONCE(sock->ops); in kernel_accept()
3564 err = ops->accept(sock, *newsock, flags, true); in kernel_accept()
3592 int kernel_connect(struct socket *sock, struct sockaddr *addr, int addrlen, in kernel_connect() argument
3599 return READ_ONCE(sock->ops)->connect(sock, (struct sockaddr *)&address, in kernel_connect()
3613 int kernel_getsockname(struct socket *sock, struct sockaddr *addr) in kernel_getsockname() argument
3615 return READ_ONCE(sock->ops)->getname(sock, addr, 0); in kernel_getsockname()
3628 int kernel_getpeername(struct socket *sock, struct sockaddr *addr) in kernel_getpeername() argument
3630 return READ_ONCE(sock->ops)->getname(sock, addr, 1); in kernel_getpeername()
3642 int kernel_sock_shutdown(struct socket *sock, enum sock_shutdown_cmd how) in kernel_sock_shutdown() argument
3644 return READ_ONCE(sock->ops)->shutdown(sock, how); in kernel_sock_shutdown()
3658 u32 kernel_sock_ip_overhead(struct sock *sk) in kernel_sock_ip_overhead()