jemalloc/backport-Jemalloc-5.2.1-patch-1-fix-large-bin-index-accessed-through-cache-bin-descriptor.patch
xigaoxinyan df7ec938d1 update
2021-12-30 15:37:01 +08:00

20 lines
830 B
Diff

diff -Nur jemalloc-5.2.1/src/arena.c tmp/src/arena.c
--- jemalloc-5.2.1/src/arena.c 2019-08-06 04:02:00.000000000 +0800
+++ tmp/src/arena.c 2021-11-03 10:23:41.243648055 +0800
@@ -199,13 +199,12 @@
malloc_mutex_lock(tsdn, &arena->tcache_ql_mtx);
cache_bin_array_descriptor_t *descriptor;
ql_foreach(descriptor, &arena->cache_bin_array_descriptor_ql, link) {
- szind_t i = 0;
- for (; i < SC_NBINS; i++) {
+ for (szind_t i = 0; i < SC_NBINS; i++) {
cache_bin_t *tbin = &descriptor->bins_small[i];
arena_stats_accum_zu(&astats->tcache_bytes,
tbin->ncached * sz_index2size(i));
}
- for (; i < nhbins; i++) {
+ for (szind_t i = 0; i < nhbins - SC_NBINS; i++) {
cache_bin_t *tbin = &descriptor->bins_large[i];
arena_stats_accum_zu(&astats->tcache_bytes,
tbin->ncached * sz_index2size(i));