diff options
| author | Alan Somers <asomers@FreeBSD.org> | 2026-05-16 18:03:49 +0000 |
|---|---|---|
| committer | Alan Somers <asomers@FreeBSD.org> | 2026-05-17 12:49:23 +0000 |
| commit | 4cee16d471d47f4673e4d2c66f7a96d4e6d86ee9 (patch) | |
| tree | 6ece1a1024a7e49c47e5bd2bc4b2e700ecdedbb0 | |
| parent | 2872268c7f6d473aae9b02ebb5d2c24fc2cff9b1 (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.c | 4 |
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; |
