mcctrl: lookup for alternate syscall names
on newer x64 kernels (config option?), syscalls can be renamed to allow both x64 and ia32 versions to coexist. Lookup either names Change-Id: I2f55cc804d3eee948ee1ed6d18c69c75bd2f652c
This commit is contained in:
committed by
Dominique Martinet
parent
a2be475ae4
commit
18d50e48dc
@ -235,14 +235,29 @@ struct inode_operations *mcctrl_hugetlbfs_inode_operations;
|
||||
static int symbols_init(void)
|
||||
{
|
||||
mcctrl_sys_mount = (void *) kallsyms_lookup_name("sys_mount");
|
||||
#if defined(CONFIG_X86_64_SMP)
|
||||
if (!mcctrl_sys_mount)
|
||||
mcctrl_sys_mount =
|
||||
(void *) kallsyms_lookup_name("__x64_sys_mount");
|
||||
#endif
|
||||
if (WARN_ON(!mcctrl_sys_mount))
|
||||
return -EFAULT;
|
||||
|
||||
mcctrl_sys_umount = (void *) kallsyms_lookup_name("sys_umount");
|
||||
#if defined(CONFIG_X86_64_SMP)
|
||||
if (!mcctrl_sys_umount)
|
||||
mcctrl_sys_umount =
|
||||
(void *) kallsyms_lookup_name("__x64_sys_umount");
|
||||
#endif
|
||||
if (WARN_ON(!mcctrl_sys_umount))
|
||||
return -EFAULT;
|
||||
|
||||
mcctrl_sys_unshare = (void *) kallsyms_lookup_name("sys_unshare");
|
||||
#if defined(CONFIG_X86_64_SMP)
|
||||
if (!mcctrl_sys_unshare)
|
||||
mcctrl_sys_unshare =
|
||||
(void *) kallsyms_lookup_name("__x64_sys_unshare");
|
||||
#endif
|
||||
if (WARN_ON(!mcctrl_sys_unshare))
|
||||
return -EFAULT;
|
||||
|
||||
@ -258,6 +273,11 @@ static int symbols_init(void)
|
||||
|
||||
mcctrl_sys_readlink =
|
||||
(void *) kallsyms_lookup_name("sys_readlink");
|
||||
#if defined(CONFIG_X86_64_SMP)
|
||||
if (!mcctrl_sys_readlink)
|
||||
mcctrl_sys_readlink =
|
||||
(void *) kallsyms_lookup_name("__x64_sys_readlink");
|
||||
#endif
|
||||
if (WARN_ON(!mcctrl_sys_readlink))
|
||||
return -EFAULT;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user