Page MenuHomeFreeBSD

D46656.id.diff
No OneTemporary

D46656.id.diff

diff --git a/sys/compat/linuxkpi/common/src/linux_slab.c b/sys/compat/linuxkpi/common/src/linux_slab.c
--- a/sys/compat/linuxkpi/common/src/linux_slab.c
+++ b/sys/compat/linuxkpi/common/src/linux_slab.c
@@ -215,7 +215,11 @@
/* sizeof(struct llist_node) is used for kfree_async(). */
_s = MAX(size, sizeof(struct llist_node));
- return (malloc(_s, M_KMALLOC, linux_check_m_flags(flags)));
+ if (_s < PAGE_SIZE)
+ return (malloc(_s, M_KMALLOC, linux_check_m_flags(flags)));
+ else
+ return (contigmalloc(_s, M_KMALLOC, linux_check_m_flags(flags),
+ 0, -1UL, PAGE_SIZE, 0));
}
struct lkpi_kmalloc_ctx {

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 5, 6:23 AM (3 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30874788
Default Alt Text
D46656.id.diff (618 B)

Event Timeline