|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /lib/modules/4.4.0-141-generic/build/include/linux/ |
Upload File : |
#ifndef _LINUX_KAISER_H
#define _LINUX_KAISER_H
#ifdef CONFIG_PAGE_TABLE_ISOLATION
#include <asm/kaiser.h>
static inline int kaiser_map_thread_stack(void *stack)
{
/*
* Map that page of kernel stack on which we enter from user context.
*/
return kaiser_add_mapping((unsigned long)stack +
THREAD_SIZE - PAGE_SIZE, PAGE_SIZE, __PAGE_KERNEL);
}
static inline void kaiser_unmap_thread_stack(void *stack)
{
/*
* Note: may be called even when kaiser_map_thread_stack() failed.
*/
kaiser_remove_mapping((unsigned long)stack +
THREAD_SIZE - PAGE_SIZE, PAGE_SIZE);
}
#else
/*
* These stubs are used whenever CONFIG_PAGE_TABLE_ISOLATION is off, which
* includes architectures that support KAISER, but have it disabled.
*/
static inline void kaiser_init(void)
{
}
static inline int kaiser_add_mapping(unsigned long addr,
unsigned long size, u64 flags)
{
return 0;
}
static inline void kaiser_remove_mapping(unsigned long start,
unsigned long size)
{
}
static inline int kaiser_map_thread_stack(void *stack)
{
return 0;
}
static inline void kaiser_unmap_thread_stack(void *stack)
{
}
#endif /* !CONFIG_PAGE_TABLE_ISOLATION */
#endif /* _LINUX_KAISER_H */