From 5ae5b4259d3d4894c3f5acc5f0691869a3bd219f Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 31 Jul 2025 15:44:41 -0400 Subject: kernel: socket: Keep track of socket owner Keep track of the process that created a socket. Signed-off-by: Ian Moffett --- sys/kern/kern_socket.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sys/kern') 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 #include #include +#include #include #include #include @@ -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); -- cgit v1.2.3