git: 4cee16d471d4 - main - linuxulator: fix SO_PEERCRED emulation after 1d24638d3e8

From: Alan Somers <asomers_at_FreeBSD.org>
Date: Sun, 17 May 2026 12:50:32 UTC
The branch main has been updated by asomers:

URL: https://cgit.FreeBSD.org/src/commit/?id=4cee16d471d47f4673e4d2c66f7a96d4e6d86ee9

commit 4cee16d471d47f4673e4d2c66f7a96d4e6d86ee9
Author:     Alan Somers <asomers@FreeBSD.org>
AuthorDate: 2026-05-16 18:03:49 +0000
Commit:     Alan Somers <asomers@FreeBSD.org>
CommitDate: 2026-05-17 12:49:23 +0000

    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
---
 sys/kern/uipc_usrreq.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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;