16 |
fs/namespace.c | 23 +++++++++++++++++++++++ |
fs/namespace.c | 23 +++++++++++++++++++++++ |
17 |
fs/open.c | 28 ++++++++++++++++++++++++++++ |
fs/open.c | 28 ++++++++++++++++++++++++++++ |
18 |
fs/proc/proc_misc.c | 1 + |
fs/proc/proc_misc.c | 1 + |
19 |
include/linux/init_task.h | 2 ++ |
include/linux/init_task.h | 9 +++++++++ |
20 |
include/linux/sched.h | 4 ++++ |
include/linux/sched.h | 6 ++++++ |
21 |
kernel/compat.c | 3 +++ |
kernel/compat.c | 3 +++ |
22 |
kernel/kexec.c | 3 +++ |
kernel/kexec.c | 3 +++ |
23 |
kernel/kmod.c | 3 +++ |
kernel/kmod.c | 5 +++++ |
24 |
kernel/module.c | 5 +++++ |
kernel/module.c | 5 +++++ |
25 |
kernel/ptrace.c | 5 +++++ |
kernel/ptrace.c | 5 +++++ |
26 |
kernel/sched.c | 3 +++ |
kernel/sched.c | 3 +++ |
39 |
net/unix/af_unix.c | 4 ++++ |
net/unix/af_unix.c | 4 ++++ |
40 |
security/Kconfig | 2 ++ |
security/Kconfig | 2 ++ |
41 |
security/Makefile | 3 +++ |
security/Makefile | 3 +++ |
42 |
37 files changed, 250 insertions(+), 3 deletions(-) |
37 files changed, 261 insertions(+), 3 deletions(-) |
43 |
|
|
44 |
--- linux-2.6.25.20-0.4.orig/arch/ia64/ia32/sys_ia32.c |
--- linux-2.6.25.20-0.4.orig/arch/ia64/ia32/sys_ia32.c |
45 |
+++ linux-2.6.25.20-0.4/arch/ia64/ia32/sys_ia32.c |
+++ linux-2.6.25.20-0.4/arch/ia64/ia32/sys_ia32.c |
599 |
entry->proc_fops = &proc_sysrq_trigger_operations; |
entry->proc_fops = &proc_sysrq_trigger_operations; |
600 |
} |
} |
601 |
#endif |
#endif |
602 |
+ printk(KERN_INFO "Hook version: 2.6.25.20-0.4 2009/08/08\n"); |
+ printk(KERN_INFO "Hook version: 2.6.25.20-0.4 2009/08/20\n"); |
603 |
} |
} |
604 |
--- linux-2.6.25.20-0.4.orig/include/linux/init_task.h |
--- linux-2.6.25.20-0.4.orig/include/linux/init_task.h |
605 |
+++ linux-2.6.25.20-0.4/include/linux/init_task.h |
+++ linux-2.6.25.20-0.4/include/linux/init_task.h |
606 |
@@ -196,6 +196,8 @@ extern struct group_info init_groups; |
@@ -133,6 +133,14 @@ extern struct group_info init_groups; |
607 |
|
# define CAP_INIT_BSET CAP_INIT_EFF_SET |
608 |
|
#endif |
609 |
|
|
610 |
|
+#ifdef CONFIG_CCSECURITY |
611 |
|
+#define INIT_CCSECURITY \ |
612 |
|
+ .ccs_domain_info = NULL, \ |
613 |
|
+ .ccs_flags = 0, |
614 |
|
+#else |
615 |
|
+#define INIT_CCSECURITY |
616 |
|
+#endif |
617 |
|
+ |
618 |
|
/* |
619 |
|
* INIT_TASK is used to set up the first task table, touch at |
620 |
|
* your own risk!. Base=0, limit=0x1fffff (=2MB) |
621 |
|
@@ -196,6 +204,7 @@ extern struct group_info init_groups; |
622 |
INIT_IDS \ |
INIT_IDS \ |
623 |
INIT_TRACE_IRQFLAGS \ |
INIT_TRACE_IRQFLAGS \ |
624 |
INIT_LOCKDEP \ |
INIT_LOCKDEP \ |
625 |
+ .ccs_domain_info = NULL, \ |
+ INIT_CCSECURITY \ |
|
+ .ccs_flags = 0, \ |
|
626 |
} |
} |
627 |
|
|
628 |
|
|
637 |
/* |
/* |
638 |
* Scheduling policies |
* Scheduling policies |
639 |
*/ |
*/ |
640 |
@@ -1274,6 +1276,8 @@ struct task_struct { |
@@ -1274,6 +1276,10 @@ struct task_struct { |
641 |
#ifndef __GENKSYMS__ |
#ifndef __GENKSYMS__ |
642 |
struct list_head *scm_work_list; |
struct list_head *scm_work_list; |
643 |
#endif |
#endif |
644 |
|
+#ifdef CONFIG_CCSECURITY |
645 |
+ struct ccs_domain_info *ccs_domain_info; |
+ struct ccs_domain_info *ccs_domain_info; |
646 |
+ u32 ccs_flags; |
+ u32 ccs_flags; |
647 |
|
+#endif |
648 |
}; |
}; |
649 |
|
|
650 |
/* |
/* |
688 |
* Verify we have a legal set of flags |
* Verify we have a legal set of flags |
689 |
--- linux-2.6.25.20-0.4.orig/kernel/kmod.c |
--- linux-2.6.25.20-0.4.orig/kernel/kmod.c |
690 |
+++ linux-2.6.25.20-0.4/kernel/kmod.c |
+++ linux-2.6.25.20-0.4/kernel/kmod.c |
691 |
@@ -173,6 +173,9 @@ static int ____call_usermodehelper(void |
@@ -173,6 +173,11 @@ static int ____call_usermodehelper(void |
692 |
*/ |
*/ |
693 |
set_user_nice(current, 0); |
set_user_nice(current, 0); |
694 |
|
|
695 |
|
+#ifdef CONFIG_CCSECURITY |
696 |
+ current->ccs_domain_info = NULL; |
+ current->ccs_domain_info = NULL; |
697 |
+ current->ccs_flags = 0; |
+ current->ccs_flags = 0; |
698 |
|
+#endif |
699 |
+ |
+ |
700 |
retval = kernel_execve(sub_info->path, sub_info->argv, sub_info->envp); |
retval = kernel_execve(sub_info->path, sub_info->argv, sub_info->envp); |
701 |
|
|