(メッセージはありません)
@@ -1,6 +1,6 @@ | ||
1 | -This is TOMOYO Linux patch for kernel 3.12.73. | |
1 | +This is TOMOYO Linux patch for kernel 3.12.74. | |
2 | 2 | |
3 | -Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.73.tar.xz | |
3 | +Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.74.tar.xz | |
4 | 4 | --- |
5 | 5 | fs/exec.c | 2 |
6 | 6 | fs/open.c | 2 |
@@ -29,8 +29,8 @@ | ||
29 | 29 | security/security.c | 107 ++++++++++++++++++++++++++++++++++++++++------ |
30 | 30 | 25 files changed, 236 insertions(+), 37 deletions(-) |
31 | 31 | |
32 | ---- linux-3.12.73.orig/fs/exec.c | |
33 | -+++ linux-3.12.73/fs/exec.c | |
32 | +--- linux-3.12.74.orig/fs/exec.c | |
33 | ++++ linux-3.12.74/fs/exec.c | |
34 | 34 | @@ -1463,7 +1463,7 @@ static int exec_binprm(struct linux_binp |
35 | 35 | old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent)); |
36 | 36 | rcu_read_unlock(); |
@@ -40,8 +40,8 @@ | ||
40 | 40 | if (ret >= 0) { |
41 | 41 | trace_sched_process_exec(current, old_pid, bprm); |
42 | 42 | ptrace_event(PTRACE_EVENT_EXEC, old_vpid); |
43 | ---- linux-3.12.73.orig/fs/open.c | |
44 | -+++ linux-3.12.73/fs/open.c | |
43 | +--- linux-3.12.74.orig/fs/open.c | |
44 | ++++ linux-3.12.74/fs/open.c | |
45 | 45 | @@ -1046,6 +1046,8 @@ EXPORT_SYMBOL(sys_close); |
46 | 46 | */ |
47 | 47 | SYSCALL_DEFINE0(vhangup) |
@@ -51,8 +51,8 @@ | ||
51 | 51 | if (capable(CAP_SYS_TTY_CONFIG)) { |
52 | 52 | tty_vhangup_self(); |
53 | 53 | return 0; |
54 | ---- linux-3.12.73.orig/fs/proc/version.c | |
55 | -+++ linux-3.12.73/fs/proc/version.c | |
54 | +--- linux-3.12.74.orig/fs/proc/version.c | |
55 | ++++ linux-3.12.74/fs/proc/version.c | |
56 | 56 | @@ -32,3 +32,10 @@ static int __init proc_version_init(void |
57 | 57 | return 0; |
58 | 58 | } |
@@ -60,12 +60,12 @@ | ||
60 | 60 | + |
61 | 61 | +static int __init ccs_show_version(void) |
62 | 62 | +{ |
63 | -+ printk(KERN_INFO "Hook version: 3.12.73 2017/04/17\n"); | |
63 | ++ printk(KERN_INFO "Hook version: 3.12.74 2017/05/14\n"); | |
64 | 64 | + return 0; |
65 | 65 | +} |
66 | 66 | +module_init(ccs_show_version); |
67 | ---- linux-3.12.73.orig/include/linux/init_task.h | |
68 | -+++ linux-3.12.73/include/linux/init_task.h | |
67 | +--- linux-3.12.74.orig/include/linux/init_task.h | |
68 | ++++ linux-3.12.74/include/linux/init_task.h | |
69 | 69 | @@ -155,6 +155,14 @@ extern struct task_group root_task_group |
70 | 70 | |
71 | 71 | #define INIT_TASK_COMM "swapper" |
@@ -89,8 +89,8 @@ | ||
89 | 89 | } |
90 | 90 | |
91 | 91 | |
92 | ---- linux-3.12.73.orig/include/linux/sched.h | |
93 | -+++ linux-3.12.73/include/linux/sched.h | |
92 | +--- linux-3.12.74.orig/include/linux/sched.h | |
93 | ++++ linux-3.12.74/include/linux/sched.h | |
94 | 94 | @@ -4,6 +4,8 @@ |
95 | 95 | #include <uapi/linux/sched.h> |
96 | 96 |
@@ -111,8 +111,8 @@ | ||
111 | 111 | }; |
112 | 112 | |
113 | 113 | /* Future-safe accessor for struct task_struct's cpus_allowed. */ |
114 | ---- linux-3.12.73.orig/include/linux/security.h | |
115 | -+++ linux-3.12.73/include/linux/security.h | |
114 | +--- linux-3.12.74.orig/include/linux/security.h | |
115 | ++++ linux-3.12.74/include/linux/security.h | |
116 | 116 | @@ -53,6 +53,7 @@ struct msg_queue; |
117 | 117 | struct xattr; |
118 | 118 | struct xfrm_sec_ctx; |
@@ -314,8 +314,8 @@ | ||
314 | 314 | } |
315 | 315 | #endif /* CONFIG_SECURITY_PATH */ |
316 | 316 | |
317 | ---- linux-3.12.73.orig/include/net/ip.h | |
318 | -+++ linux-3.12.73/include/net/ip.h | |
317 | +--- linux-3.12.74.orig/include/net/ip.h | |
318 | ++++ linux-3.12.74/include/net/ip.h | |
319 | 319 | @@ -217,6 +217,8 @@ extern void inet_get_local_port_range(in |
320 | 320 | extern unsigned long *sysctl_local_reserved_ports; |
321 | 321 | static inline int inet_is_reserved_local_port(int port) |
@@ -325,8 +325,8 @@ | ||
325 | 325 | return test_bit(port, sysctl_local_reserved_ports); |
326 | 326 | } |
327 | 327 | |
328 | ---- linux-3.12.73.orig/kernel/fork.c | |
329 | -+++ linux-3.12.73/kernel/fork.c | |
328 | +--- linux-3.12.74.orig/kernel/fork.c | |
329 | ++++ linux-3.12.74/kernel/fork.c | |
330 | 330 | @@ -244,6 +244,7 @@ void __put_task_struct(struct task_struc |
331 | 331 | delayacct_tsk_free(tsk); |
332 | 332 | put_signal_struct(tsk->signal); |
@@ -353,8 +353,8 @@ | ||
353 | 353 | bad_fork_cleanup_perf: |
354 | 354 | perf_event_free_task(p); |
355 | 355 | bad_fork_cleanup_policy: |
356 | ---- linux-3.12.73.orig/kernel/kexec.c | |
357 | -+++ linux-3.12.73/kernel/kexec.c | |
356 | +--- linux-3.12.74.orig/kernel/kexec.c | |
357 | ++++ linux-3.12.74/kernel/kexec.c | |
358 | 358 | @@ -37,6 +37,7 @@ |
359 | 359 | #include <asm/uaccess.h> |
360 | 360 | #include <asm/io.h> |
@@ -372,8 +372,8 @@ | ||
372 | 372 | |
373 | 373 | /* |
374 | 374 | * Verify we have a legal set of flags |
375 | ---- linux-3.12.73.orig/kernel/module.c | |
376 | -+++ linux-3.12.73/kernel/module.c | |
375 | +--- linux-3.12.74.orig/kernel/module.c | |
376 | ++++ linux-3.12.74/kernel/module.c | |
377 | 377 | @@ -63,6 +63,7 @@ |
378 | 378 | #include <linux/fips.h> |
379 | 379 | #include <uapi/linux/module.h> |
@@ -400,9 +400,9 @@ | ||
400 | 400 | |
401 | 401 | return 0; |
402 | 402 | } |
403 | ---- linux-3.12.73.orig/kernel/ptrace.c | |
404 | -+++ linux-3.12.73/kernel/ptrace.c | |
405 | -@@ -1081,6 +1081,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l | |
403 | +--- linux-3.12.74.orig/kernel/ptrace.c | |
404 | ++++ linux-3.12.74/kernel/ptrace.c | |
405 | +@@ -1087,6 +1087,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l | |
406 | 406 | { |
407 | 407 | struct task_struct *child; |
408 | 408 | long ret; |
@@ -414,7 +414,7 @@ | ||
414 | 414 | |
415 | 415 | if (request == PTRACE_TRACEME) { |
416 | 416 | ret = ptrace_traceme(); |
417 | -@@ -1228,6 +1233,11 @@ asmlinkage long compat_sys_ptrace(compat | |
417 | +@@ -1234,6 +1239,11 @@ asmlinkage long compat_sys_ptrace(compat | |
418 | 418 | { |
419 | 419 | struct task_struct *child; |
420 | 420 | long ret; |
@@ -426,8 +426,8 @@ | ||
426 | 426 | |
427 | 427 | if (request == PTRACE_TRACEME) { |
428 | 428 | ret = ptrace_traceme(); |
429 | ---- linux-3.12.73.orig/kernel/reboot.c | |
430 | -+++ linux-3.12.73/kernel/reboot.c | |
429 | +--- linux-3.12.74.orig/kernel/reboot.c | |
430 | ++++ linux-3.12.74/kernel/reboot.c | |
431 | 431 | @@ -16,6 +16,7 @@ |
432 | 432 | #include <linux/syscalls.h> |
433 | 433 | #include <linux/syscore_ops.h> |
@@ -445,8 +445,8 @@ | ||
445 | 445 | |
446 | 446 | /* |
447 | 447 | * If pid namespaces are enabled and the current task is in a child |
448 | ---- linux-3.12.73.orig/kernel/sched/core.c | |
449 | -+++ linux-3.12.73/kernel/sched/core.c | |
448 | +--- linux-3.12.74.orig/kernel/sched/core.c | |
449 | ++++ linux-3.12.74/kernel/sched/core.c | |
450 | 450 | @@ -3216,6 +3216,8 @@ int can_nice(const struct task_struct *p |
451 | 451 | SYSCALL_DEFINE1(nice, int, increment) |
452 | 452 | { |
@@ -456,8 +456,8 @@ | ||
456 | 456 | |
457 | 457 | /* |
458 | 458 | * Setpriority might change our priority at the same moment. |
459 | ---- linux-3.12.73.orig/kernel/signal.c | |
460 | -+++ linux-3.12.73/kernel/signal.c | |
459 | +--- linux-3.12.74.orig/kernel/signal.c | |
460 | ++++ linux-3.12.74/kernel/signal.c | |
461 | 461 | @@ -2910,6 +2910,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s |
462 | 462 | SYSCALL_DEFINE2(kill, pid_t, pid, int, sig) |
463 | 463 | { |
@@ -503,8 +503,8 @@ | ||
503 | 503 | |
504 | 504 | return do_send_specific(tgid, pid, sig, info); |
505 | 505 | } |
506 | ---- linux-3.12.73.orig/kernel/sys.c | |
507 | -+++ linux-3.12.73/kernel/sys.c | |
506 | +--- linux-3.12.74.orig/kernel/sys.c | |
507 | ++++ linux-3.12.74/kernel/sys.c | |
508 | 508 | @@ -172,6 +172,10 @@ SYSCALL_DEFINE3(setpriority, int, which, |
509 | 509 | |
510 | 510 | if (which > PRIO_USER || which < PRIO_PROCESS) |
@@ -534,8 +534,8 @@ | ||
534 | 534 | |
535 | 535 | down_write(&uts_sem); |
536 | 536 | errno = -EFAULT; |
537 | ---- linux-3.12.73.orig/kernel/time/ntp.c | |
538 | -+++ linux-3.12.73/kernel/time/ntp.c | |
537 | +--- linux-3.12.74.orig/kernel/time/ntp.c | |
538 | ++++ linux-3.12.74/kernel/time/ntp.c | |
539 | 539 | @@ -16,6 +16,7 @@ |
540 | 540 | #include <linux/mm.h> |
541 | 541 | #include <linux/module.h> |
@@ -569,8 +569,8 @@ | ||
569 | 569 | |
570 | 570 | /* |
571 | 571 | * Check for potential multiplication overflows that can |
572 | ---- linux-3.12.73.orig/net/ipv4/raw.c | |
573 | -+++ linux-3.12.73/net/ipv4/raw.c | |
572 | +--- linux-3.12.74.orig/net/ipv4/raw.c | |
573 | ++++ linux-3.12.74/net/ipv4/raw.c | |
574 | 574 | @@ -704,6 +704,10 @@ static int raw_recvmsg(struct kiocb *ioc |
575 | 575 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
576 | 576 | if (!skb) |
@@ -582,8 +582,8 @@ | ||
582 | 582 | |
583 | 583 | copied = skb->len; |
584 | 584 | if (len < copied) { |
585 | ---- linux-3.12.73.orig/net/ipv4/udp.c | |
586 | -+++ linux-3.12.73/net/ipv4/udp.c | |
585 | +--- linux-3.12.74.orig/net/ipv4/udp.c | |
586 | ++++ linux-3.12.74/net/ipv4/udp.c | |
587 | 587 | @@ -1223,6 +1223,10 @@ try_again: |
588 | 588 | &peeked, &off, &err); |
589 | 589 | if (!skb) |
@@ -595,8 +595,8 @@ | ||
595 | 595 | |
596 | 596 | ulen = skb->len - sizeof(struct udphdr); |
597 | 597 | copied = len; |
598 | ---- linux-3.12.73.orig/net/ipv6/raw.c | |
599 | -+++ linux-3.12.73/net/ipv6/raw.c | |
598 | +--- linux-3.12.74.orig/net/ipv6/raw.c | |
599 | ++++ linux-3.12.74/net/ipv6/raw.c | |
600 | 600 | @@ -475,6 +475,10 @@ static int rawv6_recvmsg(struct kiocb *i |
601 | 601 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
602 | 602 | if (!skb) |
@@ -608,8 +608,8 @@ | ||
608 | 608 | |
609 | 609 | copied = skb->len; |
610 | 610 | if (copied > len) { |
611 | ---- linux-3.12.73.orig/net/ipv6/udp.c | |
612 | -+++ linux-3.12.73/net/ipv6/udp.c | |
611 | +--- linux-3.12.74.orig/net/ipv6/udp.c | |
612 | ++++ linux-3.12.74/net/ipv6/udp.c | |
613 | 613 | @@ -386,6 +386,10 @@ try_again: |
614 | 614 | &peeked, &off, &err); |
615 | 615 | if (!skb) |
@@ -621,8 +621,8 @@ | ||
621 | 621 | |
622 | 622 | ulen = skb->len - sizeof(struct udphdr); |
623 | 623 | copied = len; |
624 | ---- linux-3.12.73.orig/net/socket.c | |
625 | -+++ linux-3.12.73/net/socket.c | |
624 | +--- linux-3.12.74.orig/net/socket.c | |
625 | ++++ linux-3.12.74/net/socket.c | |
626 | 626 | @@ -1616,6 +1616,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct |
627 | 627 | if (err < 0) |
628 | 628 | goto out_fd; |
@@ -634,8 +634,8 @@ | ||
634 | 634 | if (upeer_sockaddr) { |
635 | 635 | if (newsock->ops->getname(newsock, (struct sockaddr *)&address, |
636 | 636 | &len, 2) < 0) { |
637 | ---- linux-3.12.73.orig/net/unix/af_unix.c | |
638 | -+++ linux-3.12.73/net/unix/af_unix.c | |
637 | +--- linux-3.12.74.orig/net/unix/af_unix.c | |
638 | ++++ linux-3.12.74/net/unix/af_unix.c | |
639 | 639 | @@ -1978,6 +1978,10 @@ static int unix_dgram_recvmsg(struct kio |
640 | 640 | wake_up_interruptible_sync_poll(&u->peer_wait, |
641 | 641 | POLLOUT | POLLWRNORM | POLLWRBAND); |
@@ -647,8 +647,8 @@ | ||
647 | 647 | if (msg->msg_name) |
648 | 648 | unix_copy_addr(msg, skb->sk); |
649 | 649 | |
650 | ---- linux-3.12.73.orig/security/Kconfig | |
651 | -+++ linux-3.12.73/security/Kconfig | |
650 | +--- linux-3.12.74.orig/security/Kconfig | |
651 | ++++ linux-3.12.74/security/Kconfig | |
652 | 652 | @@ -167,5 +167,7 @@ config DEFAULT_SECURITY |
653 | 653 | default "yama" if DEFAULT_SECURITY_YAMA |
654 | 654 | default "" if DEFAULT_SECURITY_DAC |
@@ -657,8 +657,8 @@ | ||
657 | 657 | + |
658 | 658 | endmenu |
659 | 659 | |
660 | ---- linux-3.12.73.orig/security/Makefile | |
661 | -+++ linux-3.12.73/security/Makefile | |
660 | +--- linux-3.12.74.orig/security/Makefile | |
661 | ++++ linux-3.12.74/security/Makefile | |
662 | 662 | @@ -28,3 +28,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c |
663 | 663 | # Object integrity file lists |
664 | 664 | subdir-$(CONFIG_INTEGRITY) += integrity |
@@ -666,8 +666,8 @@ | ||
666 | 666 | + |
667 | 667 | +subdir-$(CONFIG_CCSECURITY) += ccsecurity |
668 | 668 | +obj-$(CONFIG_CCSECURITY) += ccsecurity/built-in.o |
669 | ---- linux-3.12.73.orig/security/security.c | |
670 | -+++ linux-3.12.73/security/security.c | |
669 | +--- linux-3.12.74.orig/security/security.c | |
670 | ++++ linux-3.12.74/security/security.c | |
671 | 671 | @@ -203,7 +203,10 @@ int security_syslog(int type) |
672 | 672 | |
673 | 673 | int security_settime(const struct timespec *ts, const struct timezone *tz) |
@@ -1,6 +1,6 @@ | ||
1 | -This is TOMOYO Linux patch for kernel 3.18.51. | |
1 | +This is TOMOYO Linux patch for kernel 3.18.52. | |
2 | 2 | |
3 | -Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.51.tar.xz | |
3 | +Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.52.tar.xz | |
4 | 4 | --- |
5 | 5 | fs/exec.c | 2 |
6 | 6 | fs/open.c | 2 |
@@ -29,8 +29,8 @@ | ||
29 | 29 | security/security.c | 111 +++++++++++++++++++++++++++++++++++++++++----- |
30 | 30 | 25 files changed, 252 insertions(+), 37 deletions(-) |
31 | 31 | |
32 | ---- linux-3.18.51.orig/fs/exec.c | |
33 | -+++ linux-3.18.51/fs/exec.c | |
32 | +--- linux-3.18.52.orig/fs/exec.c | |
33 | ++++ linux-3.18.52/fs/exec.c | |
34 | 34 | @@ -1442,7 +1442,7 @@ static int exec_binprm(struct linux_binp |
35 | 35 | old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent)); |
36 | 36 | rcu_read_unlock(); |
@@ -40,8 +40,8 @@ | ||
40 | 40 | if (ret >= 0) { |
41 | 41 | audit_bprm(bprm); |
42 | 42 | trace_sched_process_exec(current, old_pid, bprm); |
43 | ---- linux-3.18.51.orig/fs/open.c | |
44 | -+++ linux-3.18.51/fs/open.c | |
43 | +--- linux-3.18.52.orig/fs/open.c | |
44 | ++++ linux-3.18.52/fs/open.c | |
45 | 45 | @@ -1091,6 +1091,8 @@ EXPORT_SYMBOL(sys_close); |
46 | 46 | */ |
47 | 47 | SYSCALL_DEFINE0(vhangup) |
@@ -51,8 +51,8 @@ | ||
51 | 51 | if (capable(CAP_SYS_TTY_CONFIG)) { |
52 | 52 | tty_vhangup_self(); |
53 | 53 | return 0; |
54 | ---- linux-3.18.51.orig/fs/proc/version.c | |
55 | -+++ linux-3.18.51/fs/proc/version.c | |
54 | +--- linux-3.18.52.orig/fs/proc/version.c | |
55 | ++++ linux-3.18.52/fs/proc/version.c | |
56 | 56 | @@ -32,3 +32,10 @@ static int __init proc_version_init(void |
57 | 57 | return 0; |
58 | 58 | } |
@@ -60,12 +60,12 @@ | ||
60 | 60 | + |
61 | 61 | +static int __init ccs_show_version(void) |
62 | 62 | +{ |
63 | -+ printk(KERN_INFO "Hook version: 3.18.51 2017/05/01\n"); | |
63 | ++ printk(KERN_INFO "Hook version: 3.18.52 2017/05/14\n"); | |
64 | 64 | + return 0; |
65 | 65 | +} |
66 | 66 | +fs_initcall(ccs_show_version); |
67 | ---- linux-3.18.51.orig/include/linux/init_task.h | |
68 | -+++ linux-3.18.51/include/linux/init_task.h | |
67 | +--- linux-3.18.52.orig/include/linux/init_task.h | |
68 | ++++ linux-3.18.52/include/linux/init_task.h | |
69 | 69 | @@ -166,6 +166,14 @@ extern struct task_group root_task_group |
70 | 70 | # define INIT_RT_MUTEXES(tsk) |
71 | 71 | #endif |
@@ -89,8 +89,8 @@ | ||
89 | 89 | } |
90 | 90 | |
91 | 91 | |
92 | ---- linux-3.18.51.orig/include/linux/sched.h | |
93 | -+++ linux-3.18.51/include/linux/sched.h | |
92 | +--- linux-3.18.52.orig/include/linux/sched.h | |
93 | ++++ linux-3.18.52/include/linux/sched.h | |
94 | 94 | @@ -6,6 +6,8 @@ |
95 | 95 | #include <linux/sched/prio.h> |
96 | 96 |
@@ -111,8 +111,8 @@ | ||
111 | 111 | }; |
112 | 112 | |
113 | 113 | /* Future-safe accessor for struct task_struct's cpus_allowed. */ |
114 | ---- linux-3.18.51.orig/include/linux/security.h | |
115 | -+++ linux-3.18.51/include/linux/security.h | |
114 | +--- linux-3.18.52.orig/include/linux/security.h | |
115 | ++++ linux-3.18.52/include/linux/security.h | |
116 | 116 | @@ -53,6 +53,7 @@ struct msg_queue; |
117 | 117 | struct xattr; |
118 | 118 | struct xfrm_sec_ctx; |
@@ -324,8 +324,8 @@ | ||
324 | 324 | } |
325 | 325 | #endif /* CONFIG_SECURITY_PATH */ |
326 | 326 | |
327 | ---- linux-3.18.51.orig/include/net/ip.h | |
328 | -+++ linux-3.18.51/include/net/ip.h | |
327 | +--- linux-3.18.52.orig/include/net/ip.h | |
328 | ++++ linux-3.18.52/include/net/ip.h | |
329 | 329 | @@ -216,6 +216,8 @@ void inet_get_local_port_range(struct ne |
330 | 330 | #ifdef CONFIG_SYSCTL |
331 | 331 | static inline int inet_is_local_reserved_port(struct net *net, int port) |
@@ -344,8 +344,8 @@ | ||
344 | 344 | return 0; |
345 | 345 | } |
346 | 346 | #endif |
347 | ---- linux-3.18.51.orig/kernel/fork.c | |
348 | -+++ linux-3.18.51/kernel/fork.c | |
347 | +--- linux-3.18.52.orig/kernel/fork.c | |
348 | ++++ linux-3.18.52/kernel/fork.c | |
349 | 349 | @@ -246,6 +246,7 @@ void __put_task_struct(struct task_struc |
350 | 350 | delayacct_tsk_free(tsk); |
351 | 351 | put_signal_struct(tsk->signal); |
@@ -372,8 +372,8 @@ | ||
372 | 372 | bad_fork_cleanup_perf: |
373 | 373 | perf_event_free_task(p); |
374 | 374 | bad_fork_cleanup_policy: |
375 | ---- linux-3.18.51.orig/kernel/kexec.c | |
376 | -+++ linux-3.18.51/kernel/kexec.c | |
375 | +--- linux-3.18.52.orig/kernel/kexec.c | |
376 | ++++ linux-3.18.52/kernel/kexec.c | |
377 | 377 | @@ -41,6 +41,7 @@ |
378 | 378 | #include <asm/uaccess.h> |
379 | 379 | #include <asm/io.h> |
@@ -391,8 +391,8 @@ | ||
391 | 391 | |
392 | 392 | /* |
393 | 393 | * Verify we have a legal set of flags |
394 | ---- linux-3.18.51.orig/kernel/module.c | |
395 | -+++ linux-3.18.51/kernel/module.c | |
394 | +--- linux-3.18.52.orig/kernel/module.c | |
395 | ++++ linux-3.18.52/kernel/module.c | |
396 | 396 | @@ -62,6 +62,7 @@ |
397 | 397 | #include <linux/bsearch.h> |
398 | 398 | #include <uapi/linux/module.h> |
@@ -419,8 +419,8 @@ | ||
419 | 419 | |
420 | 420 | return 0; |
421 | 421 | } |
422 | ---- linux-3.18.51.orig/kernel/ptrace.c | |
423 | -+++ linux-3.18.51/kernel/ptrace.c | |
422 | +--- linux-3.18.52.orig/kernel/ptrace.c | |
423 | ++++ linux-3.18.52/kernel/ptrace.c | |
424 | 424 | @@ -1081,6 +1081,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l |
425 | 425 | { |
426 | 426 | struct task_struct *child; |
@@ -445,8 +445,8 @@ | ||
445 | 445 | |
446 | 446 | if (request == PTRACE_TRACEME) { |
447 | 447 | ret = ptrace_traceme(); |
448 | ---- linux-3.18.51.orig/kernel/reboot.c | |
449 | -+++ linux-3.18.51/kernel/reboot.c | |
448 | +--- linux-3.18.52.orig/kernel/reboot.c | |
449 | ++++ linux-3.18.52/kernel/reboot.c | |
450 | 450 | @@ -16,6 +16,7 @@ |
451 | 451 | #include <linux/syscalls.h> |
452 | 452 | #include <linux/syscore_ops.h> |
@@ -464,8 +464,8 @@ | ||
464 | 464 | |
465 | 465 | /* |
466 | 466 | * If pid namespaces are enabled and the current task is in a child |
467 | ---- linux-3.18.51.orig/kernel/sched/core.c | |
468 | -+++ linux-3.18.51/kernel/sched/core.c | |
467 | +--- linux-3.18.52.orig/kernel/sched/core.c | |
468 | ++++ linux-3.18.52/kernel/sched/core.c | |
469 | 469 | @@ -3217,6 +3217,8 @@ int can_nice(const struct task_struct *p |
470 | 470 | SYSCALL_DEFINE1(nice, int, increment) |
471 | 471 | { |
@@ -475,8 +475,8 @@ | ||
475 | 475 | |
476 | 476 | /* |
477 | 477 | * Setpriority might change our priority at the same moment. |
478 | ---- linux-3.18.51.orig/kernel/signal.c | |
479 | -+++ linux-3.18.51/kernel/signal.c | |
478 | +--- linux-3.18.52.orig/kernel/signal.c | |
479 | ++++ linux-3.18.52/kernel/signal.c | |
480 | 480 | @@ -2887,6 +2887,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s |
481 | 481 | SYSCALL_DEFINE2(kill, pid_t, pid, int, sig) |
482 | 482 | { |
@@ -522,8 +522,8 @@ | ||
522 | 522 | |
523 | 523 | return do_send_specific(tgid, pid, sig, info); |
524 | 524 | } |
525 | ---- linux-3.18.51.orig/kernel/sys.c | |
526 | -+++ linux-3.18.51/kernel/sys.c | |
525 | +--- linux-3.18.52.orig/kernel/sys.c | |
526 | ++++ linux-3.18.52/kernel/sys.c | |
527 | 527 | @@ -171,6 +171,10 @@ SYSCALL_DEFINE3(setpriority, int, which, |
528 | 528 | |
529 | 529 | if (which > PRIO_USER || which < PRIO_PROCESS) |
@@ -553,8 +553,8 @@ | ||
553 | 553 | |
554 | 554 | down_write(&uts_sem); |
555 | 555 | errno = -EFAULT; |
556 | ---- linux-3.18.51.orig/kernel/time/ntp.c | |
557 | -+++ linux-3.18.51/kernel/time/ntp.c | |
556 | +--- linux-3.18.52.orig/kernel/time/ntp.c | |
557 | ++++ linux-3.18.52/kernel/time/ntp.c | |
558 | 558 | @@ -16,6 +16,7 @@ |
559 | 559 | #include <linux/mm.h> |
560 | 560 | #include <linux/module.h> |
@@ -588,8 +588,8 @@ | ||
588 | 588 | |
589 | 589 | /* |
590 | 590 | * Check for potential multiplication overflows that can |
591 | ---- linux-3.18.51.orig/net/ipv4/raw.c | |
592 | -+++ linux-3.18.51/net/ipv4/raw.c | |
591 | +--- linux-3.18.52.orig/net/ipv4/raw.c | |
592 | ++++ linux-3.18.52/net/ipv4/raw.c | |
593 | 593 | @@ -711,6 +711,10 @@ static int raw_recvmsg(struct kiocb *ioc |
594 | 594 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
595 | 595 | if (!skb) |
@@ -601,8 +601,8 @@ | ||
601 | 601 | |
602 | 602 | copied = skb->len; |
603 | 603 | if (len < copied) { |
604 | ---- linux-3.18.51.orig/net/ipv4/udp.c | |
605 | -+++ linux-3.18.51/net/ipv4/udp.c | |
604 | +--- linux-3.18.52.orig/net/ipv4/udp.c | |
605 | ++++ linux-3.18.52/net/ipv4/udp.c | |
606 | 606 | @@ -1263,6 +1263,10 @@ try_again: |
607 | 607 | &peeked, &off, &err); |
608 | 608 | if (!skb) |
@@ -614,8 +614,8 @@ | ||
614 | 614 | |
615 | 615 | ulen = skb->len - sizeof(struct udphdr); |
616 | 616 | copied = len; |
617 | ---- linux-3.18.51.orig/net/ipv6/raw.c | |
618 | -+++ linux-3.18.51/net/ipv6/raw.c | |
617 | +--- linux-3.18.52.orig/net/ipv6/raw.c | |
618 | ++++ linux-3.18.52/net/ipv6/raw.c | |
619 | 619 | @@ -478,6 +478,10 @@ static int rawv6_recvmsg(struct kiocb *i |
620 | 620 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
621 | 621 | if (!skb) |
@@ -627,8 +627,8 @@ | ||
627 | 627 | |
628 | 628 | copied = skb->len; |
629 | 629 | if (copied > len) { |
630 | ---- linux-3.18.51.orig/net/ipv6/udp.c | |
631 | -+++ linux-3.18.51/net/ipv6/udp.c | |
630 | +--- linux-3.18.52.orig/net/ipv6/udp.c | |
631 | ++++ linux-3.18.52/net/ipv6/udp.c | |
632 | 632 | @@ -403,6 +403,10 @@ try_again: |
633 | 633 | &peeked, &off, &err); |
634 | 634 | if (!skb) |
@@ -640,8 +640,8 @@ | ||
640 | 640 | |
641 | 641 | ulen = skb->len - sizeof(struct udphdr); |
642 | 642 | copied = len; |
643 | ---- linux-3.18.51.orig/net/socket.c | |
644 | -+++ linux-3.18.51/net/socket.c | |
643 | +--- linux-3.18.52.orig/net/socket.c | |
644 | ++++ linux-3.18.52/net/socket.c | |
645 | 645 | @@ -1637,6 +1637,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct |
646 | 646 | if (err < 0) |
647 | 647 | goto out_fd; |
@@ -653,8 +653,8 @@ | ||
653 | 653 | if (upeer_sockaddr) { |
654 | 654 | if (newsock->ops->getname(newsock, (struct sockaddr *)&address, |
655 | 655 | &len, 2) < 0) { |
656 | ---- linux-3.18.51.orig/net/unix/af_unix.c | |
657 | -+++ linux-3.18.51/net/unix/af_unix.c | |
656 | +--- linux-3.18.52.orig/net/unix/af_unix.c | |
657 | ++++ linux-3.18.52/net/unix/af_unix.c | |
658 | 658 | @@ -1976,6 +1976,10 @@ static int unix_dgram_recvmsg(struct kio |
659 | 659 | wake_up_interruptible_sync_poll(&u->peer_wait, |
660 | 660 | POLLOUT | POLLWRNORM | POLLWRBAND); |
@@ -666,8 +666,8 @@ | ||
666 | 666 | if (msg->msg_name) |
667 | 667 | unix_copy_addr(msg, skb->sk); |
668 | 668 | |
669 | ---- linux-3.18.51.orig/security/Kconfig | |
670 | -+++ linux-3.18.51/security/Kconfig | |
669 | +--- linux-3.18.52.orig/security/Kconfig | |
670 | ++++ linux-3.18.52/security/Kconfig | |
671 | 671 | @@ -167,5 +167,7 @@ config DEFAULT_SECURITY |
672 | 672 | default "yama" if DEFAULT_SECURITY_YAMA |
673 | 673 | default "" if DEFAULT_SECURITY_DAC |
@@ -676,8 +676,8 @@ | ||
676 | 676 | + |
677 | 677 | endmenu |
678 | 678 | |
679 | ---- linux-3.18.51.orig/security/Makefile | |
680 | -+++ linux-3.18.51/security/Makefile | |
679 | +--- linux-3.18.52.orig/security/Makefile | |
680 | ++++ linux-3.18.52/security/Makefile | |
681 | 681 | @@ -27,3 +27,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c |
682 | 682 | # Object integrity file lists |
683 | 683 | subdir-$(CONFIG_INTEGRITY) += integrity |
@@ -685,8 +685,8 @@ | ||
685 | 685 | + |
686 | 686 | +subdir-$(CONFIG_CCSECURITY) += ccsecurity |
687 | 687 | +obj-$(CONFIG_CCSECURITY) += ccsecurity/ |
688 | ---- linux-3.18.51.orig/security/security.c | |
689 | -+++ linux-3.18.51/security/security.c | |
688 | +--- linux-3.18.52.orig/security/security.c | |
689 | ++++ linux-3.18.52/security/security.c | |
690 | 690 | @@ -203,7 +203,10 @@ int security_syslog(int type) |
691 | 691 | |
692 | 692 | int security_settime(const struct timespec *ts, const struct timezone *tz) |
@@ -1,6 +1,6 @@ | ||
1 | -This is TOMOYO Linux patch for kernel 4.10.14. | |
1 | +This is TOMOYO Linux patch for kernel 4.10.15. | |
2 | 2 | |
3 | -Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.14.tar.xz | |
3 | +Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.15.tar.xz | |
4 | 4 | --- |
5 | 5 | fs/exec.c | 2 - |
6 | 6 | fs/open.c | 2 + |
@@ -28,8 +28,8 @@ | ||
28 | 28 | security/Makefile | 3 ++ |
29 | 29 | 24 files changed, 147 insertions(+), 26 deletions(-) |
30 | 30 | |
31 | ---- linux-4.10.14.orig/fs/exec.c | |
32 | -+++ linux-4.10.14/fs/exec.c | |
31 | +--- linux-4.10.15.orig/fs/exec.c | |
32 | ++++ linux-4.10.15/fs/exec.c | |
33 | 33 | @@ -1642,7 +1642,7 @@ static int exec_binprm(struct linux_binp |
34 | 34 | old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent)); |
35 | 35 | rcu_read_unlock(); |
@@ -39,8 +39,8 @@ | ||
39 | 39 | if (ret >= 0) { |
40 | 40 | audit_bprm(bprm); |
41 | 41 | trace_sched_process_exec(current, old_pid, bprm); |
42 | ---- linux-4.10.14.orig/fs/open.c | |
43 | -+++ linux-4.10.14/fs/open.c | |
42 | +--- linux-4.10.15.orig/fs/open.c | |
43 | ++++ linux-4.10.15/fs/open.c | |
44 | 44 | @@ -1145,6 +1145,8 @@ EXPORT_SYMBOL(sys_close); |
45 | 45 | */ |
46 | 46 | SYSCALL_DEFINE0(vhangup) |
@@ -50,8 +50,8 @@ | ||
50 | 50 | if (capable(CAP_SYS_TTY_CONFIG)) { |
51 | 51 | tty_vhangup_self(); |
52 | 52 | return 0; |
53 | ---- linux-4.10.14.orig/fs/proc/version.c | |
54 | -+++ linux-4.10.14/fs/proc/version.c | |
53 | +--- linux-4.10.15.orig/fs/proc/version.c | |
54 | ++++ linux-4.10.15/fs/proc/version.c | |
55 | 55 | @@ -32,3 +32,10 @@ static int __init proc_version_init(void |
56 | 56 | return 0; |
57 | 57 | } |
@@ -59,12 +59,12 @@ | ||
59 | 59 | + |
60 | 60 | +static int __init ccs_show_version(void) |
61 | 61 | +{ |
62 | -+ printk(KERN_INFO "Hook version: 4.10.14 2017/05/04\n"); | |
62 | ++ printk(KERN_INFO "Hook version: 4.10.15 2017/05/14\n"); | |
63 | 63 | + return 0; |
64 | 64 | +} |
65 | 65 | +fs_initcall(ccs_show_version); |
66 | ---- linux-4.10.14.orig/include/linux/init_task.h | |
67 | -+++ linux-4.10.14/include/linux/init_task.h | |
66 | +--- linux-4.10.15.orig/include/linux/init_task.h | |
67 | ++++ linux-4.10.15/include/linux/init_task.h | |
68 | 68 | @@ -193,6 +193,14 @@ extern struct task_group root_task_group |
69 | 69 | # define INIT_TASK_TI(tsk) |
70 | 70 | #endif |
@@ -88,8 +88,8 @@ | ||
88 | 88 | } |
89 | 89 | |
90 | 90 | |
91 | ---- linux-4.10.14.orig/include/linux/sched.h | |
92 | -+++ linux-4.10.14/include/linux/sched.h | |
91 | +--- linux-4.10.15.orig/include/linux/sched.h | |
92 | ++++ linux-4.10.15/include/linux/sched.h | |
93 | 93 | @@ -6,6 +6,8 @@ |
94 | 94 | #include <linux/sched/prio.h> |
95 | 95 |
@@ -110,8 +110,8 @@ | ||
110 | 110 | /* CPU-specific state of this task */ |
111 | 111 | struct thread_struct thread; |
112 | 112 | /* |
113 | ---- linux-4.10.14.orig/include/linux/security.h | |
114 | -+++ linux-4.10.14/include/linux/security.h | |
113 | +--- linux-4.10.15.orig/include/linux/security.h | |
114 | ++++ linux-4.10.15/include/linux/security.h | |
115 | 115 | @@ -55,6 +55,7 @@ struct msg_queue; |
116 | 116 | struct xattr; |
117 | 117 | struct xfrm_sec_ctx; |
@@ -318,8 +318,8 @@ | ||
318 | 318 | } |
319 | 319 | #endif /* CONFIG_SECURITY_PATH */ |
320 | 320 | |
321 | ---- linux-4.10.14.orig/include/net/ip.h | |
322 | -+++ linux-4.10.14/include/net/ip.h | |
321 | +--- linux-4.10.15.orig/include/net/ip.h | |
322 | ++++ linux-4.10.15/include/net/ip.h | |
323 | 323 | @@ -253,6 +253,8 @@ void inet_get_local_port_range(struct ne |
324 | 324 | #ifdef CONFIG_SYSCTL |
325 | 325 | static inline int inet_is_local_reserved_port(struct net *net, int port) |
@@ -338,8 +338,8 @@ | ||
338 | 338 | return 0; |
339 | 339 | } |
340 | 340 | #endif |
341 | ---- linux-4.10.14.orig/kernel/fork.c | |
342 | -+++ linux-4.10.14/kernel/fork.c | |
341 | +--- linux-4.10.15.orig/kernel/fork.c | |
342 | ++++ linux-4.10.15/kernel/fork.c | |
343 | 343 | @@ -392,6 +392,7 @@ void __put_task_struct(struct task_struc |
344 | 344 | delayacct_tsk_free(tsk); |
345 | 345 | put_signal_struct(tsk->signal); |
@@ -366,8 +366,8 @@ | ||
366 | 366 | bad_fork_cleanup_perf: |
367 | 367 | perf_event_free_task(p); |
368 | 368 | bad_fork_cleanup_policy: |
369 | ---- linux-4.10.14.orig/kernel/kexec.c | |
370 | -+++ linux-4.10.14/kernel/kexec.c | |
369 | +--- linux-4.10.15.orig/kernel/kexec.c | |
370 | ++++ linux-4.10.15/kernel/kexec.c | |
371 | 371 | @@ -17,7 +17,7 @@ |
372 | 372 | #include <linux/syscalls.h> |
373 | 373 | #include <linux/vmalloc.h> |
@@ -386,8 +386,8 @@ | ||
386 | 386 | |
387 | 387 | /* |
388 | 388 | * Verify we have a legal set of flags |
389 | ---- linux-4.10.14.orig/kernel/module.c | |
390 | -+++ linux-4.10.14/kernel/module.c | |
389 | +--- linux-4.10.15.orig/kernel/module.c | |
390 | ++++ linux-4.10.15/kernel/module.c | |
391 | 391 | @@ -63,6 +63,7 @@ |
392 | 392 | #include <linux/dynamic_debug.h> |
393 | 393 | #include <uapi/linux/module.h> |
@@ -414,8 +414,8 @@ | ||
414 | 414 | |
415 | 415 | return 0; |
416 | 416 | } |
417 | ---- linux-4.10.14.orig/kernel/ptrace.c | |
418 | -+++ linux-4.10.14/kernel/ptrace.c | |
417 | +--- linux-4.10.15.orig/kernel/ptrace.c | |
418 | ++++ linux-4.10.15/kernel/ptrace.c | |
419 | 419 | @@ -1116,6 +1116,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l |
420 | 420 | { |
421 | 421 | struct task_struct *child; |
@@ -440,8 +440,8 @@ | ||
440 | 440 | |
441 | 441 | if (request == PTRACE_TRACEME) { |
442 | 442 | ret = ptrace_traceme(); |
443 | ---- linux-4.10.14.orig/kernel/reboot.c | |
444 | -+++ linux-4.10.14/kernel/reboot.c | |
443 | +--- linux-4.10.15.orig/kernel/reboot.c | |
444 | ++++ linux-4.10.15/kernel/reboot.c | |
445 | 445 | @@ -16,6 +16,7 @@ |
446 | 446 | #include <linux/syscalls.h> |
447 | 447 | #include <linux/syscore_ops.h> |
@@ -459,8 +459,8 @@ | ||
459 | 459 | |
460 | 460 | /* |
461 | 461 | * If pid namespaces are enabled and the current task is in a child |
462 | ---- linux-4.10.14.orig/kernel/sched/core.c | |
463 | -+++ linux-4.10.14/kernel/sched/core.c | |
462 | +--- linux-4.10.15.orig/kernel/sched/core.c | |
463 | ++++ linux-4.10.15/kernel/sched/core.c | |
464 | 464 | @@ -3812,6 +3812,8 @@ int can_nice(const struct task_struct *p |
465 | 465 | SYSCALL_DEFINE1(nice, int, increment) |
466 | 466 | { |
@@ -470,8 +470,8 @@ | ||
470 | 470 | |
471 | 471 | /* |
472 | 472 | * Setpriority might change our priority at the same moment. |
473 | ---- linux-4.10.14.orig/kernel/signal.c | |
474 | -+++ linux-4.10.14/kernel/signal.c | |
473 | +--- linux-4.10.15.orig/kernel/signal.c | |
474 | ++++ linux-4.10.15/kernel/signal.c | |
475 | 475 | @@ -2860,6 +2860,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s |
476 | 476 | SYSCALL_DEFINE2(kill, pid_t, pid, int, sig) |
477 | 477 | { |
@@ -517,8 +517,8 @@ | ||
517 | 517 | |
518 | 518 | return do_send_specific(tgid, pid, sig, info); |
519 | 519 | } |
520 | ---- linux-4.10.14.orig/kernel/sys.c | |
521 | -+++ linux-4.10.14/kernel/sys.c | |
520 | +--- linux-4.10.15.orig/kernel/sys.c | |
521 | ++++ linux-4.10.15/kernel/sys.c | |
522 | 522 | @@ -183,6 +183,10 @@ SYSCALL_DEFINE3(setpriority, int, which, |
523 | 523 | |
524 | 524 | if (which > PRIO_USER || which < PRIO_PROCESS) |
@@ -548,8 +548,8 @@ | ||
548 | 548 | |
549 | 549 | down_write(&uts_sem); |
550 | 550 | errno = -EFAULT; |
551 | ---- linux-4.10.14.orig/kernel/time/ntp.c | |
552 | -+++ linux-4.10.14/kernel/time/ntp.c | |
551 | +--- linux-4.10.15.orig/kernel/time/ntp.c | |
552 | ++++ linux-4.10.15/kernel/time/ntp.c | |
553 | 553 | @@ -17,6 +17,7 @@ |
554 | 554 | #include <linux/module.h> |
555 | 555 | #include <linux/rtc.h> |
@@ -583,8 +583,8 @@ | ||
583 | 583 | |
584 | 584 | if (txc->modes & ADJ_NANO) { |
585 | 585 | struct timespec ts; |
586 | ---- linux-4.10.14.orig/net/ipv4/raw.c | |
587 | -+++ linux-4.10.14/net/ipv4/raw.c | |
586 | +--- linux-4.10.15.orig/net/ipv4/raw.c | |
587 | ++++ linux-4.10.15/net/ipv4/raw.c | |
588 | 588 | @@ -746,6 +746,10 @@ static int raw_recvmsg(struct sock *sk, |
589 | 589 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
590 | 590 | if (!skb) |
@@ -596,8 +596,8 @@ | ||
596 | 596 | |
597 | 597 | copied = skb->len; |
598 | 598 | if (len < copied) { |
599 | ---- linux-4.10.14.orig/net/ipv4/udp.c | |
600 | -+++ linux-4.10.14/net/ipv4/udp.c | |
599 | +--- linux-4.10.15.orig/net/ipv4/udp.c | |
600 | ++++ linux-4.10.15/net/ipv4/udp.c | |
601 | 601 | @@ -1436,6 +1436,8 @@ try_again: |
602 | 602 | skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err); |
603 | 603 | if (!skb) |
@@ -607,8 +607,8 @@ | ||
607 | 607 | |
608 | 608 | ulen = skb->len; |
609 | 609 | copied = len; |
610 | ---- linux-4.10.14.orig/net/ipv6/raw.c | |
611 | -+++ linux-4.10.14/net/ipv6/raw.c | |
610 | +--- linux-4.10.15.orig/net/ipv6/raw.c | |
611 | ++++ linux-4.10.15/net/ipv6/raw.c | |
612 | 612 | @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk |
613 | 613 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
614 | 614 | if (!skb) |
@@ -620,8 +620,8 @@ | ||
620 | 620 | |
621 | 621 | copied = skb->len; |
622 | 622 | if (copied > len) { |
623 | ---- linux-4.10.14.orig/net/ipv6/udp.c | |
624 | -+++ linux-4.10.14/net/ipv6/udp.c | |
623 | +--- linux-4.10.15.orig/net/ipv6/udp.c | |
624 | ++++ linux-4.10.15/net/ipv6/udp.c | |
625 | 625 | @@ -347,6 +347,8 @@ try_again: |
626 | 626 | skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err); |
627 | 627 | if (!skb) |
@@ -631,8 +631,8 @@ | ||
631 | 631 | |
632 | 632 | ulen = skb->len; |
633 | 633 | copied = len; |
634 | ---- linux-4.10.14.orig/net/socket.c | |
635 | -+++ linux-4.10.14/net/socket.c | |
634 | +--- linux-4.10.15.orig/net/socket.c | |
635 | ++++ linux-4.10.15/net/socket.c | |
636 | 636 | @@ -1523,6 +1523,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct |
637 | 637 | if (err < 0) |
638 | 638 | goto out_fd; |
@@ -644,8 +644,8 @@ | ||
644 | 644 | if (upeer_sockaddr) { |
645 | 645 | if (newsock->ops->getname(newsock, (struct sockaddr *)&address, |
646 | 646 | &len, 2) < 0) { |
647 | ---- linux-4.10.14.orig/net/unix/af_unix.c | |
648 | -+++ linux-4.10.14/net/unix/af_unix.c | |
647 | +--- linux-4.10.15.orig/net/unix/af_unix.c | |
648 | ++++ linux-4.10.15/net/unix/af_unix.c | |
649 | 649 | @@ -2145,6 +2145,10 @@ static int unix_dgram_recvmsg(struct soc |
650 | 650 | POLLOUT | POLLWRNORM | |
651 | 651 | POLLWRBAND); |
@@ -665,8 +665,8 @@ | ||
665 | 665 | mutex_unlock(&u->iolock); |
666 | 666 | out: |
667 | 667 | return err; |
668 | ---- linux-4.10.14.orig/security/Kconfig | |
669 | -+++ linux-4.10.14/security/Kconfig | |
668 | +--- linux-4.10.15.orig/security/Kconfig | |
669 | ++++ linux-4.10.15/security/Kconfig | |
670 | 670 | @@ -204,5 +204,7 @@ config DEFAULT_SECURITY |
671 | 671 | default "apparmor" if DEFAULT_SECURITY_APPARMOR |
672 | 672 | default "" if DEFAULT_SECURITY_DAC |
@@ -675,8 +675,8 @@ | ||
675 | 675 | + |
676 | 676 | endmenu |
677 | 677 | |
678 | ---- linux-4.10.14.orig/security/Makefile | |
679 | -+++ linux-4.10.14/security/Makefile | |
678 | +--- linux-4.10.15.orig/security/Makefile | |
679 | ++++ linux-4.10.15/security/Makefile | |
680 | 680 | @@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c |
681 | 681 | # Object integrity file lists |
682 | 682 | subdir-$(CONFIG_INTEGRITY) += integrity |
@@ -1,6 +1,6 @@ | ||
1 | -This is TOMOYO Linux patch for linux-next. | |
1 | +This is TOMOYO Linux patch for kernel 4.12-rc1. | |
2 | 2 | |
3 | -Source code for this patch is https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/snapshot/linux-next-next-20170501.tar.xz | |
3 | +Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.12-rc1.tar.xz | |
4 | 4 | --- |
5 | 5 | fs/exec.c | 2 - |
6 | 6 | fs/open.c | 2 + |
@@ -28,8 +28,8 @@ | ||
28 | 28 | security/security.c | 9 +++++- |
29 | 29 | 24 files changed, 153 insertions(+), 29 deletions(-) |
30 | 30 | |
31 | ---- linux-next.orig/fs/exec.c | |
32 | -+++ linux-next/fs/exec.c | |
31 | +--- linux-4.12-rc1.orig/fs/exec.c | |
32 | ++++ linux-4.12-rc1/fs/exec.c | |
33 | 33 | @@ -1644,7 +1644,7 @@ static int exec_binprm(struct linux_binp |
34 | 34 | old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent)); |
35 | 35 | rcu_read_unlock(); |
@@ -39,8 +39,8 @@ | ||
39 | 39 | if (ret >= 0) { |
40 | 40 | audit_bprm(bprm); |
41 | 41 | trace_sched_process_exec(current, old_pid, bprm); |
42 | ---- linux-next.orig/fs/open.c | |
43 | -+++ linux-next/fs/open.c | |
42 | +--- linux-4.12-rc1.orig/fs/open.c | |
43 | ++++ linux-4.12-rc1/fs/open.c | |
44 | 44 | @@ -1167,6 +1167,8 @@ EXPORT_SYMBOL(sys_close); |
45 | 45 | */ |
46 | 46 | SYSCALL_DEFINE0(vhangup) |
@@ -50,8 +50,8 @@ | ||
50 | 50 | if (capable(CAP_SYS_TTY_CONFIG)) { |
51 | 51 | tty_vhangup_self(); |
52 | 52 | return 0; |
53 | ---- linux-next.orig/fs/proc/version.c | |
54 | -+++ linux-next/fs/proc/version.c | |
53 | +--- linux-4.12-rc1.orig/fs/proc/version.c | |
54 | ++++ linux-4.12-rc1/fs/proc/version.c | |
55 | 55 | @@ -32,3 +32,10 @@ static int __init proc_version_init(void |
56 | 56 | return 0; |
57 | 57 | } |
@@ -59,12 +59,12 @@ | ||
59 | 59 | + |
60 | 60 | +static int __init ccs_show_version(void) |
61 | 61 | +{ |
62 | -+ printk(KERN_INFO "Hook version: 4.11-rc8-next-20170501 2017/05/01\n"); | |
62 | ++ printk(KERN_INFO "Hook version: 4.12-rc1 2017/05/14\n"); | |
63 | 63 | + return 0; |
64 | 64 | +} |
65 | 65 | +fs_initcall(ccs_show_version); |
66 | ---- linux-next.orig/include/linux/init_task.h | |
67 | -+++ linux-next/include/linux/init_task.h | |
66 | +--- linux-4.12-rc1.orig/include/linux/init_task.h | |
67 | ++++ linux-4.12-rc1/include/linux/init_task.h | |
68 | 68 | @@ -225,6 +225,14 @@ extern struct cred init_cred; |
69 | 69 | #define INIT_TASK_SECURITY |
70 | 70 | #endif |
@@ -82,14 +82,14 @@ | ||
82 | 82 | * your own risk!. Base=0, limit=0x1fffff (=2MB) |
83 | 83 | @@ -305,6 +313,7 @@ extern struct cred init_cred; |
84 | 84 | INIT_KASAN(tsk) \ |
85 | + INIT_LIVEPATCH(tsk) \ | |
85 | 86 | INIT_TASK_SECURITY \ |
86 | - INIT_LIVEPATCH(tsk) \ | |
87 | 87 | + INIT_CCSECURITY \ |
88 | 88 | } |
89 | 89 | |
90 | 90 | |
91 | ---- linux-next.orig/include/linux/sched.h | |
92 | -+++ linux-next/include/linux/sched.h | |
91 | +--- linux-4.12-rc1.orig/include/linux/sched.h | |
92 | ++++ linux-4.12-rc1/include/linux/sched.h | |
93 | 93 | @@ -32,6 +32,7 @@ struct audit_context; |
94 | 94 | struct backing_dev_info; |
95 | 95 | struct bio_list; |
@@ -98,19 +98,19 @@ | ||
98 | 98 | struct cfs_rq; |
99 | 99 | struct fs_struct; |
100 | 100 | struct futex_pi_state; |
101 | -@@ -1052,6 +1053,10 @@ struct task_struct { | |
102 | - #ifdef CONFIG_LIVEPATCH | |
103 | - int patch_state; | |
101 | +@@ -1051,6 +1052,10 @@ struct task_struct { | |
102 | + /* Used by LSM modules for access restriction: */ | |
103 | + void *security; | |
104 | 104 | #endif |
105 | 105 | +#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY) |
106 | -+ struct ccs_domain_info *ccs_domain_info; | |
107 | -+ u32 ccs_flags; | |
106 | ++ struct ccs_domain_info *ccs_domain_info; | |
107 | ++ u32 ccs_flags; | |
108 | 108 | +#endif |
109 | 109 | /* CPU-specific state of this task: */ |
110 | 110 | struct thread_struct thread; |
111 | 111 | |
112 | ---- linux-next.orig/include/linux/security.h | |
113 | -+++ linux-next/include/linux/security.h | |
112 | +--- linux-4.12-rc1.orig/include/linux/security.h | |
113 | ++++ linux-4.12-rc1/include/linux/security.h | |
114 | 114 | @@ -55,6 +55,7 @@ struct msg_queue; |
115 | 115 | struct xattr; |
116 | 116 | struct xfrm_sec_ctx; |
@@ -333,8 +333,8 @@ | ||
333 | 333 | } |
334 | 334 | #endif /* CONFIG_SECURITY_PATH */ |
335 | 335 | |
336 | ---- linux-next.orig/include/net/ip.h | |
337 | -+++ linux-next/include/net/ip.h | |
336 | +--- linux-4.12-rc1.orig/include/net/ip.h | |
337 | ++++ linux-4.12-rc1/include/net/ip.h | |
338 | 338 | @@ -255,6 +255,8 @@ void inet_get_local_port_range(struct ne |
339 | 339 | #ifdef CONFIG_SYSCTL |
340 | 340 | static inline int inet_is_local_reserved_port(struct net *net, int port) |
@@ -353,8 +353,8 @@ | ||
353 | 353 | return 0; |
354 | 354 | } |
355 | 355 | |
356 | ---- linux-next.orig/kernel/kexec.c | |
357 | -+++ linux-next/kernel/kexec.c | |
356 | +--- linux-4.12-rc1.orig/kernel/kexec.c | |
357 | ++++ linux-4.12-rc1/kernel/kexec.c | |
358 | 358 | @@ -17,7 +17,7 @@ |
359 | 359 | #include <linux/syscalls.h> |
360 | 360 | #include <linux/vmalloc.h> |
@@ -373,8 +373,8 @@ | ||
373 | 373 | |
374 | 374 | /* |
375 | 375 | * Verify we have a legal set of flags |
376 | ---- linux-next.orig/kernel/module.c | |
377 | -+++ linux-next/kernel/module.c | |
376 | +--- linux-4.12-rc1.orig/kernel/module.c | |
377 | ++++ linux-4.12-rc1/kernel/module.c | |
378 | 378 | @@ -68,6 +68,7 @@ |
379 | 379 | #include <linux/audit.h> |
380 | 380 | #include <uapi/linux/module.h> |
@@ -401,8 +401,8 @@ | ||
401 | 401 | |
402 | 402 | return 0; |
403 | 403 | } |
404 | ---- linux-next.orig/kernel/ptrace.c | |
405 | -+++ linux-next/kernel/ptrace.c | |
404 | +--- linux-4.12-rc1.orig/kernel/ptrace.c | |
405 | ++++ linux-4.12-rc1/kernel/ptrace.c | |
406 | 406 | @@ -1119,6 +1119,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l |
407 | 407 | { |
408 | 408 | struct task_struct *child; |
@@ -427,8 +427,8 @@ | ||
427 | 427 | |
428 | 428 | if (request == PTRACE_TRACEME) { |
429 | 429 | ret = ptrace_traceme(); |
430 | ---- linux-next.orig/kernel/reboot.c | |
431 | -+++ linux-next/kernel/reboot.c | |
430 | +--- linux-4.12-rc1.orig/kernel/reboot.c | |
431 | ++++ linux-4.12-rc1/kernel/reboot.c | |
432 | 432 | @@ -16,6 +16,7 @@ |
433 | 433 | #include <linux/syscalls.h> |
434 | 434 | #include <linux/syscore_ops.h> |
@@ -437,7 +437,7 @@ | ||
437 | 437 | |
438 | 438 | /* |
439 | 439 | * this indicates whether you can reboot with ctrl-alt-del: the default is yes |
440 | -@@ -322,6 +323,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int | |
440 | +@@ -295,6 +296,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int | |
441 | 441 | magic2 != LINUX_REBOOT_MAGIC2B && |
442 | 442 | magic2 != LINUX_REBOOT_MAGIC2C)) |
443 | 443 | return -EINVAL; |
@@ -446,8 +446,8 @@ | ||
446 | 446 | |
447 | 447 | /* |
448 | 448 | * If pid namespaces are enabled and the current task is in a child |
449 | ---- linux-next.orig/kernel/sched/core.c | |
450 | -+++ linux-next/kernel/sched/core.c | |
449 | +--- linux-4.12-rc1.orig/kernel/sched/core.c | |
450 | ++++ linux-4.12-rc1/kernel/sched/core.c | |
451 | 451 | @@ -3901,6 +3901,8 @@ int can_nice(const struct task_struct *p |
452 | 452 | SYSCALL_DEFINE1(nice, int, increment) |
453 | 453 | { |
@@ -457,8 +457,8 @@ | ||
457 | 457 | |
458 | 458 | /* |
459 | 459 | * Setpriority might change our priority at the same moment. |
460 | ---- linux-next.orig/kernel/signal.c | |
461 | -+++ linux-next/kernel/signal.c | |
460 | +--- linux-4.12-rc1.orig/kernel/signal.c | |
461 | ++++ linux-4.12-rc1/kernel/signal.c | |
462 | 462 | @@ -2865,6 +2865,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s |
463 | 463 | SYSCALL_DEFINE2(kill, pid_t, pid, int, sig) |
464 | 464 | { |
@@ -504,8 +504,8 @@ | ||
504 | 504 | |
505 | 505 | return do_send_specific(tgid, pid, sig, info); |
506 | 506 | } |
507 | ---- linux-next.orig/kernel/sys.c | |
508 | -+++ linux-next/kernel/sys.c | |
507 | +--- linux-4.12-rc1.orig/kernel/sys.c | |
508 | ++++ linux-4.12-rc1/kernel/sys.c | |
509 | 509 | @@ -190,6 +190,10 @@ SYSCALL_DEFINE3(setpriority, int, which, |
510 | 510 | |
511 | 511 | if (which > PRIO_USER || which < PRIO_PROCESS) |
@@ -535,8 +535,8 @@ | ||
535 | 535 | |
536 | 536 | down_write(&uts_sem); |
537 | 537 | errno = -EFAULT; |
538 | ---- linux-next.orig/kernel/time/ntp.c | |
539 | -+++ linux-next/kernel/time/ntp.c | |
538 | +--- linux-4.12-rc1.orig/kernel/time/ntp.c | |
539 | ++++ linux-4.12-rc1/kernel/time/ntp.c | |
540 | 540 | @@ -17,6 +17,7 @@ |
541 | 541 | #include <linux/module.h> |
542 | 542 | #include <linux/rtc.h> |
@@ -570,9 +570,9 @@ | ||
570 | 570 | |
571 | 571 | if (txc->modes & ADJ_NANO) { |
572 | 572 | struct timespec ts; |
573 | ---- linux-next.orig/net/ipv4/raw.c | |
574 | -+++ linux-next/net/ipv4/raw.c | |
575 | -@@ -752,6 +752,10 @@ static int raw_recvmsg(struct sock *sk, | |
573 | +--- linux-4.12-rc1.orig/net/ipv4/raw.c | |
574 | ++++ linux-4.12-rc1/net/ipv4/raw.c | |
575 | +@@ -755,6 +755,10 @@ static int raw_recvmsg(struct sock *sk, | |
576 | 576 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
577 | 577 | if (!skb) |
578 | 578 | goto out; |
@@ -583,8 +583,8 @@ | ||
583 | 583 | |
584 | 584 | copied = skb->len; |
585 | 585 | if (len < copied) { |
586 | ---- linux-next.orig/net/ipv4/udp.c | |
587 | -+++ linux-next/net/ipv4/udp.c | |
586 | +--- linux-4.12-rc1.orig/net/ipv4/udp.c | |
587 | ++++ linux-4.12-rc1/net/ipv4/udp.c | |
588 | 588 | @@ -1425,6 +1425,8 @@ try_again: |
589 | 589 | skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err); |
590 | 590 | if (!skb) |
@@ -594,8 +594,8 @@ | ||
594 | 594 | |
595 | 595 | ulen = skb->len; |
596 | 596 | copied = len; |
597 | ---- linux-next.orig/net/ipv6/raw.c | |
598 | -+++ linux-next/net/ipv6/raw.c | |
597 | +--- linux-4.12-rc1.orig/net/ipv6/raw.c | |
598 | ++++ linux-4.12-rc1/net/ipv6/raw.c | |
599 | 599 | @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk |
600 | 600 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
601 | 601 | if (!skb) |
@@ -607,8 +607,8 @@ | ||
607 | 607 | |
608 | 608 | copied = skb->len; |
609 | 609 | if (copied > len) { |
610 | ---- linux-next.orig/net/ipv6/udp.c | |
611 | -+++ linux-next/net/ipv6/udp.c | |
610 | +--- linux-4.12-rc1.orig/net/ipv6/udp.c | |
611 | ++++ linux-4.12-rc1/net/ipv6/udp.c | |
612 | 612 | @@ -361,6 +361,8 @@ try_again: |
613 | 613 | skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err); |
614 | 614 | if (!skb) |
@@ -618,8 +618,8 @@ | ||
618 | 618 | |
619 | 619 | ulen = skb->len; |
620 | 620 | copied = len; |
621 | ---- linux-next.orig/net/socket.c | |
622 | -+++ linux-next/net/socket.c | |
621 | +--- linux-4.12-rc1.orig/net/socket.c | |
622 | ++++ linux-4.12-rc1/net/socket.c | |
623 | 623 | @@ -1521,6 +1521,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct |
624 | 624 | if (err < 0) |
625 | 625 | goto out_fd; |
@@ -631,8 +631,8 @@ | ||
631 | 631 | if (upeer_sockaddr) { |
632 | 632 | if (newsock->ops->getname(newsock, (struct sockaddr *)&address, |
633 | 633 | &len, 2) < 0) { |
634 | ---- linux-next.orig/net/unix/af_unix.c | |
635 | -+++ linux-next/net/unix/af_unix.c | |
634 | +--- linux-4.12-rc1.orig/net/unix/af_unix.c | |
635 | ++++ linux-4.12-rc1/net/unix/af_unix.c | |
636 | 636 | @@ -2147,6 +2147,10 @@ static int unix_dgram_recvmsg(struct soc |
637 | 637 | POLLOUT | POLLWRNORM | |
638 | 638 | POLLWRBAND); |
@@ -652,8 +652,8 @@ | ||
652 | 652 | mutex_unlock(&u->iolock); |
653 | 653 | out: |
654 | 654 | return err; |
655 | ---- linux-next.orig/security/Kconfig | |
656 | -+++ linux-next/security/Kconfig | |
655 | +--- linux-4.12-rc1.orig/security/Kconfig | |
656 | ++++ linux-4.12-rc1/security/Kconfig | |
657 | 657 | @@ -235,5 +235,7 @@ config DEFAULT_SECURITY |
658 | 658 | default "apparmor" if DEFAULT_SECURITY_APPARMOR |
659 | 659 | default "" if DEFAULT_SECURITY_DAC |
@@ -662,8 +662,8 @@ | ||
662 | 662 | + |
663 | 663 | endmenu |
664 | 664 | |
665 | ---- linux-next.orig/security/Makefile | |
666 | -+++ linux-next/security/Makefile | |
665 | +--- linux-4.12-rc1.orig/security/Makefile | |
666 | ++++ linux-4.12-rc1/security/Makefile | |
667 | 667 | @@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c |
668 | 668 | # Object integrity file lists |
669 | 669 | subdir-$(CONFIG_INTEGRITY) += integrity |
@@ -671,8 +671,8 @@ | ||
671 | 671 | + |
672 | 672 | +subdir-$(CONFIG_CCSECURITY) += ccsecurity |
673 | 673 | +obj-$(CONFIG_CCSECURITY) += ccsecurity/ |
674 | ---- linux-next.orig/security/security.c | |
675 | -+++ linux-next/security/security.c | |
674 | +--- linux-4.12-rc1.orig/security/security.c | |
675 | ++++ linux-4.12-rc1/security/security.c | |
676 | 676 | @@ -943,12 +943,19 @@ int security_task_create(unsigned long c |
677 | 677 | |
678 | 678 | int security_task_alloc(struct task_struct *task, unsigned long clone_flags) |
@@ -1,6 +1,6 @@ | ||
1 | -This is TOMOYO Linux patch for kernel 4.4.66. | |
1 | +This is TOMOYO Linux patch for kernel 4.4.67. | |
2 | 2 | |
3 | -Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.66.tar.xz | |
3 | +Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.67.tar.xz | |
4 | 4 | --- |
5 | 5 | fs/exec.c | 2 - |
6 | 6 | fs/open.c | 2 + |
@@ -28,8 +28,8 @@ | ||
28 | 28 | security/Makefile | 3 ++ |
29 | 29 | 24 files changed, 150 insertions(+), 26 deletions(-) |
30 | 30 | |
31 | ---- linux-4.4.66.orig/fs/exec.c | |
32 | -+++ linux-4.4.66/fs/exec.c | |
31 | +--- linux-4.4.67.orig/fs/exec.c | |
32 | ++++ linux-4.4.67/fs/exec.c | |
33 | 33 | @@ -1487,7 +1487,7 @@ static int exec_binprm(struct linux_binp |
34 | 34 | old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent)); |
35 | 35 | rcu_read_unlock(); |
@@ -39,8 +39,8 @@ | ||
39 | 39 | if (ret >= 0) { |
40 | 40 | audit_bprm(bprm); |
41 | 41 | trace_sched_process_exec(current, old_pid, bprm); |
42 | ---- linux-4.4.66.orig/fs/open.c | |
43 | -+++ linux-4.4.66/fs/open.c | |
42 | +--- linux-4.4.67.orig/fs/open.c | |
43 | ++++ linux-4.4.67/fs/open.c | |
44 | 44 | @@ -1111,6 +1111,8 @@ EXPORT_SYMBOL(sys_close); |
45 | 45 | */ |
46 | 46 | SYSCALL_DEFINE0(vhangup) |
@@ -50,8 +50,8 @@ | ||
50 | 50 | if (capable(CAP_SYS_TTY_CONFIG)) { |
51 | 51 | tty_vhangup_self(); |
52 | 52 | return 0; |
53 | ---- linux-4.4.66.orig/fs/proc/version.c | |
54 | -+++ linux-4.4.66/fs/proc/version.c | |
53 | +--- linux-4.4.67.orig/fs/proc/version.c | |
54 | ++++ linux-4.4.67/fs/proc/version.c | |
55 | 55 | @@ -32,3 +32,10 @@ static int __init proc_version_init(void |
56 | 56 | return 0; |
57 | 57 | } |
@@ -59,12 +59,12 @@ | ||
59 | 59 | + |
60 | 60 | +static int __init ccs_show_version(void) |
61 | 61 | +{ |
62 | -+ printk(KERN_INFO "Hook version: 4.4.66 2017/05/04\n"); | |
62 | ++ printk(KERN_INFO "Hook version: 4.4.67 2017/05/14\n"); | |
63 | 63 | + return 0; |
64 | 64 | +} |
65 | 65 | +fs_initcall(ccs_show_version); |
66 | ---- linux-4.4.66.orig/include/linux/init_task.h | |
67 | -+++ linux-4.4.66/include/linux/init_task.h | |
66 | +--- linux-4.4.67.orig/include/linux/init_task.h | |
67 | ++++ linux-4.4.67/include/linux/init_task.h | |
68 | 68 | @@ -183,6 +183,14 @@ extern struct task_group root_task_group |
69 | 69 | # define INIT_KASAN(tsk) |
70 | 70 | #endif |
@@ -88,8 +88,8 @@ | ||
88 | 88 | } |
89 | 89 | |
90 | 90 | |
91 | ---- linux-4.4.66.orig/include/linux/sched.h | |
92 | -+++ linux-4.4.66/include/linux/sched.h | |
91 | +--- linux-4.4.67.orig/include/linux/sched.h | |
92 | ++++ linux-4.4.67/include/linux/sched.h | |
93 | 93 | @@ -6,6 +6,8 @@ |
94 | 94 | #include <linux/sched/prio.h> |
95 | 95 |
@@ -110,8 +110,8 @@ | ||
110 | 110 | /* CPU-specific state of this task */ |
111 | 111 | struct thread_struct thread; |
112 | 112 | /* |
113 | ---- linux-4.4.66.orig/include/linux/security.h | |
114 | -+++ linux-4.4.66/include/linux/security.h | |
113 | +--- linux-4.4.67.orig/include/linux/security.h | |
114 | ++++ linux-4.4.67/include/linux/security.h | |
115 | 115 | @@ -53,6 +53,7 @@ struct msg_queue; |
116 | 116 | struct xattr; |
117 | 117 | struct xfrm_sec_ctx; |
@@ -318,8 +318,8 @@ | ||
318 | 318 | } |
319 | 319 | #endif /* CONFIG_SECURITY_PATH */ |
320 | 320 | |
321 | ---- linux-4.4.66.orig/include/net/ip.h | |
322 | -+++ linux-4.4.66/include/net/ip.h | |
321 | +--- linux-4.4.67.orig/include/net/ip.h | |
322 | ++++ linux-4.4.67/include/net/ip.h | |
323 | 323 | @@ -223,6 +223,8 @@ void inet_get_local_port_range(struct ne |
324 | 324 | #ifdef CONFIG_SYSCTL |
325 | 325 | static inline int inet_is_local_reserved_port(struct net *net, int port) |
@@ -338,8 +338,8 @@ | ||
338 | 338 | return 0; |
339 | 339 | } |
340 | 340 | #endif |
341 | ---- linux-4.4.66.orig/kernel/fork.c | |
342 | -+++ linux-4.4.66/kernel/fork.c | |
341 | +--- linux-4.4.67.orig/kernel/fork.c | |
342 | ++++ linux-4.4.67/kernel/fork.c | |
343 | 343 | @@ -258,6 +258,7 @@ void __put_task_struct(struct task_struc |
344 | 344 | delayacct_tsk_free(tsk); |
345 | 345 | put_signal_struct(tsk->signal); |
@@ -366,8 +366,8 @@ | ||
366 | 366 | bad_fork_cleanup_perf: |
367 | 367 | perf_event_free_task(p); |
368 | 368 | bad_fork_cleanup_policy: |
369 | ---- linux-4.4.66.orig/kernel/kexec.c | |
370 | -+++ linux-4.4.66/kernel/kexec.c | |
369 | +--- linux-4.4.67.orig/kernel/kexec.c | |
370 | ++++ linux-4.4.67/kernel/kexec.c | |
371 | 371 | @@ -17,7 +17,7 @@ |
372 | 372 | #include <linux/syscalls.h> |
373 | 373 | #include <linux/vmalloc.h> |
@@ -386,8 +386,8 @@ | ||
386 | 386 | |
387 | 387 | /* |
388 | 388 | * Verify we have a legal set of flags |
389 | ---- linux-4.4.66.orig/kernel/module.c | |
390 | -+++ linux-4.4.66/kernel/module.c | |
389 | +--- linux-4.4.67.orig/kernel/module.c | |
390 | ++++ linux-4.4.67/kernel/module.c | |
391 | 391 | @@ -61,6 +61,7 @@ |
392 | 392 | #include <linux/bsearch.h> |
393 | 393 | #include <uapi/linux/module.h> |
@@ -414,8 +414,8 @@ | ||
414 | 414 | |
415 | 415 | return 0; |
416 | 416 | } |
417 | ---- linux-4.4.66.orig/kernel/ptrace.c | |
418 | -+++ linux-4.4.66/kernel/ptrace.c | |
417 | +--- linux-4.4.67.orig/kernel/ptrace.c | |
418 | ++++ linux-4.4.67/kernel/ptrace.c | |
419 | 419 | @@ -1079,6 +1079,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l |
420 | 420 | { |
421 | 421 | struct task_struct *child; |
@@ -440,8 +440,8 @@ | ||
440 | 440 | |
441 | 441 | if (request == PTRACE_TRACEME) { |
442 | 442 | ret = ptrace_traceme(); |
443 | ---- linux-4.4.66.orig/kernel/reboot.c | |
444 | -+++ linux-4.4.66/kernel/reboot.c | |
443 | +--- linux-4.4.67.orig/kernel/reboot.c | |
444 | ++++ linux-4.4.67/kernel/reboot.c | |
445 | 445 | @@ -16,6 +16,7 @@ |
446 | 446 | #include <linux/syscalls.h> |
447 | 447 | #include <linux/syscore_ops.h> |
@@ -459,8 +459,8 @@ | ||
459 | 459 | |
460 | 460 | /* |
461 | 461 | * If pid namespaces are enabled and the current task is in a child |
462 | ---- linux-4.4.66.orig/kernel/sched/core.c | |
463 | -+++ linux-4.4.66/kernel/sched/core.c | |
462 | +--- linux-4.4.67.orig/kernel/sched/core.c | |
463 | ++++ linux-4.4.67/kernel/sched/core.c | |
464 | 464 | @@ -3548,6 +3548,8 @@ int can_nice(const struct task_struct *p |
465 | 465 | SYSCALL_DEFINE1(nice, int, increment) |
466 | 466 | { |
@@ -470,8 +470,8 @@ | ||
470 | 470 | |
471 | 471 | /* |
472 | 472 | * Setpriority might change our priority at the same moment. |
473 | ---- linux-4.4.66.orig/kernel/signal.c | |
474 | -+++ linux-4.4.66/kernel/signal.c | |
473 | +--- linux-4.4.67.orig/kernel/signal.c | |
474 | ++++ linux-4.4.67/kernel/signal.c | |
475 | 475 | @@ -2847,6 +2847,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s |
476 | 476 | SYSCALL_DEFINE2(kill, pid_t, pid, int, sig) |
477 | 477 | { |
@@ -517,8 +517,8 @@ | ||
517 | 517 | |
518 | 518 | return do_send_specific(tgid, pid, sig, info); |
519 | 519 | } |
520 | ---- linux-4.4.66.orig/kernel/sys.c | |
521 | -+++ linux-4.4.66/kernel/sys.c | |
520 | +--- linux-4.4.67.orig/kernel/sys.c | |
521 | ++++ linux-4.4.67/kernel/sys.c | |
522 | 522 | @@ -183,6 +183,10 @@ SYSCALL_DEFINE3(setpriority, int, which, |
523 | 523 | |
524 | 524 | if (which > PRIO_USER || which < PRIO_PROCESS) |
@@ -548,8 +548,8 @@ | ||
548 | 548 | |
549 | 549 | down_write(&uts_sem); |
550 | 550 | errno = -EFAULT; |
551 | ---- linux-4.4.66.orig/kernel/time/ntp.c | |
552 | -+++ linux-4.4.66/kernel/time/ntp.c | |
551 | +--- linux-4.4.67.orig/kernel/time/ntp.c | |
552 | ++++ linux-4.4.67/kernel/time/ntp.c | |
553 | 553 | @@ -16,6 +16,7 @@ |
554 | 554 | #include <linux/mm.h> |
555 | 555 | #include <linux/module.h> |
@@ -583,8 +583,8 @@ | ||
583 | 583 | |
584 | 584 | if (txc->modes & ADJ_NANO) { |
585 | 585 | struct timespec ts; |
586 | ---- linux-4.4.66.orig/net/ipv4/raw.c | |
587 | -+++ linux-4.4.66/net/ipv4/raw.c | |
586 | +--- linux-4.4.67.orig/net/ipv4/raw.c | |
587 | ++++ linux-4.4.67/net/ipv4/raw.c | |
588 | 588 | @@ -739,6 +739,10 @@ static int raw_recvmsg(struct sock *sk, |
589 | 589 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
590 | 590 | if (!skb) |
@@ -596,8 +596,8 @@ | ||
596 | 596 | |
597 | 597 | copied = skb->len; |
598 | 598 | if (len < copied) { |
599 | ---- linux-4.4.66.orig/net/ipv4/udp.c | |
600 | -+++ linux-4.4.66/net/ipv4/udp.c | |
599 | +--- linux-4.4.67.orig/net/ipv4/udp.c | |
600 | ++++ linux-4.4.67/net/ipv4/udp.c | |
601 | 601 | @@ -1286,6 +1286,10 @@ try_again: |
602 | 602 | &peeked, &off, &err); |
603 | 603 | if (!skb) |
@@ -609,8 +609,8 @@ | ||
609 | 609 | |
610 | 610 | ulen = skb->len - sizeof(struct udphdr); |
611 | 611 | copied = len; |
612 | ---- linux-4.4.66.orig/net/ipv6/raw.c | |
613 | -+++ linux-4.4.66/net/ipv6/raw.c | |
612 | +--- linux-4.4.67.orig/net/ipv6/raw.c | |
613 | ++++ linux-4.4.67/net/ipv6/raw.c | |
614 | 614 | @@ -478,6 +478,10 @@ static int rawv6_recvmsg(struct sock *sk |
615 | 615 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
616 | 616 | if (!skb) |
@@ -622,8 +622,8 @@ | ||
622 | 622 | |
623 | 623 | copied = skb->len; |
624 | 624 | if (copied > len) { |
625 | ---- linux-4.4.66.orig/net/ipv6/udp.c | |
626 | -+++ linux-4.4.66/net/ipv6/udp.c | |
625 | +--- linux-4.4.67.orig/net/ipv6/udp.c | |
626 | ++++ linux-4.4.67/net/ipv6/udp.c | |
627 | 627 | @@ -417,6 +417,10 @@ try_again: |
628 | 628 | &peeked, &off, &err); |
629 | 629 | if (!skb) |
@@ -635,8 +635,8 @@ | ||
635 | 635 | |
636 | 636 | ulen = skb->len - sizeof(struct udphdr); |
637 | 637 | copied = len; |
638 | ---- linux-4.4.66.orig/net/socket.c | |
639 | -+++ linux-4.4.66/net/socket.c | |
638 | +--- linux-4.4.67.orig/net/socket.c | |
639 | ++++ linux-4.4.67/net/socket.c | |
640 | 640 | @@ -1476,6 +1476,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct |
641 | 641 | if (err < 0) |
642 | 642 | goto out_fd; |
@@ -648,8 +648,8 @@ | ||
648 | 648 | if (upeer_sockaddr) { |
649 | 649 | if (newsock->ops->getname(newsock, (struct sockaddr *)&address, |
650 | 650 | &len, 2) < 0) { |
651 | ---- linux-4.4.66.orig/net/unix/af_unix.c | |
652 | -+++ linux-4.4.66/net/unix/af_unix.c | |
651 | +--- linux-4.4.67.orig/net/unix/af_unix.c | |
652 | ++++ linux-4.4.67/net/unix/af_unix.c | |
653 | 653 | @@ -2139,6 +2139,10 @@ static int unix_dgram_recvmsg(struct soc |
654 | 654 | wake_up_interruptible_sync_poll(&u->peer_wait, |
655 | 655 | POLLOUT | POLLWRNORM | POLLWRBAND); |
@@ -661,8 +661,8 @@ | ||
661 | 661 | if (msg->msg_name) |
662 | 662 | unix_copy_addr(msg, skb->sk); |
663 | 663 | |
664 | ---- linux-4.4.66.orig/security/Kconfig | |
665 | -+++ linux-4.4.66/security/Kconfig | |
664 | +--- linux-4.4.67.orig/security/Kconfig | |
665 | ++++ linux-4.4.67/security/Kconfig | |
666 | 666 | @@ -163,5 +163,7 @@ config DEFAULT_SECURITY |
667 | 667 | default "apparmor" if DEFAULT_SECURITY_APPARMOR |
668 | 668 | default "" if DEFAULT_SECURITY_DAC |
@@ -671,8 +671,8 @@ | ||
671 | 671 | + |
672 | 672 | endmenu |
673 | 673 | |
674 | ---- linux-4.4.66.orig/security/Makefile | |
675 | -+++ linux-4.4.66/security/Makefile | |
674 | +--- linux-4.4.67.orig/security/Makefile | |
675 | ++++ linux-4.4.67/security/Makefile | |
676 | 676 | @@ -27,3 +27,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c |
677 | 677 | # Object integrity file lists |
678 | 678 | subdir-$(CONFIG_INTEGRITY) += integrity |
@@ -1,6 +1,6 @@ | ||
1 | -This is TOMOYO Linux patch for kernel 4.9.26. | |
1 | +This is TOMOYO Linux patch for kernel 4.9.27. | |
2 | 2 | |
3 | -Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.26.tar.xz | |
3 | +Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.27.tar.xz | |
4 | 4 | --- |
5 | 5 | fs/exec.c | 2 - |
6 | 6 | fs/open.c | 2 + |
@@ -28,8 +28,8 @@ | ||
28 | 28 | security/Makefile | 3 ++ |
29 | 29 | 24 files changed, 147 insertions(+), 26 deletions(-) |
30 | 30 | |
31 | ---- linux-4.9.26.orig/fs/exec.c | |
32 | -+++ linux-4.9.26/fs/exec.c | |
31 | +--- linux-4.9.27.orig/fs/exec.c | |
32 | ++++ linux-4.9.27/fs/exec.c | |
33 | 33 | @@ -1640,7 +1640,7 @@ static int exec_binprm(struct linux_binp |
34 | 34 | old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent)); |
35 | 35 | rcu_read_unlock(); |
@@ -39,8 +39,8 @@ | ||
39 | 39 | if (ret >= 0) { |
40 | 40 | audit_bprm(bprm); |
41 | 41 | trace_sched_process_exec(current, old_pid, bprm); |
42 | ---- linux-4.9.26.orig/fs/open.c | |
43 | -+++ linux-4.9.26/fs/open.c | |
42 | +--- linux-4.9.27.orig/fs/open.c | |
43 | ++++ linux-4.9.27/fs/open.c | |
44 | 44 | @@ -1145,6 +1145,8 @@ EXPORT_SYMBOL(sys_close); |
45 | 45 | */ |
46 | 46 | SYSCALL_DEFINE0(vhangup) |
@@ -50,8 +50,8 @@ | ||
50 | 50 | if (capable(CAP_SYS_TTY_CONFIG)) { |
51 | 51 | tty_vhangup_self(); |
52 | 52 | return 0; |
53 | ---- linux-4.9.26.orig/fs/proc/version.c | |
54 | -+++ linux-4.9.26/fs/proc/version.c | |
53 | +--- linux-4.9.27.orig/fs/proc/version.c | |
54 | ++++ linux-4.9.27/fs/proc/version.c | |
55 | 55 | @@ -32,3 +32,10 @@ static int __init proc_version_init(void |
56 | 56 | return 0; |
57 | 57 | } |
@@ -59,12 +59,12 @@ | ||
59 | 59 | + |
60 | 60 | +static int __init ccs_show_version(void) |
61 | 61 | +{ |
62 | -+ printk(KERN_INFO "Hook version: 4.9.26 2017/05/04\n"); | |
62 | ++ printk(KERN_INFO "Hook version: 4.9.27 2017/05/14\n"); | |
63 | 63 | + return 0; |
64 | 64 | +} |
65 | 65 | +fs_initcall(ccs_show_version); |
66 | ---- linux-4.9.26.orig/include/linux/init_task.h | |
67 | -+++ linux-4.9.26/include/linux/init_task.h | |
66 | +--- linux-4.9.27.orig/include/linux/init_task.h | |
67 | ++++ linux-4.9.27/include/linux/init_task.h | |
68 | 68 | @@ -193,6 +193,14 @@ extern struct task_group root_task_group |
69 | 69 | # define INIT_TASK_TI(tsk) |
70 | 70 | #endif |
@@ -88,8 +88,8 @@ | ||
88 | 88 | } |
89 | 89 | |
90 | 90 | |
91 | ---- linux-4.9.26.orig/include/linux/sched.h | |
92 | -+++ linux-4.9.26/include/linux/sched.h | |
91 | +--- linux-4.9.27.orig/include/linux/sched.h | |
92 | ++++ linux-4.9.27/include/linux/sched.h | |
93 | 93 | @@ -6,6 +6,8 @@ |
94 | 94 | #include <linux/sched/prio.h> |
95 | 95 |
@@ -110,8 +110,8 @@ | ||
110 | 110 | /* CPU-specific state of this task */ |
111 | 111 | struct thread_struct thread; |
112 | 112 | /* |
113 | ---- linux-4.9.26.orig/include/linux/security.h | |
114 | -+++ linux-4.9.26/include/linux/security.h | |
113 | +--- linux-4.9.27.orig/include/linux/security.h | |
114 | ++++ linux-4.9.27/include/linux/security.h | |
115 | 115 | @@ -55,6 +55,7 @@ struct msg_queue; |
116 | 116 | struct xattr; |
117 | 117 | struct xfrm_sec_ctx; |
@@ -318,8 +318,8 @@ | ||
318 | 318 | } |
319 | 319 | #endif /* CONFIG_SECURITY_PATH */ |
320 | 320 | |
321 | ---- linux-4.9.26.orig/include/net/ip.h | |
322 | -+++ linux-4.9.26/include/net/ip.h | |
321 | +--- linux-4.9.27.orig/include/net/ip.h | |
322 | ++++ linux-4.9.27/include/net/ip.h | |
323 | 323 | @@ -252,6 +252,8 @@ void inet_get_local_port_range(struct ne |
324 | 324 | #ifdef CONFIG_SYSCTL |
325 | 325 | static inline int inet_is_local_reserved_port(struct net *net, int port) |
@@ -338,8 +338,8 @@ | ||
338 | 338 | return 0; |
339 | 339 | } |
340 | 340 | #endif |
341 | ---- linux-4.9.26.orig/kernel/fork.c | |
342 | -+++ linux-4.9.26/kernel/fork.c | |
341 | +--- linux-4.9.27.orig/kernel/fork.c | |
342 | ++++ linux-4.9.27/kernel/fork.c | |
343 | 343 | @@ -390,6 +390,7 @@ void __put_task_struct(struct task_struc |
344 | 344 | delayacct_tsk_free(tsk); |
345 | 345 | put_signal_struct(tsk->signal); |
@@ -366,8 +366,8 @@ | ||
366 | 366 | bad_fork_cleanup_perf: |
367 | 367 | perf_event_free_task(p); |
368 | 368 | bad_fork_cleanup_policy: |
369 | ---- linux-4.9.26.orig/kernel/kexec.c | |
370 | -+++ linux-4.9.26/kernel/kexec.c | |
369 | +--- linux-4.9.27.orig/kernel/kexec.c | |
370 | ++++ linux-4.9.27/kernel/kexec.c | |
371 | 371 | @@ -17,7 +17,7 @@ |
372 | 372 | #include <linux/syscalls.h> |
373 | 373 | #include <linux/vmalloc.h> |
@@ -386,8 +386,8 @@ | ||
386 | 386 | |
387 | 387 | /* |
388 | 388 | * Verify we have a legal set of flags |
389 | ---- linux-4.9.26.orig/kernel/module.c | |
390 | -+++ linux-4.9.26/kernel/module.c | |
389 | +--- linux-4.9.27.orig/kernel/module.c | |
390 | ++++ linux-4.9.27/kernel/module.c | |
391 | 391 | @@ -63,6 +63,7 @@ |
392 | 392 | #include <linux/dynamic_debug.h> |
393 | 393 | #include <uapi/linux/module.h> |
@@ -414,8 +414,8 @@ | ||
414 | 414 | |
415 | 415 | return 0; |
416 | 416 | } |
417 | ---- linux-4.9.26.orig/kernel/ptrace.c | |
418 | -+++ linux-4.9.26/kernel/ptrace.c | |
417 | +--- linux-4.9.27.orig/kernel/ptrace.c | |
418 | ++++ linux-4.9.27/kernel/ptrace.c | |
419 | 419 | @@ -1116,6 +1116,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l |
420 | 420 | { |
421 | 421 | struct task_struct *child; |
@@ -440,8 +440,8 @@ | ||
440 | 440 | |
441 | 441 | if (request == PTRACE_TRACEME) { |
442 | 442 | ret = ptrace_traceme(); |
443 | ---- linux-4.9.26.orig/kernel/reboot.c | |
444 | -+++ linux-4.9.26/kernel/reboot.c | |
443 | +--- linux-4.9.27.orig/kernel/reboot.c | |
444 | ++++ linux-4.9.27/kernel/reboot.c | |
445 | 445 | @@ -16,6 +16,7 @@ |
446 | 446 | #include <linux/syscalls.h> |
447 | 447 | #include <linux/syscore_ops.h> |
@@ -459,8 +459,8 @@ | ||
459 | 459 | |
460 | 460 | /* |
461 | 461 | * If pid namespaces are enabled and the current task is in a child |
462 | ---- linux-4.9.26.orig/kernel/sched/core.c | |
463 | -+++ linux-4.9.26/kernel/sched/core.c | |
462 | +--- linux-4.9.27.orig/kernel/sched/core.c | |
463 | ++++ linux-4.9.27/kernel/sched/core.c | |
464 | 464 | @@ -3811,6 +3811,8 @@ int can_nice(const struct task_struct *p |
465 | 465 | SYSCALL_DEFINE1(nice, int, increment) |
466 | 466 | { |
@@ -470,8 +470,8 @@ | ||
470 | 470 | |
471 | 471 | /* |
472 | 472 | * Setpriority might change our priority at the same moment. |
473 | ---- linux-4.9.26.orig/kernel/signal.c | |
474 | -+++ linux-4.9.26/kernel/signal.c | |
473 | +--- linux-4.9.27.orig/kernel/signal.c | |
474 | ++++ linux-4.9.27/kernel/signal.c | |
475 | 475 | @@ -2847,6 +2847,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s |
476 | 476 | SYSCALL_DEFINE2(kill, pid_t, pid, int, sig) |
477 | 477 | { |
@@ -517,8 +517,8 @@ | ||
517 | 517 | |
518 | 518 | return do_send_specific(tgid, pid, sig, info); |
519 | 519 | } |
520 | ---- linux-4.9.26.orig/kernel/sys.c | |
521 | -+++ linux-4.9.26/kernel/sys.c | |
520 | +--- linux-4.9.27.orig/kernel/sys.c | |
521 | ++++ linux-4.9.27/kernel/sys.c | |
522 | 522 | @@ -183,6 +183,10 @@ SYSCALL_DEFINE3(setpriority, int, which, |
523 | 523 | |
524 | 524 | if (which > PRIO_USER || which < PRIO_PROCESS) |
@@ -548,8 +548,8 @@ | ||
548 | 548 | |
549 | 549 | down_write(&uts_sem); |
550 | 550 | errno = -EFAULT; |
551 | ---- linux-4.9.26.orig/kernel/time/ntp.c | |
552 | -+++ linux-4.9.26/kernel/time/ntp.c | |
551 | +--- linux-4.9.27.orig/kernel/time/ntp.c | |
552 | ++++ linux-4.9.27/kernel/time/ntp.c | |
553 | 553 | @@ -17,6 +17,7 @@ |
554 | 554 | #include <linux/module.h> |
555 | 555 | #include <linux/rtc.h> |
@@ -583,8 +583,8 @@ | ||
583 | 583 | |
584 | 584 | if (txc->modes & ADJ_NANO) { |
585 | 585 | struct timespec ts; |
586 | ---- linux-4.9.26.orig/net/ipv4/raw.c | |
587 | -+++ linux-4.9.26/net/ipv4/raw.c | |
586 | +--- linux-4.9.27.orig/net/ipv4/raw.c | |
587 | ++++ linux-4.9.27/net/ipv4/raw.c | |
588 | 588 | @@ -736,6 +736,10 @@ static int raw_recvmsg(struct sock *sk, |
589 | 589 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
590 | 590 | if (!skb) |
@@ -596,8 +596,8 @@ | ||
596 | 596 | |
597 | 597 | copied = skb->len; |
598 | 598 | if (len < copied) { |
599 | ---- linux-4.9.26.orig/net/ipv4/udp.c | |
600 | -+++ linux-4.9.26/net/ipv4/udp.c | |
599 | +--- linux-4.9.27.orig/net/ipv4/udp.c | |
600 | ++++ linux-4.9.27/net/ipv4/udp.c | |
601 | 601 | @@ -1267,6 +1267,8 @@ try_again: |
602 | 602 | &peeked, &off, &err); |
603 | 603 | if (!skb) |
@@ -607,8 +607,8 @@ | ||
607 | 607 | |
608 | 608 | ulen = skb->len; |
609 | 609 | copied = len; |
610 | ---- linux-4.9.26.orig/net/ipv6/raw.c | |
611 | -+++ linux-4.9.26/net/ipv6/raw.c | |
610 | +--- linux-4.9.27.orig/net/ipv6/raw.c | |
611 | ++++ linux-4.9.27/net/ipv6/raw.c | |
612 | 612 | @@ -478,6 +478,10 @@ static int rawv6_recvmsg(struct sock *sk |
613 | 613 | skb = skb_recv_datagram(sk, flags, noblock, &err); |
614 | 614 | if (!skb) |
@@ -620,8 +620,8 @@ | ||
620 | 620 | |
621 | 621 | copied = skb->len; |
622 | 622 | if (copied > len) { |
623 | ---- linux-4.9.26.orig/net/ipv6/udp.c | |
624 | -+++ linux-4.9.26/net/ipv6/udp.c | |
623 | +--- linux-4.9.27.orig/net/ipv6/udp.c | |
624 | ++++ linux-4.9.27/net/ipv6/udp.c | |
625 | 625 | @@ -348,6 +348,8 @@ try_again: |
626 | 626 | &peeked, &off, &err); |
627 | 627 | if (!skb) |
@@ -631,8 +631,8 @@ | ||
631 | 631 | |
632 | 632 | ulen = skb->len; |
633 | 633 | copied = len; |
634 | ---- linux-4.9.26.orig/net/socket.c | |
635 | -+++ linux-4.9.26/net/socket.c | |
634 | +--- linux-4.9.27.orig/net/socket.c | |
635 | ++++ linux-4.9.27/net/socket.c | |
636 | 636 | @@ -1481,6 +1481,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct |
637 | 637 | if (err < 0) |
638 | 638 | goto out_fd; |
@@ -644,8 +644,8 @@ | ||
644 | 644 | if (upeer_sockaddr) { |
645 | 645 | if (newsock->ops->getname(newsock, (struct sockaddr *)&address, |
646 | 646 | &len, 2) < 0) { |
647 | ---- linux-4.9.26.orig/net/unix/af_unix.c | |
648 | -+++ linux-4.9.26/net/unix/af_unix.c | |
647 | +--- linux-4.9.27.orig/net/unix/af_unix.c | |
648 | ++++ linux-4.9.27/net/unix/af_unix.c | |
649 | 649 | @@ -2145,6 +2145,10 @@ static int unix_dgram_recvmsg(struct soc |
650 | 650 | POLLOUT | POLLWRNORM | |
651 | 651 | POLLWRBAND); |
@@ -665,8 +665,8 @@ | ||
665 | 665 | mutex_unlock(&u->iolock); |
666 | 666 | out: |
667 | 667 | return err; |
668 | ---- linux-4.9.26.orig/security/Kconfig | |
669 | -+++ linux-4.9.26/security/Kconfig | |
668 | +--- linux-4.9.27.orig/security/Kconfig | |
669 | ++++ linux-4.9.27/security/Kconfig | |
670 | 670 | @@ -204,5 +204,7 @@ config DEFAULT_SECURITY |
671 | 671 | default "apparmor" if DEFAULT_SECURITY_APPARMOR |
672 | 672 | default "" if DEFAULT_SECURITY_DAC |
@@ -675,8 +675,8 @@ | ||
675 | 675 | + |
676 | 676 | endmenu |
677 | 677 | |
678 | ---- linux-4.9.26.orig/security/Makefile | |
679 | -+++ linux-4.9.26/security/Makefile | |
678 | +--- linux-4.9.27.orig/security/Makefile | |
679 | ++++ linux-4.9.27/security/Makefile | |
680 | 680 | @@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c |
681 | 681 | # Object integrity file lists |
682 | 682 | subdir-$(CONFIG_INTEGRITY) += integrity |
@@ -144,7 +144,7 @@ | ||
144 | 144 | set(policy); |
145 | 145 | check_init(policy, "<init3>"); |
146 | 146 | unset(policy); |
147 | - | |
147 | + | |
148 | 148 | policy = "100 acl auto_domain_transition\n" |
149 | 149 | "0 allow task.pid=1 transition=\"<init>\"\n"; |
150 | 150 | set(policy); |
@@ -165,7 +165,7 @@ | ||
165 | 165 | check(policy, fd != EOF); |
166 | 166 | close(fd); |
167 | 167 | unset(policy); |
168 | - | |
168 | + | |
169 | 169 | policy = "100 acl read\n" |
170 | 170 | "0 allow\n" |
171 | 171 | "1 deny\n"; |
@@ -174,7 +174,7 @@ | ||
174 | 174 | check(policy, fd != EOF); |
175 | 175 | close(fd); |
176 | 176 | unset(policy); |
177 | - | |
177 | + | |
178 | 178 | policy = "100 acl read\n" |
179 | 179 | "0 deny\n" |
180 | 180 | "1 allow\n"; |
@@ -183,7 +183,7 @@ | ||
183 | 183 | check(policy, fd == EOF); |
184 | 184 | close(fd); |
185 | 185 | unset(policy); |
186 | - | |
186 | + | |
187 | 187 | policy = "100 acl read path=\"/dev/null\"\n" |
188 | 188 | "0 allow\n" |
189 | 189 | "1 deny\n"; |
@@ -465,9 +465,9 @@ | ||
465 | 465 | unset(policy); |
466 | 466 | |
467 | 467 | policy = "100 acl create\n" |
468 | - "0 allow path=\"dev(¥$,¥$):/tmp/file\" path.parent.uid=0\n" | |
468 | + "0 allow path=\"dev(\\$,\\$):/tmp/file\" path.parent.uid=0\n" | |
469 | 469 | "0 allow path=\"/tmp/file\" path.parent.uid=0\n" |
470 | - "0 allow path=\"dev(¥$,¥$):/file\" path.parent.uid=0\n" | |
470 | + "0 allow path=\"dev(\\$,\\$):/file\" path.parent.uid=0\n" | |
471 | 471 | "1 deny\n"; |
472 | 472 | set(policy); |
473 | 473 | unlink("/tmp/file"); |
@@ -543,7 +543,7 @@ | ||
543 | 543 | unlink("/tmp/file2"); |
544 | 544 | check(policy, link("/tmp/file", "/tmp/file2") == 0); |
545 | 545 | unset(policy); |
546 | - | |
546 | + | |
547 | 547 | policy = "100 acl link\n" |
548 | 548 | "0 deny old_path.uid=0 old_path.uid=old_path.parent.uid\n" |
549 | 549 | "1 allow\n"; |
@@ -567,7 +567,7 @@ | ||
567 | 567 | unlink("/tmp/file2"); |
568 | 568 | check(policy, rename("/tmp/file", "/tmp/file2") == 0); |
569 | 569 | unset(policy); |
570 | - | |
570 | + | |
571 | 571 | policy = "100 acl rename\n" |
572 | 572 | "0 deny old_path.uid=0 old_path.uid=old_path.parent.uid\n" |
573 | 573 | "1 allow\n"; |
@@ -602,7 +602,7 @@ | ||
602 | 602 | check(policy, bind(fd1, (struct sockaddr *) &addr1, sizeof(addr1)) == |
603 | 603 | EOF); |
604 | 604 | unset(policy); |
605 | - | |
605 | + | |
606 | 606 | policy = "100 acl inet_stream_bind\n" |
607 | 607 | "0 allow ip!=127.0.0.1 port=0\n" |
608 | 608 | "1 deny\n"; |
@@ -618,7 +618,7 @@ | ||
618 | 618 | check(policy, bind(fd1, (struct sockaddr *) &addr1, sizeof(addr1)) == |
619 | 619 | EOF); |
620 | 620 | unset(policy); |
621 | - | |
621 | + | |
622 | 622 | policy = "100 acl inet_stream_bind\n" |
623 | 623 | "0 allow ip=127.0.0.1 port=0\n" |
624 | 624 | "1 deny\n"; |
@@ -732,7 +732,7 @@ | ||
732 | 732 | check(policy, bind(fd1, (struct sockaddr *) &addr1, sizeof(addr1)) == |
733 | 733 | EOF); |
734 | 734 | unset(policy); |
735 | - | |
735 | + | |
736 | 736 | policy = "100 acl inet_dgram_bind\n" |
737 | 737 | "0 allow ip!=127.0.0.1 port=0\n" |
738 | 738 | "1 deny\n"; |
@@ -816,7 +816,7 @@ | ||
816 | 816 | static void test_network_inet_raw(void) |
817 | 817 | { |
818 | 818 | struct sockaddr_in addr = { }; |
819 | - static struct iphdr ip = { }; | |
819 | + struct iphdr ip = { }; | |
820 | 820 | int fd1; |
821 | 821 | int fd2; |
822 | 822 | char *policy; |
@@ -886,7 +886,7 @@ | ||
886 | 886 | unset(policy); |
887 | 887 | |
888 | 888 | policy = "100 acl inet_raw_send\n" |
889 | - "0 allow ip=127.0.0.1 proto=1\n" | |
889 | + "0 allow ip=127.0.0.1 proto=1\n" | |
890 | 890 | "1 deny\n"; |
891 | 891 | set(policy); |
892 | 892 | check(policy, send(fd2, &ip, sizeof(ip), 0) != EOF); |
@@ -917,6 +917,8 @@ | ||
917 | 917 | memset(buffer, 0, sizeof(buffer)); |
918 | 918 | |
919 | 919 | fd1 = socket(PF_INET6, SOCK_STREAM, 0); |
920 | + if (fd1 == EOF && errno == EAFNOSUPPORT) | |
921 | + return; | |
920 | 922 | fd2 = socket(PF_INET6, SOCK_STREAM, 0); |
921 | 923 | addr1.sin6_family = AF_INET6; |
922 | 924 | addr1.sin6_addr = in6addr_loopback; |
@@ -1047,6 +1049,8 @@ | ||
1047 | 1049 | memset(buffer, 0, sizeof(buffer)); |
1048 | 1050 | |
1049 | 1051 | fd1 = socket(PF_INET6, SOCK_DGRAM, 0); |
1052 | + if (fd1 == EOF && errno == EAFNOSUPPORT) | |
1053 | + return; | |
1050 | 1054 | fd2 = socket(PF_INET6, SOCK_DGRAM, 0); |
1051 | 1055 | addr1.sin6_family = AF_INET6; |
1052 | 1056 | addr1.sin6_addr = in6addr_loopback; |
@@ -946,6 +946,8 @@ | ||
946 | 946 | memset(buffer, 0, sizeof(buffer)); |
947 | 947 | |
948 | 948 | fd1 = socket(PF_INET6, SOCK_STREAM, 0); |
949 | + if (fd1 == EOF && errno == EAFNOSUPPORT) | |
950 | + return; | |
949 | 951 | fd2 = socket(PF_INET6, SOCK_STREAM, 0); |
950 | 952 | addr1.sin6_family = AF_INET6; |
951 | 953 | addr1.sin6_addr = in6addr_loopback; |
@@ -1077,6 +1079,8 @@ | ||
1077 | 1079 | memset(buffer, 0, sizeof(buffer)); |
1078 | 1080 | |
1079 | 1081 | fd1 = socket(PF_INET6, SOCK_DGRAM, 0); |
1082 | + if (fd1 == EOF && errno == EAFNOSUPPORT) | |
1083 | + return; | |
1080 | 1084 | fd2 = socket(PF_INET6, SOCK_DGRAM, 0); |
1081 | 1085 | addr1.sin6_family = AF_INET6; |
1082 | 1086 | addr1.sin6_addr = in6addr_loopback; |