diff options
author | Kristof Provost <kp@FreeBSD.org> | 2021-03-10 14:11:59 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2021-03-12 11:12:35 +0000 |
commit | b8f7267d499c8ef8e70b021879d3e9e087ecc32d (patch) | |
tree | 2aced3490a81d7e4cae30a982d84f4b068cdfcdb /sys/vm/uma_core.c | |
parent | aaf998056ed46c0dfb429e3e5cfe624c8aa4dec8 (diff) | |
download | src-b8f7267d499c8ef8e70b021879d3e9e087ecc32d.tar.gz src-b8f7267d499c8ef8e70b021879d3e9e087ecc32d.zip |
uma: allow uma_zfree_pcu(..., NULL)
We already allow free(NULL) and uma_zfree(..., NULL). Make
uma_zfree_pcpu(..., NULL) work as well.
This also means that counter_u64_free(NULL) will work.
These make cleanup code simpler.
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D29189
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r-- | sys/vm/uma_core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index 8cbd1216678a..b1762500c147 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -3171,6 +3171,11 @@ uma_zfree_pcpu_arg(uma_zone_t zone, void *pcpu_item, void *udata) #ifdef SMP MPASS(zone->uz_flags & UMA_ZONE_PCPU); #endif + + /* uma_zfree_pcu_*(..., NULL) does nothing, to match free(9). */ + if (pcpu_item == NULL) + return; + item = zpcpu_offset_to_base(pcpu_item); uma_zfree_arg(zone, item, udata); } |