MAC/do: Move hold_conf() and drop_conf() earlier

This is in preparation for using hold_conf() in find_conf().

Reviewed by:    bapt
MFC after:      1 month
Sponsored by:   The FreeBSD Foundation
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/38
This commit is contained in:
Olivier Certner
2026-04-27 14:55:05 +02:00
parent cf942ac9e9
commit cd1ac04409
+15 -15
View File
@@ -1160,6 +1160,21 @@ parse_exec_paths(const char *const string, struct exec_paths *const exec_paths,
goto out;
}
static void
hold_conf(struct conf *const conf)
{
refcount_acquire(&conf->use_count);
}
static void
drop_conf(struct conf *const conf)
{
if (refcount_release(&conf->use_count)) {
toast_rules(&conf->rules);
free(conf, M_MAC_DO);
}
}
/*
* Find configuration applicable to the passed prison.
*
@@ -1200,21 +1215,6 @@ find_conf(struct prison *const pr, struct prison **const aprp)
return (conf);
}
static void
hold_conf(struct conf *const conf)
{
refcount_acquire(&conf->use_count);
}
static void
drop_conf(struct conf *const conf)
{
if (refcount_release(&conf->use_count)) {
toast_rules(&conf->rules);
free(conf, M_MAC_DO);
}
}
#ifdef INVARIANTS
static void
check_conf_use_count(const struct conf *const conf, u_int expected)