• R/O
  • SSH
  • HTTPS

caitsith: 提交


Commit MetaInfo

修订版369 (tree)
时间2022-06-17 23:39:13
作者kumaneko

Log Message

(empty log message)

更改概述

差异

--- trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.14.280.
1+This is TOMOYO Linux patch for kernel 4.14.284.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.280.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.284.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,8 +28,8 @@
2828 security/security.c | 9 +++++-
2929 24 files changed, 153 insertions(+), 29 deletions(-)
3030
31---- linux-4.14.280.orig/fs/exec.c
32-+++ linux-4.14.280/fs/exec.c
31+--- linux-4.14.284.orig/fs/exec.c
32++++ linux-4.14.284/fs/exec.c
3333 @@ -1692,7 +1692,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.14.280.orig/fs/open.c
43-+++ linux-4.14.280/fs/open.c
42+--- linux-4.14.284.orig/fs/open.c
43++++ linux-4.14.284/fs/open.c
4444 @@ -1193,6 +1193,8 @@ EXPORT_SYMBOL(sys_close);
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-4.14.280.orig/fs/proc/version.c
54-+++ linux-4.14.280/fs/proc/version.c
53+--- linux-4.14.284.orig/fs/proc/version.c
54++++ linux-4.14.284/fs/proc/version.c
5555 @@ -33,3 +33,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 4.14.280 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 4.14.284 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.14.280.orig/include/linux/init_task.h
67-+++ linux-4.14.280/include/linux/init_task.h
66+--- linux-4.14.284.orig/include/linux/init_task.h
67++++ linux-4.14.284/include/linux/init_task.h
6868 @@ -219,6 +219,14 @@ extern struct cred init_cred;
6969 #define INIT_TASK_SECURITY
7070 #endif
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-4.14.280.orig/include/linux/sched.h
92-+++ linux-4.14.280/include/linux/sched.h
91+--- linux-4.14.284.orig/include/linux/sched.h
92++++ linux-4.14.284/include/linux/sched.h
9393 @@ -33,6 +33,7 @@ struct audit_context;
9494 struct backing_dev_info;
9595 struct bio_list;
@@ -109,8 +109,8 @@
109109
110110 /*
111111 * New fields for task_struct should be added above here, so that
112---- linux-4.14.280.orig/include/linux/security.h
113-+++ linux-4.14.280/include/linux/security.h
112+--- linux-4.14.284.orig/include/linux/security.h
113++++ linux-4.14.284/include/linux/security.h
114114 @@ -56,6 +56,7 @@ struct msg_queue;
115115 struct xattr;
116116 struct xfrm_sec_ctx;
@@ -331,8 +331,8 @@
331331 }
332332 #endif /* CONFIG_SECURITY_PATH */
333333
334---- linux-4.14.280.orig/include/net/ip.h
335-+++ linux-4.14.280/include/net/ip.h
334+--- linux-4.14.284.orig/include/net/ip.h
335++++ linux-4.14.284/include/net/ip.h
336336 @@ -266,6 +266,8 @@ void inet_get_local_port_range(struct ne
337337 #ifdef CONFIG_SYSCTL
338338 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -351,8 +351,8 @@
351351 return 0;
352352 }
353353
354---- linux-4.14.280.orig/kernel/kexec.c
355-+++ linux-4.14.280/kernel/kexec.c
354+--- linux-4.14.284.orig/kernel/kexec.c
355++++ linux-4.14.284/kernel/kexec.c
356356 @@ -17,7 +17,7 @@
357357 #include <linux/syscalls.h>
358358 #include <linux/vmalloc.h>
@@ -371,8 +371,8 @@
371371
372372 /*
373373 * Verify we have a legal set of flags
374---- linux-4.14.280.orig/kernel/module.c
375-+++ linux-4.14.280/kernel/module.c
374+--- linux-4.14.284.orig/kernel/module.c
375++++ linux-4.14.284/kernel/module.c
376376 @@ -66,6 +66,7 @@
377377 #include <linux/audit.h>
378378 #include <uapi/linux/module.h>
@@ -399,9 +399,9 @@
399399
400400 return 0;
401401 }
402---- linux-4.14.280.orig/kernel/ptrace.c
403-+++ linux-4.14.280/kernel/ptrace.c
404-@@ -1186,6 +1186,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402+--- linux-4.14.284.orig/kernel/ptrace.c
403++++ linux-4.14.284/kernel/ptrace.c
404+@@ -1185,6 +1185,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
405405 {
406406 struct task_struct *child;
407407 long ret;
@@ -413,7 +413,7 @@
413413
414414 if (request == PTRACE_TRACEME) {
415415 ret = ptrace_traceme();
416-@@ -1335,6 +1340,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
416+@@ -1334,6 +1339,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
417417 {
418418 struct task_struct *child;
419419 long ret;
@@ -425,8 +425,8 @@
425425
426426 if (request == PTRACE_TRACEME) {
427427 ret = ptrace_traceme();
428---- linux-4.14.280.orig/kernel/reboot.c
429-+++ linux-4.14.280/kernel/reboot.c
428+--- linux-4.14.284.orig/kernel/reboot.c
429++++ linux-4.14.284/kernel/reboot.c
430430 @@ -16,6 +16,7 @@
431431 #include <linux/syscalls.h>
432432 #include <linux/syscore_ops.h>
@@ -444,8 +444,8 @@
444444
445445 /*
446446 * If pid namespaces are enabled and the current task is in a child
447---- linux-4.14.280.orig/kernel/sched/core.c
448-+++ linux-4.14.280/kernel/sched/core.c
447+--- linux-4.14.284.orig/kernel/sched/core.c
448++++ linux-4.14.284/kernel/sched/core.c
449449 @@ -3859,6 +3859,8 @@ int can_nice(const struct task_struct *p
450450 SYSCALL_DEFINE1(nice, int, increment)
451451 {
@@ -455,8 +455,8 @@
455455
456456 /*
457457 * Setpriority might change our priority at the same moment.
458---- linux-4.14.280.orig/kernel/signal.c
459-+++ linux-4.14.280/kernel/signal.c
458+--- linux-4.14.284.orig/kernel/signal.c
459++++ linux-4.14.284/kernel/signal.c
460460 @@ -3031,6 +3031,8 @@ COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait,
461461 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
462462 {
@@ -502,8 +502,8 @@
502502
503503 return do_send_specific(tgid, pid, sig, info);
504504 }
505---- linux-4.14.280.orig/kernel/sys.c
506-+++ linux-4.14.280/kernel/sys.c
505+--- linux-4.14.284.orig/kernel/sys.c
506++++ linux-4.14.284/kernel/sys.c
507507 @@ -193,6 +193,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
508508
509509 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -533,8 +533,8 @@
533533
534534 errno = -EFAULT;
535535 if (!copy_from_user(tmp, name, len)) {
536---- linux-4.14.280.orig/kernel/time/ntp.c
537-+++ linux-4.14.280/kernel/time/ntp.c
536+--- linux-4.14.284.orig/kernel/time/ntp.c
537++++ linux-4.14.284/kernel/time/ntp.c
538538 @@ -18,6 +18,7 @@
539539 #include <linux/module.h>
540540 #include <linux/rtc.h>
@@ -568,8 +568,8 @@
568568
569569 if (txc->modes & ADJ_NANO) {
570570 struct timespec ts;
571---- linux-4.14.280.orig/net/ipv4/raw.c
572-+++ linux-4.14.280/net/ipv4/raw.c
571+--- linux-4.14.284.orig/net/ipv4/raw.c
572++++ linux-4.14.284/net/ipv4/raw.c
573573 @@ -771,6 +771,10 @@ static int raw_recvmsg(struct sock *sk,
574574 skb = skb_recv_datagram(sk, flags, noblock, &err);
575575 if (!skb)
@@ -581,8 +581,8 @@
581581
582582 copied = skb->len;
583583 if (len < copied) {
584---- linux-4.14.280.orig/net/ipv4/udp.c
585-+++ linux-4.14.280/net/ipv4/udp.c
584+--- linux-4.14.284.orig/net/ipv4/udp.c
585++++ linux-4.14.284/net/ipv4/udp.c
586586 @@ -1608,6 +1608,8 @@ try_again:
587587 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
588588 if (!skb)
@@ -592,8 +592,8 @@
592592
593593 ulen = udp_skb_len(skb);
594594 copied = len;
595---- linux-4.14.280.orig/net/ipv6/raw.c
596-+++ linux-4.14.280/net/ipv6/raw.c
595+--- linux-4.14.284.orig/net/ipv6/raw.c
596++++ linux-4.14.284/net/ipv6/raw.c
597597 @@ -485,6 +485,10 @@ static int rawv6_recvmsg(struct sock *sk
598598 skb = skb_recv_datagram(sk, flags, noblock, &err);
599599 if (!skb)
@@ -605,8 +605,8 @@
605605
606606 copied = skb->len;
607607 if (copied > len) {
608---- linux-4.14.280.orig/net/ipv6/udp.c
609-+++ linux-4.14.280/net/ipv6/udp.c
608+--- linux-4.14.284.orig/net/ipv6/udp.c
609++++ linux-4.14.284/net/ipv6/udp.c
610610 @@ -371,6 +371,8 @@ try_again:
611611 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
612612 if (!skb)
@@ -616,8 +616,8 @@
616616
617617 ulen = udp6_skb_len(skb);
618618 copied = len;
619---- linux-4.14.280.orig/net/socket.c
620-+++ linux-4.14.280/net/socket.c
619+--- linux-4.14.284.orig/net/socket.c
620++++ linux-4.14.284/net/socket.c
621621 @@ -1588,6 +1588,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
622622 if (err < 0)
623623 goto out_fd;
@@ -629,8 +629,8 @@
629629 if (upeer_sockaddr) {
630630 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
631631 &len, 2) < 0) {
632---- linux-4.14.280.orig/net/unix/af_unix.c
633-+++ linux-4.14.280/net/unix/af_unix.c
632+--- linux-4.14.284.orig/net/unix/af_unix.c
633++++ linux-4.14.284/net/unix/af_unix.c
634634 @@ -2173,6 +2173,10 @@ static int unix_dgram_recvmsg(struct soc
635635 POLLOUT | POLLWRNORM |
636636 POLLWRBAND);
@@ -650,8 +650,8 @@
650650 mutex_unlock(&u->iolock);
651651 out:
652652 return err;
653---- linux-4.14.280.orig/security/Kconfig
654-+++ linux-4.14.280/security/Kconfig
653+--- linux-4.14.284.orig/security/Kconfig
654++++ linux-4.14.284/security/Kconfig
655655 @@ -263,5 +263,7 @@ config DEFAULT_SECURITY
656656 default "apparmor" if DEFAULT_SECURITY_APPARMOR
657657 default "" if DEFAULT_SECURITY_DAC
@@ -660,8 +660,8 @@
660660 +
661661 endmenu
662662
663---- linux-4.14.280.orig/security/Makefile
664-+++ linux-4.14.280/security/Makefile
663+--- linux-4.14.284.orig/security/Makefile
664++++ linux-4.14.284/security/Makefile
665665 @@ -30,3 +30,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
666666 # Object integrity file lists
667667 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -669,8 +669,8 @@
669669 +
670670 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
671671 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
672---- linux-4.14.280.orig/security/security.c
673-+++ linux-4.14.280/security/security.c
672+--- linux-4.14.284.orig/security/security.c
673++++ linux-4.14.284/security/security.c
674674 @@ -978,12 +978,19 @@ int security_file_open(struct file *file
675675
676676 int security_task_alloc(struct task_struct *task, unsigned long clone_flags)
--- trunk/caitsith-patch/patches/ccs-patch-4.18-centos-8.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-4.18-centos-8.diff (revision 369)
@@ -1,6 +1,6 @@
11 This is TOMOYO Linux patch for CentOS Stream 8.
22
3-Source code for this patch is https://vault.centos.org/centos/8-stream/BaseOS/Source/SPackages/kernel-4.18.0-383.el8.src.rpm
3+Source code for this patch is https://vault.centos.org/centos/8-stream/BaseOS/Source/SPackages/kernel-4.18.0-394.el8.src.rpm
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,8 +28,8 @@
2828 security/security.c | 5 ++-
2929 24 files changed, 144 insertions(+), 29 deletions(-)
3030
31---- linux-4.18.0-383.el8.orig/fs/exec.c
32-+++ linux-4.18.0-383.el8/fs/exec.c
31+--- linux-4.18.0-394.el8.orig/fs/exec.c
32++++ linux-4.18.0-394.el8/fs/exec.c
3333 @@ -1748,7 +1748,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
@@ -39,9 +39,9 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.18.0-383.el8.orig/fs/open.c
43-+++ linux-4.18.0-383.el8/fs/open.c
44-@@ -1237,6 +1237,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
42+--- linux-4.18.0-394.el8.orig/fs/open.c
43++++ linux-4.18.0-394.el8/fs/open.c
44+@@ -1330,6 +1330,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
4545 */
4646 SYSCALL_DEFINE0(vhangup)
4747 {
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-4.18.0-383.el8.orig/fs/proc/version.c
54-+++ linux-4.18.0-383.el8/fs/proc/version.c
53+--- linux-4.18.0-394.el8.orig/fs/proc/version.c
54++++ linux-4.18.0-394.el8/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 4.18.0-383.el8 2022/05/11\n");
62++ printk(KERN_INFO "Hook version: 4.18.0-394.el8 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.18.0-383.el8.orig/include/linux/sched.h
67-+++ linux-4.18.0-383.el8/include/linux/sched.h
66+--- linux-4.18.0-394.el8.orig/include/linux/sched.h
67++++ linux-4.18.0-394.el8/include/linux/sched.h
6868 @@ -41,6 +41,7 @@ struct audit_context;
6969 struct backing_dev_info;
7070 struct bio_list;
@@ -73,7 +73,7 @@
7373 struct cfs_rq;
7474 struct fs_struct;
7575 struct futex_pi_state;
76-@@ -1408,6 +1409,10 @@ struct task_struct {
76+@@ -1432,6 +1433,10 @@ struct task_struct {
7777 /* Used by LSM modules for access restriction: */
7878 void *security;
7979 #endif
@@ -84,8 +84,8 @@
8484
8585 /*
8686 * New fields for task_struct should be added above here, so that
87---- linux-4.18.0-383.el8.orig/include/linux/security.h
88-+++ linux-4.18.0-383.el8/include/linux/security.h
87+--- linux-4.18.0-394.el8.orig/include/linux/security.h
88++++ linux-4.18.0-394.el8/include/linux/security.h
8989 @@ -56,6 +56,7 @@ struct mm_struct;
9090 struct fs_context;
9191 struct fs_parameter;
@@ -306,9 +306,9 @@
306306 }
307307 #endif /* CONFIG_SECURITY_PATH */
308308
309---- linux-4.18.0-383.el8.orig/include/net/ip.h
310-+++ linux-4.18.0-383.el8/include/net/ip.h
311-@@ -282,6 +282,8 @@ void inet_get_local_port_range(struct ne
309+--- linux-4.18.0-394.el8.orig/include/net/ip.h
310++++ linux-4.18.0-394.el8/include/net/ip.h
311+@@ -297,6 +297,8 @@ void inet_get_local_port_range(struct ne
312312 #ifdef CONFIG_SYSCTL
313313 static inline bool inet_is_local_reserved_port(struct net *net, int port)
314314 {
@@ -317,7 +317,7 @@
317317 if (!net->ipv4.sysctl_local_reserved_ports)
318318 return false;
319319 return test_bit(port, net->ipv4.sysctl_local_reserved_ports);
320-@@ -300,6 +302,8 @@ static inline bool inet_port_requires_bi
320+@@ -315,6 +317,8 @@ static inline bool inet_port_requires_bi
321321 #else
322322 static inline bool inet_is_local_reserved_port(struct net *net, int port)
323323 {
@@ -326,8 +326,8 @@
326326 return false;
327327 }
328328
329---- linux-4.18.0-383.el8.orig/init/init_task.c
330-+++ linux-4.18.0-383.el8/init/init_task.c
329+--- linux-4.18.0-394.el8.orig/init/init_task.c
330++++ linux-4.18.0-394.el8/init/init_task.c
331331 @@ -217,6 +217,10 @@ struct task_struct init_task
332332 #ifdef CONFIG_SECURITY
333333 .security = NULL,
@@ -339,8 +339,8 @@
339339 };
340340 EXPORT_SYMBOL(init_task);
341341
342---- linux-4.18.0-383.el8.orig/kernel/kexec.c
343-+++ linux-4.18.0-383.el8/kernel/kexec.c
342+--- linux-4.18.0-394.el8.orig/kernel/kexec.c
343++++ linux-4.18.0-394.el8/kernel/kexec.c
344344 @@ -18,7 +18,7 @@
345345 #include <linux/syscalls.h>
346346 #include <linux/vmalloc.h>
@@ -359,8 +359,8 @@
359359
360360 /* Permit LSMs and IMA to fail the kexec */
361361 result = security_kernel_load_data(LOADING_KEXEC_IMAGE);
362---- linux-4.18.0-383.el8.orig/kernel/module.c
363-+++ linux-4.18.0-383.el8/kernel/module.c
362+--- linux-4.18.0-394.el8.orig/kernel/module.c
363++++ linux-4.18.0-394.el8/kernel/module.c
364364 @@ -67,6 +67,7 @@
365365 #include <linux/audit.h>
366366 #include <uapi/linux/module.h>
@@ -387,8 +387,8 @@
387387
388388 return 0;
389389 }
390---- linux-4.18.0-383.el8.orig/kernel/ptrace.c
391-+++ linux-4.18.0-383.el8/kernel/ptrace.c
390+--- linux-4.18.0-394.el8.orig/kernel/ptrace.c
391++++ linux-4.18.0-394.el8/kernel/ptrace.c
392392 @@ -1137,6 +1137,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
393393 {
394394 struct task_struct *child;
@@ -413,8 +413,8 @@
413413
414414 if (request == PTRACE_TRACEME) {
415415 ret = ptrace_traceme();
416---- linux-4.18.0-383.el8.orig/kernel/reboot.c
417-+++ linux-4.18.0-383.el8/kernel/reboot.c
416+--- linux-4.18.0-394.el8.orig/kernel/reboot.c
417++++ linux-4.18.0-394.el8/kernel/reboot.c
418418 @@ -16,6 +16,7 @@
419419 #include <linux/syscalls.h>
420420 #include <linux/syscore_ops.h>
@@ -432,9 +432,9 @@
432432
433433 /*
434434 * If pid namespaces are enabled and the current task is in a child
435---- linux-4.18.0-383.el8.orig/kernel/sched/core.c
436-+++ linux-4.18.0-383.el8/kernel/sched/core.c
437-@@ -5022,6 +5022,8 @@ int can_nice(const struct task_struct *p
435+--- linux-4.18.0-394.el8.orig/kernel/sched/core.c
436++++ linux-4.18.0-394.el8/kernel/sched/core.c
437+@@ -4996,6 +4996,8 @@ int can_nice(const struct task_struct *p
438438 SYSCALL_DEFINE1(nice, int, increment)
439439 {
440440 long nice, retval;
@@ -443,9 +443,9 @@
443443
444444 /*
445445 * Setpriority might change our priority at the same moment.
446---- linux-4.18.0-383.el8.orig/kernel/signal.c
447-+++ linux-4.18.0-383.el8/kernel/signal.c
448-@@ -3547,6 +3547,8 @@ SYSCALL_DEFINE2(kill, pid_t, pid, int, s
446+--- linux-4.18.0-394.el8.orig/kernel/signal.c
447++++ linux-4.18.0-394.el8/kernel/signal.c
448+@@ -3562,6 +3562,8 @@ SYSCALL_DEFINE2(kill, pid_t, pid, int, s
449449 {
450450 struct kernel_siginfo info;
451451
@@ -454,7 +454,7 @@
454454 prepare_kill_siginfo(sig, &info);
455455
456456 return kill_something_info(sig, &info, pid);
457-@@ -3729,6 +3731,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
457+@@ -3744,6 +3746,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
458458 /* This is only valid for single tasks */
459459 if (pid <= 0 || tgid <= 0)
460460 return -EINVAL;
@@ -463,7 +463,7 @@
463463
464464 return do_tkill(tgid, pid, sig);
465465 }
466-@@ -3745,6 +3749,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
466+@@ -3760,6 +3764,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
467467 /* This is only valid for single tasks */
468468 if (pid <= 0)
469469 return -EINVAL;
@@ -472,7 +472,7 @@
472472
473473 return do_tkill(0, pid, sig);
474474 }
475-@@ -3758,6 +3764,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
475+@@ -3773,6 +3779,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
476476 (task_pid_vnr(current) != pid))
477477 return -EPERM;
478478
@@ -481,7 +481,7 @@
481481 /* POSIX.1b doesn't mention process groups. */
482482 return kill_proc_info(sig, info, pid);
483483 }
484-@@ -3805,6 +3813,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
484+@@ -3820,6 +3828,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
485485 (task_pid_vnr(current) != pid))
486486 return -EPERM;
487487
@@ -490,8 +490,8 @@
490490 return do_send_specific(tgid, pid, sig, info);
491491 }
492492
493---- linux-4.18.0-383.el8.orig/kernel/sys.c
494-+++ linux-4.18.0-383.el8/kernel/sys.c
493+--- linux-4.18.0-394.el8.orig/kernel/sys.c
494++++ linux-4.18.0-394.el8/kernel/sys.c
495495 @@ -210,6 +210,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
496496
497497 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -521,8 +521,8 @@
521521
522522 down_write(&uts_sem);
523523 errno = -EFAULT;
524---- linux-4.18.0-383.el8.orig/kernel/time/timekeeping.c
525-+++ linux-4.18.0-383.el8/kernel/time/timekeeping.c
524+--- linux-4.18.0-394.el8.orig/kernel/time/timekeeping.c
525++++ linux-4.18.0-394.el8/kernel/time/timekeeping.c
526526 @@ -26,6 +26,7 @@
527527 #include <linux/pvclock_gtod.h>
528528 #include <linux/compiler.h>
@@ -531,7 +531,7 @@
531531
532532 #include "tick-internal.h"
533533 #include "ntp_internal.h"
534-@@ -2264,10 +2265,15 @@ static int timekeeping_validate_timex(co
534+@@ -2266,10 +2267,15 @@ static int timekeeping_validate_timex(co
535535 if (!(txc->modes & ADJ_OFFSET_READONLY) &&
536536 !capable(CAP_SYS_TIME))
537537 return -EPERM;
@@ -547,7 +547,7 @@
547547 /*
548548 * if the quartz is off by more than 10% then
549549 * something is VERY wrong!
550-@@ -2282,6 +2288,8 @@ static int timekeeping_validate_timex(co
550+@@ -2284,6 +2290,8 @@ static int timekeeping_validate_timex(co
551551 /* In order to inject time, you gotta be super-user! */
552552 if (!capable(CAP_SYS_TIME))
553553 return -EPERM;
@@ -556,9 +556,9 @@
556556
557557 /*
558558 * Validate if a timespec/timeval used to inject a time
559---- linux-4.18.0-383.el8.orig/net/ipv4/raw.c
560-+++ linux-4.18.0-383.el8/net/ipv4/raw.c
561-@@ -781,6 +781,10 @@ static int raw_recvmsg(struct sock *sk,
559+--- linux-4.18.0-394.el8.orig/net/ipv4/raw.c
560++++ linux-4.18.0-394.el8/net/ipv4/raw.c
561+@@ -775,6 +775,10 @@ static int raw_recvmsg(struct sock *sk,
562562 skb = skb_recv_datagram(sk, flags, noblock, &err);
563563 if (!skb)
564564 goto out;
@@ -569,9 +569,9 @@
569569
570570 copied = skb->len;
571571 if (len < copied) {
572---- linux-4.18.0-383.el8.orig/net/ipv4/udp.c
573-+++ linux-4.18.0-383.el8/net/ipv4/udp.c
574-@@ -1858,6 +1858,8 @@ try_again:
572+--- linux-4.18.0-394.el8.orig/net/ipv4/udp.c
573++++ linux-4.18.0-394.el8/net/ipv4/udp.c
574+@@ -1848,6 +1848,8 @@ try_again:
575575 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
576576 if (!skb)
577577 return err;
@@ -580,8 +580,8 @@
580580
581581 ulen = udp_skb_len(skb);
582582 copied = len;
583---- linux-4.18.0-383.el8.orig/net/ipv6/raw.c
584-+++ linux-4.18.0-383.el8/net/ipv6/raw.c
583+--- linux-4.18.0-394.el8.orig/net/ipv6/raw.c
584++++ linux-4.18.0-394.el8/net/ipv6/raw.c
585585 @@ -485,6 +485,10 @@ static int rawv6_recvmsg(struct sock *sk
586586 skb = skb_recv_datagram(sk, flags, noblock, &err);
587587 if (!skb)
@@ -593,8 +593,8 @@
593593
594594 copied = skb->len;
595595 if (copied > len) {
596---- linux-4.18.0-383.el8.orig/net/ipv6/udp.c
597-+++ linux-4.18.0-383.el8/net/ipv6/udp.c
596+--- linux-4.18.0-394.el8.orig/net/ipv6/udp.c
597++++ linux-4.18.0-394.el8/net/ipv6/udp.c
598598 @@ -346,6 +346,8 @@ try_again:
599599 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
600600 if (!skb)
@@ -604,8 +604,8 @@
604604
605605 ulen = udp6_skb_len(skb);
606606 copied = len;
607---- linux-4.18.0-383.el8.orig/net/socket.c
608-+++ linux-4.18.0-383.el8/net/socket.c
607+--- linux-4.18.0-394.el8.orig/net/socket.c
608++++ linux-4.18.0-394.el8/net/socket.c
609609 @@ -1715,6 +1715,10 @@ int __sys_accept4_file(struct file *file
610610 if (err < 0)
611611 goto out_fd;
@@ -617,8 +617,8 @@
617617 if (upeer_sockaddr) {
618618 len = newsock->ops->getname(newsock,
619619 (struct sockaddr *)&address, 2);
620---- linux-4.18.0-383.el8.orig/net/unix/af_unix.c
621-+++ linux-4.18.0-383.el8/net/unix/af_unix.c
620+--- linux-4.18.0-394.el8.orig/net/unix/af_unix.c
621++++ linux-4.18.0-394.el8/net/unix/af_unix.c
622622 @@ -2165,6 +2165,10 @@ static int unix_dgram_recvmsg(struct soc
623623 EPOLLOUT | EPOLLWRNORM |
624624 EPOLLWRBAND);
@@ -638,8 +638,8 @@
638638 mutex_unlock(&u->iolock);
639639 out:
640640 return err;
641---- linux-4.18.0-383.el8.orig/security/Kconfig
642-+++ linux-4.18.0-383.el8/security/Kconfig
641+--- linux-4.18.0-394.el8.orig/security/Kconfig
642++++ linux-4.18.0-394.el8/security/Kconfig
643643 @@ -326,4 +326,6 @@ config LSM
644644
645645 source "security/Kconfig.hardening"
@@ -647,8 +647,8 @@
647647 +source security/ccsecurity/Kconfig
648648 +
649649 endmenu
650---- linux-4.18.0-383.el8.orig/security/Makefile
651-+++ linux-4.18.0-383.el8/security/Makefile
650+--- linux-4.18.0-394.el8.orig/security/Makefile
651++++ linux-4.18.0-394.el8/security/Makefile
652652 @@ -35,3 +35,6 @@ obj-$(CONFIG_INTEGRITY) += integrity/
653653
654654 # Allow the kernel to be locked down
@@ -656,8 +656,8 @@
656656 +
657657 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
658658 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
659---- linux-4.18.0-383.el8.orig/security/security.c
660-+++ linux-4.18.0-383.el8/security/security.c
659+--- linux-4.18.0-394.el8.orig/security/security.c
660++++ linux-4.18.0-394.el8/security/security.c
661661 @@ -1553,7 +1553,9 @@ int security_task_alloc(struct task_stru
662662
663663 if (rc)
--- trunk/caitsith-patch/patches/ccs-patch-4.19.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-4.19.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.19.244.
1+This is TOMOYO Linux patch for kernel 4.19.248.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.244.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.248.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,8 +28,8 @@
2828 security/security.c | 9 +++++-
2929 24 files changed, 148 insertions(+), 29 deletions(-)
3030
31---- linux-4.19.244.orig/fs/exec.c
32-+++ linux-4.19.244/fs/exec.c
31+--- linux-4.19.248.orig/fs/exec.c
32++++ linux-4.19.248/fs/exec.c
3333 @@ -1707,7 +1707,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.19.244.orig/fs/open.c
43-+++ linux-4.19.244/fs/open.c
42+--- linux-4.19.248.orig/fs/open.c
43++++ linux-4.19.248/fs/open.c
4444 @@ -1196,6 +1196,8 @@ SYSCALL_DEFINE1(close, unsigned int, fd)
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-4.19.244.orig/fs/proc/version.c
54-+++ linux-4.19.244/fs/proc/version.c
53+--- linux-4.19.248.orig/fs/proc/version.c
54++++ linux-4.19.248/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 4.19.244 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 4.19.248 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.19.244.orig/include/linux/sched.h
67-+++ linux-4.19.244/include/linux/sched.h
66+--- linux-4.19.248.orig/include/linux/sched.h
67++++ linux-4.19.248/include/linux/sched.h
6868 @@ -34,6 +34,7 @@ struct audit_context;
6969 struct backing_dev_info;
7070 struct bio_list;
@@ -84,8 +84,8 @@
8484
8585 /*
8686 * New fields for task_struct should be added above here, so that
87---- linux-4.19.244.orig/include/linux/security.h
88-+++ linux-4.19.244/include/linux/security.h
87+--- linux-4.19.248.orig/include/linux/security.h
88++++ linux-4.19.248/include/linux/security.h
8989 @@ -53,6 +53,7 @@ struct msg_msg;
9090 struct xattr;
9191 struct xfrm_sec_ctx;
@@ -306,8 +306,8 @@
306306 }
307307 #endif /* CONFIG_SECURITY_PATH */
308308
309---- linux-4.19.244.orig/include/net/ip.h
310-+++ linux-4.19.244/include/net/ip.h
309+--- linux-4.19.248.orig/include/net/ip.h
310++++ linux-4.19.248/include/net/ip.h
311311 @@ -302,6 +302,8 @@ void inet_get_local_port_range(struct ne
312312 #ifdef CONFIG_SYSCTL
313313 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -326,8 +326,8 @@
326326 return 0;
327327 }
328328
329---- linux-4.19.244.orig/init/init_task.c
330-+++ linux-4.19.244/init/init_task.c
329+--- linux-4.19.248.orig/init/init_task.c
330++++ linux-4.19.248/init/init_task.c
331331 @@ -180,6 +180,10 @@ struct task_struct init_task
332332 #ifdef CONFIG_SECURITY
333333 .security = NULL,
@@ -339,8 +339,8 @@
339339 };
340340 EXPORT_SYMBOL(init_task);
341341
342---- linux-4.19.244.orig/kernel/kexec.c
343-+++ linux-4.19.244/kernel/kexec.c
342+--- linux-4.19.248.orig/kernel/kexec.c
343++++ linux-4.19.248/kernel/kexec.c
344344 @@ -18,7 +18,7 @@
345345 #include <linux/syscalls.h>
346346 #include <linux/vmalloc.h>
@@ -359,8 +359,8 @@
359359
360360 /* Permit LSMs and IMA to fail the kexec */
361361 result = security_kernel_load_data(LOADING_KEXEC_IMAGE);
362---- linux-4.19.244.orig/kernel/module.c
363-+++ linux-4.19.244/kernel/module.c
362+--- linux-4.19.248.orig/kernel/module.c
363++++ linux-4.19.248/kernel/module.c
364364 @@ -66,6 +66,7 @@
365365 #include <linux/audit.h>
366366 #include <uapi/linux/module.h>
@@ -387,9 +387,9 @@
387387
388388 return 0;
389389 }
390---- linux-4.19.244.orig/kernel/ptrace.c
391-+++ linux-4.19.244/kernel/ptrace.c
392-@@ -1169,6 +1169,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
390+--- linux-4.19.248.orig/kernel/ptrace.c
391++++ linux-4.19.248/kernel/ptrace.c
392+@@ -1168,6 +1168,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
393393 {
394394 struct task_struct *child;
395395 long ret;
@@ -401,7 +401,7 @@
401401
402402 if (request == PTRACE_TRACEME) {
403403 ret = ptrace_traceme();
404-@@ -1317,6 +1322,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
404+@@ -1316,6 +1321,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
405405 {
406406 struct task_struct *child;
407407 long ret;
@@ -413,8 +413,8 @@
413413
414414 if (request == PTRACE_TRACEME) {
415415 ret = ptrace_traceme();
416---- linux-4.19.244.orig/kernel/reboot.c
417-+++ linux-4.19.244/kernel/reboot.c
416+--- linux-4.19.248.orig/kernel/reboot.c
417++++ linux-4.19.248/kernel/reboot.c
418418 @@ -16,6 +16,7 @@
419419 #include <linux/syscalls.h>
420420 #include <linux/syscore_ops.h>
@@ -432,8 +432,8 @@
432432
433433 /*
434434 * If pid namespaces are enabled and the current task is in a child
435---- linux-4.19.244.orig/kernel/sched/core.c
436-+++ linux-4.19.244/kernel/sched/core.c
435+--- linux-4.19.248.orig/kernel/sched/core.c
436++++ linux-4.19.248/kernel/sched/core.c
437437 @@ -3992,6 +3992,8 @@ int can_nice(const struct task_struct *p
438438 SYSCALL_DEFINE1(nice, int, increment)
439439 {
@@ -443,8 +443,8 @@
443443
444444 /*
445445 * Setpriority might change our priority at the same moment.
446---- linux-4.19.244.orig/kernel/signal.c
447-+++ linux-4.19.244/kernel/signal.c
446+--- linux-4.19.248.orig/kernel/signal.c
447++++ linux-4.19.248/kernel/signal.c
448448 @@ -3276,6 +3276,8 @@ COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait,
449449 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
450450 {
@@ -490,8 +490,8 @@
490490
491491 return do_send_specific(tgid, pid, sig, info);
492492 }
493---- linux-4.19.244.orig/kernel/sys.c
494-+++ linux-4.19.244/kernel/sys.c
493+--- linux-4.19.248.orig/kernel/sys.c
494++++ linux-4.19.248/kernel/sys.c
495495 @@ -201,6 +201,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
496496
497497 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -521,8 +521,8 @@
521521
522522 errno = -EFAULT;
523523 if (!copy_from_user(tmp, name, len)) {
524---- linux-4.19.244.orig/kernel/time/timekeeping.c
525-+++ linux-4.19.244/kernel/time/timekeeping.c
524+--- linux-4.19.248.orig/kernel/time/timekeeping.c
525++++ linux-4.19.248/kernel/time/timekeeping.c
526526 @@ -26,6 +26,7 @@
527527 #include <linux/stop_machine.h>
528528 #include <linux/pvclock_gtod.h>
@@ -556,8 +556,8 @@
556556
557557 /*
558558 * Validate if a timespec/timeval used to inject a time
559---- linux-4.19.244.orig/net/ipv4/raw.c
560-+++ linux-4.19.244/net/ipv4/raw.c
559+--- linux-4.19.248.orig/net/ipv4/raw.c
560++++ linux-4.19.248/net/ipv4/raw.c
561561 @@ -775,6 +775,10 @@ static int raw_recvmsg(struct sock *sk,
562562 skb = skb_recv_datagram(sk, flags, noblock, &err);
563563 if (!skb)
@@ -569,8 +569,8 @@
569569
570570 copied = skb->len;
571571 if (len < copied) {
572---- linux-4.19.244.orig/net/ipv4/udp.c
573-+++ linux-4.19.244/net/ipv4/udp.c
572+--- linux-4.19.248.orig/net/ipv4/udp.c
573++++ linux-4.19.248/net/ipv4/udp.c
574574 @@ -1686,6 +1686,8 @@ try_again:
575575 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
576576 if (!skb)
@@ -580,8 +580,8 @@
580580
581581 ulen = udp_skb_len(skb);
582582 copied = len;
583---- linux-4.19.244.orig/net/ipv6/raw.c
584-+++ linux-4.19.244/net/ipv6/raw.c
583+--- linux-4.19.248.orig/net/ipv6/raw.c
584++++ linux-4.19.248/net/ipv6/raw.c
585585 @@ -485,6 +485,10 @@ static int rawv6_recvmsg(struct sock *sk
586586 skb = skb_recv_datagram(sk, flags, noblock, &err);
587587 if (!skb)
@@ -593,8 +593,8 @@
593593
594594 copied = skb->len;
595595 if (copied > len) {
596---- linux-4.19.244.orig/net/ipv6/udp.c
597-+++ linux-4.19.244/net/ipv6/udp.c
596+--- linux-4.19.248.orig/net/ipv6/udp.c
597++++ linux-4.19.248/net/ipv6/udp.c
598598 @@ -347,6 +347,8 @@ try_again:
599599 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
600600 if (!skb)
@@ -604,8 +604,8 @@
604604
605605 ulen = udp6_skb_len(skb);
606606 copied = len;
607---- linux-4.19.244.orig/net/socket.c
608-+++ linux-4.19.244/net/socket.c
607+--- linux-4.19.248.orig/net/socket.c
608++++ linux-4.19.248/net/socket.c
609609 @@ -1702,6 +1702,10 @@ int __sys_accept4(int fd, struct sockadd
610610 if (err < 0)
611611 goto out_fd;
@@ -617,8 +617,8 @@
617617 if (upeer_sockaddr) {
618618 len = newsock->ops->getname(newsock,
619619 (struct sockaddr *)&address, 2);
620---- linux-4.19.244.orig/net/unix/af_unix.c
621-+++ linux-4.19.244/net/unix/af_unix.c
620+--- linux-4.19.248.orig/net/unix/af_unix.c
621++++ linux-4.19.248/net/unix/af_unix.c
622622 @@ -2169,6 +2169,10 @@ static int unix_dgram_recvmsg(struct soc
623623 EPOLLOUT | EPOLLWRNORM |
624624 EPOLLWRBAND);
@@ -638,8 +638,8 @@
638638 mutex_unlock(&u->iolock);
639639 out:
640640 return err;
641---- linux-4.19.244.orig/security/Kconfig
642-+++ linux-4.19.244/security/Kconfig
641+--- linux-4.19.248.orig/security/Kconfig
642++++ linux-4.19.248/security/Kconfig
643643 @@ -279,5 +279,7 @@ config DEFAULT_SECURITY
644644 default "apparmor" if DEFAULT_SECURITY_APPARMOR
645645 default "" if DEFAULT_SECURITY_DAC
@@ -648,8 +648,8 @@
648648 +
649649 endmenu
650650
651---- linux-4.19.244.orig/security/Makefile
652-+++ linux-4.19.244/security/Makefile
651+--- linux-4.19.248.orig/security/Makefile
652++++ linux-4.19.248/security/Makefile
653653 @@ -30,3 +30,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
654654 # Object integrity file lists
655655 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -657,8 +657,8 @@
657657 +
658658 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
659659 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
660---- linux-4.19.244.orig/security/security.c
661-+++ linux-4.19.244/security/security.c
660+--- linux-4.19.248.orig/security/security.c
661++++ linux-4.19.248/security/security.c
662662 @@ -984,12 +984,19 @@ int security_file_open(struct file *file
663663
664664 int security_task_alloc(struct task_struct *task, unsigned long clone_flags)
--- trunk/caitsith-patch/patches/ccs-patch-4.9.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-4.9.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.9.315.
1+This is TOMOYO Linux patch for kernel 4.9.319.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.315.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.319.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,8 +28,8 @@
2828 security/Makefile | 3 ++
2929 24 files changed, 147 insertions(+), 26 deletions(-)
3030
31---- linux-4.9.315.orig/fs/exec.c
32-+++ linux-4.9.315/fs/exec.c
31+--- linux-4.9.319.orig/fs/exec.c
32++++ linux-4.9.319/fs/exec.c
3333 @@ -1662,7 +1662,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.9.315.orig/fs/open.c
43-+++ linux-4.9.315/fs/open.c
42+--- linux-4.9.319.orig/fs/open.c
43++++ linux-4.9.319/fs/open.c
4444 @@ -1173,6 +1173,8 @@ EXPORT_SYMBOL(sys_close);
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-4.9.315.orig/fs/proc/version.c
54-+++ linux-4.9.315/fs/proc/version.c
53+--- linux-4.9.319.orig/fs/proc/version.c
54++++ linux-4.9.319/fs/proc/version.c
5555 @@ -32,3 +32,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 4.9.315 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 4.9.319 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.9.315.orig/include/linux/init_task.h
67-+++ linux-4.9.315/include/linux/init_task.h
66+--- linux-4.9.319.orig/include/linux/init_task.h
67++++ linux-4.9.319/include/linux/init_task.h
6868 @@ -193,6 +193,14 @@ extern struct task_group root_task_group
6969 # define INIT_TASK_TI(tsk)
7070 #endif
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-4.9.315.orig/include/linux/sched.h
92-+++ linux-4.9.315/include/linux/sched.h
91+--- linux-4.9.319.orig/include/linux/sched.h
92++++ linux-4.9.319/include/linux/sched.h
9393 @@ -6,6 +6,8 @@
9494 #include <linux/sched/prio.h>
9595
@@ -110,8 +110,8 @@
110110 /* CPU-specific state of this task */
111111 struct thread_struct thread;
112112 /*
113---- linux-4.9.315.orig/include/linux/security.h
114-+++ linux-4.9.315/include/linux/security.h
113+--- linux-4.9.319.orig/include/linux/security.h
114++++ linux-4.9.319/include/linux/security.h
115115 @@ -55,6 +55,7 @@ struct msg_queue;
116116 struct xattr;
117117 struct xfrm_sec_ctx;
@@ -318,8 +318,8 @@
318318 }
319319 #endif /* CONFIG_SECURITY_PATH */
320320
321---- linux-4.9.315.orig/include/net/ip.h
322-+++ linux-4.9.315/include/net/ip.h
321+--- linux-4.9.319.orig/include/net/ip.h
322++++ linux-4.9.319/include/net/ip.h
323323 @@ -254,6 +254,8 @@ void inet_get_local_port_range(struct ne
324324 #ifdef CONFIG_SYSCTL
325325 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -338,8 +338,8 @@
338338 return 0;
339339 }
340340 #endif
341---- linux-4.9.315.orig/kernel/fork.c
342-+++ linux-4.9.315/kernel/fork.c
341+--- linux-4.9.319.orig/kernel/fork.c
342++++ linux-4.9.319/kernel/fork.c
343343 @@ -395,6 +395,7 @@ void __put_task_struct(struct task_struc
344344 delayacct_tsk_free(tsk);
345345 put_signal_struct(tsk->signal);
@@ -366,8 +366,8 @@
366366 bad_fork_cleanup_perf:
367367 perf_event_free_task(p);
368368 bad_fork_cleanup_policy:
369---- linux-4.9.315.orig/kernel/kexec.c
370-+++ linux-4.9.315/kernel/kexec.c
369+--- linux-4.9.319.orig/kernel/kexec.c
370++++ linux-4.9.319/kernel/kexec.c
371371 @@ -17,7 +17,7 @@
372372 #include <linux/syscalls.h>
373373 #include <linux/vmalloc.h>
@@ -386,8 +386,8 @@
386386
387387 /*
388388 * Verify we have a legal set of flags
389---- linux-4.9.315.orig/kernel/module.c
390-+++ linux-4.9.315/kernel/module.c
389+--- linux-4.9.319.orig/kernel/module.c
390++++ linux-4.9.319/kernel/module.c
391391 @@ -63,6 +63,7 @@
392392 #include <linux/dynamic_debug.h>
393393 #include <uapi/linux/module.h>
@@ -414,9 +414,9 @@
414414
415415 return 0;
416416 }
417---- linux-4.9.315.orig/kernel/ptrace.c
418-+++ linux-4.9.315/kernel/ptrace.c
419-@@ -1179,6 +1179,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
417+--- linux-4.9.319.orig/kernel/ptrace.c
418++++ linux-4.9.319/kernel/ptrace.c
419+@@ -1178,6 +1178,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
420420 {
421421 struct task_struct *child;
422422 long ret;
@@ -428,7 +428,7 @@
428428
429429 if (request == PTRACE_TRACEME) {
430430 ret = ptrace_traceme();
431-@@ -1328,6 +1333,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
431+@@ -1327,6 +1332,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
432432 {
433433 struct task_struct *child;
434434 long ret;
@@ -440,8 +440,8 @@
440440
441441 if (request == PTRACE_TRACEME) {
442442 ret = ptrace_traceme();
443---- linux-4.9.315.orig/kernel/reboot.c
444-+++ linux-4.9.315/kernel/reboot.c
443+--- linux-4.9.319.orig/kernel/reboot.c
444++++ linux-4.9.319/kernel/reboot.c
445445 @@ -16,6 +16,7 @@
446446 #include <linux/syscalls.h>
447447 #include <linux/syscore_ops.h>
@@ -459,8 +459,8 @@
459459
460460 /*
461461 * If pid namespaces are enabled and the current task is in a child
462---- linux-4.9.315.orig/kernel/sched/core.c
463-+++ linux-4.9.315/kernel/sched/core.c
462+--- linux-4.9.319.orig/kernel/sched/core.c
463++++ linux-4.9.319/kernel/sched/core.c
464464 @@ -3817,6 +3817,8 @@ int can_nice(const struct task_struct *p
465465 SYSCALL_DEFINE1(nice, int, increment)
466466 {
@@ -470,8 +470,8 @@
470470
471471 /*
472472 * Setpriority might change our priority at the same moment.
473---- linux-4.9.315.orig/kernel/signal.c
474-+++ linux-4.9.315/kernel/signal.c
473+--- linux-4.9.319.orig/kernel/signal.c
474++++ linux-4.9.319/kernel/signal.c
475475 @@ -2930,6 +2930,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
476476 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
477477 {
@@ -517,8 +517,8 @@
517517
518518 return do_send_specific(tgid, pid, sig, info);
519519 }
520---- linux-4.9.315.orig/kernel/sys.c
521-+++ linux-4.9.315/kernel/sys.c
520+--- linux-4.9.319.orig/kernel/sys.c
521++++ linux-4.9.319/kernel/sys.c
522522 @@ -185,6 +185,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
523523
524524 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -548,8 +548,8 @@
548548
549549 errno = -EFAULT;
550550 if (!copy_from_user(tmp, name, len)) {
551---- linux-4.9.315.orig/kernel/time/ntp.c
552-+++ linux-4.9.315/kernel/time/ntp.c
551+--- linux-4.9.319.orig/kernel/time/ntp.c
552++++ linux-4.9.319/kernel/time/ntp.c
553553 @@ -17,6 +17,7 @@
554554 #include <linux/module.h>
555555 #include <linux/rtc.h>
@@ -583,8 +583,8 @@
583583
584584 if (txc->modes & ADJ_NANO) {
585585 struct timespec ts;
586---- linux-4.9.315.orig/net/ipv4/raw.c
587-+++ linux-4.9.315/net/ipv4/raw.c
586+--- linux-4.9.319.orig/net/ipv4/raw.c
587++++ linux-4.9.319/net/ipv4/raw.c
588588 @@ -749,6 +749,10 @@ static int raw_recvmsg(struct sock *sk,
589589 skb = skb_recv_datagram(sk, flags, noblock, &err);
590590 if (!skb)
@@ -596,8 +596,8 @@
596596
597597 copied = skb->len;
598598 if (len < copied) {
599---- linux-4.9.315.orig/net/ipv4/udp.c
600-+++ linux-4.9.315/net/ipv4/udp.c
599+--- linux-4.9.319.orig/net/ipv4/udp.c
600++++ linux-4.9.319/net/ipv4/udp.c
601601 @@ -1271,6 +1271,8 @@ try_again:
602602 &peeked, &off, &err);
603603 if (!skb)
@@ -607,8 +607,8 @@
607607
608608 ulen = skb->len;
609609 copied = len;
610---- linux-4.9.315.orig/net/ipv6/raw.c
611-+++ linux-4.9.315/net/ipv6/raw.c
610+--- linux-4.9.319.orig/net/ipv6/raw.c
611++++ linux-4.9.319/net/ipv6/raw.c
612612 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
613613 skb = skb_recv_datagram(sk, flags, noblock, &err);
614614 if (!skb)
@@ -620,8 +620,8 @@
620620
621621 copied = skb->len;
622622 if (copied > len) {
623---- linux-4.9.315.orig/net/ipv6/udp.c
624-+++ linux-4.9.315/net/ipv6/udp.c
623+--- linux-4.9.319.orig/net/ipv6/udp.c
624++++ linux-4.9.319/net/ipv6/udp.c
625625 @@ -348,6 +348,8 @@ try_again:
626626 &peeked, &off, &err);
627627 if (!skb)
@@ -631,8 +631,8 @@
631631
632632 ulen = skb->len;
633633 copied = len;
634---- linux-4.9.315.orig/net/socket.c
635-+++ linux-4.9.315/net/socket.c
634+--- linux-4.9.319.orig/net/socket.c
635++++ linux-4.9.319/net/socket.c
636636 @@ -1482,6 +1482,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
637637 if (err < 0)
638638 goto out_fd;
@@ -644,8 +644,8 @@
644644 if (upeer_sockaddr) {
645645 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
646646 &len, 2) < 0) {
647---- linux-4.9.315.orig/net/unix/af_unix.c
648-+++ linux-4.9.315/net/unix/af_unix.c
647+--- linux-4.9.319.orig/net/unix/af_unix.c
648++++ linux-4.9.319/net/unix/af_unix.c
649649 @@ -2167,6 +2167,10 @@ static int unix_dgram_recvmsg(struct soc
650650 POLLOUT | POLLWRNORM |
651651 POLLWRBAND);
@@ -665,8 +665,8 @@
665665 mutex_unlock(&u->iolock);
666666 out:
667667 return err;
668---- linux-4.9.315.orig/security/Kconfig
669-+++ linux-4.9.315/security/Kconfig
668+--- linux-4.9.319.orig/security/Kconfig
669++++ linux-4.9.319/security/Kconfig
670670 @@ -214,5 +214,7 @@ config DEFAULT_SECURITY
671671 default "apparmor" if DEFAULT_SECURITY_APPARMOR
672672 default "" if DEFAULT_SECURITY_DAC
@@ -675,8 +675,8 @@
675675 +
676676 endmenu
677677
678---- linux-4.9.315.orig/security/Makefile
679-+++ linux-4.9.315/security/Makefile
678+--- linux-4.9.319.orig/security/Makefile
679++++ linux-4.9.319/security/Makefile
680680 @@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
681681 # Object integrity file lists
682682 subdir-$(CONFIG_INTEGRITY) += integrity
--- trunk/caitsith-patch/patches/ccs-patch-5.10.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-5.10.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.10.117.
1+This is TOMOYO Linux patch for kernel 5.10.123.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.117.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.123.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,8 +28,8 @@
2828 security/security.c | 5 ++-
2929 24 files changed, 160 insertions(+), 30 deletions(-)
3030
31---- linux-5.10.117.orig/fs/exec.c
32-+++ linux-5.10.117/fs/exec.c
31+--- linux-5.10.123.orig/fs/exec.c
32++++ linux-5.10.123/fs/exec.c
3333 @@ -1823,7 +1823,7 @@ static int bprm_execve(struct linux_binp
3434 if (retval)
3535 goto out;
@@ -39,8 +39,8 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-5.10.117.orig/fs/open.c
43-+++ linux-5.10.117/fs/open.c
42+--- linux-5.10.123.orig/fs/open.c
43++++ linux-5.10.123/fs/open.c
4444 @@ -1339,6 +1339,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-5.10.117.orig/fs/proc/version.c
54-+++ linux-5.10.117/fs/proc/version.c
53+--- linux-5.10.123.orig/fs/proc/version.c
54++++ linux-5.10.123/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 5.10.117 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 5.10.123 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.10.117.orig/include/linux/sched.h
67-+++ linux-5.10.117/include/linux/sched.h
66+--- linux-5.10.123.orig/include/linux/sched.h
67++++ linux-5.10.123/include/linux/sched.h
6868 @@ -41,6 +41,7 @@ struct backing_dev_info;
6969 struct bio_list;
7070 struct blk_plug;
@@ -84,8 +84,8 @@
8484
8585 #ifdef CONFIG_GCC_PLUGIN_STACKLEAK
8686 unsigned long lowest_stack;
87---- linux-5.10.117.orig/include/linux/security.h
88-+++ linux-5.10.117/include/linux/security.h
87+--- linux-5.10.123.orig/include/linux/security.h
88++++ linux-5.10.123/include/linux/security.h
8989 @@ -59,6 +59,7 @@ struct fs_parameter;
9090 enum fs_value_type;
9191 struct watch;
@@ -94,7 +94,7 @@
9494
9595 /* Default (no) options for the capable function */
9696 #define CAP_OPT_NONE 0x0
97-@@ -572,7 +573,10 @@ static inline int security_syslog(int ty
97+@@ -574,7 +575,10 @@ static inline int security_syslog(int ty
9898 static inline int security_settime64(const struct timespec64 *ts,
9999 const struct timezone *tz)
100100 {
@@ -106,7 +106,7 @@
106106 }
107107
108108 static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
109-@@ -655,18 +659,18 @@ static inline int security_sb_mount(cons
109+@@ -657,18 +661,18 @@ static inline int security_sb_mount(cons
110110 const char *type, unsigned long flags,
111111 void *data)
112112 {
@@ -128,7 +128,7 @@
128128 }
129129
130130 static inline int security_sb_set_mnt_opts(struct super_block *sb,
131-@@ -694,7 +698,7 @@ static inline int security_add_mnt_opt(c
131+@@ -696,7 +700,7 @@ static inline int security_add_mnt_opt(c
132132 static inline int security_move_mount(const struct path *from_path,
133133 const struct path *to_path)
134134 {
@@ -137,7 +137,7 @@
137137 }
138138
139139 static inline int security_path_notify(const struct path *path, u64 mask,
140-@@ -828,7 +832,7 @@ static inline int security_inode_setattr
140+@@ -830,7 +834,7 @@ static inline int security_inode_setattr
141141
142142 static inline int security_inode_getattr(const struct path *path)
143143 {
@@ -146,7 +146,7 @@
146146 }
147147
148148 static inline int security_inode_setxattr(struct dentry *dentry,
149-@@ -920,7 +924,7 @@ static inline void security_file_free(st
149+@@ -922,7 +926,7 @@ static inline void security_file_free(st
150150 static inline int security_file_ioctl(struct file *file, unsigned int cmd,
151151 unsigned long arg)
152152 {
@@ -155,7 +155,7 @@
155155 }
156156
157157 static inline int security_mmap_file(struct file *file, unsigned long prot,
158-@@ -949,7 +953,7 @@ static inline int security_file_lock(str
158+@@ -951,7 +955,7 @@ static inline int security_file_lock(str
159159 static inline int security_file_fcntl(struct file *file, unsigned int cmd,
160160 unsigned long arg)
161161 {
@@ -164,7 +164,7 @@
164164 }
165165
166166 static inline void security_file_set_fowner(struct file *file)
167-@@ -971,17 +975,19 @@ static inline int security_file_receive(
167+@@ -973,17 +977,19 @@ static inline int security_file_receive(
168168
169169 static inline int security_file_open(struct file *file)
170170 {
@@ -187,7 +187,7 @@
187187
188188 static inline int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
189189 {
190-@@ -1402,7 +1408,7 @@ static inline int security_unix_may_send
190+@@ -1405,7 +1411,7 @@ static inline int security_unix_may_send
191191 static inline int security_socket_create(int family, int type,
192192 int protocol, int kern)
193193 {
@@ -196,7 +196,7 @@
196196 }
197197
198198 static inline int security_socket_post_create(struct socket *sock,
199-@@ -1423,19 +1429,19 @@ static inline int security_socket_bind(s
199+@@ -1426,19 +1432,19 @@ static inline int security_socket_bind(s
200200 struct sockaddr *address,
201201 int addrlen)
202202 {
@@ -219,7 +219,7 @@
219219 }
220220
221221 static inline int security_socket_accept(struct socket *sock,
222-@@ -1447,7 +1453,7 @@ static inline int security_socket_accept
222+@@ -1450,7 +1456,7 @@ static inline int security_socket_accept
223223 static inline int security_socket_sendmsg(struct socket *sock,
224224 struct msghdr *msg, int size)
225225 {
@@ -228,7 +228,7 @@
228228 }
229229
230230 static inline int security_socket_recvmsg(struct socket *sock,
231-@@ -1734,42 +1740,42 @@ int security_path_chroot(const struct pa
231+@@ -1741,42 +1747,42 @@ int security_path_chroot(const struct pa
232232 #else /* CONFIG_SECURITY_PATH */
233233 static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
234234 {
@@ -278,7 +278,7 @@
278278 }
279279
280280 static inline int security_path_rename(const struct path *old_dir,
281-@@ -1778,22 +1784,32 @@ static inline int security_path_rename(c
281+@@ -1785,22 +1791,32 @@ static inline int security_path_rename(c
282282 struct dentry *new_dentry,
283283 unsigned int flags)
284284 {
@@ -315,9 +315,9 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.10.117.orig/include/net/ip.h
319-+++ linux-5.10.117/include/net/ip.h
320-@@ -339,6 +339,8 @@ void inet_get_local_port_range(struct ne
318+--- linux-5.10.123.orig/include/net/ip.h
319++++ linux-5.10.123/include/net/ip.h
320+@@ -340,6 +340,8 @@ void inet_get_local_port_range(struct ne
321321 #ifdef CONFIG_SYSCTL
322322 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
323323 {
@@ -326,7 +326,7 @@
326326 if (!net->ipv4.sysctl_local_reserved_ports)
327327 return false;
328328 return test_bit(port, net->ipv4.sysctl_local_reserved_ports);
329-@@ -357,6 +359,8 @@ static inline bool inet_port_requires_bi
329+@@ -358,6 +360,8 @@ static inline bool inet_port_requires_bi
330330 #else
331331 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
332332 {
@@ -335,8 +335,8 @@
335335 return false;
336336 }
337337
338---- linux-5.10.117.orig/init/init_task.c
339-+++ linux-5.10.117/init/init_task.c
338+--- linux-5.10.123.orig/init/init_task.c
339++++ linux-5.10.123/init/init_task.c
340340 @@ -213,6 +213,10 @@ struct task_struct init_task
341341 #ifdef CONFIG_SECCOMP_FILTER
342342 .seccomp = { .filter_count = ATOMIC_INIT(0) },
@@ -348,8 +348,8 @@
348348 };
349349 EXPORT_SYMBOL(init_task);
350350
351---- linux-5.10.117.orig/kernel/kexec.c
352-+++ linux-5.10.117/kernel/kexec.c
351+--- linux-5.10.123.orig/kernel/kexec.c
352++++ linux-5.10.123/kernel/kexec.c
353353 @@ -16,7 +16,7 @@
354354 #include <linux/syscalls.h>
355355 #include <linux/vmalloc.h>
@@ -368,8 +368,8 @@
368368
369369 /* Permit LSMs and IMA to fail the kexec */
370370 result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
371---- linux-5.10.117.orig/kernel/module.c
372-+++ linux-5.10.117/kernel/module.c
371+--- linux-5.10.123.orig/kernel/module.c
372++++ linux-5.10.123/kernel/module.c
373373 @@ -59,6 +59,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -387,7 +387,7 @@
387387
388388 if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
389389 return -EFAULT;
390-@@ -3807,6 +3810,8 @@ static int may_init_module(void)
390+@@ -3811,6 +3814,8 @@ static int may_init_module(void)
391391 {
392392 if (!capable(CAP_SYS_MODULE) || modules_disabled)
393393 return -EPERM;
@@ -396,9 +396,9 @@
396396
397397 return 0;
398398 }
399---- linux-5.10.117.orig/kernel/ptrace.c
400-+++ linux-5.10.117/kernel/ptrace.c
401-@@ -1271,6 +1271,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
399+--- linux-5.10.123.orig/kernel/ptrace.c
400++++ linux-5.10.123/kernel/ptrace.c
401+@@ -1270,6 +1270,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
404404 long ret;
@@ -410,7 +410,7 @@
410410
411411 if (request == PTRACE_TRACEME) {
412412 ret = ptrace_traceme();
413-@@ -1418,6 +1423,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
413+@@ -1417,6 +1422,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
414414 {
415415 struct task_struct *child;
416416 long ret;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.10.117.orig/kernel/reboot.c
426-+++ linux-5.10.117/kernel/reboot.c
425+--- linux-5.10.123.orig/kernel/reboot.c
426++++ linux-5.10.123/kernel/reboot.c
427427 @@ -17,6 +17,7 @@
428428 #include <linux/syscalls.h>
429429 #include <linux/syscore_ops.h>
@@ -441,8 +441,8 @@
441441
442442 /*
443443 * If pid namespaces are enabled and the current task is in a child
444---- linux-5.10.117.orig/kernel/sched/core.c
445-+++ linux-5.10.117/kernel/sched/core.c
444+--- linux-5.10.123.orig/kernel/sched/core.c
445++++ linux-5.10.123/kernel/sched/core.c
446446 @@ -5057,6 +5057,8 @@ int can_nice(const struct task_struct *p
447447 SYSCALL_DEFINE1(nice, int, increment)
448448 {
@@ -452,8 +452,8 @@
452452
453453 /*
454454 * Setpriority might change our priority at the same moment.
455---- linux-5.10.117.orig/kernel/signal.c
456-+++ linux-5.10.117/kernel/signal.c
455+--- linux-5.10.123.orig/kernel/signal.c
456++++ linux-5.10.123/kernel/signal.c
457457 @@ -3648,6 +3648,8 @@ static inline void prepare_kill_siginfo(
458458 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
459459 {
@@ -521,8 +521,8 @@
521521
522522 return do_send_specific(tgid, pid, sig, info);
523523 }
524---- linux-5.10.117.orig/kernel/sys.c
525-+++ linux-5.10.117/kernel/sys.c
524+--- linux-5.10.123.orig/kernel/sys.c
525++++ linux-5.10.123/kernel/sys.c
526526 @@ -205,6 +205,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
527527
528528 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -552,9 +552,9 @@
552552
553553 errno = -EFAULT;
554554 if (!copy_from_user(tmp, name, len)) {
555---- linux-5.10.117.orig/kernel/time/timekeeping.c
556-+++ linux-5.10.117/kernel/time/timekeeping.c
557-@@ -22,6 +22,7 @@
555+--- linux-5.10.123.orig/kernel/time/timekeeping.c
556++++ linux-5.10.123/kernel/time/timekeeping.c
557+@@ -23,6 +23,7 @@
558558 #include <linux/pvclock_gtod.h>
559559 #include <linux/compiler.h>
560560 #include <linux/audit.h>
@@ -562,7 +562,7 @@
562562
563563 #include "tick-internal.h"
564564 #include "ntp_internal.h"
565-@@ -2325,10 +2326,15 @@ static int timekeeping_validate_timex(co
565+@@ -2326,10 +2327,15 @@ static int timekeeping_validate_timex(co
566566 if (!(txc->modes & ADJ_OFFSET_READONLY) &&
567567 !capable(CAP_SYS_TIME))
568568 return -EPERM;
@@ -578,7 +578,7 @@
578578 /*
579579 * if the quartz is off by more than 10% then
580580 * something is VERY wrong!
581-@@ -2343,6 +2349,8 @@ static int timekeeping_validate_timex(co
581+@@ -2344,6 +2350,8 @@ static int timekeeping_validate_timex(co
582582 /* In order to inject time, you gotta be super-user! */
583583 if (!capable(CAP_SYS_TIME))
584584 return -EPERM;
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.10.117.orig/net/ipv4/raw.c
591-+++ linux-5.10.117/net/ipv4/raw.c
590+--- linux-5.10.123.orig/net/ipv4/raw.c
591++++ linux-5.10.123/net/ipv4/raw.c
592592 @@ -771,6 +771,10 @@ static int raw_recvmsg(struct sock *sk,
593593 skb = skb_recv_datagram(sk, flags, noblock, &err);
594594 if (!skb)
@@ -600,8 +600,8 @@
600600
601601 copied = skb->len;
602602 if (len < copied) {
603---- linux-5.10.117.orig/net/ipv4/udp.c
604-+++ linux-5.10.117/net/ipv4/udp.c
603+--- linux-5.10.123.orig/net/ipv4/udp.c
604++++ linux-5.10.123/net/ipv4/udp.c
605605 @@ -1808,6 +1808,8 @@ try_again:
606606 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
607607 if (!skb)
@@ -611,8 +611,8 @@
611611
612612 ulen = udp_skb_len(skb);
613613 copied = len;
614---- linux-5.10.117.orig/net/ipv6/raw.c
615-+++ linux-5.10.117/net/ipv6/raw.c
614+--- linux-5.10.123.orig/net/ipv6/raw.c
615++++ linux-5.10.123/net/ipv6/raw.c
616616 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
617617 skb = skb_recv_datagram(sk, flags, noblock, &err);
618618 if (!skb)
@@ -624,8 +624,8 @@
624624
625625 copied = skb->len;
626626 if (copied > len) {
627---- linux-5.10.117.orig/net/ipv6/udp.c
628-+++ linux-5.10.117/net/ipv6/udp.c
627+--- linux-5.10.123.orig/net/ipv6/udp.c
628++++ linux-5.10.123/net/ipv6/udp.c
629629 @@ -344,6 +344,8 @@ try_again:
630630 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
631631 if (!skb)
@@ -635,8 +635,8 @@
635635
636636 ulen = udp6_skb_len(skb);
637637 copied = len;
638---- linux-5.10.117.orig/net/socket.c
639-+++ linux-5.10.117/net/socket.c
638+--- linux-5.10.123.orig/net/socket.c
639++++ linux-5.10.123/net/socket.c
640640 @@ -1744,6 +1744,10 @@ int __sys_accept4_file(struct file *file
641641 if (err < 0)
642642 goto out_fd;
@@ -648,8 +648,8 @@
648648 if (upeer_sockaddr) {
649649 len = newsock->ops->getname(newsock,
650650 (struct sockaddr *)&address, 2);
651---- linux-5.10.117.orig/net/unix/af_unix.c
652-+++ linux-5.10.117/net/unix/af_unix.c
651+--- linux-5.10.123.orig/net/unix/af_unix.c
652++++ linux-5.10.123/net/unix/af_unix.c
653653 @@ -2197,6 +2197,10 @@ static int unix_dgram_recvmsg(struct soc
654654 EPOLLOUT | EPOLLWRNORM |
655655 EPOLLWRBAND);
@@ -669,8 +669,8 @@
669669 mutex_unlock(&u->iolock);
670670 out:
671671 return err;
672---- linux-5.10.117.orig/security/Kconfig
673-+++ linux-5.10.117/security/Kconfig
672+--- linux-5.10.123.orig/security/Kconfig
673++++ linux-5.10.123/security/Kconfig
674674 @@ -294,5 +294,7 @@ config LSM
675675
676676 source "security/Kconfig.hardening"
@@ -679,8 +679,8 @@
679679 +
680680 endmenu
681681
682---- linux-5.10.117.orig/security/Makefile
683-+++ linux-5.10.117/security/Makefile
682+--- linux-5.10.123.orig/security/Makefile
683++++ linux-5.10.123/security/Makefile
684684 @@ -36,3 +36,6 @@ obj-$(CONFIG_BPF_LSM) += bpf/
685685 # Object integrity file lists
686686 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -688,9 +688,9 @@
688688 +
689689 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
690690 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
691---- linux-5.10.117.orig/security/security.c
692-+++ linux-5.10.117/security/security.c
693-@@ -1599,7 +1599,9 @@ int security_task_alloc(struct task_stru
691+--- linux-5.10.123.orig/security/security.c
692++++ linux-5.10.123/security/security.c
693+@@ -1601,7 +1601,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
696696 return rc;
@@ -701,7 +701,7 @@
701701 if (unlikely(rc))
702702 security_task_free(task);
703703 return rc;
704-@@ -1608,6 +1610,7 @@ int security_task_alloc(struct task_stru
704+@@ -1610,6 +1612,7 @@ int security_task_alloc(struct task_stru
705705 void security_task_free(struct task_struct *task)
706706 {
707707 call_void_hook(task_free, task);
--- trunk/caitsith-patch/patches/ccs-patch-5.15.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-5.15.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.15.41.
1+This is TOMOYO Linux patch for kernel 5.15.48.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.41.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.48.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,8 +28,8 @@
2828 security/security.c | 5 ++-
2929 24 files changed, 160 insertions(+), 30 deletions(-)
3030
31---- linux-5.15.41.orig/fs/exec.c
32-+++ linux-5.15.41/fs/exec.c
31+--- linux-5.15.48.orig/fs/exec.c
32++++ linux-5.15.48/fs/exec.c
3333 @@ -1838,7 +1838,7 @@ static int bprm_execve(struct linux_binp
3434 if (retval)
3535 goto out;
@@ -39,8 +39,8 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-5.15.41.orig/fs/open.c
43-+++ linux-5.15.41/fs/open.c
42+--- linux-5.15.48.orig/fs/open.c
43++++ linux-5.15.48/fs/open.c
4444 @@ -1371,6 +1371,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-5.15.41.orig/fs/proc/version.c
54-+++ linux-5.15.41/fs/proc/version.c
53+--- linux-5.15.48.orig/fs/proc/version.c
54++++ linux-5.15.48/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 5.15.41 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 5.15.48 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.15.41.orig/include/linux/sched.h
67-+++ linux-5.15.41/include/linux/sched.h
66+--- linux-5.15.48.orig/include/linux/sched.h
67++++ linux-5.15.48/include/linux/sched.h
6868 @@ -44,6 +44,7 @@ struct blk_plug;
6969 struct bpf_local_storage;
7070 struct bpf_run_ctx;
@@ -84,8 +84,8 @@
8484
8585 #ifdef CONFIG_TRACING
8686 /* State flags for use by tracers: */
87---- linux-5.15.41.orig/include/linux/security.h
88-+++ linux-5.15.41/include/linux/security.h
87+--- linux-5.15.48.orig/include/linux/security.h
88++++ linux-5.15.48/include/linux/security.h
8989 @@ -59,6 +59,7 @@ struct fs_parameter;
9090 enum fs_value_type;
9191 struct watch;
@@ -94,7 +94,7 @@
9494
9595 /* Default (no) options for the capable function */
9696 #define CAP_OPT_NONE 0x0
97-@@ -587,7 +588,10 @@ static inline int security_syslog(int ty
97+@@ -589,7 +590,10 @@ static inline int security_syslog(int ty
9898 static inline int security_settime64(const struct timespec64 *ts,
9999 const struct timezone *tz)
100100 {
@@ -106,7 +106,7 @@
106106 }
107107
108108 static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
109-@@ -680,18 +684,18 @@ static inline int security_sb_mount(cons
109+@@ -682,18 +686,18 @@ static inline int security_sb_mount(cons
110110 const char *type, unsigned long flags,
111111 void *data)
112112 {
@@ -128,7 +128,7 @@
128128 }
129129
130130 static inline int security_sb_set_mnt_opts(struct super_block *sb,
131-@@ -719,7 +723,7 @@ static inline int security_add_mnt_opt(c
131+@@ -721,7 +725,7 @@ static inline int security_add_mnt_opt(c
132132 static inline int security_move_mount(const struct path *from_path,
133133 const struct path *to_path)
134134 {
@@ -137,7 +137,7 @@
137137 }
138138
139139 static inline int security_path_notify(const struct path *path, u64 mask,
140-@@ -860,7 +864,7 @@ static inline int security_inode_setattr
140+@@ -862,7 +866,7 @@ static inline int security_inode_setattr
141141
142142 static inline int security_inode_getattr(const struct path *path)
143143 {
@@ -146,7 +146,7 @@
146146 }
147147
148148 static inline int security_inode_setxattr(struct user_namespace *mnt_userns,
149-@@ -958,7 +962,7 @@ static inline void security_file_free(st
149+@@ -960,7 +964,7 @@ static inline void security_file_free(st
150150 static inline int security_file_ioctl(struct file *file, unsigned int cmd,
151151 unsigned long arg)
152152 {
@@ -155,7 +155,7 @@
155155 }
156156
157157 static inline int security_mmap_file(struct file *file, unsigned long prot,
158-@@ -987,7 +991,7 @@ static inline int security_file_lock(str
158+@@ -989,7 +993,7 @@ static inline int security_file_lock(str
159159 static inline int security_file_fcntl(struct file *file, unsigned int cmd,
160160 unsigned long arg)
161161 {
@@ -164,7 +164,7 @@
164164 }
165165
166166 static inline void security_file_set_fowner(struct file *file)
167-@@ -1009,17 +1013,19 @@ static inline int security_file_receive(
167+@@ -1011,17 +1015,19 @@ static inline int security_file_receive(
168168
169169 static inline int security_file_open(struct file *file)
170170 {
@@ -187,7 +187,7 @@
187187
188188 static inline int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
189189 {
190-@@ -1446,7 +1452,7 @@ static inline int security_unix_may_send
190+@@ -1448,7 +1454,7 @@ static inline int security_unix_may_send
191191 static inline int security_socket_create(int family, int type,
192192 int protocol, int kern)
193193 {
@@ -196,7 +196,7 @@
196196 }
197197
198198 static inline int security_socket_post_create(struct socket *sock,
199-@@ -1467,19 +1473,19 @@ static inline int security_socket_bind(s
199+@@ -1469,19 +1475,19 @@ static inline int security_socket_bind(s
200200 struct sockaddr *address,
201201 int addrlen)
202202 {
@@ -219,7 +219,7 @@
219219 }
220220
221221 static inline int security_socket_accept(struct socket *sock,
222-@@ -1491,7 +1497,7 @@ static inline int security_socket_accept
222+@@ -1493,7 +1499,7 @@ static inline int security_socket_accept
223223 static inline int security_socket_sendmsg(struct socket *sock,
224224 struct msghdr *msg, int size)
225225 {
@@ -228,7 +228,7 @@
228228 }
229229
230230 static inline int security_socket_recvmsg(struct socket *sock,
231-@@ -1782,42 +1788,42 @@ int security_path_chroot(const struct pa
231+@@ -1784,42 +1790,42 @@ int security_path_chroot(const struct pa
232232 #else /* CONFIG_SECURITY_PATH */
233233 static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
234234 {
@@ -278,7 +278,7 @@
278278 }
279279
280280 static inline int security_path_rename(const struct path *old_dir,
281-@@ -1826,22 +1832,32 @@ static inline int security_path_rename(c
281+@@ -1828,22 +1834,32 @@ static inline int security_path_rename(c
282282 struct dentry *new_dentry,
283283 unsigned int flags)
284284 {
@@ -315,9 +315,9 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.15.41.orig/include/net/ip.h
319-+++ linux-5.15.41/include/net/ip.h
320-@@ -339,6 +339,8 @@ void inet_get_local_port_range(struct ne
318+--- linux-5.15.48.orig/include/net/ip.h
319++++ linux-5.15.48/include/net/ip.h
320+@@ -340,6 +340,8 @@ void inet_get_local_port_range(struct ne
321321 #ifdef CONFIG_SYSCTL
322322 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
323323 {
@@ -326,7 +326,7 @@
326326 if (!net->ipv4.sysctl_local_reserved_ports)
327327 return false;
328328 return test_bit(port, net->ipv4.sysctl_local_reserved_ports);
329-@@ -357,6 +359,8 @@ static inline bool inet_port_requires_bi
329+@@ -358,6 +360,8 @@ static inline bool inet_port_requires_bi
330330 #else
331331 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
332332 {
@@ -335,8 +335,8 @@
335335 return false;
336336 }
337337
338---- linux-5.15.41.orig/init/init_task.c
339-+++ linux-5.15.41/init/init_task.c
338+--- linux-5.15.48.orig/init/init_task.c
339++++ linux-5.15.48/init/init_task.c
340340 @@ -214,6 +214,10 @@ struct task_struct init_task
341341 #ifdef CONFIG_SECCOMP_FILTER
342342 .seccomp = { .filter_count = ATOMIC_INIT(0) },
@@ -348,8 +348,8 @@
348348 };
349349 EXPORT_SYMBOL(init_task);
350350
351---- linux-5.15.41.orig/kernel/kexec.c
352-+++ linux-5.15.41/kernel/kexec.c
351+--- linux-5.15.48.orig/kernel/kexec.c
352++++ linux-5.15.48/kernel/kexec.c
353353 @@ -16,7 +16,7 @@
354354 #include <linux/syscalls.h>
355355 #include <linux/vmalloc.h>
@@ -368,8 +368,8 @@
368368
369369 /* Permit LSMs and IMA to fail the kexec */
370370 result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
371---- linux-5.15.41.orig/kernel/module.c
372-+++ linux-5.15.41/kernel/module.c
371+--- linux-5.15.48.orig/kernel/module.c
372++++ linux-5.15.48/kernel/module.c
373373 @@ -59,6 +59,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -396,9 +396,9 @@
396396
397397 return 0;
398398 }
399---- linux-5.15.41.orig/kernel/ptrace.c
400-+++ linux-5.15.41/kernel/ptrace.c
401-@@ -1296,6 +1296,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
399+--- linux-5.15.48.orig/kernel/ptrace.c
400++++ linux-5.15.48/kernel/ptrace.c
401+@@ -1295,6 +1295,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
404404 long ret;
@@ -410,7 +410,7 @@
410410
411411 if (request == PTRACE_TRACEME) {
412412 ret = ptrace_traceme();
413-@@ -1443,6 +1448,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
413+@@ -1442,6 +1447,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
414414 {
415415 struct task_struct *child;
416416 long ret;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.15.41.orig/kernel/reboot.c
426-+++ linux-5.15.41/kernel/reboot.c
425+--- linux-5.15.48.orig/kernel/reboot.c
426++++ linux-5.15.48/kernel/reboot.c
427427 @@ -18,6 +18,7 @@
428428 #include <linux/syscalls.h>
429429 #include <linux/syscore_ops.h>
@@ -441,8 +441,8 @@
441441
442442 /*
443443 * If pid namespaces are enabled and the current task is in a child
444---- linux-5.15.41.orig/kernel/sched/core.c
445-+++ linux-5.15.41/kernel/sched/core.c
444+--- linux-5.15.48.orig/kernel/sched/core.c
445++++ linux-5.15.48/kernel/sched/core.c
446446 @@ -6958,6 +6958,8 @@ int can_nice(const struct task_struct *p
447447 SYSCALL_DEFINE1(nice, int, increment)
448448 {
@@ -452,9 +452,9 @@
452452
453453 /*
454454 * Setpriority might change our priority at the same moment.
455---- linux-5.15.41.orig/kernel/signal.c
456-+++ linux-5.15.41/kernel/signal.c
457-@@ -3787,6 +3787,8 @@ static inline void prepare_kill_siginfo(
455+--- linux-5.15.48.orig/kernel/signal.c
456++++ linux-5.15.48/kernel/signal.c
457+@@ -3800,6 +3800,8 @@ static inline void prepare_kill_siginfo(
458458 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
459459 {
460460 struct kernel_siginfo info;
@@ -463,7 +463,7 @@
463463
464464 prepare_kill_siginfo(sig, &info);
465465
466-@@ -3886,6 +3888,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
466+@@ -3899,6 +3901,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
467467 if (!access_pidfd_pidns(pid))
468468 goto err;
469469
@@ -485,7 +485,7 @@
485485 if (info) {
486486 ret = copy_siginfo_from_user_any(&kinfo, info);
487487 if (unlikely(ret))
488-@@ -3970,6 +3987,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
488+@@ -3983,6 +4000,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
489489 /* This is only valid for single tasks */
490490 if (pid <= 0 || tgid <= 0)
491491 return -EINVAL;
@@ -494,7 +494,7 @@
494494
495495 return do_tkill(tgid, pid, sig);
496496 }
497-@@ -3986,6 +4005,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
497+@@ -3999,6 +4018,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
498498 /* This is only valid for single tasks */
499499 if (pid <= 0)
500500 return -EINVAL;
@@ -503,7 +503,7 @@
503503
504504 return do_tkill(0, pid, sig);
505505 }
506-@@ -3998,6 +4019,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
506+@@ -4011,6 +4032,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
507507 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
508508 (task_pid_vnr(current) != pid))
509509 return -EPERM;
@@ -512,7 +512,7 @@
512512
513513 /* POSIX.1b doesn't mention process groups. */
514514 return kill_proc_info(sig, info, pid);
515-@@ -4045,6 +4068,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
515+@@ -4058,6 +4081,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
516516 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
517517 (task_pid_vnr(current) != pid))
518518 return -EPERM;
@@ -521,8 +521,8 @@
521521
522522 return do_send_specific(tgid, pid, sig, info);
523523 }
524---- linux-5.15.41.orig/kernel/sys.c
525-+++ linux-5.15.41/kernel/sys.c
524+--- linux-5.15.48.orig/kernel/sys.c
525++++ linux-5.15.48/kernel/sys.c
526526 @@ -211,6 +211,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
527527
528528 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -552,9 +552,9 @@
552552
553553 errno = -EFAULT;
554554 if (!copy_from_user(tmp, name, len)) {
555---- linux-5.15.41.orig/kernel/time/timekeeping.c
556-+++ linux-5.15.41/kernel/time/timekeeping.c
557-@@ -22,6 +22,7 @@
555+--- linux-5.15.48.orig/kernel/time/timekeeping.c
556++++ linux-5.15.48/kernel/time/timekeeping.c
557+@@ -23,6 +23,7 @@
558558 #include <linux/pvclock_gtod.h>
559559 #include <linux/compiler.h>
560560 #include <linux/audit.h>
@@ -562,7 +562,7 @@
562562
563563 #include "tick-internal.h"
564564 #include "ntp_internal.h"
565-@@ -2327,10 +2328,15 @@ static int timekeeping_validate_timex(co
565+@@ -2328,10 +2329,15 @@ static int timekeeping_validate_timex(co
566566 if (!(txc->modes & ADJ_OFFSET_READONLY) &&
567567 !capable(CAP_SYS_TIME))
568568 return -EPERM;
@@ -578,7 +578,7 @@
578578 /*
579579 * if the quartz is off by more than 10% then
580580 * something is VERY wrong!
581-@@ -2345,6 +2351,8 @@ static int timekeeping_validate_timex(co
581+@@ -2346,6 +2352,8 @@ static int timekeeping_validate_timex(co
582582 /* In order to inject time, you gotta be super-user! */
583583 if (!capable(CAP_SYS_TIME))
584584 return -EPERM;
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.15.41.orig/net/ipv4/raw.c
591-+++ linux-5.15.41/net/ipv4/raw.c
590+--- linux-5.15.48.orig/net/ipv4/raw.c
591++++ linux-5.15.48/net/ipv4/raw.c
592592 @@ -771,6 +771,10 @@ static int raw_recvmsg(struct sock *sk,
593593 skb = skb_recv_datagram(sk, flags, noblock, &err);
594594 if (!skb)
@@ -600,8 +600,8 @@
600600
601601 copied = skb->len;
602602 if (len < copied) {
603---- linux-5.15.41.orig/net/ipv4/udp.c
604-+++ linux-5.15.41/net/ipv4/udp.c
603+--- linux-5.15.48.orig/net/ipv4/udp.c
604++++ linux-5.15.48/net/ipv4/udp.c
605605 @@ -1862,6 +1862,8 @@ try_again:
606606 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
607607 if (!skb)
@@ -611,8 +611,8 @@
611611
612612 ulen = udp_skb_len(skb);
613613 copied = len;
614---- linux-5.15.41.orig/net/ipv6/raw.c
615-+++ linux-5.15.41/net/ipv6/raw.c
614+--- linux-5.15.48.orig/net/ipv6/raw.c
615++++ linux-5.15.48/net/ipv6/raw.c
616616 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
617617 skb = skb_recv_datagram(sk, flags, noblock, &err);
618618 if (!skb)
@@ -624,8 +624,8 @@
624624
625625 copied = skb->len;
626626 if (copied > len) {
627---- linux-5.15.41.orig/net/ipv6/udp.c
628-+++ linux-5.15.41/net/ipv6/udp.c
627+--- linux-5.15.48.orig/net/ipv6/udp.c
628++++ linux-5.15.48/net/ipv6/udp.c
629629 @@ -344,6 +344,8 @@ try_again:
630630 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
631631 if (!skb)
@@ -635,8 +635,8 @@
635635
636636 ulen = udp6_skb_len(skb);
637637 copied = len;
638---- linux-5.15.41.orig/net/socket.c
639-+++ linux-5.15.41/net/socket.c
638+--- linux-5.15.48.orig/net/socket.c
639++++ linux-5.15.48/net/socket.c
640640 @@ -1778,6 +1778,10 @@ struct file *do_accept(struct file *file
641641 if (err < 0)
642642 goto out_fd;
@@ -648,8 +648,8 @@
648648 if (upeer_sockaddr) {
649649 len = newsock->ops->getname(newsock,
650650 (struct sockaddr *)&address, 2);
651---- linux-5.15.41.orig/net/unix/af_unix.c
652-+++ linux-5.15.41/net/unix/af_unix.c
651+--- linux-5.15.48.orig/net/unix/af_unix.c
652++++ linux-5.15.48/net/unix/af_unix.c
653653 @@ -2331,6 +2331,10 @@ int __unix_dgram_recvmsg(struct sock *sk
654654 EPOLLOUT | EPOLLWRNORM |
655655 EPOLLWRBAND);
@@ -669,8 +669,8 @@
669669 mutex_unlock(&u->iolock);
670670 out:
671671 return err;
672---- linux-5.15.41.orig/security/Kconfig
673-+++ linux-5.15.41/security/Kconfig
672+--- linux-5.15.48.orig/security/Kconfig
673++++ linux-5.15.48/security/Kconfig
674674 @@ -295,5 +295,7 @@ config LSM
675675
676676 source "security/Kconfig.hardening"
@@ -679,8 +679,8 @@
679679 +
680680 endmenu
681681
682---- linux-5.15.41.orig/security/Makefile
683-+++ linux-5.15.41/security/Makefile
682+--- linux-5.15.48.orig/security/Makefile
683++++ linux-5.15.48/security/Makefile
684684 @@ -27,3 +27,6 @@ obj-$(CONFIG_SECURITY_LANDLOCK) += land
685685
686686 # Object integrity file lists
@@ -688,9 +688,9 @@
688688 +
689689 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
690690 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
691---- linux-5.15.41.orig/security/security.c
692-+++ linux-5.15.41/security/security.c
693-@@ -1657,7 +1657,9 @@ int security_task_alloc(struct task_stru
691+--- linux-5.15.48.orig/security/security.c
692++++ linux-5.15.48/security/security.c
693+@@ -1659,7 +1659,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
696696 return rc;
@@ -701,7 +701,7 @@
701701 if (unlikely(rc))
702702 security_task_free(task);
703703 return rc;
704-@@ -1666,6 +1668,7 @@ int security_task_alloc(struct task_stru
704+@@ -1668,6 +1670,7 @@ int security_task_alloc(struct task_stru
705705 void security_task_free(struct task_struct *task)
706706 {
707707 call_void_hook(task_free, task);
--- trunk/caitsith-patch/patches/ccs-patch-5.17.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-5.17.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.17.9.
1+This is TOMOYO Linux patch for kernel 5.17.15.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.17.9.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.17.15.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,9 +28,9 @@
2828 security/security.c | 5 ++-
2929 24 files changed, 160 insertions(+), 30 deletions(-)
3030
31---- linux-5.17.9.orig/fs/exec.c
32-+++ linux-5.17.9/fs/exec.c
33-@@ -1840,7 +1840,7 @@ static int bprm_execve(struct linux_binp
31+--- linux-5.17.15.orig/fs/exec.c
32++++ linux-5.17.15/fs/exec.c
33+@@ -1838,7 +1838,7 @@ static int bprm_execve(struct linux_binp
3434 if (retval)
3535 goto out;
3636
@@ -39,8 +39,8 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-5.17.9.orig/fs/open.c
43-+++ linux-5.17.9/fs/open.c
42+--- linux-5.17.15.orig/fs/open.c
43++++ linux-5.17.15/fs/open.c
4444 @@ -1375,6 +1375,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-5.17.9.orig/fs/proc/version.c
54-+++ linux-5.17.9/fs/proc/version.c
53+--- linux-5.17.15.orig/fs/proc/version.c
54++++ linux-5.17.15/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 5.17.9 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 5.17.15 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.17.9.orig/include/linux/sched.h
67-+++ linux-5.17.9/include/linux/sched.h
66+--- linux-5.17.15.orig/include/linux/sched.h
67++++ linux-5.17.15/include/linux/sched.h
6868 @@ -44,6 +44,7 @@ struct blk_plug;
6969 struct bpf_local_storage;
7070 struct bpf_run_ctx;
@@ -84,8 +84,8 @@
8484
8585 #ifdef CONFIG_TRACING
8686 /* State flags for use by tracers: */
87---- linux-5.17.9.orig/include/linux/security.h
88-+++ linux-5.17.9/include/linux/security.h
87+--- linux-5.17.15.orig/include/linux/security.h
88++++ linux-5.17.15/include/linux/security.h
8989 @@ -59,6 +59,7 @@ struct fs_parameter;
9090 enum fs_value_type;
9191 struct watch;
@@ -94,7 +94,7 @@
9494
9595 /* Default (no) options for the capable function */
9696 #define CAP_OPT_NONE 0x0
97-@@ -586,7 +587,10 @@ static inline int security_syslog(int ty
97+@@ -588,7 +589,10 @@ static inline int security_syslog(int ty
9898 static inline int security_settime64(const struct timespec64 *ts,
9999 const struct timezone *tz)
100100 {
@@ -106,7 +106,7 @@
106106 }
107107
108108 static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
109-@@ -679,18 +683,18 @@ static inline int security_sb_mount(cons
109+@@ -681,18 +685,18 @@ static inline int security_sb_mount(cons
110110 const char *type, unsigned long flags,
111111 void *data)
112112 {
@@ -128,7 +128,7 @@
128128 }
129129
130130 static inline int security_sb_set_mnt_opts(struct super_block *sb,
131-@@ -712,7 +716,7 @@ static inline int security_sb_clone_mnt_
131+@@ -714,7 +718,7 @@ static inline int security_sb_clone_mnt_
132132 static inline int security_move_mount(const struct path *from_path,
133133 const struct path *to_path)
134134 {
@@ -137,7 +137,7 @@
137137 }
138138
139139 static inline int security_path_notify(const struct path *path, u64 mask,
140-@@ -854,7 +858,7 @@ static inline int security_inode_setattr
140+@@ -856,7 +860,7 @@ static inline int security_inode_setattr
141141
142142 static inline int security_inode_getattr(const struct path *path)
143143 {
@@ -146,7 +146,7 @@
146146 }
147147
148148 static inline int security_inode_setxattr(struct user_namespace *mnt_userns,
149-@@ -952,7 +956,7 @@ static inline void security_file_free(st
149+@@ -954,7 +958,7 @@ static inline void security_file_free(st
150150 static inline int security_file_ioctl(struct file *file, unsigned int cmd,
151151 unsigned long arg)
152152 {
@@ -155,7 +155,7 @@
155155 }
156156
157157 static inline int security_mmap_file(struct file *file, unsigned long prot,
158-@@ -981,7 +985,7 @@ static inline int security_file_lock(str
158+@@ -983,7 +987,7 @@ static inline int security_file_lock(str
159159 static inline int security_file_fcntl(struct file *file, unsigned int cmd,
160160 unsigned long arg)
161161 {
@@ -164,7 +164,7 @@
164164 }
165165
166166 static inline void security_file_set_fowner(struct file *file)
167-@@ -1003,17 +1007,19 @@ static inline int security_file_receive(
167+@@ -1005,17 +1009,19 @@ static inline int security_file_receive(
168168
169169 static inline int security_file_open(struct file *file)
170170 {
@@ -187,7 +187,7 @@
187187
188188 static inline int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
189189 {
190-@@ -1442,7 +1448,7 @@ static inline int security_unix_may_send
190+@@ -1444,7 +1450,7 @@ static inline int security_unix_may_send
191191 static inline int security_socket_create(int family, int type,
192192 int protocol, int kern)
193193 {
@@ -196,7 +196,7 @@
196196 }
197197
198198 static inline int security_socket_post_create(struct socket *sock,
199-@@ -1463,19 +1469,19 @@ static inline int security_socket_bind(s
199+@@ -1465,19 +1471,19 @@ static inline int security_socket_bind(s
200200 struct sockaddr *address,
201201 int addrlen)
202202 {
@@ -219,7 +219,7 @@
219219 }
220220
221221 static inline int security_socket_accept(struct socket *sock,
222-@@ -1487,7 +1493,7 @@ static inline int security_socket_accept
222+@@ -1489,7 +1495,7 @@ static inline int security_socket_accept
223223 static inline int security_socket_sendmsg(struct socket *sock,
224224 struct msghdr *msg, int size)
225225 {
@@ -228,7 +228,7 @@
228228 }
229229
230230 static inline int security_socket_recvmsg(struct socket *sock,
231-@@ -1784,42 +1790,42 @@ int security_path_chroot(const struct pa
231+@@ -1786,42 +1792,42 @@ int security_path_chroot(const struct pa
232232 #else /* CONFIG_SECURITY_PATH */
233233 static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
234234 {
@@ -278,7 +278,7 @@
278278 }
279279
280280 static inline int security_path_rename(const struct path *old_dir,
281-@@ -1828,22 +1834,32 @@ static inline int security_path_rename(c
281+@@ -1830,22 +1836,32 @@ static inline int security_path_rename(c
282282 struct dentry *new_dentry,
283283 unsigned int flags)
284284 {
@@ -315,9 +315,9 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.17.9.orig/include/net/ip.h
319-+++ linux-5.17.9/include/net/ip.h
320-@@ -344,6 +344,8 @@ void inet_get_local_port_range(struct ne
318+--- linux-5.17.15.orig/include/net/ip.h
319++++ linux-5.17.15/include/net/ip.h
320+@@ -345,6 +345,8 @@ void inet_get_local_port_range(struct ne
321321 #ifdef CONFIG_SYSCTL
322322 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
323323 {
@@ -326,7 +326,7 @@
326326 if (!net->ipv4.sysctl_local_reserved_ports)
327327 return false;
328328 return test_bit(port, net->ipv4.sysctl_local_reserved_ports);
329-@@ -362,6 +364,8 @@ static inline bool inet_port_requires_bi
329+@@ -363,6 +365,8 @@ static inline bool inet_port_requires_bi
330330 #else
331331 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
332332 {
@@ -335,8 +335,8 @@
335335 return false;
336336 }
337337
338---- linux-5.17.9.orig/init/init_task.c
339-+++ linux-5.17.9/init/init_task.c
338+--- linux-5.17.15.orig/init/init_task.c
339++++ linux-5.17.15/init/init_task.c
340340 @@ -209,6 +209,10 @@ struct task_struct init_task
341341 #ifdef CONFIG_SECCOMP_FILTER
342342 .seccomp = { .filter_count = ATOMIC_INIT(0) },
@@ -348,8 +348,8 @@
348348 };
349349 EXPORT_SYMBOL(init_task);
350350
351---- linux-5.17.9.orig/kernel/kexec.c
352-+++ linux-5.17.9/kernel/kexec.c
351+--- linux-5.17.15.orig/kernel/kexec.c
352++++ linux-5.17.15/kernel/kexec.c
353353 @@ -16,7 +16,7 @@
354354 #include <linux/syscalls.h>
355355 #include <linux/vmalloc.h>
@@ -368,8 +368,8 @@
368368
369369 /* Permit LSMs and IMA to fail the kexec */
370370 result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
371---- linux-5.17.9.orig/kernel/module.c
372-+++ linux-5.17.9/kernel/module.c
371+--- linux-5.17.15.orig/kernel/module.c
372++++ linux-5.17.15/kernel/module.c
373373 @@ -59,6 +59,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -387,7 +387,7 @@
387387
388388 if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
389389 return -EFAULT;
390-@@ -3822,6 +3825,8 @@ static int may_init_module(void)
390+@@ -3826,6 +3829,8 @@ static int may_init_module(void)
391391 {
392392 if (!capable(CAP_SYS_MODULE) || modules_disabled)
393393 return -EPERM;
@@ -396,9 +396,9 @@
396396
397397 return 0;
398398 }
399---- linux-5.17.9.orig/kernel/ptrace.c
400-+++ linux-5.17.9/kernel/ptrace.c
401-@@ -1294,6 +1294,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
399+--- linux-5.17.15.orig/kernel/ptrace.c
400++++ linux-5.17.15/kernel/ptrace.c
401+@@ -1293,6 +1293,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
404404 long ret;
@@ -410,7 +410,7 @@
410410
411411 if (request == PTRACE_TRACEME) {
412412 ret = ptrace_traceme();
413-@@ -1441,6 +1446,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
413+@@ -1440,6 +1445,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
414414 {
415415 struct task_struct *child;
416416 long ret;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.17.9.orig/kernel/reboot.c
426-+++ linux-5.17.9/kernel/reboot.c
425+--- linux-5.17.15.orig/kernel/reboot.c
426++++ linux-5.17.15/kernel/reboot.c
427427 @@ -18,6 +18,7 @@
428428 #include <linux/syscalls.h>
429429 #include <linux/syscore_ops.h>
@@ -441,8 +441,8 @@
441441
442442 /*
443443 * If pid namespaces are enabled and the current task is in a child
444---- linux-5.17.9.orig/kernel/sched/core.c
445-+++ linux-5.17.9/kernel/sched/core.c
444+--- linux-5.17.15.orig/kernel/sched/core.c
445++++ linux-5.17.15/kernel/sched/core.c
446446 @@ -6983,6 +6983,8 @@ int can_nice(const struct task_struct *p
447447 SYSCALL_DEFINE1(nice, int, increment)
448448 {
@@ -452,9 +452,9 @@
452452
453453 /*
454454 * Setpriority might change our priority at the same moment.
455---- linux-5.17.9.orig/kernel/signal.c
456-+++ linux-5.17.9/kernel/signal.c
457-@@ -3773,6 +3773,8 @@ static inline void prepare_kill_siginfo(
455+--- linux-5.17.15.orig/kernel/signal.c
456++++ linux-5.17.15/kernel/signal.c
457+@@ -3786,6 +3786,8 @@ static inline void prepare_kill_siginfo(
458458 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
459459 {
460460 struct kernel_siginfo info;
@@ -463,7 +463,7 @@
463463
464464 prepare_kill_siginfo(sig, &info);
465465
466-@@ -3872,6 +3874,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
466+@@ -3885,6 +3887,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
467467 if (!access_pidfd_pidns(pid))
468468 goto err;
469469
@@ -485,7 +485,7 @@
485485 if (info) {
486486 ret = copy_siginfo_from_user_any(&kinfo, info);
487487 if (unlikely(ret))
488-@@ -3956,6 +3973,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
488+@@ -3969,6 +3986,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
489489 /* This is only valid for single tasks */
490490 if (pid <= 0 || tgid <= 0)
491491 return -EINVAL;
@@ -494,7 +494,7 @@
494494
495495 return do_tkill(tgid, pid, sig);
496496 }
497-@@ -3972,6 +3991,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
497+@@ -3985,6 +4004,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
498498 /* This is only valid for single tasks */
499499 if (pid <= 0)
500500 return -EINVAL;
@@ -503,7 +503,7 @@
503503
504504 return do_tkill(0, pid, sig);
505505 }
506-@@ -3984,6 +4005,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
506+@@ -3997,6 +4018,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
507507 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
508508 (task_pid_vnr(current) != pid))
509509 return -EPERM;
@@ -512,7 +512,7 @@
512512
513513 /* POSIX.1b doesn't mention process groups. */
514514 return kill_proc_info(sig, info, pid);
515-@@ -4031,6 +4054,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
515+@@ -4044,6 +4067,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
516516 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
517517 (task_pid_vnr(current) != pid))
518518 return -EPERM;
@@ -521,8 +521,8 @@
521521
522522 return do_send_specific(tgid, pid, sig, info);
523523 }
524---- linux-5.17.9.orig/kernel/sys.c
525-+++ linux-5.17.9/kernel/sys.c
524+--- linux-5.17.15.orig/kernel/sys.c
525++++ linux-5.17.15/kernel/sys.c
526526 @@ -212,6 +212,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
527527
528528 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -552,9 +552,9 @@
552552
553553 errno = -EFAULT;
554554 if (!copy_from_user(tmp, name, len)) {
555---- linux-5.17.9.orig/kernel/time/timekeeping.c
556-+++ linux-5.17.9/kernel/time/timekeeping.c
557-@@ -22,6 +22,7 @@
555+--- linux-5.17.15.orig/kernel/time/timekeeping.c
556++++ linux-5.17.15/kernel/time/timekeeping.c
557+@@ -23,6 +23,7 @@
558558 #include <linux/pvclock_gtod.h>
559559 #include <linux/compiler.h>
560560 #include <linux/audit.h>
@@ -562,7 +562,7 @@
562562
563563 #include "tick-internal.h"
564564 #include "ntp_internal.h"
565-@@ -2327,10 +2328,15 @@ static int timekeeping_validate_timex(co
565+@@ -2328,10 +2329,15 @@ static int timekeeping_validate_timex(co
566566 if (!(txc->modes & ADJ_OFFSET_READONLY) &&
567567 !capable(CAP_SYS_TIME))
568568 return -EPERM;
@@ -578,7 +578,7 @@
578578 /*
579579 * if the quartz is off by more than 10% then
580580 * something is VERY wrong!
581-@@ -2345,6 +2351,8 @@ static int timekeeping_validate_timex(co
581+@@ -2346,6 +2352,8 @@ static int timekeeping_validate_timex(co
582582 /* In order to inject time, you gotta be super-user! */
583583 if (!capable(CAP_SYS_TIME))
584584 return -EPERM;
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.17.9.orig/net/ipv4/raw.c
591-+++ linux-5.17.9/net/ipv4/raw.c
590+--- linux-5.17.15.orig/net/ipv4/raw.c
591++++ linux-5.17.15/net/ipv4/raw.c
592592 @@ -772,6 +772,10 @@ static int raw_recvmsg(struct sock *sk,
593593 skb = skb_recv_datagram(sk, flags, noblock, &err);
594594 if (!skb)
@@ -600,8 +600,8 @@
600600
601601 copied = skb->len;
602602 if (len < copied) {
603---- linux-5.17.9.orig/net/ipv4/udp.c
604-+++ linux-5.17.9/net/ipv4/udp.c
603+--- linux-5.17.15.orig/net/ipv4/udp.c
604++++ linux-5.17.15/net/ipv4/udp.c
605605 @@ -1862,6 +1862,8 @@ try_again:
606606 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
607607 if (!skb)
@@ -611,8 +611,8 @@
611611
612612 ulen = udp_skb_len(skb);
613613 copied = len;
614---- linux-5.17.9.orig/net/ipv6/raw.c
615-+++ linux-5.17.9/net/ipv6/raw.c
614+--- linux-5.17.15.orig/net/ipv6/raw.c
615++++ linux-5.17.15/net/ipv6/raw.c
616616 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
617617 skb = skb_recv_datagram(sk, flags, noblock, &err);
618618 if (!skb)
@@ -624,8 +624,8 @@
624624
625625 copied = skb->len;
626626 if (copied > len) {
627---- linux-5.17.9.orig/net/ipv6/udp.c
628-+++ linux-5.17.9/net/ipv6/udp.c
627+--- linux-5.17.15.orig/net/ipv6/udp.c
628++++ linux-5.17.15/net/ipv6/udp.c
629629 @@ -345,6 +345,8 @@ try_again:
630630 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
631631 if (!skb)
@@ -635,8 +635,8 @@
635635
636636 ulen = udp6_skb_len(skb);
637637 copied = len;
638---- linux-5.17.9.orig/net/socket.c
639-+++ linux-5.17.9/net/socket.c
638+--- linux-5.17.15.orig/net/socket.c
639++++ linux-5.17.15/net/socket.c
640640 @@ -1779,6 +1779,10 @@ struct file *do_accept(struct file *file
641641 if (err < 0)
642642 goto out_fd;
@@ -648,8 +648,8 @@
648648 if (upeer_sockaddr) {
649649 len = newsock->ops->getname(newsock,
650650 (struct sockaddr *)&address, 2);
651---- linux-5.17.9.orig/net/unix/af_unix.c
652-+++ linux-5.17.9/net/unix/af_unix.c
651+--- linux-5.17.15.orig/net/unix/af_unix.c
652++++ linux-5.17.15/net/unix/af_unix.c
653653 @@ -2419,6 +2419,10 @@ int __unix_dgram_recvmsg(struct sock *sk
654654 EPOLLOUT | EPOLLWRNORM |
655655 EPOLLWRBAND);
@@ -669,8 +669,8 @@
669669 mutex_unlock(&u->iolock);
670670 out:
671671 return err;
672---- linux-5.17.9.orig/security/Kconfig
673-+++ linux-5.17.9/security/Kconfig
672+--- linux-5.17.15.orig/security/Kconfig
673++++ linux-5.17.15/security/Kconfig
674674 @@ -281,5 +281,7 @@ config LSM
675675
676676 source "security/Kconfig.hardening"
@@ -679,8 +679,8 @@
679679 +
680680 endmenu
681681
682---- linux-5.17.9.orig/security/Makefile
683-+++ linux-5.17.9/security/Makefile
682+--- linux-5.17.15.orig/security/Makefile
683++++ linux-5.17.15/security/Makefile
684684 @@ -27,3 +27,6 @@ obj-$(CONFIG_SECURITY_LANDLOCK) += land
685685
686686 # Object integrity file lists
@@ -688,9 +688,9 @@
688688 +
689689 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
690690 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
691---- linux-5.17.9.orig/security/security.c
692-+++ linux-5.17.9/security/security.c
693-@@ -1661,7 +1661,9 @@ int security_task_alloc(struct task_stru
691+--- linux-5.17.15.orig/security/security.c
692++++ linux-5.17.15/security/security.c
693+@@ -1663,7 +1663,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
696696 return rc;
@@ -701,7 +701,7 @@
701701 if (unlikely(rc))
702702 security_task_free(task);
703703 return rc;
704-@@ -1670,6 +1672,7 @@ int security_task_alloc(struct task_stru
704+@@ -1672,6 +1674,7 @@ int security_task_alloc(struct task_stru
705705 void security_task_free(struct task_struct *task)
706706 {
707707 call_void_hook(task_free, task);
--- trunk/caitsith-patch/patches/ccs-patch-5.18.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-5.18.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.18.
1+This is TOMOYO Linux patch for kernel 5.18.5.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.18.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.18.5.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,9 +28,9 @@
2828 security/security.c | 5 ++-
2929 24 files changed, 160 insertions(+), 30 deletions(-)
3030
31---- linux-5.18.orig/fs/exec.c
32-+++ linux-5.18/fs/exec.c
33-@@ -1833,7 +1833,7 @@ static int bprm_execve(struct linux_binp
31+--- linux-5.18.5.orig/fs/exec.c
32++++ linux-5.18.5/fs/exec.c
33+@@ -1831,7 +1831,7 @@ static int bprm_execve(struct linux_binp
3434 if (retval)
3535 goto out;
3636
@@ -39,8 +39,8 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-5.18.orig/fs/open.c
43-+++ linux-5.18/fs/open.c
42+--- linux-5.18.5.orig/fs/open.c
43++++ linux-5.18.5/fs/open.c
4444 @@ -1374,6 +1374,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-5.18.orig/fs/proc/version.c
54-+++ linux-5.18/fs/proc/version.c
53+--- linux-5.18.5.orig/fs/proc/version.c
54++++ linux-5.18.5/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 5.18 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 5.18.5 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.18.orig/include/linux/sched.h
67-+++ linux-5.18/include/linux/sched.h
66+--- linux-5.18.5.orig/include/linux/sched.h
67++++ linux-5.18.5/include/linux/sched.h
6868 @@ -44,6 +44,7 @@ struct blk_plug;
6969 struct bpf_local_storage;
7070 struct bpf_run_ctx;
@@ -84,8 +84,8 @@
8484
8585 #ifdef CONFIG_TRACING
8686 /* State flags for use by tracers: */
87---- linux-5.18.orig/include/linux/security.h
88-+++ linux-5.18/include/linux/security.h
87+--- linux-5.18.5.orig/include/linux/security.h
88++++ linux-5.18.5/include/linux/security.h
8989 @@ -59,6 +59,7 @@ struct fs_parameter;
9090 enum fs_value_type;
9191 struct watch;
@@ -94,7 +94,7 @@
9494
9595 /* Default (no) options for the capable function */
9696 #define CAP_OPT_NONE 0x0
97-@@ -586,7 +587,10 @@ static inline int security_syslog(int ty
97+@@ -588,7 +589,10 @@ static inline int security_syslog(int ty
9898 static inline int security_settime64(const struct timespec64 *ts,
9999 const struct timezone *tz)
100100 {
@@ -106,7 +106,7 @@
106106 }
107107
108108 static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
109-@@ -679,18 +683,18 @@ static inline int security_sb_mount(cons
109+@@ -681,18 +685,18 @@ static inline int security_sb_mount(cons
110110 const char *type, unsigned long flags,
111111 void *data)
112112 {
@@ -128,7 +128,7 @@
128128 }
129129
130130 static inline int security_sb_set_mnt_opts(struct super_block *sb,
131-@@ -712,7 +716,7 @@ static inline int security_sb_clone_mnt_
131+@@ -714,7 +718,7 @@ static inline int security_sb_clone_mnt_
132132 static inline int security_move_mount(const struct path *from_path,
133133 const struct path *to_path)
134134 {
@@ -137,7 +137,7 @@
137137 }
138138
139139 static inline int security_path_notify(const struct path *path, u64 mask,
140-@@ -854,7 +858,7 @@ static inline int security_inode_setattr
140+@@ -856,7 +860,7 @@ static inline int security_inode_setattr
141141
142142 static inline int security_inode_getattr(const struct path *path)
143143 {
@@ -146,7 +146,7 @@
146146 }
147147
148148 static inline int security_inode_setxattr(struct user_namespace *mnt_userns,
149-@@ -952,7 +956,7 @@ static inline void security_file_free(st
149+@@ -954,7 +958,7 @@ static inline void security_file_free(st
150150 static inline int security_file_ioctl(struct file *file, unsigned int cmd,
151151 unsigned long arg)
152152 {
@@ -155,7 +155,7 @@
155155 }
156156
157157 static inline int security_mmap_file(struct file *file, unsigned long prot,
158-@@ -981,7 +985,7 @@ static inline int security_file_lock(str
158+@@ -983,7 +987,7 @@ static inline int security_file_lock(str
159159 static inline int security_file_fcntl(struct file *file, unsigned int cmd,
160160 unsigned long arg)
161161 {
@@ -164,7 +164,7 @@
164164 }
165165
166166 static inline void security_file_set_fowner(struct file *file)
167-@@ -1003,17 +1007,19 @@ static inline int security_file_receive(
167+@@ -1005,17 +1009,19 @@ static inline int security_file_receive(
168168
169169 static inline int security_file_open(struct file *file)
170170 {
@@ -187,7 +187,7 @@
187187
188188 static inline int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
189189 {
190-@@ -1442,7 +1448,7 @@ static inline int security_unix_may_send
190+@@ -1444,7 +1450,7 @@ static inline int security_unix_may_send
191191 static inline int security_socket_create(int family, int type,
192192 int protocol, int kern)
193193 {
@@ -196,7 +196,7 @@
196196 }
197197
198198 static inline int security_socket_post_create(struct socket *sock,
199-@@ -1463,19 +1469,19 @@ static inline int security_socket_bind(s
199+@@ -1465,19 +1471,19 @@ static inline int security_socket_bind(s
200200 struct sockaddr *address,
201201 int addrlen)
202202 {
@@ -219,7 +219,7 @@
219219 }
220220
221221 static inline int security_socket_accept(struct socket *sock,
222-@@ -1487,7 +1493,7 @@ static inline int security_socket_accept
222+@@ -1489,7 +1495,7 @@ static inline int security_socket_accept
223223 static inline int security_socket_sendmsg(struct socket *sock,
224224 struct msghdr *msg, int size)
225225 {
@@ -228,7 +228,7 @@
228228 }
229229
230230 static inline int security_socket_recvmsg(struct socket *sock,
231-@@ -1784,42 +1790,42 @@ int security_path_chroot(const struct pa
231+@@ -1786,42 +1792,42 @@ int security_path_chroot(const struct pa
232232 #else /* CONFIG_SECURITY_PATH */
233233 static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
234234 {
@@ -278,7 +278,7 @@
278278 }
279279
280280 static inline int security_path_rename(const struct path *old_dir,
281-@@ -1828,22 +1834,32 @@ static inline int security_path_rename(c
281+@@ -1830,22 +1836,32 @@ static inline int security_path_rename(c
282282 struct dentry *new_dentry,
283283 unsigned int flags)
284284 {
@@ -315,8 +315,8 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.18.orig/include/net/ip.h
319-+++ linux-5.18/include/net/ip.h
318+--- linux-5.18.5.orig/include/net/ip.h
319++++ linux-5.18.5/include/net/ip.h
320320 @@ -345,6 +345,8 @@ void inet_get_local_port_range(struct ne
321321 #ifdef CONFIG_SYSCTL
322322 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
@@ -335,8 +335,8 @@
335335 return false;
336336 }
337337
338---- linux-5.18.orig/init/init_task.c
339-+++ linux-5.18/init/init_task.c
338+--- linux-5.18.5.orig/init/init_task.c
339++++ linux-5.18.5/init/init_task.c
340340 @@ -209,6 +209,10 @@ struct task_struct init_task
341341 #ifdef CONFIG_SECCOMP_FILTER
342342 .seccomp = { .filter_count = ATOMIC_INIT(0) },
@@ -348,8 +348,8 @@
348348 };
349349 EXPORT_SYMBOL(init_task);
350350
351---- linux-5.18.orig/kernel/kexec.c
352-+++ linux-5.18/kernel/kexec.c
351+--- linux-5.18.5.orig/kernel/kexec.c
352++++ linux-5.18.5/kernel/kexec.c
353353 @@ -16,7 +16,7 @@
354354 #include <linux/syscalls.h>
355355 #include <linux/vmalloc.h>
@@ -368,8 +368,8 @@
368368
369369 /* Permit LSMs and IMA to fail the kexec */
370370 result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
371---- linux-5.18.orig/kernel/module.c
372-+++ linux-5.18/kernel/module.c
371+--- linux-5.18.5.orig/kernel/module.c
372++++ linux-5.18.5/kernel/module.c
373373 @@ -59,6 +59,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -387,7 +387,7 @@
387387
388388 if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
389389 return -EFAULT;
390-@@ -3822,6 +3825,8 @@ static int may_init_module(void)
390+@@ -3826,6 +3829,8 @@ static int may_init_module(void)
391391 {
392392 if (!capable(CAP_SYS_MODULE) || modules_disabled)
393393 return -EPERM;
@@ -396,9 +396,9 @@
396396
397397 return 0;
398398 }
399---- linux-5.18.orig/kernel/ptrace.c
400-+++ linux-5.18/kernel/ptrace.c
401-@@ -1294,6 +1294,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
399+--- linux-5.18.5.orig/kernel/ptrace.c
400++++ linux-5.18.5/kernel/ptrace.c
401+@@ -1293,6 +1293,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
404404 long ret;
@@ -410,7 +410,7 @@
410410
411411 if (request == PTRACE_TRACEME) {
412412 ret = ptrace_traceme();
413-@@ -1441,6 +1446,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
413+@@ -1440,6 +1445,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
414414 {
415415 struct task_struct *child;
416416 long ret;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.18.orig/kernel/reboot.c
426-+++ linux-5.18/kernel/reboot.c
425+--- linux-5.18.5.orig/kernel/reboot.c
426++++ linux-5.18.5/kernel/reboot.c
427427 @@ -18,6 +18,7 @@
428428 #include <linux/syscalls.h>
429429 #include <linux/syscore_ops.h>
@@ -441,8 +441,8 @@
441441
442442 /*
443443 * If pid namespaces are enabled and the current task is in a child
444---- linux-5.18.orig/kernel/sched/core.c
445-+++ linux-5.18/kernel/sched/core.c
444+--- linux-5.18.5.orig/kernel/sched/core.c
445++++ linux-5.18.5/kernel/sched/core.c
446446 @@ -6953,6 +6953,8 @@ int can_nice(const struct task_struct *p
447447 SYSCALL_DEFINE1(nice, int, increment)
448448 {
@@ -452,9 +452,9 @@
452452
453453 /*
454454 * Setpriority might change our priority at the same moment.
455---- linux-5.18.orig/kernel/signal.c
456-+++ linux-5.18/kernel/signal.c
457-@@ -3775,6 +3775,8 @@ static inline void prepare_kill_siginfo(
455+--- linux-5.18.5.orig/kernel/signal.c
456++++ linux-5.18.5/kernel/signal.c
457+@@ -3788,6 +3788,8 @@ static inline void prepare_kill_siginfo(
458458 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
459459 {
460460 struct kernel_siginfo info;
@@ -463,7 +463,7 @@
463463
464464 prepare_kill_siginfo(sig, &info);
465465
466-@@ -3874,6 +3876,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
466+@@ -3887,6 +3889,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
467467 if (!access_pidfd_pidns(pid))
468468 goto err;
469469
@@ -485,7 +485,7 @@
485485 if (info) {
486486 ret = copy_siginfo_from_user_any(&kinfo, info);
487487 if (unlikely(ret))
488-@@ -3958,6 +3975,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
488+@@ -3971,6 +3988,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
489489 /* This is only valid for single tasks */
490490 if (pid <= 0 || tgid <= 0)
491491 return -EINVAL;
@@ -494,7 +494,7 @@
494494
495495 return do_tkill(tgid, pid, sig);
496496 }
497-@@ -3974,6 +3993,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
497+@@ -3987,6 +4006,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
498498 /* This is only valid for single tasks */
499499 if (pid <= 0)
500500 return -EINVAL;
@@ -503,7 +503,7 @@
503503
504504 return do_tkill(0, pid, sig);
505505 }
506-@@ -3986,6 +4007,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
506+@@ -3999,6 +4020,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
507507 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
508508 (task_pid_vnr(current) != pid))
509509 return -EPERM;
@@ -512,7 +512,7 @@
512512
513513 /* POSIX.1b doesn't mention process groups. */
514514 return kill_proc_info(sig, info, pid);
515-@@ -4033,6 +4056,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
515+@@ -4046,6 +4069,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
516516 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
517517 (task_pid_vnr(current) != pid))
518518 return -EPERM;
@@ -521,8 +521,8 @@
521521
522522 return do_send_specific(tgid, pid, sig, info);
523523 }
524---- linux-5.18.orig/kernel/sys.c
525-+++ linux-5.18/kernel/sys.c
524+--- linux-5.18.5.orig/kernel/sys.c
525++++ linux-5.18.5/kernel/sys.c
526526 @@ -212,6 +212,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
527527
528528 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -552,9 +552,9 @@
552552
553553 errno = -EFAULT;
554554 if (!copy_from_user(tmp, name, len)) {
555---- linux-5.18.orig/kernel/time/timekeeping.c
556-+++ linux-5.18/kernel/time/timekeeping.c
557-@@ -22,6 +22,7 @@
555+--- linux-5.18.5.orig/kernel/time/timekeeping.c
556++++ linux-5.18.5/kernel/time/timekeeping.c
557+@@ -23,6 +23,7 @@
558558 #include <linux/pvclock_gtod.h>
559559 #include <linux/compiler.h>
560560 #include <linux/audit.h>
@@ -562,7 +562,7 @@
562562
563563 #include "tick-internal.h"
564564 #include "ntp_internal.h"
565-@@ -2327,10 +2328,15 @@ static int timekeeping_validate_timex(co
565+@@ -2328,10 +2329,15 @@ static int timekeeping_validate_timex(co
566566 if (!(txc->modes & ADJ_OFFSET_READONLY) &&
567567 !capable(CAP_SYS_TIME))
568568 return -EPERM;
@@ -578,7 +578,7 @@
578578 /*
579579 * if the quartz is off by more than 10% then
580580 * something is VERY wrong!
581-@@ -2345,6 +2351,8 @@ static int timekeeping_validate_timex(co
581+@@ -2346,6 +2352,8 @@ static int timekeeping_validate_timex(co
582582 /* In order to inject time, you gotta be super-user! */
583583 if (!capable(CAP_SYS_TIME))
584584 return -EPERM;
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.18.orig/net/ipv4/raw.c
591-+++ linux-5.18/net/ipv4/raw.c
590+--- linux-5.18.5.orig/net/ipv4/raw.c
591++++ linux-5.18.5/net/ipv4/raw.c
592592 @@ -772,6 +772,10 @@ static int raw_recvmsg(struct sock *sk,
593593 skb = skb_recv_datagram(sk, flags, noblock, &err);
594594 if (!skb)
@@ -600,8 +600,8 @@
600600
601601 copied = skb->len;
602602 if (len < copied) {
603---- linux-5.18.orig/net/ipv4/udp.c
604-+++ linux-5.18/net/ipv4/udp.c
603+--- linux-5.18.5.orig/net/ipv4/udp.c
604++++ linux-5.18.5/net/ipv4/udp.c
605605 @@ -1862,6 +1862,8 @@ try_again:
606606 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
607607 if (!skb)
@@ -611,8 +611,8 @@
611611
612612 ulen = udp_skb_len(skb);
613613 copied = len;
614---- linux-5.18.orig/net/ipv6/raw.c
615-+++ linux-5.18/net/ipv6/raw.c
614+--- linux-5.18.5.orig/net/ipv6/raw.c
615++++ linux-5.18.5/net/ipv6/raw.c
616616 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
617617 skb = skb_recv_datagram(sk, flags, noblock, &err);
618618 if (!skb)
@@ -624,9 +624,9 @@
624624
625625 copied = skb->len;
626626 if (copied > len) {
627---- linux-5.18.orig/net/ipv6/udp.c
628-+++ linux-5.18/net/ipv6/udp.c
629-@@ -345,6 +345,8 @@ try_again:
627+--- linux-5.18.5.orig/net/ipv6/udp.c
628++++ linux-5.18.5/net/ipv6/udp.c
629+@@ -346,6 +346,8 @@ try_again:
630630 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
631631 if (!skb)
632632 return err;
@@ -635,8 +635,8 @@
635635
636636 ulen = udp6_skb_len(skb);
637637 copied = len;
638---- linux-5.18.orig/net/socket.c
639-+++ linux-5.18/net/socket.c
638+--- linux-5.18.5.orig/net/socket.c
639++++ linux-5.18.5/net/socket.c
640640 @@ -1779,6 +1779,10 @@ struct file *do_accept(struct file *file
641641 if (err < 0)
642642 goto out_fd;
@@ -648,8 +648,8 @@
648648 if (upeer_sockaddr) {
649649 len = newsock->ops->getname(newsock,
650650 (struct sockaddr *)&address, 2);
651---- linux-5.18.orig/net/unix/af_unix.c
652-+++ linux-5.18/net/unix/af_unix.c
651+--- linux-5.18.5.orig/net/unix/af_unix.c
652++++ linux-5.18.5/net/unix/af_unix.c
653653 @@ -2419,6 +2419,10 @@ int __unix_dgram_recvmsg(struct sock *sk
654654 EPOLLOUT | EPOLLWRNORM |
655655 EPOLLWRBAND);
@@ -669,8 +669,8 @@
669669 mutex_unlock(&u->iolock);
670670 out:
671671 return err;
672---- linux-5.18.orig/security/Kconfig
673-+++ linux-5.18/security/Kconfig
672+--- linux-5.18.5.orig/security/Kconfig
673++++ linux-5.18.5/security/Kconfig
674674 @@ -282,5 +282,7 @@ config LSM
675675
676676 source "security/Kconfig.hardening"
@@ -679,8 +679,8 @@
679679 +
680680 endmenu
681681
682---- linux-5.18.orig/security/Makefile
683-+++ linux-5.18/security/Makefile
682+--- linux-5.18.5.orig/security/Makefile
683++++ linux-5.18.5/security/Makefile
684684 @@ -27,3 +27,6 @@ obj-$(CONFIG_SECURITY_LANDLOCK) += land
685685
686686 # Object integrity file lists
@@ -688,9 +688,9 @@
688688 +
689689 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
690690 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
691---- linux-5.18.orig/security/security.c
692-+++ linux-5.18/security/security.c
693-@@ -1661,7 +1661,9 @@ int security_task_alloc(struct task_stru
691+--- linux-5.18.5.orig/security/security.c
692++++ linux-5.18.5/security/security.c
693+@@ -1663,7 +1663,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
696696 return rc;
@@ -701,7 +701,7 @@
701701 if (unlikely(rc))
702702 security_task_free(task);
703703 return rc;
704-@@ -1670,6 +1672,7 @@ int security_task_alloc(struct task_stru
704+@@ -1672,6 +1674,7 @@ int security_task_alloc(struct task_stru
705705 void security_task_free(struct task_struct *task)
706706 {
707707 call_void_hook(task_free, task);
--- trunk/caitsith-patch/patches/ccs-patch-5.19.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-5.19.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.19-rc1.
1+This is TOMOYO Linux patch for kernel 5.19-rc2.
22
3-Source code for this patch is https://git.kernel.org/torvalds/t/linux-5.19-rc1.tar.gz
3+Source code for this patch is https://git.kernel.org/torvalds/t/linux-5.19-rc2.tar.gz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -10,7 +10,7 @@
1010 include/net/ip.h | 4 +++
1111 init/init_task.c | 4 +++
1212 kernel/kexec.c | 4 ++-
13- kernel/module.c | 5 +++
13+ kernel/module/main.c | 5 +++
1414 kernel/ptrace.c | 10 +++++++
1515 kernel/reboot.c | 3 ++
1616 kernel/sched/core.c | 2 +
@@ -28,9 +28,9 @@
2828 security/security.c | 5 +++
2929 24 files changed, 150 insertions(+), 30 deletions(-)
3030
31---- linux.orig/fs/exec.c
32-+++ linux/fs/exec.c
33-@@ -1833,7 +1833,7 @@ static int bprm_execve(struct linux_binp
31+--- linux-5.19-rc2.orig/fs/exec.c
32++++ linux-5.19-rc2/fs/exec.c
33+@@ -1835,7 +1835,7 @@ static int bprm_execve(struct linux_binp
3434 if (retval)
3535 goto out;
3636
@@ -39,9 +39,9 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux.orig/fs/open.c
43-+++ linux/fs/open.c
44-@@ -1374,6 +1374,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
42+--- linux-5.19-rc2.orig/fs/open.c
43++++ linux-5.19-rc2/fs/open.c
44+@@ -1439,6 +1439,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
4545 */
4646 SYSCALL_DEFINE0(vhangup)
4747 {
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux.orig/fs/proc/version.c
54-+++ linux/fs/proc/version.c
53+--- linux-5.19-rc2.orig/fs/proc/version.c
54++++ linux-5.19-rc2/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 5.18+ 2022/05/25\n");
62++ printk(KERN_INFO "Hook version: 5.19-rc2 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux.orig/include/linux/sched.h
67-+++ linux/include/linux/sched.h
66+--- linux-5.19-rc2.orig/include/linux/sched.h
67++++ linux-5.19-rc2/include/linux/sched.h
6868 @@ -44,6 +44,7 @@ struct blk_plug;
6969 struct bpf_local_storage;
7070 struct bpf_run_ctx;
@@ -73,7 +73,7 @@
7373 struct cfs_rq;
7474 struct fs_struct;
7575 struct futex_pi_state;
76-@@ -1379,6 +1380,10 @@ struct task_struct {
76+@@ -1377,6 +1378,10 @@ struct task_struct {
7777 /* Pause tracing: */
7878 atomic_t tracing_graph_pause;
7979 #endif
@@ -84,8 +84,8 @@
8484
8585 #ifdef CONFIG_TRACING
8686 /* State flags for use by tracers: */
87---- linux.orig/include/linux/security.h
88-+++ linux/include/linux/security.h
87+--- linux-5.19-rc2.orig/include/linux/security.h
88++++ linux-5.19-rc2/include/linux/security.h
8989 @@ -59,6 +59,7 @@ struct fs_parameter;
9090 enum fs_value_type;
9191 struct watch;
@@ -305,8 +305,8 @@
305305 }
306306 #endif /* CONFIG_SECURITY_PATH */
307307
308---- linux.orig/include/net/ip.h
309-+++ linux/include/net/ip.h
308+--- linux-5.19-rc2.orig/include/net/ip.h
309++++ linux-5.19-rc2/include/net/ip.h
310310 @@ -345,6 +345,8 @@ void inet_get_local_port_range(struct ne
311311 #ifdef CONFIG_SYSCTL
312312 static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
@@ -325,8 +325,8 @@
325325 return false;
326326 }
327327
328---- linux.orig/init/init_task.c
329-+++ linux/init/init_task.c
328+--- linux-5.19-rc2.orig/init/init_task.c
329++++ linux-5.19-rc2/init/init_task.c
330330 @@ -209,6 +209,10 @@ struct task_struct init_task
331331 #ifdef CONFIG_SECCOMP_FILTER
332332 .seccomp = { .filter_count = ATOMIC_INIT(0) },
@@ -338,8 +338,8 @@
338338 };
339339 EXPORT_SYMBOL(init_task);
340340
341---- linux.orig/kernel/kexec.c
342-+++ linux/kernel/kexec.c
341+--- linux-5.19-rc2.orig/kernel/kexec.c
342++++ linux-5.19-rc2/kernel/kexec.c
343343 @@ -16,7 +16,7 @@
344344 #include <linux/syscalls.h>
345345 #include <linux/vmalloc.h>
@@ -358,18 +358,18 @@
358358
359359 /* Permit LSMs and IMA to fail the kexec */
360360 result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
361---- linux.orig/kernel/module.c
362-+++ linux/kernel/module.c
363-@@ -59,6 +59,7 @@
364- #include <linux/audit.h>
365- #include <uapi/linux/module.h>
366- #include "module-internal.h"
367-+#include <linux/ccsecurity.h>
361+--- linux-5.19-rc2.orig/kernel/module/main.c
362++++ linux-5.19-rc2/kernel/module/main.c
363+@@ -58,6 +58,7 @@
368364
369365 #define CREATE_TRACE_POINTS
370366 #include <trace/events/module.h>
371-@@ -918,6 +919,8 @@ SYSCALL_DEFINE2(delete_module, const cha
367++#include <linux/ccsecurity.h>
372368
369+ /*
370+ * Mutex protects:
371+@@ -698,6 +699,8 @@ SYSCALL_DEFINE2(delete_module, const cha
372+
373373 if (!capable(CAP_SYS_MODULE) || modules_disabled)
374374 return -EPERM;
375375 + if (!ccs_capable(CCS_USE_KERNEL_MODULE))
@@ -377,7 +377,7 @@
377377
378378 if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
379379 return -EFAULT;
380-@@ -3822,6 +3825,8 @@ static int may_init_module(void)
380+@@ -2525,6 +2528,8 @@ static int may_init_module(void)
381381 {
382382 if (!capable(CAP_SYS_MODULE) || modules_disabled)
383383 return -EPERM;
@@ -386,9 +386,9 @@
386386
387387 return 0;
388388 }
389---- linux.orig/kernel/ptrace.c
390-+++ linux/kernel/ptrace.c
391-@@ -1294,6 +1294,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
389+--- linux-5.19-rc2.orig/kernel/ptrace.c
390++++ linux-5.19-rc2/kernel/ptrace.c
391+@@ -1271,6 +1271,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
392392 {
393393 struct task_struct *child;
394394 long ret;
@@ -400,7 +400,7 @@
400400
401401 if (request == PTRACE_TRACEME) {
402402 ret = ptrace_traceme();
403-@@ -1441,6 +1446,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
403+@@ -1410,6 +1415,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
404404 {
405405 struct task_struct *child;
406406 long ret;
@@ -412,8 +412,8 @@
412412
413413 if (request == PTRACE_TRACEME) {
414414 ret = ptrace_traceme();
415---- linux.orig/kernel/reboot.c
416-+++ linux/kernel/reboot.c
415+--- linux-5.19-rc2.orig/kernel/reboot.c
416++++ linux-5.19-rc2/kernel/reboot.c
417417 @@ -18,6 +18,7 @@
418418 #include <linux/syscalls.h>
419419 #include <linux/syscore_ops.h>
@@ -422,7 +422,7 @@
422422
423423 /*
424424 * this indicates whether you can reboot with ctrl-alt-del: the default is yes
425-@@ -327,6 +328,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
425+@@ -698,6 +699,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
426426 magic2 != LINUX_REBOOT_MAGIC2B &&
427427 magic2 != LINUX_REBOOT_MAGIC2C))
428428 return -EINVAL;
@@ -431,9 +431,9 @@
431431
432432 /*
433433 * If pid namespaces are enabled and the current task is in a child
434---- linux.orig/kernel/sched/core.c
435-+++ linux/kernel/sched/core.c
436-@@ -6956,6 +6956,8 @@ int can_nice(const struct task_struct *p
434+--- linux-5.19-rc2.orig/kernel/sched/core.c
435++++ linux-5.19-rc2/kernel/sched/core.c
436+@@ -6993,6 +6993,8 @@ int can_nice(const struct task_struct *p
437437 SYSCALL_DEFINE1(nice, int, increment)
438438 {
439439 long nice, retval;
@@ -442,9 +442,9 @@
442442
443443 /*
444444 * Setpriority might change our priority at the same moment.
445---- linux.orig/kernel/signal.c
446-+++ linux/kernel/signal.c
447-@@ -3788,6 +3788,8 @@ static inline void prepare_kill_siginfo(
445+--- linux-5.19-rc2.orig/kernel/signal.c
446++++ linux-5.19-rc2/kernel/signal.c
447+@@ -3770,6 +3770,8 @@ static inline void prepare_kill_siginfo(
448448 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
449449 {
450450 struct kernel_siginfo info;
@@ -453,7 +453,7 @@
453453
454454 prepare_kill_siginfo(sig, &info);
455455
456-@@ -3887,6 +3889,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
456+@@ -3869,6 +3871,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
457457 if (!access_pidfd_pidns(pid))
458458 goto err;
459459
@@ -475,7 +475,7 @@
475475 if (info) {
476476 ret = copy_siginfo_from_user_any(&kinfo, info);
477477 if (unlikely(ret))
478-@@ -3971,6 +3988,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
478+@@ -3953,6 +3970,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
479479 /* This is only valid for single tasks */
480480 if (pid <= 0 || tgid <= 0)
481481 return -EINVAL;
@@ -484,7 +484,7 @@
484484
485485 return do_tkill(tgid, pid, sig);
486486 }
487-@@ -3987,6 +4006,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
487+@@ -3969,6 +3988,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
488488 /* This is only valid for single tasks */
489489 if (pid <= 0)
490490 return -EINVAL;
@@ -493,7 +493,7 @@
493493
494494 return do_tkill(0, pid, sig);
495495 }
496-@@ -3999,6 +4020,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
496+@@ -3981,6 +4002,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
497497 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
498498 (task_pid_vnr(current) != pid))
499499 return -EPERM;
@@ -502,7 +502,7 @@
502502
503503 /* POSIX.1b doesn't mention process groups. */
504504 return kill_proc_info(sig, info, pid);
505-@@ -4046,6 +4069,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
505+@@ -4028,6 +4051,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
506506 if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
507507 (task_pid_vnr(current) != pid))
508508 return -EPERM;
@@ -511,8 +511,8 @@
511511
512512 return do_send_specific(tgid, pid, sig, info);
513513 }
514---- linux.orig/kernel/sys.c
515-+++ linux/kernel/sys.c
514+--- linux-5.19-rc2.orig/kernel/sys.c
515++++ linux-5.19-rc2/kernel/sys.c
516516 @@ -218,6 +218,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
517517
518518 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -542,8 +542,8 @@
542542
543543 errno = -EFAULT;
544544 if (!copy_from_user(tmp, name, len)) {
545---- linux.orig/kernel/time/timekeeping.c
546-+++ linux/kernel/time/timekeeping.c
545+--- linux-5.19-rc2.orig/kernel/time/timekeeping.c
546++++ linux-5.19-rc2/kernel/time/timekeeping.c
547547 @@ -23,6 +23,7 @@
548548 #include <linux/pvclock_gtod.h>
549549 #include <linux/compiler.h>
@@ -577,10 +577,10 @@
577577
578578 /*
579579 * Validate if a timespec/timeval used to inject a time
580---- linux.orig/net/ipv4/raw.c
581-+++ linux/net/ipv4/raw.c
580+--- linux-5.19-rc2.orig/net/ipv4/raw.c
581++++ linux-5.19-rc2/net/ipv4/raw.c
582582 @@ -772,6 +772,10 @@ static int raw_recvmsg(struct sock *sk,
583- skb = skb_recv_datagram(sk, flags, noblock, &err);
583+ skb = skb_recv_datagram(sk, flags, &err);
584584 if (!skb)
585585 goto out;
586586 + if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
@@ -590,10 +590,10 @@
590590
591591 copied = skb->len;
592592 if (len < copied) {
593---- linux.orig/net/ipv4/udp.c
594-+++ linux/net/ipv4/udp.c
595-@@ -1862,6 +1862,8 @@ try_again:
596- skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
593+--- linux-5.19-rc2.orig/net/ipv4/udp.c
594++++ linux-5.19-rc2/net/ipv4/udp.c
595+@@ -1861,6 +1861,8 @@ try_again:
596+ skb = __skb_recv_udp(sk, flags, &off, &err);
597597 if (!skb)
598598 return err;
599599 + if (ccs_socket_post_recvmsg_permission(sk, skb, flags))
@@ -601,10 +601,10 @@
601601
602602 ulen = udp_skb_len(skb);
603603 copied = len;
604---- linux.orig/net/ipv6/raw.c
605-+++ linux/net/ipv6/raw.c
604+--- linux-5.19-rc2.orig/net/ipv6/raw.c
605++++ linux-5.19-rc2/net/ipv6/raw.c
606606 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
607- skb = skb_recv_datagram(sk, flags, noblock, &err);
607+ skb = skb_recv_datagram(sk, flags, &err);
608608 if (!skb)
609609 goto out;
610610 + if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
@@ -614,10 +614,10 @@
614614
615615 copied = skb->len;
616616 if (copied > len) {
617---- linux.orig/net/ipv6/udp.c
618-+++ linux/net/ipv6/udp.c
619-@@ -345,6 +345,8 @@ try_again:
620- skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
617+--- linux-5.19-rc2.orig/net/ipv6/udp.c
618++++ linux-5.19-rc2/net/ipv6/udp.c
619+@@ -346,6 +346,8 @@ try_again:
620+ skb = __skb_recv_udp(sk, flags, &off, &err);
621621 if (!skb)
622622 return err;
623623 + if (ccs_socket_post_recvmsg_permission(sk, skb, flags))
@@ -625,9 +625,9 @@
625625
626626 ulen = udp6_skb_len(skb);
627627 copied = len;
628---- linux.orig/net/socket.c
629-+++ linux/net/socket.c
630-@@ -1811,6 +1811,10 @@ struct file *do_accept(struct file *file
628+--- linux-5.19-rc2.orig/net/socket.c
629++++ linux-5.19-rc2/net/socket.c
630+@@ -1858,6 +1858,10 @@ struct file *do_accept(struct file *file
631631 if (err < 0)
632632 goto out_fd;
633633
@@ -638,9 +638,9 @@
638638 if (upeer_sockaddr) {
639639 len = newsock->ops->getname(newsock,
640640 (struct sockaddr *)&address, 2);
641---- linux.orig/net/unix/af_unix.c
642-+++ linux/net/unix/af_unix.c
643-@@ -2417,6 +2417,10 @@ int __unix_dgram_recvmsg(struct sock *sk
641+--- linux-5.19-rc2.orig/net/unix/af_unix.c
642++++ linux-5.19-rc2/net/unix/af_unix.c
643+@@ -2418,6 +2418,10 @@ int __unix_dgram_recvmsg(struct sock *sk
644644 EPOLLOUT | EPOLLWRNORM |
645645 EPOLLWRBAND);
646646
@@ -651,7 +651,7 @@
651651 if (msg->msg_name)
652652 unix_copy_addr(msg, skb->sk);
653653
654-@@ -2467,6 +2471,7 @@ int __unix_dgram_recvmsg(struct sock *sk
654+@@ -2468,6 +2472,7 @@ int __unix_dgram_recvmsg(struct sock *sk
655655
656656 out_free:
657657 skb_free_datagram(sk, skb);
@@ -659,8 +659,8 @@
659659 mutex_unlock(&u->iolock);
660660 out:
661661 return err;
662---- linux.orig/security/Kconfig
663-+++ linux/security/Kconfig
662+--- linux-5.19-rc2.orig/security/Kconfig
663++++ linux-5.19-rc2/security/Kconfig
664664 @@ -271,5 +271,7 @@ config LSM
665665
666666 source "security/Kconfig.hardening"
@@ -669,8 +669,8 @@
669669 +
670670 endmenu
671671
672---- linux.orig/security/Makefile
673-+++ linux/security/Makefile
672+--- linux-5.19-rc2.orig/security/Makefile
673++++ linux-5.19-rc2/security/Makefile
674674 @@ -27,3 +27,6 @@ obj-$(CONFIG_SECURITY_LANDLOCK) += land
675675
676676 # Object integrity file lists
@@ -678,8 +678,8 @@
678678 +
679679 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
680680 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
681---- linux.orig/security/security.c
682-+++ linux/security/security.c
681+--- linux-5.19-rc2.orig/security/security.c
682++++ linux-5.19-rc2/security/security.c
683683 @@ -1655,7 +1655,9 @@ int security_task_alloc(struct task_stru
684684
685685 if (rc)
--- trunk/caitsith-patch/patches/ccs-patch-5.4.diff (revision 368)
+++ trunk/caitsith-patch/patches/ccs-patch-5.4.diff (revision 369)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.4.195.
1+This is TOMOYO Linux patch for kernel 5.4.199.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.195.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.199.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,9 +28,9 @@
2828 security/security.c | 5 ++-
2929 24 files changed, 160 insertions(+), 30 deletions(-)
3030
31---- linux-5.4.195.orig/fs/exec.c
32-+++ linux-5.4.195/fs/exec.c
33-@@ -1730,7 +1730,7 @@ static int exec_binprm(struct linux_binp
31+--- linux-5.4.199.orig/fs/exec.c
32++++ linux-5.4.199/fs/exec.c
33+@@ -1739,7 +1739,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
3636
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-5.4.195.orig/fs/open.c
43-+++ linux-5.4.195/fs/open.c
42+--- linux-5.4.199.orig/fs/open.c
43++++ linux-5.4.199/fs/open.c
4444 @@ -1205,6 +1205,8 @@ SYSCALL_DEFINE1(close, unsigned int, fd)
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-5.4.195.orig/fs/proc/version.c
54-+++ linux-5.4.195/fs/proc/version.c
53+--- linux-5.4.199.orig/fs/proc/version.c
54++++ linux-5.4.199/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 5.4.195 2022/05/23\n");
62++ printk(KERN_INFO "Hook version: 5.4.199 2022/06/17\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.4.195.orig/include/linux/sched.h
67-+++ linux-5.4.195/include/linux/sched.h
66+--- linux-5.4.199.orig/include/linux/sched.h
67++++ linux-5.4.199/include/linux/sched.h
6868 @@ -38,6 +38,7 @@ struct backing_dev_info;
6969 struct bio_list;
7070 struct blk_plug;
@@ -84,8 +84,8 @@
8484
8585 #ifdef CONFIG_GCC_PLUGIN_STACKLEAK
8686 unsigned long lowest_stack;
87---- linux-5.4.195.orig/include/linux/security.h
88-+++ linux-5.4.195/include/linux/security.h
87+--- linux-5.4.199.orig/include/linux/security.h
88++++ linux-5.4.199/include/linux/security.h
8989 @@ -57,6 +57,7 @@ struct mm_struct;
9090 struct fs_context;
9191 struct fs_parameter;
@@ -94,7 +94,7 @@
9494
9595 /* Default (no) options for the capable function */
9696 #define CAP_OPT_NONE 0x0
97-@@ -560,7 +561,10 @@ static inline int security_syslog(int ty
97+@@ -562,7 +563,10 @@ static inline int security_syslog(int ty
9898 static inline int security_settime64(const struct timespec64 *ts,
9999 const struct timezone *tz)
100100 {
@@ -106,7 +106,7 @@
106106 }
107107
108108 static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
109-@@ -637,18 +641,18 @@ static inline int security_sb_mount(cons
109+@@ -639,18 +643,18 @@ static inline int security_sb_mount(cons
110110 const char *type, unsigned long flags,
111111 void *data)
112112 {
@@ -128,7 +128,7 @@
128128 }
129129
130130 static inline int security_sb_set_mnt_opts(struct super_block *sb,
131-@@ -676,7 +680,7 @@ static inline int security_add_mnt_opt(c
131+@@ -678,7 +682,7 @@ static inline int security_add_mnt_opt(c
132132 static inline int security_move_mount(const struct path *from_path,
133133 const struct path *to_path)
134134 {
@@ -137,7 +137,7 @@
137137 }
138138
139139 static inline int security_path_notify(const struct path *path, u64 mask,
140-@@ -810,7 +814,7 @@ static inline int security_inode_setattr
140+@@ -812,7 +816,7 @@ static inline int security_inode_setattr
141141
142142 static inline int security_inode_getattr(const struct path *path)
143143 {
@@ -146,7 +146,7 @@
146146 }
147147
148148 static inline int security_inode_setxattr(struct dentry *dentry,
149-@@ -902,7 +906,7 @@ static inline void security_file_free(st
149+@@ -904,7 +908,7 @@ static inline void security_file_free(st
150150 static inline int security_file_ioctl(struct file *file, unsigned int cmd,
151151 unsigned long arg)
152152 {
@@ -155,7 +155,7 @@
155155 }
156156
157157 static inline int security_mmap_file(struct file *file, unsigned long prot,
158-@@ -931,7 +935,7 @@ static inline int security_file_lock(str
158+@@ -933,7 +937,7 @@ static inline int security_file_lock(str
159159 static inline int security_file_fcntl(struct file *file, unsigned int cmd,
160160 unsigned long arg)
161161 {
@@ -164,7 +164,7 @@
164164 }
165165
166166 static inline void security_file_set_fowner(struct file *file)
167-@@ -953,17 +957,19 @@ static inline int security_file_receive(
167+@@ -955,17 +959,19 @@ static inline int security_file_receive(
168168
169169 static inline int security_file_open(struct file *file)
170170 {
@@ -187,7 +187,7 @@
187187
188188 static inline int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
189189 {
190-@@ -1347,7 +1353,7 @@ static inline int security_unix_may_send
190+@@ -1349,7 +1355,7 @@ static inline int security_unix_may_send
191191 static inline int security_socket_create(int family, int type,
192192 int protocol, int kern)
193193 {
@@ -196,7 +196,7 @@
196196 }
197197
198198 static inline int security_socket_post_create(struct socket *sock,
199-@@ -1368,19 +1374,19 @@ static inline int security_socket_bind(s
199+@@ -1370,19 +1376,19 @@ static inline int security_socket_bind(s
200200 struct sockaddr *address,
201201 int addrlen)
202202 {
@@ -219,7 +219,7 @@
219219 }
220220
221221 static inline int security_socket_accept(struct socket *sock,
222-@@ -1392,7 +1398,7 @@ static inline int security_socket_accept
222+@@ -1394,7 +1400,7 @@ static inline int security_socket_accept
223223 static inline int security_socket_sendmsg(struct socket *sock,
224224 struct msghdr *msg, int size)
225225 {
@@ -228,7 +228,7 @@
228228 }
229229
230230 static inline int security_socket_recvmsg(struct socket *sock,
231-@@ -1679,42 +1685,42 @@ int security_path_chroot(const struct pa
231+@@ -1681,42 +1687,42 @@ int security_path_chroot(const struct pa
232232 #else /* CONFIG_SECURITY_PATH */
233233 static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
234234 {
@@ -278,7 +278,7 @@
278278 }
279279
280280 static inline int security_path_rename(const struct path *old_dir,
281-@@ -1723,22 +1729,32 @@ static inline int security_path_rename(c
281+@@ -1725,22 +1731,32 @@ static inline int security_path_rename(c
282282 struct dentry *new_dentry,
283283 unsigned int flags)
284284 {
@@ -315,8 +315,8 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.4.195.orig/include/net/ip.h
319-+++ linux-5.4.195/include/net/ip.h
318+--- linux-5.4.199.orig/include/net/ip.h
319++++ linux-5.4.199/include/net/ip.h
320320 @@ -342,6 +342,8 @@ void inet_get_local_port_range(struct ne
321321 #ifdef CONFIG_SYSCTL
322322 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -335,8 +335,8 @@
335335 return 0;
336336 }
337337
338---- linux-5.4.195.orig/init/init_task.c
339-+++ linux-5.4.195/init/init_task.c
338+--- linux-5.4.199.orig/init/init_task.c
339++++ linux-5.4.199/init/init_task.c
340340 @@ -183,6 +183,10 @@ struct task_struct init_task
341341 #ifdef CONFIG_SECURITY
342342 .security = NULL,
@@ -348,8 +348,8 @@
348348 };
349349 EXPORT_SYMBOL(init_task);
350350
351---- linux-5.4.195.orig/kernel/kexec.c
352-+++ linux-5.4.195/kernel/kexec.c
351+--- linux-5.4.199.orig/kernel/kexec.c
352++++ linux-5.4.199/kernel/kexec.c
353353 @@ -16,7 +16,7 @@
354354 #include <linux/syscalls.h>
355355 #include <linux/vmalloc.h>
@@ -368,8 +368,8 @@
368368
369369 /* Permit LSMs and IMA to fail the kexec */
370370 result = security_kernel_load_data(LOADING_KEXEC_IMAGE);
371---- linux-5.4.195.orig/kernel/module.c
372-+++ linux-5.4.195/kernel/module.c
371+--- linux-5.4.199.orig/kernel/module.c
372++++ linux-5.4.199/kernel/module.c
373373 @@ -55,6 +55,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -396,9 +396,9 @@
396396
397397 return 0;
398398 }
399---- linux-5.4.195.orig/kernel/ptrace.c
400-+++ linux-5.4.195/kernel/ptrace.c
401-@@ -1271,6 +1271,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
399+--- linux-5.4.199.orig/kernel/ptrace.c
400++++ linux-5.4.199/kernel/ptrace.c
401+@@ -1270,6 +1270,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
404404 long ret;
@@ -410,7 +410,7 @@
410410
411411 if (request == PTRACE_TRACEME) {
412412 ret = ptrace_traceme();
413-@@ -1418,6 +1423,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
413+@@ -1417,6 +1422,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
414414 {
415415 struct task_struct *child;
416416 long ret;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.4.195.orig/kernel/reboot.c
426-+++ linux-5.4.195/kernel/reboot.c
425+--- linux-5.4.199.orig/kernel/reboot.c
426++++ linux-5.4.199/kernel/reboot.c
427427 @@ -17,6 +17,7 @@
428428 #include <linux/syscalls.h>
429429 #include <linux/syscore_ops.h>
@@ -441,8 +441,8 @@
441441
442442 /*
443443 * If pid namespaces are enabled and the current task is in a child
444---- linux-5.4.195.orig/kernel/sched/core.c
445-+++ linux-5.4.195/kernel/sched/core.c
444+--- linux-5.4.199.orig/kernel/sched/core.c
445++++ linux-5.4.199/kernel/sched/core.c
446446 @@ -4677,6 +4677,8 @@ int can_nice(const struct task_struct *p
447447 SYSCALL_DEFINE1(nice, int, increment)
448448 {
@@ -452,8 +452,8 @@
452452
453453 /*
454454 * Setpriority might change our priority at the same moment.
455---- linux-5.4.195.orig/kernel/signal.c
456-+++ linux-5.4.195/kernel/signal.c
455+--- linux-5.4.199.orig/kernel/signal.c
456++++ linux-5.4.199/kernel/signal.c
457457 @@ -3634,6 +3634,8 @@ static inline void prepare_kill_siginfo(
458458 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
459459 {
@@ -521,8 +521,8 @@
521521
522522 return do_send_specific(tgid, pid, sig, info);
523523 }
524---- linux-5.4.195.orig/kernel/sys.c
525-+++ linux-5.4.195/kernel/sys.c
524+--- linux-5.4.199.orig/kernel/sys.c
525++++ linux-5.4.199/kernel/sys.c
526526 @@ -204,6 +204,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
527527
528528 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -552,8 +552,8 @@
552552
553553 errno = -EFAULT;
554554 if (!copy_from_user(tmp, name, len)) {
555---- linux-5.4.195.orig/kernel/time/timekeeping.c
556-+++ linux-5.4.195/kernel/time/timekeeping.c
555+--- linux-5.4.199.orig/kernel/time/timekeeping.c
556++++ linux-5.4.199/kernel/time/timekeeping.c
557557 @@ -22,6 +22,7 @@
558558 #include <linux/pvclock_gtod.h>
559559 #include <linux/compiler.h>
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.4.195.orig/net/ipv4/raw.c
591-+++ linux-5.4.195/net/ipv4/raw.c
590+--- linux-5.4.199.orig/net/ipv4/raw.c
591++++ linux-5.4.199/net/ipv4/raw.c
592592 @@ -770,6 +770,10 @@ static int raw_recvmsg(struct sock *sk,
593593 skb = skb_recv_datagram(sk, flags, noblock, &err);
594594 if (!skb)
@@ -600,8 +600,8 @@
600600
601601 copied = skb->len;
602602 if (len < copied) {
603---- linux-5.4.195.orig/net/ipv4/udp.c
604-+++ linux-5.4.195/net/ipv4/udp.c
603+--- linux-5.4.199.orig/net/ipv4/udp.c
604++++ linux-5.4.199/net/ipv4/udp.c
605605 @@ -1751,6 +1751,8 @@ try_again:
606606 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
607607 if (!skb)
@@ -611,8 +611,8 @@
611611
612612 ulen = udp_skb_len(skb);
613613 copied = len;
614---- linux-5.4.195.orig/net/ipv6/raw.c
615-+++ linux-5.4.195/net/ipv6/raw.c
614+--- linux-5.4.199.orig/net/ipv6/raw.c
615++++ linux-5.4.199/net/ipv6/raw.c
616616 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
617617 skb = skb_recv_datagram(sk, flags, noblock, &err);
618618 if (!skb)
@@ -624,8 +624,8 @@
624624
625625 copied = skb->len;
626626 if (copied > len) {
627---- linux-5.4.195.orig/net/ipv6/udp.c
628-+++ linux-5.4.195/net/ipv6/udp.c
627+--- linux-5.4.199.orig/net/ipv6/udp.c
628++++ linux-5.4.199/net/ipv6/udp.c
629629 @@ -292,6 +292,8 @@ try_again:
630630 skb = __skb_recv_udp(sk, flags, noblock, &off, &err);
631631 if (!skb)
@@ -635,8 +635,8 @@
635635
636636 ulen = udp6_skb_len(skb);
637637 copied = len;
638---- linux-5.4.195.orig/net/socket.c
639-+++ linux-5.4.195/net/socket.c
638+--- linux-5.4.199.orig/net/socket.c
639++++ linux-5.4.199/net/socket.c
640640 @@ -1744,6 +1744,10 @@ int __sys_accept4(int fd, struct sockadd
641641 if (err < 0)
642642 goto out_fd;
@@ -648,8 +648,8 @@
648648 if (upeer_sockaddr) {
649649 len = newsock->ops->getname(newsock,
650650 (struct sockaddr *)&address, 2);
651---- linux-5.4.195.orig/net/unix/af_unix.c
652-+++ linux-5.4.195/net/unix/af_unix.c
651+--- linux-5.4.199.orig/net/unix/af_unix.c
652++++ linux-5.4.199/net/unix/af_unix.c
653653 @@ -2164,6 +2164,10 @@ static int unix_dgram_recvmsg(struct soc
654654 EPOLLOUT | EPOLLWRNORM |
655655 EPOLLWRBAND);
@@ -669,8 +669,8 @@
669669 mutex_unlock(&u->iolock);
670670 out:
671671 return err;
672---- linux-5.4.195.orig/security/Kconfig
673-+++ linux-5.4.195/security/Kconfig
672+--- linux-5.4.199.orig/security/Kconfig
673++++ linux-5.4.199/security/Kconfig
674674 @@ -294,5 +294,7 @@ config LSM
675675
676676 source "security/Kconfig.hardening"
@@ -679,8 +679,8 @@
679679 +
680680 endmenu
681681
682---- linux-5.4.195.orig/security/Makefile
683-+++ linux-5.4.195/security/Makefile
682+--- linux-5.4.199.orig/security/Makefile
683++++ linux-5.4.199/security/Makefile
684684 @@ -34,3 +34,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
685685 # Object integrity file lists
686686 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -688,8 +688,8 @@
688688 +
689689 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
690690 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
691---- linux-5.4.195.orig/security/security.c
692-+++ linux-5.4.195/security/security.c
691+--- linux-5.4.199.orig/security/security.c
692++++ linux-5.4.199/security/security.c
693693 @@ -1520,7 +1520,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
--- trunk/caitsith-patch/specs/build-c8-4.18.sh (revision 368)
+++ trunk/caitsith-patch/specs/build-c8-4.18.sh (revision 369)
@@ -10,12 +10,12 @@
1010
1111 cd /tmp/ || die "Can't chdir to /tmp/ ."
1212
13-if [ ! -r kernel-4.18.0-383.el8.src.rpm ]
13+if [ ! -r kernel-4.18.0-394.el8.src.rpm ]
1414 then
15- wget https://vault.centos.org/centos/8-stream/BaseOS/Source/SPackages/kernel-4.18.0-383.el8.src.rpm || die "Can't download source package."
15+ wget https://vault.centos.org/centos/8-stream/BaseOS/Source/SPackages/kernel-4.18.0-394.el8.src.rpm || die "Can't download source package."
1616 fi
17-LANG=C rpm --checksig kernel-4.18.0-383.el8.src.rpm | grep -F ': digests signatures OK' || die "Can't verify signature."
18-rpm -ivh kernel-4.18.0-383.el8.src.rpm || die "Can't install source package."
17+LANG=C rpm --checksig kernel-4.18.0-394.el8.src.rpm | grep -F ': digests signatures OK' || die "Can't verify signature."
18+rpm -ivh kernel-4.18.0-394.el8.src.rpm || die "Can't install source package."
1919
2020 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
2121 if [ ! -r caitsith-patch-0.2-20220512.tar.gz ]
@@ -36,7 +36,7 @@
3636 +%define buildid _caitsith_0.2.10
3737
3838 %define rpmversion 4.18.0
39- %define pkgrelease 383.el8
39+ %define pkgrelease 394.el8
4040 @@ -1102,6 +1102,10 @@
4141
4242 # END OF PATCH APPLICATIONS
--- trunk/caitsith-tools/kernel_test/caitsith_log_test.c (revision 368)
+++ trunk/caitsith-tools/kernel_test/caitsith_log_test.c (revision 369)
@@ -416,7 +416,8 @@
416416 goto out;
417417 cp1 = "0 deny ";
418418 write(fd_out, cp1, strlen(cp1));
419- if (!strcmp(testcases[i].action, "rmdir")) {
419+ if (!strcmp(testcases[i].action, "unlink") ||
420+ !strcmp(testcases[i].action, "rmdir")) {
420421 char *cp3 = strstr(cp2, " path.ino=");
421422 char *cp4 = cp3 ? strchr(cp3 + 1, ' ') : NULL;
422423 if (cp4)
Show on old repository browser