Date: Thu, 21 Jan 2021 21:34:27 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 0781c79d4872 - main - Restrict supported alignment for malloc_domainset_aligned(9) to PAGE_SIZE. Message-ID: <202101212134.10LLYRqd030064@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0781c79d4872a84a8ebeee3b5eb5520a682b8e7b commit 0781c79d4872a84a8ebeee3b5eb5520a682b8e7b Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-01-18 09:01:23 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-01-21 21:34:10 +0000 Restrict supported alignment for malloc_domainset_aligned(9) to PAGE_SIZE. UMA page_alloc() does not take an alignment, so UMA can only handle alignment less then page size. Noted by: alc Reviewed by: alc, markj (previous version) Discussed with: jrtc27 Tested by: pho (previous version) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28219 --- sys/kern/kern_malloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index 232472708b9b..d3a151ad14e2 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -772,7 +772,7 @@ malloc_domainset_aligned(size_t size, size_t align, KASSERT(align != 0 && powerof2(align), ("malloc_domainset_aligned: wrong align %#zx size %#zx", align, size)); - KASSERT(align <= kmemzones[nitems(kmemzones) - 2].kz_size, + KASSERT(align <= PAGE_SIZE, ("malloc_domainset_aligned: align %#zx (size %#zx) too large", align, size)); @@ -1173,7 +1173,7 @@ mallocinit(void *dummy) align = UMA_ALIGN_PTR; if (powerof2(size) && size > sizeof(void *)) - align = size - 1; + align = MIN(size, PAGE_SIZE) - 1; for (subzone = 0; subzone < numzones; subzone++) { kmemzones[indx].kz_zone[subzone] = uma_zcreate(name, size,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101212134.10LLYRqd030064>