fix to compile error on CentOS 7

This commit is contained in:
Tomoki Shirasawa
2015-07-02 17:08:35 +09:00
parent 59ee251e1c
commit e838affde8

View File

@@ -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;