Date: Mon, 01 Dec 2025 03:48:23 +0000 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: 0e1fcec72a05 - stable/15 - exterror(9): add two helpers Message-ID: <692d1007.2fc4d.7590e5f5@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0e1fcec72a0515749b5dc9b7baeca4d345b49c62 commit 0e1fcec72a0515749b5dc9b7baeca4d345b49c62 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2025-10-25 09:14:59 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2025-12-01 03:39:09 +0000 exterror(9): add two helpers (cherry picked from commit 069e2fb5506f8301cd9e2da1946c718bd268c50c) --- sys/kern/sys_generic.c | 19 +++++++++++++++++++ sys/sys/exterrvar.h | 2 ++ 2 files changed, 21 insertions(+) diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 5606b36f772f..79628f1389e4 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -2339,3 +2339,22 @@ exterr_set(int eerror, int category, const char *mmsg, uintptr_t pp1, } return (eerror); } + +int +exterr_set_from(const struct kexterr *ke) +{ + struct thread *td; + + td = curthread; + if ((td->td_pflags2 & TDP2_UEXTERR) != 0) { + td->td_pflags2 |= TDP2_EXTERR; + td->td_kexterr = *ke; + } + return (td->td_kexterr.error); +} + +void +exterr_clear(struct kexterr *ke) +{ + memset(ke, 0, sizeof(*ke)); +} diff --git a/sys/sys/exterrvar.h b/sys/sys/exterrvar.h index 5fce8ae7ffbe..1e07f6afb547 100644 --- a/sys/sys/exterrvar.h +++ b/sys/sys/exterrvar.h @@ -69,6 +69,8 @@ _EXTERROR_MACRO(__VA_ARGS__, _SET_ERROR2, _SET_ERROR1, \ _SET_ERROR0)(__VA_ARGS__) +void exterr_clear(struct kexterr *ke); +int exterr_set_from(const struct kexterr *ke); int exterr_set(int eerror, int category, const char *mmsg, uintptr_t pp1, uintptr_t pp2, int line); int exterr_to_ue(struct thread *td, struct uexterror *ue);help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?692d1007.2fc4d.7590e5f5>
