linuxkpi: Add strtomem() and strtomem_pad()
The DRM generic code started to use `strtomem_pad()` in Linux 6.11. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55729
This commit is contained in:
@@ -303,6 +303,22 @@ memcpy_and_pad(void *dst, size_t dstlen, const void *src, size_t len, int ch)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define strtomem(dst, src) do { \
|
||||||
|
size_t dstlen = ARRAY_SIZE(dst); \
|
||||||
|
size_t srclen = __builtin_object_size(src, 1); \
|
||||||
|
srclen = MIN(srclen, dstlen); \
|
||||||
|
srclen = strnlen(src, srclen); \
|
||||||
|
memcpy(dst, src, srclen); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define strtomem_pad(dst, src, pad) do { \
|
||||||
|
size_t dstlen = ARRAY_SIZE(dst); \
|
||||||
|
size_t srclen = __builtin_object_size(src, 1); \
|
||||||
|
srclen = MIN(srclen, dstlen); \
|
||||||
|
srclen = strnlen(src, srclen); \
|
||||||
|
memcpy_and_pad(dst, dstlen, src, srclen, pad); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define memset_startat(ptr, bytepat, smember) \
|
#define memset_startat(ptr, bytepat, smember) \
|
||||||
({ \
|
({ \
|
||||||
uint8_t *_ptr = (uint8_t *)(ptr); \
|
uint8_t *_ptr = (uint8_t *)(ptr); \
|
||||||
|
|||||||
Reference in New Issue
Block a user