Date: Sat, 29 Jan 2022 01:11:13 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 704d2103c613 - stable/13 - p_candebug(), p_cansee(): always allow for curproc Message-ID: <202201290111.20T1BDfM039420@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=704d2103c61363e46e9f4a61b1e61527e5bfe173 commit 704d2103c61363e46e9f4a61b1e61527e5bfe173 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2022-01-21 15:29:17 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2022-01-29 01:10:44 +0000 p_candebug(), p_cansee(): always allow for curproc (cherry picked from commit 55a0aa21628ad7b3bd8d6a42e51d79867d8996a9) --- sys/kern/kern_prot.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 08fc3c8062db..484ebed95118 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1460,10 +1460,12 @@ cr_cansee(struct ucred *u1, struct ucred *u2) int p_cansee(struct thread *td, struct proc *p) { - /* Wrap cr_cansee() for all functionality. */ KASSERT(td == curthread, ("%s: td not curthread", __func__)); PROC_LOCK_ASSERT(p, MA_OWNED); + + if (td->td_proc == p) + return (0); return (cr_cansee(td->td_ucred, p->p_ucred)); } @@ -1681,10 +1683,10 @@ p_candebug(struct thread *td, struct proc *p) KASSERT(td == curthread, ("%s: td not curthread", __func__)); PROC_LOCK_ASSERT(p, MA_OWNED); - if ((error = priv_check(td, PRIV_DEBUG_UNPRIV))) - return (error); if (td->td_proc == p) return (0); + if ((error = priv_check(td, PRIV_DEBUG_UNPRIV))) + return (error); if ((error = prison_check(td->td_ucred, p->p_ucred))) return (error); #ifdef MAC
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202201290111.20T1BDfM039420>