Commit | Line | Data |
---|---|---|
50acfb2b | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
5d8544e2 PD |
2 | /* |
3 | * Copyright (C) 2013 Regents of the University of California | |
5d8544e2 PD |
4 | */ |
5 | ||
6 | #ifndef _ASM_RISCV_STRING_H | |
7 | #define _ASM_RISCV_STRING_H | |
8 | ||
9 | #include <linux/types.h> | |
10 | #include <linux/linkage.h> | |
11 | ||
12 | #define __HAVE_ARCH_MEMSET | |
13 | extern asmlinkage void *memset(void *, int, size_t); | |
8ad8b727 | 14 | extern asmlinkage void *__memset(void *, int, size_t); |
5d8544e2 PD |
15 | #define __HAVE_ARCH_MEMCPY |
16 | extern asmlinkage void *memcpy(void *, const void *, size_t); | |
8ad8b727 | 17 | extern asmlinkage void *__memcpy(void *, const void *, size_t); |
04091d6c NC |
18 | #define __HAVE_ARCH_MEMMOVE |
19 | extern asmlinkage void *memmove(void *, const void *, size_t); | |
20 | extern asmlinkage void *__memmove(void *, const void *, size_t); | |
56e0790c | 21 | |
58ff5371 | 22 | #if !(defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)) |
56e0790c HS |
23 | #define __HAVE_ARCH_STRCMP |
24 | extern asmlinkage int strcmp(const char *cs, const char *ct); | |
25 | ||
26 | #define __HAVE_ARCH_STRLEN | |
27 | extern asmlinkage __kernel_size_t strlen(const char *); | |
28 | ||
29 | #define __HAVE_ARCH_STRNCMP | |
30 | extern asmlinkage int strncmp(const char *cs, const char *ct, size_t count); | |
58ff5371 | 31 | #endif |
56e0790c | 32 | |
8ad8b727 NH |
33 | /* For those files which don't want to check by kasan. */ |
34 | #if defined(CONFIG_KASAN) && !defined(__SANITIZE_ADDRESS__) | |
8ad8b727 NH |
35 | #define memcpy(dst, src, len) __memcpy(dst, src, len) |
36 | #define memset(s, c, n) __memset(s, c, n) | |
04091d6c | 37 | #define memmove(dst, src, len) __memmove(dst, src, len) |
95301414 KW |
38 | |
39 | #ifndef __NO_FORTIFY | |
40 | #define __NO_FORTIFY /* FORTIFY_SOURCE uses __builtin_memcpy, etc. */ | |
41 | #endif | |
42 | ||
8ad8b727 | 43 | #endif |
5d8544e2 | 44 | #endif /* _ASM_RISCV_STRING_H */ |