diff options
author | Zhenlei Huang <zlei@FreeBSD.org> | 2023-02-28 10:14:07 +0000 |
---|---|---|
committer | Zhenlei Huang <zlei@FreeBSD.org> | 2023-02-28 10:20:07 +0000 |
commit | 2c33b456ff24d04d83690327a777d21a6a0a0a33 (patch) | |
tree | c606cb651ffe7f3f73b66c6703486228d6fefa62 | |
parent | 500f82d6c32edf8d5a3934c5fa3d4875045c4c49 (diff) | |
download | src-2c33b456ff24d04d83690327a777d21a6a0a0a33.tar.gz src-2c33b456ff24d04d83690327a777d21a6a0a0a33.zip |
jail: Improve readability
No functional change intended.
Reviewed by: melifaro
Differential Revision: https://reviews.freebsd.org/D37890
-rw-r--r-- | sys/kern/kern_jail.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index ba4fa6ea2ce4..41bd5cdca620 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -634,7 +634,7 @@ prison_ip_copyin(const pr_family_t af, void *op, uint32_t cnt) * address to connect from. */ if (cnt > 1) - qsort(pip->pr_ip + size, cnt - 1, size, pr_families[af].cmp); + qsort(PR_IP(pip, af, 1), cnt - 1, size, cmp); /* * Check for duplicate addresses and do some simple * zero and broadcast checks. If users give other bogus @@ -663,12 +663,13 @@ prison_ip_copyin(const pr_family_t af, void *op, uint32_t cnt) static void prison_ip_dup(struct prison *ppr, struct prison *pr, const pr_family_t af) { + const struct prison_ip *ppip = ppr->pr_addrs[af]; + struct prison_ip *pip; - if (ppr->pr_addrs[af] != NULL) { - pr->pr_addrs[af] = prison_ip_alloc(af, - ppr->pr_addrs[af]->ips, M_WAITOK); - bcopy(ppr->pr_addrs[af]->pr_ip, pr->pr_addrs[af]->pr_ip, - pr->pr_addrs[af]->ips * pr_families[af].size); + if (ppip != NULL) { + pip = prison_ip_alloc(af, ppip->ips, M_WAITOK); + bcopy(ppip->pr_ip, pip->pr_ip, pip->ips * pr_families[af].size); + pr->pr_addrs[af] = pip; } } @@ -4199,19 +4200,20 @@ static SYSCTL_NODE(_security, OID_AUTO, jail, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, static void prison_ip_copyout(struct prison *pr, const pr_family_t af, void **out, int *len) { + const struct prison_ip *pip; const size_t size = pr_families[af].size; again: mtx_assert(&pr->pr_mtx, MA_OWNED); - if (pr->pr_addrs[af] != NULL) { - if (*len < pr->pr_addrs[af]->ips) { - *len = pr->pr_addrs[af]->ips; + if ((pip = pr->pr_addrs[af]) != NULL) { + if (*len < pip->ips) { + *len = pip->ips; mtx_unlock(&pr->pr_mtx); *out = realloc(*out, *len * size, M_TEMP, M_WAITOK); mtx_lock(&pr->pr_mtx); goto again; } - bcopy(pr->pr_addrs[af]->pr_ip, *out, pr->pr_addrs[af]->ips * size); + bcopy(pip->pr_ip, *out, pip->ips * size); } } #endif |