// SPDX-License-Identifier: GPL-2.01#define __NO_FORTIFY2#include <linux/types.h>3#include <linux/module.h>45/*6* This file exports some critical string functions and compiler7* built-in functions (where calls are emitted by the compiler8* itself that we cannot avoid even in kernel code) to modules.9*10* "_user.c" code that previously used exports here such as hostfs11* really should be considered part of the 'hypervisor' and define12* its own API boundary like hostfs does now; don't add exports to13* this file for such cases.14*/1516/* If it's not defined, the export is included in lib/string.c.*/17#ifdef __HAVE_ARCH_STRSTR18#undef strstr19EXPORT_SYMBOL(strstr);20#endif2122#ifndef __x86_64__23#undef memcpy24extern void *memcpy(void *, const void *, size_t);25EXPORT_SYMBOL(memcpy);26extern void *memmove(void *, const void *, size_t);27EXPORT_SYMBOL(memmove);28#undef memset29extern void *memset(void *, int, size_t);30EXPORT_SYMBOL(memset);31#endif3233#ifdef CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA34/* needed for __access_ok() */35EXPORT_SYMBOL(vsyscall_ehdr);36EXPORT_SYMBOL(vsyscall_end);37#endif3839#ifdef _FORTIFY_SOURCE40extern int __sprintf_chk(char *str, int flag, size_t len, const char *format);41EXPORT_SYMBOL(__sprintf_chk);42#endif434445