aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Somers <asomers@FreeBSD.org>2026-05-16 18:03:49 +0000
committerAlan Somers <asomers@FreeBSD.org>2026-05-17 12:49:23 +0000
commit4cee16d471d47f4673e4d2c66f7a96d4e6d86ee9 (patch)
tree6ece1a1024a7e49c47e5bd2bc4b2e700ecdedbb0
parent2872268c7f6d473aae9b02ebb5d2c24fc2cff9b1 (diff)
linuxulator: fix SO_PEERCRED emulation after 1d24638d3e8
For Linux binaries, sopt->sopt_td may be null. And there's also no need to check it, since struct l_ucred has the same layout on 32-bit systems as on 64-bit ones. PR: 295333 Reported by: Miguel Gomes <miguel.dias.gomes@protonmail.com> Fixes: 1d24638d3e8 ("Fix LOCAL_PEERCRED in 32-bit compat mode") MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D57032
-rw-r--r--sys/kern/uipc_usrreq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 2508f7edd1c5..a5607e66117c 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -2756,7 +2756,9 @@ uipc_ctloutput(struct socket *so, struct sockopt *sopt)
if (error != 0)
break;
#ifdef COMPAT_FREEBSD32
- if (SV_PROC_FLAG(sopt->sopt_td->td_proc, SV_ILP32)) {
+ if (sopt->sopt_td &&
+ SV_PROC_FLAG(sopt->sopt_td->td_proc, SV_ILP32))
+ {
struct xucred32 xu32 = {};
int i;