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