fix to compile error on CentOS 7
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
#include <linux/gfp.h>
|
#include <linux/gfp.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/file.h>
|
#include <linux/file.h>
|
||||||
|
#include <linux/version.h>
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/delay.h>
|
#include <asm/delay.h>
|
||||||
#include <asm/msr.h>
|
#include <asm/msr.h>
|
||||||
@@ -786,19 +787,26 @@ struct mckernel_exec_file {
|
|||||||
struct list_head list;
|
struct list_head list;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)
|
||||||
|
#define GUIDVAL(x) (x)
|
||||||
|
#else
|
||||||
|
#define GUIDVAL(x) ((x).val)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
mcexec_getcred(unsigned long phys)
|
mcexec_getcred(unsigned long phys)
|
||||||
{
|
{
|
||||||
int *virt = phys_to_virt(phys);
|
int *virt = phys_to_virt(phys);
|
||||||
|
|
||||||
virt[0] = current_uid();
|
virt[0] = GUIDVAL(current_uid());
|
||||||
virt[1] = current_euid();
|
virt[1] = GUIDVAL(current_euid());
|
||||||
virt[2] = current_suid();
|
virt[2] = GUIDVAL(current_suid());
|
||||||
virt[3] = current_fsuid();
|
virt[3] = GUIDVAL(current_fsuid());
|
||||||
virt[4] = current_gid();
|
virt[4] = GUIDVAL(current_gid());
|
||||||
virt[5] = current_egid();
|
virt[5] = GUIDVAL(current_egid());
|
||||||
virt[6] = current_sgid();
|
virt[6] = GUIDVAL(current_sgid());
|
||||||
virt[7] = current_fsgid();
|
virt[7] = GUIDVAL(current_fsgid());
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -807,14 +815,14 @@ mcexec_getcredv(int __user *virt)
|
|||||||
{
|
{
|
||||||
int wk[8];
|
int wk[8];
|
||||||
|
|
||||||
wk[0] = current_uid();
|
wk[0] = GUIDVAL(current_uid());
|
||||||
wk[1] = current_euid();
|
wk[1] = GUIDVAL(current_euid());
|
||||||
wk[2] = current_suid();
|
wk[2] = GUIDVAL(current_suid());
|
||||||
wk[3] = current_fsuid();
|
wk[3] = GUIDVAL(current_fsuid());
|
||||||
wk[4] = current_gid();
|
wk[4] = GUIDVAL(current_gid());
|
||||||
wk[5] = current_egid();
|
wk[5] = GUIDVAL(current_egid());
|
||||||
wk[6] = current_sgid();
|
wk[6] = GUIDVAL(current_sgid());
|
||||||
wk[7] = current_fsgid();
|
wk[7] = GUIDVAL(current_fsgid());
|
||||||
if(copy_to_user(virt, wk, sizeof(int) * 8))
|
if(copy_to_user(virt, wk, sizeof(int) * 8))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user