summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_socket.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/kern_socket.c b/sys/kern/kern_socket.c
index 77041cd..91a2347 100644
--- a/sys/kern/kern_socket.c
+++ b/sys/kern/kern_socket.c
@@ -30,6 +30,7 @@
#include <sys/socket.h>
#include <sys/sio.h>
#include <sys/systm.h>
+#include <sys/proc.h>
#include <sys/errno.h>
#include <sys/syslog.h>
#include <sys/filedesc.h>
@@ -322,6 +323,7 @@ fail:
int
bind(int sockfd, const struct sockaddr *addr, socklen_t len)
{
+ struct proc *td;
struct ksocket *ksock;
struct cmsg_list *clp;
int error;
@@ -337,6 +339,10 @@ bind(int sockfd, const struct sockaddr *addr, socklen_t len)
return -ENOMEM;
}
+ /* Mark ourselves as the owner */
+ td = this_td();
+ ksock->owner = td;
+
/* Initialize the cmsg list queue */
clp = &ksock->cmsg_list;
TAILQ_INIT(&clp->list);