diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1384,7 +1384,13 @@ error = ENOENT; goto out; } - error = SYSCTL_OUT(req, inp->inp_socket->so_cred, sizeof(struct ucred)); + { + struct ucred _uc; + _uc = *inp->inp_socket->so_cred; + crit_exit(); + error = SYSCTL_OUT(req, &_uc, sizeof(struct ucred)); + return (error); + } out: crit_exit(); return (error);