Lines Matching refs:error
101 int error; in getsock_cap() local
103 error = fget_cap(td, fd, rightsp, &fp, havecapsp); in getsock_cap()
104 if (error != 0) in getsock_cap()
105 return (error); in getsock_cap()
137 int fd, error, oflag, fflag; in kern_socket() local
153 error = mac_socket_check_create(td->td_ucred, domain, type, protocol); in kern_socket()
154 if (error != 0) in kern_socket()
155 return (error); in kern_socket()
157 error = falloc(td, &fp, &fd, oflag); in kern_socket()
158 if (error != 0) in kern_socket()
159 return (error); in kern_socket()
161 error = socreate(domain, &so, type, protocol, td->td_ucred, td); in kern_socket()
162 if (error != 0) { in kern_socket()
171 return (error); in kern_socket()
178 int error; in sys_bind() local
180 error = getsockaddr(&sa, uap->name, uap->namelen); in sys_bind()
181 if (error == 0) { in sys_bind()
182 error = kern_bindat(td, AT_FDCWD, uap->s, sa); in sys_bind()
185 return (error); in sys_bind()
193 int error; in kern_bindat() local
202 error = getsock_cap(td, fd, &cap_bind_rights, in kern_bindat()
204 if (error != 0) in kern_bindat()
205 return (error); in kern_bindat()
212 error = mac_socket_check_bind(td->td_ucred, so, sa); in kern_bindat()
213 if (error == 0) { in kern_bindat()
216 error = sobind(so, sa, td); in kern_bindat()
218 error = sobindat(dirfd, so, sa, td); in kern_bindat()
223 return (error); in kern_bindat()
230 int error; in sys_bindat() local
232 error = getsockaddr(&sa, uap->name, uap->namelen); in sys_bindat()
233 if (error == 0) { in sys_bindat()
234 error = kern_bindat(td, uap->fd, uap->s, sa); in sys_bindat()
237 return (error); in sys_bindat()
252 int error; in kern_listen() local
255 error = getsock_cap(td, s, &cap_listen_rights, in kern_listen()
257 if (error == 0) { in kern_listen()
260 error = mac_socket_check_listen(td->td_ucred, so); in kern_listen()
261 if (error == 0) in kern_listen()
263 error = solisten(so, backlog, td); in kern_listen()
266 return (error); in kern_listen()
283 int error; local
288 error = copyin(anamelen, &namelen, sizeof (namelen));
289 if (error != 0)
290 return (error);
292 error = kern_accept4(td, s, &name, &namelen, flags, &fp);
294 if (error != 0)
295 return (error);
297 if (error == 0 && uname != NULL) {
304 error = copyout(name, uname, namelen);
306 if (error == 0)
307 error = copyout(&namelen, anamelen,
309 if (error != 0)
313 return (error);
333 int error, fd, tmp; in kern_accept4() local
339 error = getsock_cap(td, s, &cap_accept_rights, in kern_accept4()
341 if (error != 0) in kern_accept4()
342 return (error); in kern_accept4()
345 error = EINVAL; in kern_accept4()
349 error = mac_socket_check_accept(td->td_ucred, head); in kern_accept4()
350 if (error != 0) in kern_accept4()
353 error = falloc_caps(td, &nfp, &fd, in kern_accept4()
355 if (error != 0) in kern_accept4()
360 error = EINVAL; in kern_accept4()
364 error = solisten_dequeue(head, &so, flags); in kern_accept4()
365 if (error != 0) in kern_accept4()
390 error = soaccept(so, &sa); in kern_accept4()
391 if (error != 0) in kern_accept4()
417 if (error != 0) in kern_accept4()
428 if (error == 0) { in kern_accept4()
437 return (error); in kern_accept4()
475 int error; in sys_connect() local
477 error = getsockaddr(&sa, uap->name, uap->namelen); in sys_connect()
478 if (error == 0) { in sys_connect()
479 error = kern_connectat(td, AT_FDCWD, uap->s, sa); in sys_connect()
482 return (error); in sys_connect()
490 int error, interrupted = 0; in kern_connectat() local
499 error = getsock_cap(td, fd, &cap_connect_rights, in kern_connectat()
501 if (error != 0) in kern_connectat()
502 return (error); in kern_connectat()
505 error = EALREADY; in kern_connectat()
513 error = mac_socket_check_connect(td->td_ucred, so, sa); in kern_connectat()
514 if (error != 0) in kern_connectat()
518 error = soconnect(so, sa, td); in kern_connectat()
520 error = soconnectat(dirfd, so, sa, td); in kern_connectat()
521 if (error != 0) in kern_connectat()
524 error = EINPROGRESS; in kern_connectat()
529 error = msleep(&so->so_timeo, &so->so_lock, PSOCK | PCATCH, in kern_connectat()
531 if (error != 0) { in kern_connectat()
532 if (error == EINTR || error == ERESTART) in kern_connectat()
537 if (error == 0) { in kern_connectat()
538 error = so->so_error; in kern_connectat()
545 if (error == ERESTART) in kern_connectat()
546 error = EINTR; in kern_connectat()
549 return (error); in kern_connectat()
556 int error; in sys_connectat() local
558 error = getsockaddr(&sa, uap->name, uap->namelen); in sys_connectat()
559 if (error == 0) { in sys_connectat()
560 error = kern_connectat(td, uap->fd, uap->s, sa); in sys_connectat()
563 return (error); in sys_connectat()
572 int fd, error, oflag, fflag; in kern_socketpair() local
588 error = mac_socket_check_create(td->td_ucred, domain, type, in kern_socketpair()
590 if (error != 0) in kern_socketpair()
591 return (error); in kern_socketpair()
593 error = socreate(domain, &so1, type, protocol, td->td_ucred, td); in kern_socketpair()
594 if (error != 0) in kern_socketpair()
595 return (error); in kern_socketpair()
596 error = socreate(domain, &so2, type, protocol, td->td_ucred, td); in kern_socketpair()
597 if (error != 0) in kern_socketpair()
600 error = falloc(td, &fp1, &fd, oflag); in kern_socketpair()
601 if (error != 0) in kern_socketpair()
605 error = falloc(td, &fp2, &fd, oflag); in kern_socketpair()
606 if (error != 0) in kern_socketpair()
610 error = soconnect2(so1, so2); in kern_socketpair()
611 if (error != 0) in kern_socketpair()
617 error = soconnect2(so2, so1); in kern_socketpair()
618 if (error != 0) in kern_socketpair()
653 return (error); in kern_socketpair()
659 int error, sv[2]; in sys_socketpair() local
661 error = kern_socketpair(td, uap->domain, uap->type, in sys_socketpair()
663 if (error != 0) in sys_socketpair()
664 return (error); in sys_socketpair()
665 error = copyout(sv, uap->rsv, 2 * sizeof(int)); in sys_socketpair()
666 if (error != 0) { in sys_socketpair()
670 return (error); in sys_socketpair()
681 int error; in sendit() local
689 error = getsockaddr(&to, mp->msg_name, mp->msg_namelen); in sendit()
690 if (error != 0) { in sendit()
706 error = EINVAL; in sendit()
709 error = sockargs(&control, mp->msg_control, in sendit()
711 if (error != 0) in sendit()
729 error = kern_sendit(td, s, mp, flags, control, UIO_USERSPACE); in sendit()
733 return (error); in sendit()
749 int i, error; in kern_sendit() local
757 error = getsock_cap(td, s, rights, &fp, NULL, NULL); in kern_sendit()
758 if (error != 0) { in kern_sendit()
760 return (error); in kern_sendit()
770 error = mac_socket_check_connect(td->td_ucred, so, in kern_sendit()
772 if (error != 0) { in kern_sendit()
777 error = mac_socket_check_send(td->td_ucred, so); in kern_sendit()
778 if (error != 0) { in kern_sendit()
794 error = EINVAL; in kern_sendit()
804 error = sosend(so, mp->msg_name, &auio, 0, control, flags, td); in kern_sendit()
805 if (error != 0) { in kern_sendit()
806 if (auio.uio_resid != len && (error == ERESTART || in kern_sendit()
807 error == EINTR || error == EWOULDBLOCK)) in kern_sendit()
808 error = 0; in kern_sendit()
810 if (error == EPIPE && !(so->so_options & SO_NOSIGPIPE) && in kern_sendit()
817 if (error == 0) in kern_sendit()
822 ktrgenio(s, UIO_WRITE, ktruio, error); in kern_sendit()
827 return (error); in kern_sendit()
873 int error; in osendmsg() local
875 error = copyin(uap->msg, &msg, sizeof (struct omsghdr)); in osendmsg()
876 if (error != 0) in osendmsg()
877 return (error); in osendmsg()
878 error = copyiniov(msg.msg_iov, msg.msg_iovlen, &iov, EMSGSIZE); in osendmsg()
879 if (error != 0) in osendmsg()
880 return (error); in osendmsg()
883 error = sendit(td, uap->s, &msg, uap->flags); in osendmsg()
885 return (error); in osendmsg()
894 int error; in sys_sendmsg() local
896 error = copyin(uap->msg, &msg, sizeof (msg)); in sys_sendmsg()
897 if (error != 0) in sys_sendmsg()
898 return (error); in sys_sendmsg()
899 error = copyiniov(msg.msg_iov, msg.msg_iovlen, &iov, EMSGSIZE); in sys_sendmsg()
900 if (error != 0) in sys_sendmsg()
901 return (error); in sys_sendmsg()
907 error = sendit(td, uap->s, &msg, uap->flags); in sys_sendmsg()
909 return (error); in sys_sendmsg()
927 int error, i; in kern_recvit() local
933 error = getsock_cap(td, s, &cap_recv_rights, in kern_recvit()
935 if (error != 0) in kern_recvit()
936 return (error); in kern_recvit()
940 error = mac_socket_check_receive(td->td_ucred, so); in kern_recvit()
941 if (error != 0) { in kern_recvit()
943 return (error); in kern_recvit()
967 error = soreceive(so, &fromsa, &auio, NULL, in kern_recvit()
970 if (error != 0) { in kern_recvit()
971 if (auio.uio_resid != len && (error == ERESTART || in kern_recvit()
972 error == EINTR || error == EWOULDBLOCK)) in kern_recvit()
973 error = 0; in kern_recvit()
980 ktrgenio(s, UIO_READ, ktruio, error); in kern_recvit()
983 if (error != 0) in kern_recvit()
1000 error = copyout(fromsa, mp->msg_name, in kern_recvit()
1002 if (error != 0) in kern_recvit()
1035 if ((error = copyout(mtod(m, caddr_t), ctlbuf, in kern_recvit()
1056 if (error == 0 && controlp != NULL) in kern_recvit()
1059 if (error != 0) in kern_recvit()
1064 return (error); in kern_recvit()
1070 int error; in recvit() local
1072 error = kern_recvit(td, s, mp, UIO_USERSPACE, NULL); in recvit()
1073 if (error != 0) in recvit()
1074 return (error); in recvit()
1076 error = copyout(&mp->msg_namelen, namelenp, sizeof (socklen_t)); in recvit()
1080 error = 0; /* old recvfrom didn't check */ in recvit()
1083 return (error); in recvit()
1091 int error; in sys_recvfrom() local
1094 error = copyin(uap->fromlenaddr, in sys_recvfrom()
1096 if (error != 0) in sys_recvfrom()
1108 error = recvit(td, uap->s, &msg, uap->fromlenaddr); in sys_recvfrom()
1110 return (error); in sys_recvfrom()
1151 int error; in orecvmsg() local
1153 error = copyin(uap->msg, &msg, sizeof (struct omsghdr)); in orecvmsg()
1154 if (error != 0) in orecvmsg()
1155 return (error); in orecvmsg()
1156 error = copyiniov(msg.msg_iov, msg.msg_iovlen, &iov, EMSGSIZE); in orecvmsg()
1157 if (error != 0) in orecvmsg()
1158 return (error); in orecvmsg()
1161 error = recvit(td, uap->s, &msg, &uap->msg->msg_namelen); in orecvmsg()
1162 if (msg.msg_controllen && error == 0) in orecvmsg()
1163 error = copyout(&msg.msg_controllen, in orecvmsg()
1166 return (error); in orecvmsg()
1175 int error; in sys_recvmsg() local
1177 error = copyin(uap->msg, &msg, sizeof (msg)); in sys_recvmsg()
1178 if (error != 0) in sys_recvmsg()
1179 return (error); in sys_recvmsg()
1180 error = copyiniov(msg.msg_iov, msg.msg_iovlen, &iov, EMSGSIZE); in sys_recvmsg()
1181 if (error != 0) in sys_recvmsg()
1182 return (error); in sys_recvmsg()
1190 error = recvit(td, uap->s, &msg, NULL); in sys_recvmsg()
1191 if (error == 0) { in sys_recvmsg()
1193 error = copyout(&msg, uap->msg, sizeof(msg)); in sys_recvmsg()
1196 return (error); in sys_recvmsg()
1211 int error; in kern_shutdown() local
1214 error = getsock_cap(td, s, &cap_shutdown_rights, in kern_shutdown()
1216 if (error == 0) { in kern_shutdown()
1218 error = soshutdown(so, how); in kern_shutdown()
1225 if (error == ENOTCONN && in kern_shutdown()
1227 error = 0; in kern_shutdown()
1230 return (error); in kern_shutdown()
1248 int error; in kern_setsockopt() local
1272 error = getsock_cap(td, s, &cap_setsockopt_rights, in kern_setsockopt()
1274 if (error == 0) { in kern_setsockopt()
1276 error = sosetopt(so, &sopt); in kern_setsockopt()
1279 return(error); in kern_setsockopt()
1286 int error; in sys_getsockopt() local
1289 error = copyin(uap->avalsize, &valsize, sizeof (valsize)); in sys_getsockopt()
1290 if (error != 0) in sys_getsockopt()
1291 return (error); in sys_getsockopt()
1294 error = kern_getsockopt(td, uap->s, uap->level, uap->name, in sys_getsockopt()
1297 if (error == 0) in sys_getsockopt()
1298 error = copyout(&valsize, uap->avalsize, sizeof (valsize)); in sys_getsockopt()
1299 return (error); in sys_getsockopt()
1313 int error; in kern_getsockopt() local
1337 error = getsock_cap(td, s, &cap_getsockopt_rights, in kern_getsockopt()
1339 if (error == 0) { in kern_getsockopt()
1341 error = sogetopt(so, &sopt); in kern_getsockopt()
1345 return (error); in kern_getsockopt()
1356 int error; in getsockname1() local
1358 error = copyin(uap->alen, &len, sizeof(len)); in getsockname1()
1359 if (error != 0) in getsockname1()
1360 return (error); in getsockname1()
1362 error = kern_getsockname(td, uap->fdes, &sa, &len); in getsockname1()
1363 if (error != 0) in getsockname1()
1364 return (error); in getsockname1()
1371 error = copyout(sa, uap->asa, (u_int)len); in getsockname1()
1374 if (error == 0) in getsockname1()
1375 error = copyout(&len, uap->alen, sizeof(len)); in getsockname1()
1376 return (error); in getsockname1()
1386 int error; in kern_getsockname() local
1389 error = getsock_cap(td, fd, &cap_getsockname_rights, in kern_getsockname()
1391 if (error != 0) in kern_getsockname()
1392 return (error); in kern_getsockname()
1396 error = (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, sa); in kern_getsockname()
1398 if (error != 0) in kern_getsockname()
1411 if (error != 0 && *sa != NULL) { in kern_getsockname()
1415 return (error); in kern_getsockname()
1442 int error; in getpeername1() local
1444 error = copyin(uap->alen, &len, sizeof (len)); in getpeername1()
1445 if (error != 0) in getpeername1()
1446 return (error); in getpeername1()
1448 error = kern_getpeername(td, uap->fdes, &sa, &len); in getpeername1()
1449 if (error != 0) in getpeername1()
1450 return (error); in getpeername1()
1457 error = copyout(sa, uap->asa, (u_int)len); in getpeername1()
1460 if (error == 0) in getpeername1()
1461 error = copyout(&len, uap->alen, sizeof(len)); in getpeername1()
1462 return (error); in getpeername1()
1472 int error; in kern_getpeername() local
1475 error = getsock_cap(td, fd, &cap_getpeername_rights, in kern_getpeername()
1477 if (error != 0) in kern_getpeername()
1478 return (error); in kern_getpeername()
1481 error = ENOTCONN; in kern_getpeername()
1486 error = (*so->so_proto->pr_usrreqs->pru_peeraddr)(so, sa); in kern_getpeername()
1488 if (error != 0) in kern_getpeername()
1500 if (error != 0 && *sa != NULL) { in kern_getpeername()
1506 return (error); in kern_getpeername()
1531 int error; in sockargs() local
1545 error = copyin(buf, mtod(m, void *), buflen); in sockargs()
1546 if (error != 0) in sockargs()
1561 return (error); in sockargs()
1568 int error; in getsockaddr() local
1575 error = copyin(uaddr, sa, len); in getsockaddr()
1576 if (error != 0) { in getsockaddr()
1587 return (error); in getsockaddr()
1602 int error, fd, *fds, nfd; in m_dispose_extcontrolm() local
1625 error = fget(td, fd, &cap_no_rights, in m_dispose_extcontrolm()
1627 if (error == 0) { in m_dispose_extcontrolm()