mcctrl: lookup unexported symbols at runtime
Instead of parsing System.map, use kallsyms_lookup_name() to get unexported symbols addresses at module loading time. This lets mckernel work with kaslr enabled (it gets enabled by default from el7.5 onwards) Change-Id: Ie4349fc1145ebce44f37f1f40c16f9d75584074d
This commit is contained in:
committed by
Masamichi Takagi
parent
794684985f
commit
e8f8660b73
@@ -400,6 +400,23 @@ int mcctrl_ikc_send_wait(ihk_os_t os, int cpu, struct ikc_scd_packet *pisp,
|
||||
|
||||
ihk_os_t osnum_to_os(int n);
|
||||
|
||||
/* look up symbols, plus arch-specific ones */
|
||||
extern int (*mcctrl_sys_mount)(char *dev_name, char *dir_name, char *type,
|
||||
unsigned long flags, void *data);
|
||||
extern int (*mcctrl_sys_umount)(char *dir_name, int flags);
|
||||
extern int (*mcctrl_sys_unshare)(unsigned long unshare_flags);
|
||||
extern long (*mcctrl_sched_setaffinity)(pid_t pid,
|
||||
const struct cpumask *in_mask);
|
||||
extern int (*mcctrl_sched_setscheduler_nocheck)(struct task_struct *p,
|
||||
int policy,
|
||||
const struct sched_param *param);
|
||||
extern ssize_t (*mcctrl_sys_readlink)(const char *path, char *buf,
|
||||
size_t bufsiz);
|
||||
extern void (*mcctrl_zap_page_range)(struct vm_area_struct *vma,
|
||||
unsigned long start,
|
||||
unsigned long size,
|
||||
struct zap_details *details);
|
||||
|
||||
/* syscall.c */
|
||||
void pager_add_process(void);
|
||||
void pager_remove_process(struct mcctrl_per_proc_data *ppd);
|
||||
@@ -504,6 +521,7 @@ struct vdso {
|
||||
int reserve_user_space(struct mcctrl_usrdata *usrdata, unsigned long *startp,
|
||||
unsigned long *endp);
|
||||
void get_vdso_info(ihk_os_t os, long vdso_pa);
|
||||
int arch_symbols_init(void);
|
||||
|
||||
struct get_cpu_mapping_req {
|
||||
int busy; /* INOUT: */
|
||||
|
||||
Reference in New Issue
Block a user