git: b5d03f42e9bd - stable/14 - LinuxKPI: Add kmalloc_size_roundup function

From: Vladimir Kondratyev <wulf_at_FreeBSD.org>
Date: Thu, 01 Aug 2024 22:27:58 UTC
The branch stable/14 has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=b5d03f42e9bdfa31a4d3db06640f25f091a1fc5f

commit b5d03f42e9bdfa31a4d3db06640f25f091a1fc5f
Author:     Vladimir Kondratyev <wulf@FreeBSD.org>
AuthorDate: 2024-07-21 13:08:37 +0000
Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2024-08-01 21:15:04 +0000

    LinuxKPI: Add kmalloc_size_roundup function
    
    kmalloc_size_roundup reports allocation bucket size for the given size.
    
    Sponsored by:   Serenity CyberSecurity, LLC
    MFC after:      1 week
    Reviewed by:    manu, emaste
    Differential Revision:  https://reviews.freebsd.org/D45841
    
    (cherry picked from commit ab1a5d8e2ade8c706ff8cd7aa3d5c88a95633228)
---
 sys/compat/linuxkpi/common/include/linux/slab.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h
index e2d17e0558c2..3f2d1621e148 100644
--- a/sys/compat/linuxkpi/common/include/linux/slab.h
+++ b/sys/compat/linuxkpi/common/include/linux/slab.h
@@ -237,6 +237,14 @@ ksize(const void *ptr)
 	return (malloc_usable_size(ptr));
 }
 
+static inline size_t
+kmalloc_size_roundup(size_t size)
+{
+	if (unlikely(size == 0 || size == SIZE_MAX))
+		return (size);
+	return (malloc_size(size));
+}
+
 extern struct linux_kmem_cache *linux_kmem_cache_create(const char *name,
     size_t size, size_t align, unsigned flags, linux_kmem_ctor_t *ctor);
 extern void *lkpi_kmem_cache_alloc(struct linux_kmem_cache *, gfp_t);