Lines Matching refs:sock
137 struct socket *sock = f->private_data; in sock_show_fdinfo() local
139 if (sock->ops->show_fdinfo) in sock_show_fdinfo()
140 sock->ops->show_fdinfo(m, sock); in sock_show_fdinfo()
456 struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname) in sock_alloc_file() argument
461 dname = sock->sk ? sock->sk->sk_prot_creator->name : ""; in sock_alloc_file()
463 file = alloc_file_pseudo(SOCK_INODE(sock), sock_mnt, dname, in sock_alloc_file()
467 sock_release(sock); in sock_alloc_file()
471 sock->file = file; in sock_alloc_file()
472 file->private_data = sock; in sock_alloc_file()
473 stream_open(SOCK_INODE(sock), file); in sock_alloc_file()
478 static int sock_map_fd(struct socket *sock, int flags) in sock_map_fd() argument
483 sock_release(sock); in sock_map_fd()
487 newfile = sock_alloc_file(sock, flags, NULL); in sock_map_fd()
529 struct socket *sock; in sockfd_lookup() local
537 sock = sock_from_file(file); in sockfd_lookup()
538 if (!sock) { in sockfd_lookup()
542 return sock; in sockfd_lookup()
549 struct socket *sock; in sockfd_lookup_light() local
553 sock = sock_from_file(f.file); in sockfd_lookup_light()
554 if (likely(sock)) { in sockfd_lookup_light()
556 return sock; in sockfd_lookup_light()
598 struct socket *sock = SOCKET_I(d_inode(dentry)); in sockfs_setattr() local
600 if (sock->sk) in sockfs_setattr()
601 sock->sk->sk_uid = iattr->ia_uid; in sockfs_setattr()
625 struct socket *sock; in sock_alloc() local
631 sock = SOCKET_I(inode); in sock_alloc()
639 return sock; in sock_alloc()
643 static void __sock_release(struct socket *sock, struct inode *inode) in __sock_release() argument
645 if (sock->ops) { in __sock_release()
646 struct module *owner = sock->ops->owner; in __sock_release()
650 sock->ops->release(sock); in __sock_release()
651 sock->sk = NULL; in __sock_release()
654 sock->ops = NULL; in __sock_release()
658 if (sock->wq.fasync_list) in __sock_release()
661 if (!sock->file) { in __sock_release()
662 iput(SOCK_INODE(sock)); in __sock_release()
665 sock->file = NULL; in __sock_release()
676 void sock_release(struct socket *sock) in sock_release() argument
678 __sock_release(sock, NULL); in sock_release()
712 static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg) in sock_sendmsg_nosec() argument
714 int ret = INDIRECT_CALL_INET(sock->ops->sendmsg, inet6_sendmsg, in sock_sendmsg_nosec()
715 inet_sendmsg, sock, msg, in sock_sendmsg_nosec()
729 int sock_sendmsg(struct socket *sock, struct msghdr *msg) in sock_sendmsg() argument
731 int err = security_socket_sendmsg(sock, msg, in sock_sendmsg()
734 return err ?: sock_sendmsg_nosec(sock, msg); in sock_sendmsg()
750 int kernel_sendmsg(struct socket *sock, struct msghdr *msg, in kernel_sendmsg() argument
754 return sock_sendmsg(sock, msg); in kernel_sendmsg()
771 int kernel_sendmsg_locked(struct sock *sk, struct msghdr *msg, in kernel_sendmsg_locked()
774 struct socket *sock = sk->sk_socket; in kernel_sendmsg_locked() local
776 if (!sock->ops->sendmsg_locked) in kernel_sendmsg_locked()
781 return sock->ops->sendmsg_locked(sk, msg, msg_data_left(msg)); in kernel_sendmsg_locked()
808 static ktime_t get_timestamp(struct sock *sk, struct sk_buff *skb, int *if_index) in get_timestamp()
856 void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk, in __sock_recv_timestamp()
947 void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk, in __sock_recv_wifi_status()
963 static inline void sock_recv_drops(struct msghdr *msg, struct sock *sk, in sock_recv_drops()
971 static void sock_recv_mark(struct msghdr *msg, struct sock *sk, in sock_recv_mark()
979 void __sock_recv_cmsgs(struct msghdr *msg, struct sock *sk, in __sock_recv_cmsgs()
992 static inline int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg, in sock_recvmsg_nosec() argument
995 return INDIRECT_CALL_INET(sock->ops->recvmsg, inet6_recvmsg, in sock_recvmsg_nosec()
996 inet_recvmsg, sock, msg, msg_data_left(msg), in sock_recvmsg_nosec()
1009 int sock_recvmsg(struct socket *sock, struct msghdr *msg, int flags) in sock_recvmsg() argument
1011 int err = security_socket_recvmsg(sock, msg, msg_data_left(msg), flags); in sock_recvmsg()
1013 return err ?: sock_recvmsg_nosec(sock, msg, flags); in sock_recvmsg()
1033 int kernel_recvmsg(struct socket *sock, struct msghdr *msg, in kernel_recvmsg() argument
1038 return sock_recvmsg(sock, msg, flags); in kernel_recvmsg()
1045 struct socket *sock; in sock_sendpage() local
1048 sock = file->private_data; in sock_sendpage()
1054 return kernel_sendpage(sock, page, offset, size, flags); in sock_sendpage()
1061 struct socket *sock = file->private_data; in sock_splice_read() local
1063 if (unlikely(!sock->ops->splice_read)) in sock_splice_read()
1066 return sock->ops->splice_read(sock, ppos, pipe, len, flags); in sock_splice_read()
1072 struct socket *sock = file->private_data; in sock_read_iter() local
1086 res = sock_recvmsg(sock, &msg, msg.msg_flags); in sock_read_iter()
1094 struct socket *sock = file->private_data; in sock_write_iter() local
1105 if (sock->type == SOCK_SEQPACKET) in sock_write_iter()
1108 res = sock_sendmsg(sock, &msg); in sock_write_iter()
1160 static long sock_do_ioctl(struct net *net, struct socket *sock, in sock_do_ioctl() argument
1169 err = sock->ops->ioctl(sock, cmd, arg); in sock_do_ioctl()
1198 struct socket *sock; in sock_ioctl() local
1199 struct sock *sk; in sock_ioctl()
1204 sock = file->private_data; in sock_ioctl()
1205 sk = sock->sk; in sock_ioctl()
1229 err = f_setown(sock->file, pid, 1); in sock_ioctl()
1233 err = put_user(f_getown(sock->file), in sock_ioctl()
1262 if (!sock->ops->gettstamp) { in sock_ioctl()
1266 err = sock->ops->gettstamp(sock, argp, in sock_ioctl()
1272 if (!sock->ops->gettstamp) { in sock_ioctl()
1276 err = sock->ops->gettstamp(sock, argp, in sock_ioctl()
1286 err = sock_do_ioctl(net, sock, cmd, arg); in sock_ioctl()
1308 struct socket *sock = NULL; in sock_create_lite() local
1314 sock = sock_alloc(); in sock_create_lite()
1315 if (!sock) { in sock_create_lite()
1320 sock->type = type; in sock_create_lite()
1321 err = security_socket_post_create(sock, family, type, protocol, 1); in sock_create_lite()
1326 *res = sock; in sock_create_lite()
1329 sock_release(sock); in sock_create_lite()
1330 sock = NULL; in sock_create_lite()
1338 struct socket *sock = file->private_data; in sock_poll() local
1341 if (!sock->ops->poll) in sock_poll()
1344 if (sk_can_busy_loop(sock->sk)) { in sock_poll()
1347 sk_busy_loop(sock->sk, 1); in sock_poll()
1353 return sock->ops->poll(file, sock, wait) | flag; in sock_poll()
1358 struct socket *sock = file->private_data; in sock_mmap() local
1360 return sock->ops->mmap(file, sock, vma); in sock_mmap()
1382 struct socket *sock = filp->private_data; in sock_fasync() local
1383 struct sock *sk = sock->sk; in sock_fasync()
1384 struct socket_wq *wq = &sock->wq; in sock_fasync()
1448 struct socket *sock; in __sock_create() local
1479 sock = sock_alloc(); in __sock_create()
1480 if (!sock) { in __sock_create()
1486 sock->type = type; in __sock_create()
1515 err = pf->create(net, sock, protocol, kern); in __sock_create()
1523 if (!try_module_get(sock->ops->owner)) in __sock_create()
1531 err = security_socket_post_create(sock, family, type, protocol, kern); in __sock_create()
1534 *res = sock; in __sock_create()
1541 sock->ops = NULL; in __sock_create()
1544 sock_release(sock); in __sock_create()
1590 struct socket *sock; in __sys_socket_create() local
1603 retval = sock_create(family, type, protocol, &sock); in __sys_socket_create()
1607 return sock; in __sys_socket_create()
1612 struct socket *sock; in __sys_socket_file() local
1616 sock = __sys_socket_create(family, type, protocol); in __sys_socket_file()
1617 if (IS_ERR(sock)) in __sys_socket_file()
1618 return ERR_CAST(sock); in __sys_socket_file()
1624 file = sock_alloc_file(sock, flags, NULL); in __sys_socket_file()
1626 sock_release(sock); in __sys_socket_file()
1633 struct socket *sock; in __sys_socket() local
1636 sock = __sys_socket_create(family, type, protocol); in __sys_socket()
1637 if (IS_ERR(sock)) in __sys_socket()
1638 return PTR_ERR(sock); in __sys_socket()
1644 return sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK)); in __sys_socket()
1764 struct socket *sock; in __sys_bind() local
1768 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_bind()
1769 if (sock) { in __sys_bind()
1772 err = security_socket_bind(sock, in __sys_bind()
1776 err = sock->ops->bind(sock, in __sys_bind()
1780 fput_light(sock->file, fput_needed); in __sys_bind()
1798 struct socket *sock; in __sys_listen() local
1802 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_listen()
1803 if (sock) { in __sys_listen()
1804 somaxconn = READ_ONCE(sock_net(sock->sk)->core.sysctl_somaxconn); in __sys_listen()
1808 err = security_socket_listen(sock, backlog); in __sys_listen()
1810 err = sock->ops->listen(sock, backlog); in __sys_listen()
1812 fput_light(sock->file, fput_needed); in __sys_listen()
1826 struct socket *sock, *newsock; in do_accept() local
1831 sock = sock_from_file(file); in do_accept()
1832 if (!sock) in do_accept()
1839 newsock->type = sock->type; in do_accept()
1840 newsock->ops = sock->ops; in do_accept()
1848 newfile = sock_alloc_file(newsock, flags, sock->sk->sk_prot_creator->name); in do_accept()
1852 err = security_socket_accept(sock, newsock); in do_accept()
1856 err = sock->ops->accept(sock, newsock, sock->file->f_flags | file_flags, in do_accept()
1962 struct socket *sock; in __sys_connect_file() local
1965 sock = sock_from_file(file); in __sys_connect_file()
1966 if (!sock) { in __sys_connect_file()
1972 security_socket_connect(sock, (struct sockaddr *)address, addrlen); in __sys_connect_file()
1976 err = sock->ops->connect(sock, (struct sockaddr *)address, addrlen, in __sys_connect_file()
1977 sock->file->f_flags | file_flags); in __sys_connect_file()
2014 struct socket *sock; in __sys_getsockname() local
2018 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getsockname()
2019 if (!sock) in __sys_getsockname()
2022 err = security_socket_getsockname(sock); in __sys_getsockname()
2026 err = sock->ops->getname(sock, (struct sockaddr *)&address, 0); in __sys_getsockname()
2033 fput_light(sock->file, fput_needed); in __sys_getsockname()
2052 struct socket *sock; in __sys_getpeername() local
2056 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getpeername()
2057 if (sock != NULL) { in __sys_getpeername()
2058 err = security_socket_getpeername(sock); in __sys_getpeername()
2060 fput_light(sock->file, fput_needed); in __sys_getpeername()
2064 err = sock->ops->getname(sock, (struct sockaddr *)&address, 1); in __sys_getpeername()
2069 fput_light(sock->file, fput_needed); in __sys_getpeername()
2088 struct socket *sock; in __sys_sendto() local
2098 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendto()
2099 if (!sock) in __sys_sendto()
2114 if (sock->file->f_flags & O_NONBLOCK) in __sys_sendto()
2117 err = sock_sendmsg(sock, &msg); in __sys_sendto()
2120 fput_light(sock->file, fput_needed); in __sys_sendto()
2155 struct socket *sock; in __sys_recvfrom() local
2163 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_recvfrom()
2164 if (!sock) in __sys_recvfrom()
2167 if (sock->file->f_flags & O_NONBLOCK) in __sys_recvfrom()
2169 err = sock_recvmsg(sock, &msg, flags); in __sys_recvfrom()
2178 fput_light(sock->file, fput_needed); in __sys_recvfrom()
2200 static bool sock_use_custom_sol_socket(const struct socket *sock) in sock_use_custom_sol_socket() argument
2202 const struct sock *sk = sock->sk; in sock_use_custom_sol_socket()
2221 struct socket *sock; in __sys_setsockopt() local
2226 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_setsockopt()
2227 if (!sock) in __sys_setsockopt()
2230 err = security_socket_setsockopt(sock, level, optname); in __sys_setsockopt()
2235 err = BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock->sk, &level, &optname, in __sys_setsockopt()
2247 if (level == SOL_SOCKET && !sock_use_custom_sol_socket(sock)) in __sys_setsockopt()
2248 err = sock_setsockopt(sock, level, optname, optval, optlen); in __sys_setsockopt()
2249 else if (unlikely(!sock->ops->setsockopt)) in __sys_setsockopt()
2252 err = sock->ops->setsockopt(sock, level, optname, optval, in __sys_setsockopt()
2256 fput_light(sock->file, fput_needed); in __sys_setsockopt()
2277 struct socket *sock; in __sys_getsockopt() local
2280 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getsockopt()
2281 if (!sock) in __sys_getsockopt()
2284 err = security_socket_getsockopt(sock, level, optname); in __sys_getsockopt()
2292 err = sock_getsockopt(sock, level, optname, optval, optlen); in __sys_getsockopt()
2293 else if (unlikely(!sock->ops->getsockopt)) in __sys_getsockopt()
2296 err = sock->ops->getsockopt(sock, level, optname, optval, in __sys_getsockopt()
2300 err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, in __sys_getsockopt()
2304 fput_light(sock->file, fput_needed); in __sys_getsockopt()
2318 int __sys_shutdown_sock(struct socket *sock, int how) in __sys_shutdown_sock() argument
2322 err = security_socket_shutdown(sock, how); in __sys_shutdown_sock()
2324 err = sock->ops->shutdown(sock, how); in __sys_shutdown_sock()
2332 struct socket *sock; in __sys_shutdown() local
2334 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_shutdown()
2335 if (sock != NULL) { in __sys_shutdown()
2336 err = __sys_shutdown_sock(sock, how); in __sys_shutdown()
2337 fput_light(sock->file, fput_needed); in __sys_shutdown()
2426 static int ____sys_sendmsg(struct socket *sock, struct msghdr *msg_sys, in ____sys_sendmsg() argument
2445 cmsghdr_from_user_compat_to_kern(msg_sys, sock->sk, ctl, in ____sys_sendmsg()
2455 ctl_buf = sock_kmalloc(sock->sk, ctl_len, GFP_KERNEL); in ____sys_sendmsg()
2467 if (sock->file->f_flags & O_NONBLOCK) in ____sys_sendmsg()
2479 err = sock_sendmsg_nosec(sock, msg_sys); in ____sys_sendmsg()
2482 err = sock_sendmsg(sock, msg_sys); in ____sys_sendmsg()
2496 sock_kfree_s(sock->sk, ctl_buf, ctl_len); in ____sys_sendmsg()
2521 static int ___sys_sendmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_sendmsg() argument
2536 err = ____sys_sendmsg(sock, msg_sys, flags, used_address, in ___sys_sendmsg()
2545 long __sys_sendmsg_sock(struct socket *sock, struct msghdr *msg, in __sys_sendmsg_sock() argument
2548 return ____sys_sendmsg(sock, msg, flags, NULL, 0); in __sys_sendmsg_sock()
2556 struct socket *sock; in __sys_sendmsg() local
2561 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendmsg()
2562 if (!sock) in __sys_sendmsg()
2565 err = ___sys_sendmsg(sock, msg, &msg_sys, flags, NULL, 0); in __sys_sendmsg()
2567 fput_light(sock->file, fput_needed); in __sys_sendmsg()
2585 struct socket *sock; in __sys_sendmmsg() local
2600 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendmmsg()
2601 if (!sock) in __sys_sendmmsg()
2615 err = ___sys_sendmsg(sock, (struct user_msghdr __user *)compat_entry, in __sys_sendmmsg()
2622 err = ___sys_sendmsg(sock, in __sys_sendmmsg()
2639 fput_light(sock->file, fput_needed); in __sys_sendmmsg()
2675 static int ____sys_recvmsg(struct socket *sock, struct msghdr *msg_sys, in ____sys_recvmsg() argument
2695 if (sock->file->f_flags & O_NONBLOCK) in ____sys_recvmsg()
2699 err = sock_recvmsg_nosec(sock, msg_sys, flags); in ____sys_recvmsg()
2701 err = sock_recvmsg(sock, msg_sys, flags); in ____sys_recvmsg()
2731 static int ___sys_recvmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_recvmsg() argument
2743 err = ____sys_recvmsg(sock, msg_sys, msg, uaddr, flags, nosec); in ___sys_recvmsg()
2752 long __sys_recvmsg_sock(struct socket *sock, struct msghdr *msg, in __sys_recvmsg_sock() argument
2756 return ____sys_recvmsg(sock, msg, umsg, uaddr, flags, 0); in __sys_recvmsg_sock()
2764 struct socket *sock; in __sys_recvmsg() local
2769 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_recvmsg()
2770 if (!sock) in __sys_recvmsg()
2773 err = ___sys_recvmsg(sock, msg, &msg_sys, flags, 0); in __sys_recvmsg()
2775 fput_light(sock->file, fput_needed); in __sys_recvmsg()
2795 struct socket *sock; in do_recvmmsg() local
2809 sock = sockfd_lookup_light(fd, &err, &fput_needed); in do_recvmmsg()
2810 if (!sock) in do_recvmmsg()
2814 err = sock_error(sock->sk); in do_recvmmsg()
2829 err = ___sys_recvmsg(sock, (struct user_msghdr __user *)compat_entry, in do_recvmmsg()
2837 err = ___sys_recvmsg(sock, in do_recvmmsg()
2893 sock->sk->sk_err = -err; in do_recvmmsg()
2896 fput_light(sock->file, fput_needed); in do_recvmmsg()
3309 static int compat_sock_ioctl_trans(struct file *file, struct socket *sock, in compat_sock_ioctl_trans() argument
3313 struct sock *sk = sock->sk; in compat_sock_ioctl_trans()
3324 if (!sock->ops->gettstamp) in compat_sock_ioctl_trans()
3326 return sock->ops->gettstamp(sock, argp, cmd == SIOCGSTAMP_OLD, in compat_sock_ioctl_trans()
3398 return sock_do_ioctl(net, sock, cmd, arg); in compat_sock_ioctl_trans()
3407 struct socket *sock = file->private_data; in compat_sock_ioctl() local
3409 struct sock *sk; in compat_sock_ioctl()
3412 sk = sock->sk; in compat_sock_ioctl()
3415 if (sock->ops->compat_ioctl) in compat_sock_ioctl()
3416 ret = sock->ops->compat_ioctl(sock, cmd, arg); in compat_sock_ioctl()
3423 ret = compat_sock_ioctl_trans(file, sock, cmd, arg); in compat_sock_ioctl()
3438 int kernel_bind(struct socket *sock, struct sockaddr *addr, int addrlen) in kernel_bind() argument
3440 return sock->ops->bind(sock, addr, addrlen); in kernel_bind()
3452 int kernel_listen(struct socket *sock, int backlog) in kernel_listen() argument
3454 return sock->ops->listen(sock, backlog); in kernel_listen()
3469 int kernel_accept(struct socket *sock, struct socket **newsock, int flags) in kernel_accept() argument
3471 struct sock *sk = sock->sk; in kernel_accept()
3479 err = sock->ops->accept(sock, *newsock, flags, true); in kernel_accept()
3486 (*newsock)->ops = sock->ops; in kernel_accept()
3507 int kernel_connect(struct socket *sock, struct sockaddr *addr, int addrlen, in kernel_connect() argument
3510 return sock->ops->connect(sock, addr, addrlen, flags); in kernel_connect()
3523 int kernel_getsockname(struct socket *sock, struct sockaddr *addr) in kernel_getsockname() argument
3525 return sock->ops->getname(sock, addr, 0); in kernel_getsockname()
3538 int kernel_getpeername(struct socket *sock, struct sockaddr *addr) in kernel_getpeername() argument
3540 return sock->ops->getname(sock, addr, 1); in kernel_getpeername()
3555 int kernel_sendpage(struct socket *sock, struct page *page, int offset, in kernel_sendpage() argument
3558 if (sock->ops->sendpage) { in kernel_sendpage()
3561 return sock->ops->sendpage(sock, page, offset, size, flags); in kernel_sendpage()
3563 return sock_no_sendpage(sock, page, offset, size, flags); in kernel_sendpage()
3579 int kernel_sendpage_locked(struct sock *sk, struct page *page, int offset, in kernel_sendpage_locked()
3582 struct socket *sock = sk->sk_socket; in kernel_sendpage_locked() local
3584 if (sock->ops->sendpage_locked) in kernel_sendpage_locked()
3585 return sock->ops->sendpage_locked(sk, page, offset, size, in kernel_sendpage_locked()
3600 int kernel_sock_shutdown(struct socket *sock, enum sock_shutdown_cmd how) in kernel_sock_shutdown() argument
3602 return sock->ops->shutdown(sock, how); in kernel_sock_shutdown()
3616 u32 kernel_sock_ip_overhead(struct sock *sk) in kernel_sock_ip_overhead()