1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * KMSAN string functions API used in other headers.
4  *
5  * Copyright (C) 2022 Google LLC
6  * Author: Alexander Potapenko <glider@google.com>
7  *
8  */
9 #ifndef _LINUX_KMSAN_STRING_H
10 #define _LINUX_KMSAN_STRING_H
11 
12 /*
13  * KMSAN overrides the default memcpy/memset/memmove implementations in the
14  * kernel, which requires having __msan_XXX function prototypes in several other
15  * headers. Keep them in one place instead of open-coding.
16  */
17 void *__msan_memcpy(void *dst, const void *src, size_t size);
18 void *__msan_memset(void *s, int c, size_t n);
19 void *__msan_memmove(void *dest, const void *src, size_t len);
20 
21 #endif /* _LINUX_KMSAN_STRING_H */
22