From e838affde84261f7273a950f78342869de4725d7 Mon Sep 17 00:00:00 2001 From: Tomoki Shirasawa Date: Thu, 2 Jul 2015 17:08:35 +0900 Subject: [PATCH] fix to compile error on CentOS 7 --- executer/kernel/control.c | 40 +++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/executer/kernel/control.c b/executer/kernel/control.c index 8247b350..df370479 100644 --- a/executer/kernel/control.c +++ b/executer/kernel/control.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -786,19 +787,26 @@ struct mckernel_exec_file { 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 mcexec_getcred(unsigned long phys) { int *virt = phys_to_virt(phys); - virt[0] = current_uid(); - virt[1] = current_euid(); - virt[2] = current_suid(); - virt[3] = current_fsuid(); - virt[4] = current_gid(); - virt[5] = current_egid(); - virt[6] = current_sgid(); - virt[7] = current_fsgid(); + virt[0] = GUIDVAL(current_uid()); + virt[1] = GUIDVAL(current_euid()); + virt[2] = GUIDVAL(current_suid()); + virt[3] = GUIDVAL(current_fsuid()); + virt[4] = GUIDVAL(current_gid()); + virt[5] = GUIDVAL(current_egid()); + virt[6] = GUIDVAL(current_sgid()); + virt[7] = GUIDVAL(current_fsgid()); return 0; } @@ -807,14 +815,14 @@ mcexec_getcredv(int __user *virt) { int wk[8]; - wk[0] = current_uid(); - wk[1] = current_euid(); - wk[2] = current_suid(); - wk[3] = current_fsuid(); - wk[4] = current_gid(); - wk[5] = current_egid(); - wk[6] = current_sgid(); - wk[7] = current_fsgid(); + wk[0] = GUIDVAL(current_uid()); + wk[1] = GUIDVAL(current_euid()); + wk[2] = GUIDVAL(current_suid()); + wk[3] = GUIDVAL(current_fsuid()); + wk[4] = GUIDVAL(current_gid()); + wk[5] = GUIDVAL(current_egid()); + wk[6] = GUIDVAL(current_sgid()); + wk[7] = GUIDVAL(current_fsgid()); if(copy_to_user(virt, wk, sizeof(int) * 8)) return -EFAULT; return 0;