1 |
This is TOMOYO Linux patch for Asianux 3.0. |
This is TOMOYO Linux patch for Asianux 3. |
2 |
|
|
3 |
Source code for this patch is http://ftp.miraclelinux.com/pub/Asianux/Server/3.0/updates/src/kernel-2.6.18-308.7.AXS3.src.rpm |
Source code for this patch is http://ftp.miraclelinux.com/pub/Asianux/Server/3.0/updates/src/kernel-2.6.18-348.1.AXS3.src.rpm |
4 |
--- |
--- |
5 |
arch/alpha/kernel/ptrace.c | 3 +++ |
arch/alpha/kernel/ptrace.c | 3 +++ |
6 |
arch/ia64/ia32/sys_ia32.c | 3 +++ |
arch/ia64/ia32/sys_ia32.c | 3 +++ |
38 |
security/Makefile | 3 +++ |
security/Makefile | 3 +++ |
39 |
34 files changed, 250 insertions(+), 6 deletions(-) |
34 files changed, 250 insertions(+), 6 deletions(-) |
40 |
|
|
41 |
--- linux-2.6.18-308.7.AXS3.orig/arch/alpha/kernel/ptrace.c |
--- linux-2.6.18-348.1.AXS3.orig/arch/alpha/kernel/ptrace.c |
42 |
+++ linux-2.6.18-308.7.AXS3/arch/alpha/kernel/ptrace.c |
+++ linux-2.6.18-348.1.AXS3/arch/alpha/kernel/ptrace.c |
43 |
@@ -20,6 +20,7 @@ |
@@ -20,6 +20,7 @@ |
44 |
#include <asm/pgtable.h> |
#include <asm/pgtable.h> |
45 |
#include <asm/system.h> |
#include <asm/system.h> |
57 |
|
|
58 |
lock_kernel(); |
lock_kernel(); |
59 |
DBG(DBG_MEM, ("request=%ld pid=%ld addr=0x%lx data=0x%lx\n", |
DBG(DBG_MEM, ("request=%ld pid=%ld addr=0x%lx data=0x%lx\n", |
60 |
--- linux-2.6.18-308.7.AXS3.orig/arch/ia64/ia32/sys_ia32.c |
--- linux-2.6.18-348.1.AXS3.orig/arch/ia64/ia32/sys_ia32.c |
61 |
+++ linux-2.6.18-308.7.AXS3/arch/ia64/ia32/sys_ia32.c |
+++ linux-2.6.18-348.1.AXS3/arch/ia64/ia32/sys_ia32.c |
62 |
@@ -58,6 +58,7 @@ |
@@ -58,6 +58,7 @@ |
63 |
#include <asm/types.h> |
#include <asm/types.h> |
64 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
76 |
|
|
77 |
lock_kernel(); |
lock_kernel(); |
78 |
if (request == PTRACE_TRACEME) { |
if (request == PTRACE_TRACEME) { |
79 |
--- linux-2.6.18-308.7.AXS3.orig/arch/m32r/kernel/ptrace.c |
--- linux-2.6.18-348.1.AXS3.orig/arch/m32r/kernel/ptrace.c |
80 |
+++ linux-2.6.18-308.7.AXS3/arch/m32r/kernel/ptrace.c |
+++ linux-2.6.18-348.1.AXS3/arch/m32r/kernel/ptrace.c |
81 |
@@ -32,6 +32,7 @@ |
@@ -32,6 +32,7 @@ |
82 |
#include <asm/system.h> |
#include <asm/system.h> |
83 |
#include <asm/processor.h> |
#include <asm/processor.h> |
95 |
|
|
96 |
lock_kernel(); |
lock_kernel(); |
97 |
if (request == PTRACE_TRACEME) { |
if (request == PTRACE_TRACEME) { |
98 |
--- linux-2.6.18-308.7.AXS3.orig/arch/mips/kernel/ptrace32.c |
--- linux-2.6.18-348.1.AXS3.orig/arch/mips/kernel/ptrace32.c |
99 |
+++ linux-2.6.18-308.7.AXS3/arch/mips/kernel/ptrace32.c |
+++ linux-2.6.18-348.1.AXS3/arch/mips/kernel/ptrace32.c |
100 |
@@ -35,6 +35,7 @@ |
@@ -35,6 +35,7 @@ |
101 |
#include <asm/system.h> |
#include <asm/system.h> |
102 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
114 |
|
|
115 |
#if 0 |
#if 0 |
116 |
printk("ptrace(r=%d,pid=%d,addr=%08lx,data=%08lx)\n", |
printk("ptrace(r=%d,pid=%d,addr=%08lx,data=%08lx)\n", |
117 |
--- linux-2.6.18-308.7.AXS3.orig/arch/sparc/kernel/ptrace.c |
--- linux-2.6.18-348.1.AXS3.orig/arch/sparc/kernel/ptrace.c |
118 |
+++ linux-2.6.18-308.7.AXS3/arch/sparc/kernel/ptrace.c |
+++ linux-2.6.18-348.1.AXS3/arch/sparc/kernel/ptrace.c |
119 |
@@ -23,6 +23,7 @@ |
@@ -23,6 +23,7 @@ |
120 |
#include <asm/pgtable.h> |
#include <asm/pgtable.h> |
121 |
#include <asm/system.h> |
#include <asm/system.h> |
135 |
|
|
136 |
lock_kernel(); |
lock_kernel(); |
137 |
#ifdef DEBUG_PTRACE |
#ifdef DEBUG_PTRACE |
138 |
--- linux-2.6.18-308.7.AXS3.orig/fs/compat.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/compat.c |
139 |
+++ linux-2.6.18-308.7.AXS3/fs/compat.c |
+++ linux-2.6.18-348.1.AXS3/fs/compat.c |
140 |
@@ -52,6 +52,7 @@ |
@@ -52,6 +52,7 @@ |
141 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
142 |
#include <asm/mmu_context.h> |
#include <asm/mmu_context.h> |
174 |
if (retval >= 0) { |
if (retval >= 0) { |
175 |
/* execve success */ |
/* execve success */ |
176 |
security_bprm_free(bprm); |
security_bprm_free(bprm); |
177 |
--- linux-2.6.18-308.7.AXS3.orig/fs/exec.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/exec.c |
178 |
+++ linux-2.6.18-308.7.AXS3/fs/exec.c |
+++ linux-2.6.18-348.1.AXS3/fs/exec.c |
179 |
@@ -62,6 +62,8 @@ |
@@ -62,6 +62,8 @@ |
180 |
#include <linux/kmod.h> |
#include <linux/kmod.h> |
181 |
#endif |
#endif |
216 |
if (retval >= 0) { |
if (retval >= 0) { |
217 |
/* execve success */ |
/* execve success */ |
218 |
free_arg_pages(bprm); |
free_arg_pages(bprm); |
219 |
--- linux-2.6.18-308.7.AXS3.orig/fs/fcntl.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/fcntl.c |
220 |
+++ linux-2.6.18-308.7.AXS3/fs/fcntl.c |
+++ linux-2.6.18-348.1.AXS3/fs/fcntl.c |
221 |
@@ -22,6 +22,7 @@ |
@@ -22,6 +22,7 @@ |
222 |
#include <asm/poll.h> |
#include <asm/poll.h> |
223 |
#include <asm/siginfo.h> |
#include <asm/siginfo.h> |
236 |
/* O_NOATIME can only be set by the owner or superuser */ |
/* O_NOATIME can only be set by the owner or superuser */ |
237 |
if ((arg & O_NOATIME) && !(filp->f_flags & O_NOATIME)) |
if ((arg & O_NOATIME) && !(filp->f_flags & O_NOATIME)) |
238 |
if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER)) |
if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER)) |
239 |
--- linux-2.6.18-308.7.AXS3.orig/fs/ioctl.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/ioctl.c |
240 |
+++ linux-2.6.18-308.7.AXS3/fs/ioctl.c |
+++ linux-2.6.18-348.1.AXS3/fs/ioctl.c |
241 |
@@ -17,6 +17,7 @@ |
@@ -17,6 +17,7 @@ |
242 |
|
|
243 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
264 |
if (error) |
if (error) |
265 |
goto out_fput; |
goto out_fput; |
266 |
|
|
267 |
--- linux-2.6.18-308.7.AXS3.orig/fs/namei.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/namei.c |
268 |
+++ linux-2.6.18-308.7.AXS3/fs/namei.c |
+++ linux-2.6.18-348.1.AXS3/fs/namei.c |
269 |
@@ -37,6 +37,8 @@ |
@@ -37,6 +37,8 @@ |
270 |
|
|
271 |
#define ACC_MODE(x) ("\000\004\002\006"[(x)&O_ACCMODE]) |
#define ACC_MODE(x) ("\000\004\002\006"[(x)&O_ACCMODE]) |
367 |
error = vfs_rename(old_dir->d_inode, old_dentry, |
error = vfs_rename(old_dir->d_inode, old_dentry, |
368 |
new_dir->d_inode, new_dentry); |
new_dir->d_inode, new_dentry); |
369 |
exit5: |
exit5: |
370 |
--- linux-2.6.18-308.7.AXS3.orig/fs/namespace.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/namespace.c |
371 |
+++ linux-2.6.18-308.7.AXS3/fs/namespace.c |
+++ linux-2.6.18-348.1.AXS3/fs/namespace.c |
372 |
@@ -25,6 +25,7 @@ |
@@ -25,6 +25,7 @@ |
373 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
374 |
#include <asm/unistd.h> |
#include <asm/unistd.h> |
453 |
if (error) { |
if (error) { |
454 |
path_release(&old_nd); |
path_release(&old_nd); |
455 |
goto out1; |
goto out1; |
456 |
--- linux-2.6.18-308.7.AXS3.orig/fs/open.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/open.c |
457 |
+++ linux-2.6.18-308.7.AXS3/fs/open.c |
+++ linux-2.6.18-348.1.AXS3/fs/open.c |
458 |
@@ -31,6 +31,7 @@ |
@@ -31,6 +31,7 @@ |
459 |
#include <linux/falloc.h> |
#include <linux/falloc.h> |
460 |
|
|
567 |
if (capable(CAP_SYS_TTY_CONFIG)) { |
if (capable(CAP_SYS_TTY_CONFIG)) { |
568 |
tty_vhangup(current->signal->tty); |
tty_vhangup(current->signal->tty); |
569 |
return 0; |
return 0; |
570 |
--- linux-2.6.18-308.7.AXS3.orig/fs/proc/proc_misc.c |
--- linux-2.6.18-348.1.AXS3.orig/fs/proc/proc_misc.c |
571 |
+++ linux-2.6.18-308.7.AXS3/fs/proc/proc_misc.c |
+++ linux-2.6.18-348.1.AXS3/fs/proc/proc_misc.c |
572 |
@@ -739,4 +739,5 @@ void __init proc_misc_init(void) |
@@ -739,4 +739,5 @@ void __init proc_misc_init(void) |
573 |
if (entry) |
if (entry) |
574 |
entry->proc_fops = &proc_sysrq_trigger_operations; |
entry->proc_fops = &proc_sysrq_trigger_operations; |
575 |
#endif |
#endif |
576 |
+ printk(KERN_INFO "Hook version: 2.6.18-308.7.AXS3 2013/01/25\n"); |
+ printk(KERN_INFO "Hook version: 2.6.18-348.1.AXS3 2013/03/09\n"); |
577 |
} |
} |
578 |
--- linux-2.6.18-308.7.AXS3.orig/include/linux/init_task.h |
--- linux-2.6.18-348.1.AXS3.orig/include/linux/init_task.h |
579 |
+++ linux-2.6.18-308.7.AXS3/include/linux/init_task.h |
+++ linux-2.6.18-348.1.AXS3/include/linux/init_task.h |
580 |
@@ -76,6 +76,14 @@ |
@@ -76,6 +76,14 @@ |
581 |
|
|
582 |
extern struct group_info init_groups; |
extern struct group_info init_groups; |
600 |
} |
} |
601 |
|
|
602 |
|
|
603 |
--- linux-2.6.18-308.7.AXS3.orig/include/linux/sched.h |
--- linux-2.6.18-348.1.AXS3.orig/include/linux/sched.h |
604 |
+++ linux-2.6.18-308.7.AXS3/include/linux/sched.h |
+++ linux-2.6.18-348.1.AXS3/include/linux/sched.h |
605 |
@@ -35,6 +35,8 @@ |
@@ -35,6 +35,8 @@ |
606 |
|
|
607 |
#ifdef __KERNEL__ |
#ifdef __KERNEL__ |
622 |
}; |
}; |
623 |
|
|
624 |
static inline pid_t process_group(struct task_struct *tsk) |
static inline pid_t process_group(struct task_struct *tsk) |
625 |
--- linux-2.6.18-308.7.AXS3.orig/include/net/ip.h |
--- linux-2.6.18-348.1.AXS3.orig/include/net/ip.h |
626 |
+++ linux-2.6.18-308.7.AXS3/include/net/ip.h |
+++ linux-2.6.18-348.1.AXS3/include/net/ip.h |
627 |
@@ -171,8 +171,11 @@ extern void inet_get_local_port_range(in |
@@ -171,8 +171,11 @@ extern void inet_get_local_port_range(in |
628 |
extern int sysctl_local_port_range[2]; |
extern int sysctl_local_port_range[2]; |
629 |
|
|
636 |
return test_bit(port, sysctl_local_reserved_ports); |
return test_bit(port, sysctl_local_reserved_ports); |
637 |
} |
} |
638 |
|
|
639 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/compat.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/compat.c |
640 |
+++ linux-2.6.18-308.7.AXS3/kernel/compat.c |
+++ linux-2.6.18-348.1.AXS3/kernel/compat.c |
641 |
@@ -25,6 +25,7 @@ |
@@ -25,6 +25,7 @@ |
642 |
|
|
643 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
646 |
|
|
647 |
int get_compat_timespec(struct timespec *ts, const struct compat_timespec __user *cts) |
int get_compat_timespec(struct timespec *ts, const struct compat_timespec __user *cts) |
648 |
{ |
{ |
649 |
@@ -837,6 +838,8 @@ asmlinkage long compat_sys_stime(compat_ |
@@ -826,6 +827,8 @@ asmlinkage long compat_sys_stime(compat_ |
650 |
err = security_settime(&tv, NULL); |
err = security_settime(&tv, NULL); |
651 |
if (err) |
if (err) |
652 |
return err; |
return err; |
655 |
|
|
656 |
do_settimeofday(&tv); |
do_settimeofday(&tv); |
657 |
return 0; |
return 0; |
658 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/kexec.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/kexec.c |
659 |
+++ linux-2.6.18-308.7.AXS3/kernel/kexec.c |
+++ linux-2.6.18-348.1.AXS3/kernel/kexec.c |
660 |
@@ -32,6 +32,7 @@ |
@@ -32,6 +32,7 @@ |
661 |
#include <asm/system.h> |
#include <asm/system.h> |
662 |
#include <asm/semaphore.h> |
#include <asm/semaphore.h> |
674 |
|
|
675 |
/* |
/* |
676 |
* Verify we have a legal set of flags |
* Verify we have a legal set of flags |
677 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/kmod.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/kmod.c |
678 |
+++ linux-2.6.18-308.7.AXS3/kernel/kmod.c |
+++ linux-2.6.18-348.1.AXS3/kernel/kmod.c |
679 |
@@ -147,6 +147,11 @@ __exec_usermodehelper(char *path, char * |
@@ -147,6 +147,11 @@ __exec_usermodehelper(char *path, char * |
680 |
|
|
681 |
key_put(old_session); |
key_put(old_session); |
688 |
retval = -EPERM; |
retval = -EPERM; |
689 |
if (current->fs->root) |
if (current->fs->root) |
690 |
retval = execve(path, argv, envp); |
retval = execve(path, argv, envp); |
691 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/module.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/module.c |
692 |
+++ linux-2.6.18-308.7.AXS3/kernel/module.c |
+++ linux-2.6.18-348.1.AXS3/kernel/module.c |
693 |
@@ -46,6 +46,7 @@ |
@@ -46,6 +46,7 @@ |
694 |
#include <linux/license.h> |
#include <linux/license.h> |
695 |
#include <linux/tracepoint.h> |
#include <linux/tracepoint.h> |
718 |
/* Only one module load at a time, please */ |
/* Only one module load at a time, please */ |
719 |
if (mutex_lock_interruptible(&module_mutex) != 0) |
if (mutex_lock_interruptible(&module_mutex) != 0) |
720 |
return -EINTR; |
return -EINTR; |
721 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/ptrace.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/ptrace.c |
722 |
+++ linux-2.6.18-308.7.AXS3/kernel/ptrace.c |
+++ linux-2.6.18-348.1.AXS3/kernel/ptrace.c |
723 |
@@ -26,6 +26,7 @@ |
@@ -26,6 +26,7 @@ |
724 |
#include <asm/tracehook.h> |
#include <asm/tracehook.h> |
725 |
#include <asm/pgtable.h> |
#include <asm/pgtable.h> |
746 |
|
|
747 |
pr_debug("%d compat_sys_ptrace(%d, %d, %x, %x)\n", |
pr_debug("%d compat_sys_ptrace(%d, %d, %x, %x)\n", |
748 |
current->pid, request, pid, addr, cdata); |
current->pid, request, pid, addr, cdata); |
749 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/sched.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/sched.c |
750 |
+++ linux-2.6.18-308.7.AXS3/kernel/sched.c |
+++ linux-2.6.18-348.1.AXS3/kernel/sched.c |
751 |
@@ -57,6 +57,7 @@ |
@@ -57,6 +57,7 @@ |
752 |
#include <trace/sched.h> |
#include <trace/sched.h> |
753 |
|
|
765 |
|
|
766 |
/* |
/* |
767 |
* Setpriority might change our priority at the same moment. |
* Setpriority might change our priority at the same moment. |
768 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/signal.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/signal.c |
769 |
+++ linux-2.6.18-308.7.AXS3/kernel/signal.c |
+++ linux-2.6.18-348.1.AXS3/kernel/signal.c |
770 |
@@ -29,6 +29,7 @@ |
@@ -29,6 +29,7 @@ |
771 |
#include <asm/siginfo.h> |
#include <asm/siginfo.h> |
772 |
#include "audit.h" /* audit_signal_info() */ |
#include "audit.h" /* audit_signal_info() */ |
811 |
|
|
812 |
/* POSIX.1b doesn't mention process groups. */ |
/* POSIX.1b doesn't mention process groups. */ |
813 |
return kill_proc_info(sig, &info, pid); |
return kill_proc_info(sig, &info, pid); |
814 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/sys.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/sys.c |
815 |
+++ linux-2.6.18-308.7.AXS3/kernel/sys.c |
+++ linux-2.6.18-348.1.AXS3/kernel/sys.c |
816 |
@@ -37,6 +37,7 @@ |
@@ -37,6 +37,7 @@ |
817 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
818 |
#include <asm/io.h> |
#include <asm/io.h> |
859 |
|
|
860 |
down_write(&uts_sem); |
down_write(&uts_sem); |
861 |
errno = -EFAULT; |
errno = -EFAULT; |
862 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/sysctl.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/sysctl.c |
863 |
+++ linux-2.6.18-308.7.AXS3/kernel/sysctl.c |
+++ linux-2.6.18-348.1.AXS3/kernel/sysctl.c |
864 |
@@ -51,6 +51,7 @@ |
@@ -51,6 +51,7 @@ |
865 |
|
|
866 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
893 |
error = table->strategy( |
error = table->strategy( |
894 |
table, name, nlen, |
table, name, nlen, |
895 |
oldval, oldlenp, |
oldval, oldlenp, |
896 |
--- linux-2.6.18-308.7.AXS3.orig/kernel/time.c |
--- linux-2.6.18-348.1.AXS3.orig/kernel/time.c |
897 |
+++ linux-2.6.18-308.7.AXS3/kernel/time.c |
+++ linux-2.6.18-348.1.AXS3/kernel/time.c |
898 |
@@ -40,6 +40,7 @@ |
@@ -41,6 +41,7 @@ |
899 |
|
|
900 |
#include <asm/uaccess.h> |
#include <asm/uaccess.h> |
901 |
#include <asm/unistd.h> |
#include <asm/unistd.h> |
903 |
|
|
904 |
/* |
/* |
905 |
* The timezone where the local system is located. Used as a default by some |
* The timezone where the local system is located. Used as a default by some |
906 |
@@ -92,6 +93,8 @@ asmlinkage long sys_stime(time_t __user |
@@ -93,6 +94,8 @@ asmlinkage long sys_stime(time_t __user |
907 |
err = security_settime(&tv, NULL); |
err = security_settime(&tv, NULL); |
908 |
if (err) |
if (err) |
909 |
return err; |
return err; |
912 |
|
|
913 |
do_settimeofday(&tv); |
do_settimeofday(&tv); |
914 |
return 0; |
return 0; |
915 |
@@ -162,6 +165,8 @@ int do_sys_settimeofday(struct timespec |
@@ -164,6 +167,8 @@ int do_sys_settimeofday(struct timespec |
916 |
error = security_settime(tv, tz); |
error = security_settime(tv, tz); |
917 |
if (error) |
if (error) |
918 |
return error; |
return error; |
921 |
|
|
922 |
if (tz) { |
if (tz) { |
923 |
/* SMP safe, global irq locking makes it work. */ |
/* SMP safe, global irq locking makes it work. */ |
924 |
@@ -222,6 +227,8 @@ int do_adjtimex(struct timex *txc) |
@@ -225,6 +230,8 @@ int do_adjtimex(struct timex *txc) |
925 |
/* In order to modify anything, you gotta be super-user! */ |
/* In order to modify anything, you gotta be super-user! */ |
926 |
if (txc->modes && !capable(CAP_SYS_TIME)) |
if (txc->modes && !capable(CAP_SYS_TIME)) |
927 |
return -EPERM; |
return -EPERM; |
930 |
|
|
931 |
/* Now we validate the data before disabling interrupts */ |
/* Now we validate the data before disabling interrupts */ |
932 |
|
|
933 |
--- linux-2.6.18-308.7.AXS3.orig/net/ipv4/raw.c |
--- linux-2.6.18-348.1.AXS3.orig/net/ipv4/raw.c |
934 |
+++ linux-2.6.18-308.7.AXS3/net/ipv4/raw.c |
+++ linux-2.6.18-348.1.AXS3/net/ipv4/raw.c |
935 |
@@ -78,6 +78,7 @@ |
@@ -78,6 +78,7 @@ |
936 |
#include <linux/seq_file.h> |
#include <linux/seq_file.h> |
937 |
#include <linux/netfilter.h> |
#include <linux/netfilter.h> |
940 |
|
|
941 |
struct hlist_head raw_v4_htable[RAWV4_HTABLE_SIZE]; |
struct hlist_head raw_v4_htable[RAWV4_HTABLE_SIZE]; |
942 |
DEFINE_RWLOCK(raw_v4_lock); |
DEFINE_RWLOCK(raw_v4_lock); |
943 |
@@ -608,6 +609,9 @@ static int raw_recvmsg(struct kiocb *ioc |
@@ -619,6 +620,9 @@ static int raw_recvmsg(struct kiocb *ioc |
944 |
skb = skb_recv_datagram(sk, flags, noblock, &err); |
skb = skb_recv_datagram(sk, flags, noblock, &err); |
945 |
if (!skb) |
if (!skb) |
946 |
goto out; |
goto out; |
950 |
|
|
951 |
copied = skb->len; |
copied = skb->len; |
952 |
if (len < copied) { |
if (len < copied) { |
953 |
--- linux-2.6.18-308.7.AXS3.orig/net/ipv4/udp.c |
--- linux-2.6.18-348.1.AXS3.orig/net/ipv4/udp.c |
954 |
+++ linux-2.6.18-308.7.AXS3/net/ipv4/udp.c |
+++ linux-2.6.18-348.1.AXS3/net/ipv4/udp.c |
955 |
@@ -109,6 +109,7 @@ |
@@ -109,6 +109,7 @@ |
956 |
#include <net/inet_common.h> |
#include <net/inet_common.h> |
957 |
#include <net/checksum.h> |
#include <net/checksum.h> |
960 |
|
|
961 |
/* |
/* |
962 |
* Snmp MIB for the UDP layer |
* Snmp MIB for the UDP layer |
963 |
@@ -824,6 +825,9 @@ try_again: |
@@ -835,6 +836,9 @@ try_again: |
964 |
&peeked, &err); |
&peeked, &err); |
965 |
if (!skb) |
if (!skb) |
966 |
goto out; |
goto out; |
970 |
|
|
971 |
copied = skb->len - sizeof(struct udphdr); |
copied = skb->len - sizeof(struct udphdr); |
972 |
if (copied > len) { |
if (copied > len) { |
973 |
--- linux-2.6.18-308.7.AXS3.orig/net/ipv6/raw.c |
--- linux-2.6.18-348.1.AXS3.orig/net/ipv6/raw.c |
974 |
+++ linux-2.6.18-308.7.AXS3/net/ipv6/raw.c |
+++ linux-2.6.18-348.1.AXS3/net/ipv6/raw.c |
975 |
@@ -56,6 +56,7 @@ |
@@ -56,6 +56,7 @@ |
976 |
|
|
977 |
#include <linux/proc_fs.h> |
#include <linux/proc_fs.h> |
990 |
|
|
991 |
copied = skb->len; |
copied = skb->len; |
992 |
if (copied > len) { |
if (copied > len) { |
993 |
--- linux-2.6.18-308.7.AXS3.orig/net/ipv6/udp.c |
--- linux-2.6.18-348.1.AXS3.orig/net/ipv6/udp.c |
994 |
+++ linux-2.6.18-308.7.AXS3/net/ipv6/udp.c |
+++ linux-2.6.18-348.1.AXS3/net/ipv6/udp.c |
995 |
@@ -58,6 +58,7 @@ |
@@ -58,6 +58,7 @@ |
996 |
|
|
997 |
#include <linux/proc_fs.h> |
#include <linux/proc_fs.h> |
1010 |
|
|
1011 |
copied = skb->len - sizeof(struct udphdr); |
copied = skb->len - sizeof(struct udphdr); |
1012 |
if (copied > len) { |
if (copied > len) { |
1013 |
--- linux-2.6.18-308.7.AXS3.orig/net/socket.c |
--- linux-2.6.18-348.1.AXS3.orig/net/socket.c |
1014 |
+++ linux-2.6.18-308.7.AXS3/net/socket.c |
+++ linux-2.6.18-348.1.AXS3/net/socket.c |
1015 |
@@ -96,6 +96,8 @@ |
@@ -96,6 +96,8 @@ |
1016 |
#include <net/sock.h> |
#include <net/sock.h> |
1017 |
#include <linux/netfilter.h> |
#include <linux/netfilter.h> |
1085 |
err = sock->ops->connect(sock, (struct sockaddr *) address, addrlen, |
err = sock->ops->connect(sock, (struct sockaddr *) address, addrlen, |
1086 |
sock->file->f_flags); |
sock->file->f_flags); |
1087 |
out_put: |
out_put: |
1088 |
--- linux-2.6.18-308.7.AXS3.orig/net/unix/af_unix.c |
--- linux-2.6.18-348.1.AXS3.orig/net/unix/af_unix.c |
1089 |
+++ linux-2.6.18-308.7.AXS3/net/unix/af_unix.c |
+++ linux-2.6.18-348.1.AXS3/net/unix/af_unix.c |
1090 |
@@ -116,6 +116,7 @@ |
@@ -116,6 +116,7 @@ |
1091 |
#include <linux/mount.h> |
#include <linux/mount.h> |
1092 |
#include <net/checksum.h> |
#include <net/checksum.h> |
1105 |
err = vfs_mknod(nd.dentry->d_inode, dentry, mode, 0); |
err = vfs_mknod(nd.dentry->d_inode, dentry, mode, 0); |
1106 |
if (err) |
if (err) |
1107 |
goto out_mknod_dput; |
goto out_mknod_dput; |
1108 |
--- linux-2.6.18-308.7.AXS3.orig/security/Kconfig |
--- linux-2.6.18-348.1.AXS3.orig/security/Kconfig |
1109 |
+++ linux-2.6.18-308.7.AXS3/security/Kconfig |
+++ linux-2.6.18-348.1.AXS3/security/Kconfig |
1110 |
@@ -135,5 +135,7 @@ config LSM_MMAP_MIN_ADDR |
@@ -135,5 +135,7 @@ config LSM_MMAP_MIN_ADDR |
1111 |
|
|
1112 |
source security/selinux/Kconfig |
source security/selinux/Kconfig |
1115 |
+ |
+ |
1116 |
endmenu |
endmenu |
1117 |
|
|
1118 |
--- linux-2.6.18-308.7.AXS3.orig/security/Makefile |
--- linux-2.6.18-348.1.AXS3.orig/security/Makefile |
1119 |
+++ linux-2.6.18-308.7.AXS3/security/Makefile |
+++ linux-2.6.18-348.1.AXS3/security/Makefile |
1120 |
@@ -19,3 +19,6 @@ obj-$(CONFIG_SECURITY_SELINUX) += selin |
@@ -19,3 +19,6 @@ obj-$(CONFIG_SECURITY_SELINUX) += selin |
1121 |
obj-$(CONFIG_SECURITY_CAPABILITIES) += commoncap.o capability.o |
obj-$(CONFIG_SECURITY_CAPABILITIES) += commoncap.o capability.o |
1122 |
obj-$(CONFIG_SECURITY_ROOTPLUG) += commoncap.o root_plug.o |
obj-$(CONFIG_SECURITY_ROOTPLUG) += commoncap.o root_plug.o |