git: d7574c74326a - main - domains: init pr_domain in pr_init()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Aug 2022 02:24:53 UTC
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d7574c74326aebc9eaaf20ced7c7a53c6db5f685 commit d7574c74326aebc9eaaf20ced7c7a53c6db5f685 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2022-08-30 02:15:01 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2022-08-30 02:15:01 +0000 domains: init pr_domain in pr_init() --- sys/kern/uipc_domain.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index 3c0a570842b0..334a7a036daa 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -208,12 +208,14 @@ pr_sopoll_notsupp(struct socket *so, int events, struct ucred *cred, } static void -pr_init(struct protosw *pr) +pr_init(struct domain *dom, struct protosw *pr) { KASSERT(pr->pr_attach != NULL, ("%s: protocol doesn't have pr_attach", __func__)); + pr->pr_domain = dom; + #define DEFAULT(foo, bar) if (pr->foo == NULL) pr->foo = bar DEFAULT(pr_sosend, sosend_generic); DEFAULT(pr_soreceive, soreceive_generic); @@ -261,10 +263,8 @@ domain_init(struct domain *dp) MPASS((flags & DOMF_INITED) == 0); for (int i = 0; i < dp->dom_nprotosw; i++) - if ((pr = dp->dom_protosw[i]) != NULL) { - pr->pr_domain = dp; - pr_init(pr); - } + if ((pr = dp->dom_protosw[i]) != NULL) + pr_init(dp, pr); atomic_set_rel_int(&dp->dom_flags, DOMF_INITED); } @@ -439,8 +439,7 @@ protosw_register(struct domain *dp, struct protosw *npr) return (ENOMEM); } - npr->pr_domain = dp; - pr_init(npr); + pr_init(dp, npr); *prp = npr; mtx_unlock(&dom_mtx);