diff options
author | Alan Cox <alc@FreeBSD.org> | 2018-08-25 19:38:08 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 2018-08-25 19:38:08 +0000 |
commit | 49bfa624ac861d7fafc87f06dc2cdf4972aed854 (patch) | |
tree | 67c3d87a41a1d37c805695647c6c1502e3a81c80 /sys/vm/uma.h | |
parent | ee6281c3d385306e6b6a7cc272f122154d409cba (diff) |
Eliminate the arena parameter to kmem_free(). Implicitly this corrects an
error in the function hypercall_memfree(), where the wrong arena was being
passed to kmem_free().
Introduce a per-page flag, VPO_KMEM_EXEC, to mark physical pages that are
mapped in kmem with execute permissions. Use this flag to determine which
arena the kmem virtual addresses are returned to.
Eliminate UMA_SLAB_KRWX. The introduction of VPO_KMEM_EXEC makes it
redundant.
Update the nearby comment for UMA_SLAB_KERNEL.
Reviewed by: kib, markj
Discussed with: jeff
Approved by: re (marius)
Differential Revision: https://reviews.freebsd.org/D16845
Notes
Notes:
svn path=/head/; revision=338318
Diffstat (limited to 'sys/vm/uma.h')
-rw-r--r-- | sys/vm/uma.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/vm/uma.h b/sys/vm/uma.h index 87ace146bad2..06a3f3545cfb 100644 --- a/sys/vm/uma.h +++ b/sys/vm/uma.h @@ -616,12 +616,11 @@ void uma_zone_set_freef(uma_zone_t zone, uma_free freef); * These flags are setable in the allocf and visible in the freef. */ #define UMA_SLAB_BOOT 0x01 /* Slab alloced from boot pages */ -#define UMA_SLAB_KRWX 0x02 /* Slab alloced from kernel_rwx_arena */ -#define UMA_SLAB_KERNEL 0x04 /* Slab alloced from kernel_map */ +#define UMA_SLAB_KERNEL 0x04 /* Slab alloced from kmem */ #define UMA_SLAB_PRIV 0x08 /* Slab alloced from priv allocator */ #define UMA_SLAB_OFFP 0x10 /* Slab is managed separately */ #define UMA_SLAB_MALLOC 0x20 /* Slab is a large malloc slab */ -/* 0x40 and 0x80 are available */ +/* 0x02, 0x40, and 0x80 are available */ /* * Used to pre-fill a zone with some number of items |