Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/um/os-Linux/user_syms.c
26424 views
1
// SPDX-License-Identifier: GPL-2.0
2
#define __NO_FORTIFY
3
#include <linux/types.h>
4
#include <linux/module.h>
5
6
/*
7
* This file exports some critical string functions and compiler
8
* built-in functions (where calls are emitted by the compiler
9
* itself that we cannot avoid even in kernel code) to modules.
10
*
11
* "_user.c" code that previously used exports here such as hostfs
12
* really should be considered part of the 'hypervisor' and define
13
* its own API boundary like hostfs does now; don't add exports to
14
* this file for such cases.
15
*/
16
17
/* If it's not defined, the export is included in lib/string.c.*/
18
#ifdef __HAVE_ARCH_STRSTR
19
#undef strstr
20
EXPORT_SYMBOL(strstr);
21
#endif
22
23
#ifndef __x86_64__
24
#undef memcpy
25
extern void *memcpy(void *, const void *, size_t);
26
EXPORT_SYMBOL(memcpy);
27
extern void *memmove(void *, const void *, size_t);
28
EXPORT_SYMBOL(memmove);
29
#undef memset
30
extern void *memset(void *, int, size_t);
31
EXPORT_SYMBOL(memset);
32
#endif
33
34
#ifdef CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA
35
/* needed for __access_ok() */
36
EXPORT_SYMBOL(vsyscall_ehdr);
37
EXPORT_SYMBOL(vsyscall_end);
38
#endif
39
40
#ifdef _FORTIFY_SOURCE
41
extern int __sprintf_chk(char *str, int flag, size_t len, const char *format);
42
EXPORT_SYMBOL(__sprintf_chk);
43
#endif
44
45