Lines Matching refs:sock

390 struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname)  in sock_alloc_file()  argument
395 dname = sock->sk ? sock->sk->sk_prot_creator->name : ""; in sock_alloc_file()
397 file = alloc_file_pseudo(SOCK_INODE(sock), sock_mnt, dname, in sock_alloc_file()
401 sock_release(sock); in sock_alloc_file()
405 sock->file = file; in sock_alloc_file()
406 file->private_data = sock; in sock_alloc_file()
411 static int sock_map_fd(struct socket *sock, int flags) in sock_map_fd() argument
416 sock_release(sock); in sock_map_fd()
420 newfile = sock_alloc_file(sock, flags, NULL); in sock_map_fd()
464 struct socket *sock; in sockfd_lookup() local
472 sock = sock_from_file(file, err); in sockfd_lookup()
473 if (!sock) in sockfd_lookup()
475 return sock; in sockfd_lookup()
482 struct socket *sock; in sockfd_lookup_light() local
486 sock = sock_from_file(f.file, err); in sockfd_lookup_light()
487 if (likely(sock)) { in sockfd_lookup_light()
489 return sock; in sockfd_lookup_light()
529 struct socket *sock = SOCKET_I(d_inode(dentry)); in sockfs_setattr() local
531 if (sock->sk) in sockfs_setattr()
532 sock->sk->sk_uid = iattr->ia_uid; in sockfs_setattr()
556 struct socket *sock; in sock_alloc() local
562 sock = SOCKET_I(inode); in sock_alloc()
570 return sock; in sock_alloc()
583 static void __sock_release(struct socket *sock, struct inode *inode) in __sock_release() argument
585 if (sock->ops) { in __sock_release()
586 struct module *owner = sock->ops->owner; in __sock_release()
590 sock->ops->release(sock); in __sock_release()
591 sock->sk = NULL; in __sock_release()
594 sock->ops = NULL; in __sock_release()
598 if (sock->wq.fasync_list) in __sock_release()
601 if (!sock->file) { in __sock_release()
602 iput(SOCK_INODE(sock)); in __sock_release()
605 sock->file = NULL; in __sock_release()
608 void sock_release(struct socket *sock) in sock_release() argument
610 __sock_release(sock, NULL); in sock_release()
635 static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg) in sock_sendmsg_nosec() argument
637 int ret = INDIRECT_CALL_INET(sock->ops->sendmsg, inet6_sendmsg, in sock_sendmsg_nosec()
638 inet_sendmsg, sock, msg, in sock_sendmsg_nosec()
652 int sock_sendmsg(struct socket *sock, struct msghdr *msg) in sock_sendmsg() argument
654 int err = security_socket_sendmsg(sock, msg, in sock_sendmsg()
657 return err ?: sock_sendmsg_nosec(sock, msg); in sock_sendmsg()
673 int kernel_sendmsg(struct socket *sock, struct msghdr *msg, in kernel_sendmsg() argument
677 return sock_sendmsg(sock, msg); in kernel_sendmsg()
694 int kernel_sendmsg_locked(struct sock *sk, struct msghdr *msg, in kernel_sendmsg_locked()
697 struct socket *sock = sk->sk_socket; in kernel_sendmsg_locked() local
699 if (!sock->ops->sendmsg_locked) in kernel_sendmsg_locked()
704 return sock->ops->sendmsg_locked(sk, msg, msg_data_left(msg)); in kernel_sendmsg_locked()
755 void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk, in __sock_recv_timestamp()
832 void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk, in __sock_recv_wifi_status()
848 static inline void sock_recv_drops(struct msghdr *msg, struct sock *sk, in sock_recv_drops()
856 void __sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk, in __sock_recv_ts_and_drops()
868 static inline int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg, in sock_recvmsg_nosec() argument
871 return INDIRECT_CALL_INET(sock->ops->recvmsg, inet6_recvmsg, in sock_recvmsg_nosec()
872 inet_recvmsg, sock, msg, msg_data_left(msg), in sock_recvmsg_nosec()
885 int sock_recvmsg(struct socket *sock, struct msghdr *msg, int flags) in sock_recvmsg() argument
887 int err = security_socket_recvmsg(sock, msg, msg_data_left(msg), flags); in sock_recvmsg()
889 return err ?: sock_recvmsg_nosec(sock, msg, flags); in sock_recvmsg()
909 int kernel_recvmsg(struct socket *sock, struct msghdr *msg, in kernel_recvmsg() argument
917 result = sock_recvmsg(sock, msg, flags); in kernel_recvmsg()
926 struct socket *sock; in sock_sendpage() local
929 sock = file->private_data; in sock_sendpage()
935 return kernel_sendpage(sock, page, offset, size, flags); in sock_sendpage()
942 struct socket *sock = file->private_data; in sock_splice_read() local
944 if (unlikely(!sock->ops->splice_read)) in sock_splice_read()
947 return sock->ops->splice_read(sock, ppos, pipe, len, flags); in sock_splice_read()
953 struct socket *sock = file->private_data; in sock_read_iter() local
967 res = sock_recvmsg(sock, &msg, msg.msg_flags); in sock_read_iter()
975 struct socket *sock = file->private_data; in sock_write_iter() local
986 if (sock->type == SOCK_SEQPACKET) in sock_write_iter()
989 res = sock_sendmsg(sock, &msg); in sock_write_iter()
1032 static long sock_do_ioctl(struct net *net, struct socket *sock, in sock_do_ioctl() argument
1038 err = sock->ops->ioctl(sock, cmd, arg); in sock_do_ioctl()
1089 struct socket *sock; in sock_ioctl() local
1090 struct sock *sk; in sock_ioctl()
1095 sock = file->private_data; in sock_ioctl()
1096 sk = sock->sk; in sock_ioctl()
1119 err = f_setown(sock->file, pid, 1); in sock_ioctl()
1123 err = put_user(f_getown(sock->file), in sock_ioctl()
1170 if (!sock->ops->gettstamp) { in sock_ioctl()
1174 err = sock->ops->gettstamp(sock, argp, in sock_ioctl()
1180 if (!sock->ops->gettstamp) { in sock_ioctl()
1184 err = sock->ops->gettstamp(sock, argp, in sock_ioctl()
1189 err = sock_do_ioctl(net, sock, cmd, arg); in sock_ioctl()
1211 struct socket *sock = NULL; in sock_create_lite() local
1217 sock = sock_alloc(); in sock_create_lite()
1218 if (!sock) { in sock_create_lite()
1223 sock->type = type; in sock_create_lite()
1224 err = security_socket_post_create(sock, family, type, protocol, 1); in sock_create_lite()
1229 *res = sock; in sock_create_lite()
1232 sock_release(sock); in sock_create_lite()
1233 sock = NULL; in sock_create_lite()
1241 struct socket *sock = file->private_data; in sock_poll() local
1244 if (!sock->ops->poll) in sock_poll()
1247 if (sk_can_busy_loop(sock->sk)) { in sock_poll()
1250 sk_busy_loop(sock->sk, 1); in sock_poll()
1256 return sock->ops->poll(file, sock, wait) | flag; in sock_poll()
1261 struct socket *sock = file->private_data; in sock_mmap() local
1263 return sock->ops->mmap(file, sock, vma); in sock_mmap()
1285 struct socket *sock = filp->private_data; in sock_fasync() local
1286 struct sock *sk = sock->sk; in sock_fasync()
1287 struct socket_wq *wq = &sock->wq; in sock_fasync()
1351 struct socket *sock; in __sock_create() local
1382 sock = sock_alloc(); in __sock_create()
1383 if (!sock) { in __sock_create()
1389 sock->type = type; in __sock_create()
1418 err = pf->create(net, sock, protocol, kern); in __sock_create()
1426 if (!try_module_get(sock->ops->owner)) in __sock_create()
1434 err = security_socket_post_create(sock, family, type, protocol, kern); in __sock_create()
1437 *res = sock; in __sock_create()
1444 sock->ops = NULL; in __sock_create()
1447 sock_release(sock); in __sock_create()
1494 struct socket *sock; in __sys_socket() local
1511 retval = sock_create(family, type, protocol, &sock); in __sys_socket()
1515 return sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK)); in __sys_socket()
1635 struct socket *sock; in __sys_bind() local
1639 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_bind()
1640 if (sock) { in __sys_bind()
1643 err = security_socket_bind(sock, in __sys_bind()
1647 err = sock->ops->bind(sock, in __sys_bind()
1651 fput_light(sock->file, fput_needed); in __sys_bind()
1669 struct socket *sock; in __sys_listen() local
1673 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_listen()
1674 if (sock) { in __sys_listen()
1675 somaxconn = sock_net(sock->sk)->core.sysctl_somaxconn; in __sys_listen()
1679 err = security_socket_listen(sock, backlog); in __sys_listen()
1681 err = sock->ops->listen(sock, backlog); in __sys_listen()
1683 fput_light(sock->file, fput_needed); in __sys_listen()
1708 struct socket *sock, *newsock; in __sys_accept4() local
1719 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_accept4()
1720 if (!sock) in __sys_accept4()
1728 newsock->type = sock->type; in __sys_accept4()
1729 newsock->ops = sock->ops; in __sys_accept4()
1743 newfile = sock_alloc_file(newsock, flags, sock->sk->sk_prot_creator->name); in __sys_accept4()
1750 err = security_socket_accept(sock, newsock); in __sys_accept4()
1754 err = sock->ops->accept(sock, newsock, sock->file->f_flags, false); in __sys_accept4()
1777 fput_light(sock->file, fput_needed); in __sys_accept4()
1812 struct socket *sock; in __sys_connect() local
1816 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_connect()
1817 if (!sock) in __sys_connect()
1824 security_socket_connect(sock, (struct sockaddr *)&address, addrlen); in __sys_connect()
1828 err = sock->ops->connect(sock, (struct sockaddr *)&address, addrlen, in __sys_connect()
1829 sock->file->f_flags); in __sys_connect()
1831 fput_light(sock->file, fput_needed); in __sys_connect()
1850 struct socket *sock; in __sys_getsockname() local
1854 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getsockname()
1855 if (!sock) in __sys_getsockname()
1858 err = security_socket_getsockname(sock); in __sys_getsockname()
1862 err = sock->ops->getname(sock, (struct sockaddr *)&address, 0); in __sys_getsockname()
1869 fput_light(sock->file, fput_needed); in __sys_getsockname()
1888 struct socket *sock; in __sys_getpeername() local
1892 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getpeername()
1893 if (sock != NULL) { in __sys_getpeername()
1894 err = security_socket_getpeername(sock); in __sys_getpeername()
1896 fput_light(sock->file, fput_needed); in __sys_getpeername()
1900 err = sock->ops->getname(sock, (struct sockaddr *)&address, 1); in __sys_getpeername()
1905 fput_light(sock->file, fput_needed); in __sys_getpeername()
1924 struct socket *sock; in __sys_sendto() local
1934 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendto()
1935 if (!sock) in __sys_sendto()
1949 if (sock->file->f_flags & O_NONBLOCK) in __sys_sendto()
1952 err = sock_sendmsg(sock, &msg); in __sys_sendto()
1955 fput_light(sock->file, fput_needed); in __sys_sendto()
1985 struct socket *sock; in __sys_recvfrom() local
1995 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_recvfrom()
1996 if (!sock) in __sys_recvfrom()
2007 if (sock->file->f_flags & O_NONBLOCK) in __sys_recvfrom()
2009 err = sock_recvmsg(sock, &msg, flags); in __sys_recvfrom()
2018 fput_light(sock->file, fput_needed); in __sys_recvfrom()
2051 struct socket *sock; in __sys_setsockopt() local
2056 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_setsockopt()
2057 if (sock != NULL) { in __sys_setsockopt()
2058 err = security_socket_setsockopt(sock, level, optname); in __sys_setsockopt()
2062 err = BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock->sk, &level, in __sys_setsockopt()
2080 sock_setsockopt(sock, level, optname, optval, in __sys_setsockopt()
2084 sock->ops->setsockopt(sock, level, optname, optval, in __sys_setsockopt()
2092 fput_light(sock->file, fput_needed); in __sys_setsockopt()
2112 struct socket *sock; in __sys_getsockopt() local
2115 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_getsockopt()
2116 if (sock != NULL) { in __sys_getsockopt()
2117 err = security_socket_getsockopt(sock, level, optname); in __sys_getsockopt()
2125 sock_getsockopt(sock, level, optname, optval, in __sys_getsockopt()
2129 sock->ops->getsockopt(sock, level, optname, optval, in __sys_getsockopt()
2132 err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, in __sys_getsockopt()
2136 fput_light(sock->file, fput_needed); in __sys_getsockopt()
2154 struct socket *sock; in __sys_shutdown() local
2156 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_shutdown()
2157 if (sock != NULL) { in __sys_shutdown()
2158 err = security_socket_shutdown(sock, how); in __sys_shutdown()
2160 err = sock->ops->shutdown(sock, how); in __sys_shutdown()
2161 fput_light(sock->file, fput_needed); in __sys_shutdown()
2235 static int ___sys_sendmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_sendmsg() argument
2268 cmsghdr_from_user_compat_to_kern(msg_sys, sock->sk, ctl, in ___sys_sendmsg()
2278 ctl_buf = sock_kmalloc(sock->sk, ctl_len, GFP_KERNEL); in ___sys_sendmsg()
2296 if (sock->file->f_flags & O_NONBLOCK) in ___sys_sendmsg()
2308 err = sock_sendmsg_nosec(sock, msg_sys); in ___sys_sendmsg()
2311 err = sock_sendmsg(sock, msg_sys); in ___sys_sendmsg()
2325 sock_kfree_s(sock->sk, ctl_buf, ctl_len); in ___sys_sendmsg()
2334 long __sys_sendmsg_sock(struct socket *sock, struct user_msghdr __user *msg, in __sys_sendmsg_sock() argument
2339 return ___sys_sendmsg(sock, msg, &msg_sys, flags, NULL, 0); in __sys_sendmsg_sock()
2347 struct socket *sock; in __sys_sendmsg() local
2352 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendmsg()
2353 if (!sock) in __sys_sendmsg()
2356 err = ___sys_sendmsg(sock, msg, &msg_sys, flags, NULL, 0); in __sys_sendmsg()
2358 fput_light(sock->file, fput_needed); in __sys_sendmsg()
2376 struct socket *sock; in __sys_sendmmsg() local
2391 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_sendmmsg()
2392 if (!sock) in __sys_sendmmsg()
2406 err = ___sys_sendmsg(sock, (struct user_msghdr __user *)compat_entry, in __sys_sendmmsg()
2413 err = ___sys_sendmsg(sock, in __sys_sendmmsg()
2430 fput_light(sock->file, fput_needed); in __sys_sendmmsg()
2445 static int ___sys_recvmsg(struct socket *sock, struct user_msghdr __user *msg, in ___sys_recvmsg() argument
2478 if (sock->file->f_flags & O_NONBLOCK) in ___sys_recvmsg()
2480 err = (nosec ? sock_recvmsg_nosec : sock_recvmsg)(sock, msg_sys, flags); in ___sys_recvmsg()
2515 long __sys_recvmsg_sock(struct socket *sock, struct user_msghdr __user *msg, in __sys_recvmsg_sock() argument
2520 return ___sys_recvmsg(sock, msg, &msg_sys, flags, 0); in __sys_recvmsg_sock()
2528 struct socket *sock; in __sys_recvmsg() local
2533 sock = sockfd_lookup_light(fd, &err, &fput_needed); in __sys_recvmsg()
2534 if (!sock) in __sys_recvmsg()
2537 err = ___sys_recvmsg(sock, msg, &msg_sys, flags, 0); in __sys_recvmsg()
2539 fput_light(sock->file, fput_needed); in __sys_recvmsg()
2559 struct socket *sock; in do_recvmmsg() local
2573 sock = sockfd_lookup_light(fd, &err, &fput_needed); in do_recvmmsg()
2574 if (!sock) in do_recvmmsg()
2578 err = sock_error(sock->sk); in do_recvmmsg()
2593 err = ___sys_recvmsg(sock, (struct user_msghdr __user *)compat_entry, in do_recvmmsg()
2601 err = ___sys_recvmsg(sock, in do_recvmmsg()
2657 sock->sk->sk_err = -err; in do_recvmmsg()
2660 fput_light(sock->file, fput_needed); in do_recvmmsg()
3173 static int compat_ifreq_ioctl(struct net *net, struct socket *sock, in compat_ifreq_ioctl() argument
3194 err = sock_do_ioctl(net, sock, cmd, (unsigned long)uifr); in compat_ifreq_ioctl()
3286 static int routing_ioctl(struct net *net, struct socket *sock, in routing_ioctl() argument
3297 if (sock && sock->sk && sock->sk->sk_family == AF_INET6) { /* ipv6 */ in routing_ioctl()
3336 ret = sock_do_ioctl(net, sock, cmd, (unsigned long) r); in routing_ioctl()
3358 static int compat_sock_ioctl_trans(struct file *file, struct socket *sock, in compat_sock_ioctl_trans() argument
3362 struct sock *sk = sock->sk; in compat_sock_ioctl_trans()
3383 return routing_ioctl(net, sock, cmd, argp); in compat_sock_ioctl_trans()
3386 if (!sock->ops->gettstamp) in compat_sock_ioctl_trans()
3388 return sock->ops->gettstamp(sock, argp, cmd == SIOCGSTAMP_OLD, in compat_sock_ioctl_trans()
3450 return compat_ifreq_ioctl(net, sock, cmd, argp); in compat_sock_ioctl_trans()
3456 return sock_do_ioctl(net, sock, cmd, arg); in compat_sock_ioctl_trans()
3465 struct socket *sock = file->private_data; in compat_sock_ioctl() local
3467 struct sock *sk; in compat_sock_ioctl()
3470 sk = sock->sk; in compat_sock_ioctl()
3473 if (sock->ops->compat_ioctl) in compat_sock_ioctl()
3474 ret = sock->ops->compat_ioctl(sock, cmd, arg); in compat_sock_ioctl()
3481 ret = compat_sock_ioctl_trans(file, sock, cmd, arg); in compat_sock_ioctl()
3496 int kernel_bind(struct socket *sock, struct sockaddr *addr, int addrlen) in kernel_bind() argument
3498 return sock->ops->bind(sock, addr, addrlen); in kernel_bind()
3510 int kernel_listen(struct socket *sock, int backlog) in kernel_listen() argument
3512 return sock->ops->listen(sock, backlog); in kernel_listen()
3527 int kernel_accept(struct socket *sock, struct socket **newsock, int flags) in kernel_accept() argument
3529 struct sock *sk = sock->sk; in kernel_accept()
3537 err = sock->ops->accept(sock, *newsock, flags, true); in kernel_accept()
3544 (*newsock)->ops = sock->ops; in kernel_accept()
3565 int kernel_connect(struct socket *sock, struct sockaddr *addr, int addrlen, in kernel_connect() argument
3568 return sock->ops->connect(sock, addr, addrlen, flags); in kernel_connect()
3581 int kernel_getsockname(struct socket *sock, struct sockaddr *addr) in kernel_getsockname() argument
3583 return sock->ops->getname(sock, addr, 0); in kernel_getsockname()
3596 int kernel_getpeername(struct socket *sock, struct sockaddr *addr) in kernel_getpeername() argument
3598 return sock->ops->getname(sock, addr, 1); in kernel_getpeername()
3614 int kernel_getsockopt(struct socket *sock, int level, int optname, in kernel_getsockopt() argument
3627 err = sock_getsockopt(sock, level, optname, uoptval, uoptlen); in kernel_getsockopt()
3629 err = sock->ops->getsockopt(sock, level, optname, uoptval, in kernel_getsockopt()
3647 int kernel_setsockopt(struct socket *sock, int level, int optname, in kernel_setsockopt() argument
3658 err = sock_setsockopt(sock, level, optname, uoptval, optlen); in kernel_setsockopt()
3660 err = sock->ops->setsockopt(sock, level, optname, uoptval, in kernel_setsockopt()
3678 int kernel_sendpage(struct socket *sock, struct page *page, int offset, in kernel_sendpage() argument
3681 if (sock->ops->sendpage) in kernel_sendpage()
3682 return sock->ops->sendpage(sock, page, offset, size, flags); in kernel_sendpage()
3684 return sock_no_sendpage(sock, page, offset, size, flags); in kernel_sendpage()
3700 int kernel_sendpage_locked(struct sock *sk, struct page *page, int offset, in kernel_sendpage_locked()
3703 struct socket *sock = sk->sk_socket; in kernel_sendpage_locked() local
3705 if (sock->ops->sendpage_locked) in kernel_sendpage_locked()
3706 return sock->ops->sendpage_locked(sk, page, offset, size, in kernel_sendpage_locked()
3721 int kernel_sock_shutdown(struct socket *sock, enum sock_shutdown_cmd how) in kernel_sock_shutdown() argument
3723 return sock->ops->shutdown(sock, how); in kernel_sock_shutdown()
3737 u32 kernel_sock_ip_overhead(struct sock *sk) in kernel_sock_ip_overhead()