• R/O
  • SSH
  • HTTPS

caitsith: コミット


コミットメタ情報

リビジョン374 (tree)
日時2022-12-31 23:39:10
作者kumaneko

ログメッセージ

(メッセージはありません)

変更サマリ

差分

--- tags/htdocs/index.html (revision 373)
+++ tags/htdocs/index.html (revision 374)
@@ -304,12 +304,12 @@
304304 <p>Run the following commands in order to extract source code of CaitSith:</p>
305305
306306 <pre class="command">
307-# wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz'
308-# wget -O caitsith-patch-0.2-20220923.tar.gz.asc 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz.asc'
307+# wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz'
308+# wget -O caitsith-patch-0.2-20221231.tar.gz.asc 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz.asc'
309309 # wget https://tomoyo.osdn.jp/kumaneko-key
310310 # gpg --import kumaneko-key
311-# gpg caitsith-patch-0.2-20220923.tar.gz.asc
312-# tar -zxf caitsith-patch-0.2-20220923.tar.gz
311+# gpg caitsith-patch-0.2-20221231.tar.gz.asc
312+# tar -zxf caitsith-patch-0.2-20221231.tar.gz
313313 </pre>
314314
315315 <hr>
@@ -634,23 +634,24 @@
634634 <hr>
635635 <h3><a name="2.2.2">2.2.2. Download and patch the kernel</a></h3>
636636
637-<p>Download the kernel source from <a href="https://www.kernel.org/pub/linux/kernel/v2.6/">linux-2.6</a> or <a href="https://www.kernel.org/pub/linux/kernel/v3.x/">linux-3</a> or <a href="https://www.kernel.org/pub/linux/kernel/v4.x/">linux-4</a> or <a href="https://www.kernel.org/pub/linux/kernel/v5.x/">linux-5</a>.<br>
637+<p>Download the kernel source from <a href="https://www.kernel.org/pub/linux/kernel/v2.6/">linux-2.6</a> or <a href="https://www.kernel.org/pub/linux/kernel/v3.x/">linux-3</a> or <a href="https://www.kernel.org/pub/linux/kernel/v4.x/">linux-4</a> or <a href="https://www.kernel.org/pub/linux/kernel/v5.x/">linux-5</a> or <a href="https://www.kernel.org/pub/linux/kernel/v6.x/">linux-6</a>.<br>
638638 Linux kernel 2.6.27 and later are supported from the linux-2.6 tree.<br>
639639 Linux kernel 3.0 and later are supported from the linux-3 tree.<br>
640640 Linux kernel 4.0 and later are supported from the linux-4 tree.<br>
641-Linux kernel 5.0 and later are supported from the linux-5 tree.</p>
641+Linux kernel 5.0 and later are supported from the linux-5 tree.<br>
642+Linux kernel 6.0 and later are supported from the linux-6 tree.</p>
642643
643644 <p>Extract the kernel source and go to the extracted directory.<br>
644-In the operations below, "$VERSION" should be replaced with appropriate kernel version. For example "5.16" if using Linux kernel 5.16.10, "2.6.27" if using Linux kernel 2.6.27.62.<br>
645+In the operations below, "$VERSION" should be replaced with appropriate kernel version. For example "6.1" if using Linux kernel 6.1.1, "2.6.27" if using Linux kernel 2.6.27.62.<br>
645646 Also, there are several patches which can be applied to distributor's latest kernels. For example "3.10-centos-7" if using CentOS 7's latest kernel:</p>
646647
647648 <pre class="command">
648-$ wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz'
649-$ wget -O caitsith-patch-0.2-20220923.tar.gz.asc 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz.asc'
649+$ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz'
650+$ wget -O caitsith-patch-0.2-20221231.tar.gz.asc 'https://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz.asc'
650651 $ wget https://tomoyo.osdn.jp/kumaneko-key
651652 $ gpg --import kumaneko-key
652-$ gpg caitsith-patch-0.2-20220923.tar.gz.asc
653-$ tar -zxf caitsith-patch-0.2-20220923.tar.gz
653+$ gpg caitsith-patch-0.2-20221231.tar.gz.asc
654+$ tar -zxf caitsith-patch-0.2-20221231.tar.gz
654655 $ sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' -- patches/ccs-patch-*.diff
655656 $ patch -sp1 &lt; patches/ccs-patch-$VERSION.diff
656657 </pre>
--- trunk/caitsith-patch/caitsith/lsm-4.12.c (revision 373)
+++ trunk/caitsith-patch/caitsith/lsm-4.12.c (revision 374)
@@ -306,6 +306,21 @@
306306 }
307307 #endif
308308
309+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)
310+/**
311+ * cs_file_truncate - Check permission for truncate().
312+ *
313+ * @file: Pointer to "struct file".
314+ *
315+ * Returns 0 on success, negative value otherwise.
316+ */
317+static int cs_file_truncate(struct file *file)
318+{
319+ return cs_truncate_permission(&file->f_path);
320+
321+}
322+#endif
323+
309324 #ifdef CONFIG_SECURITY_PATH
310325
311326 /**
@@ -1128,6 +1143,9 @@
11281143 MY_HOOK_INIT(move_mount, cs_move_mount),
11291144 #endif
11301145 MY_HOOK_INIT(sb_umount, cs_sb_umount),
1146+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)
1147+ MY_HOOK_INIT(file_truncate, cs_file_truncate),
1148+#endif
11311149 #ifdef CONFIG_SECURITY_PATH
11321150 MY_HOOK_INIT(path_mknod, cs_path_mknod),
11331151 MY_HOOK_INIT(path_mkdir, cs_path_mkdir),
--- trunk/caitsith-patch/patches/ccs-patch-3.10-centos-7.diff (revision 373)
+++ trunk/caitsith-patch/patches/ccs-patch-3.10-centos-7.diff (revision 374)
@@ -1,6 +1,6 @@
11 This is TOMOYO Linux patch for CentOS 7.
22
3-Source code for this patch is https://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-1160.76.1.el7.src.rpm
3+Source code for this patch is https://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-1160.81.1.el7.src.rpm
44 ---
55 fs/exec.c | 2
66 fs/open.c | 2
@@ -28,8 +28,8 @@
2828 security/security.c | 111 +++++++++++++++++++++++++++++++++++++++++-----
2929 24 files changed, 248 insertions(+), 37 deletions(-)
3030
31---- linux-3.10.0-1160.76.1.el7.orig/fs/exec.c
32-+++ linux-3.10.0-1160.76.1.el7/fs/exec.c
31+--- linux-3.10.0-1160.81.1.el7.orig/fs/exec.c
32++++ linux-3.10.0-1160.81.1.el7/fs/exec.c
3333 @@ -1506,7 +1506,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-3.10.0-1160.76.1.el7.orig/fs/open.c
43-+++ linux-3.10.0-1160.76.1.el7/fs/open.c
42+--- linux-3.10.0-1160.81.1.el7.orig/fs/open.c
43++++ linux-3.10.0-1160.81.1.el7/fs/open.c
4444 @@ -1106,6 +1106,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-3.10.0-1160.76.1.el7.orig/fs/proc/version.c
54-+++ linux-3.10.0-1160.76.1.el7/fs/proc/version.c
53+--- linux-3.10.0-1160.81.1.el7.orig/fs/proc/version.c
54++++ linux-3.10.0-1160.81.1.el7/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: 3.10.0-1160.76.1.el7 2022/09/13\n");
62++ printk(KERN_INFO "Hook version: 3.10.0-1160.81.1.el7 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +module_init(ccs_show_version);
66---- linux-3.10.0-1160.76.1.el7.orig/include/linux/init_task.h
67-+++ linux-3.10.0-1160.76.1.el7/include/linux/init_task.h
66+--- linux-3.10.0-1160.81.1.el7.orig/include/linux/init_task.h
67++++ linux-3.10.0-1160.81.1.el7/include/linux/init_task.h
6868 @@ -173,6 +173,14 @@ extern struct task_group root_task_group
6969 # define INIT_RT_MUTEXES(tsk)
7070 #endif
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-3.10.0-1160.76.1.el7.orig/include/linux/sched.h
92-+++ linux-3.10.0-1160.76.1.el7/include/linux/sched.h
91+--- linux-3.10.0-1160.81.1.el7.orig/include/linux/sched.h
92++++ linux-3.10.0-1160.81.1.el7/include/linux/sched.h
9393 @@ -4,6 +4,8 @@
9494 #include <uapi/linux/sched.h>
9595 #include <linux/rh_kabi.h>
@@ -110,8 +110,8 @@
110110 };
111111
112112 /* Future-safe accessor for struct task_struct's cpus_allowed. */
113---- linux-3.10.0-1160.76.1.el7.orig/include/linux/security.h
114-+++ linux-3.10.0-1160.76.1.el7/include/linux/security.h
113+--- linux-3.10.0-1160.81.1.el7.orig/include/linux/security.h
114++++ linux-3.10.0-1160.81.1.el7/include/linux/security.h
115115 @@ -56,6 +56,7 @@ struct msg_queue;
116116 struct xattr;
117117 struct xfrm_sec_ctx;
@@ -323,8 +323,8 @@
323323 }
324324 #endif /* CONFIG_SECURITY_PATH */
325325
326---- linux-3.10.0-1160.76.1.el7.orig/include/net/ip.h
327-+++ linux-3.10.0-1160.76.1.el7/include/net/ip.h
326+--- linux-3.10.0-1160.81.1.el7.orig/include/net/ip.h
327++++ linux-3.10.0-1160.81.1.el7/include/net/ip.h
328328 @@ -232,6 +232,8 @@ void inet_get_local_port_range(struct ne
329329 extern unsigned long *sysctl_local_reserved_ports;
330330 static inline int inet_is_reserved_local_port(int port)
@@ -334,8 +334,8 @@
334334 return test_bit(port, sysctl_local_reserved_ports);
335335 }
336336
337---- linux-3.10.0-1160.76.1.el7.orig/kernel/fork.c
338-+++ linux-3.10.0-1160.76.1.el7/kernel/fork.c
337+--- linux-3.10.0-1160.81.1.el7.orig/kernel/fork.c
338++++ linux-3.10.0-1160.81.1.el7/kernel/fork.c
339339 @@ -297,6 +297,7 @@ void __put_task_struct(struct task_struc
340340 delayacct_tsk_free(tsk);
341341 put_signal_struct(tsk->signal);
@@ -362,8 +362,8 @@
362362 bad_fork_cleanup_perf:
363363 perf_event_free_task(p);
364364 bad_fork_cleanup_policy:
365---- linux-3.10.0-1160.76.1.el7.orig/kernel/kexec.c
366-+++ linux-3.10.0-1160.76.1.el7/kernel/kexec.c
365+--- linux-3.10.0-1160.81.1.el7.orig/kernel/kexec.c
366++++ linux-3.10.0-1160.81.1.el7/kernel/kexec.c
367367 @@ -190,6 +190,8 @@ SYSCALL_DEFINE4(kexec_load, unsigned lon
368368 /* We only trust the superuser with rebooting the system. */
369369 if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
@@ -373,8 +373,8 @@
373373
374374 if (get_securelevel() > 0)
375375 return -EPERM;
376---- linux-3.10.0-1160.76.1.el7.orig/kernel/module.c
377-+++ linux-3.10.0-1160.76.1.el7/kernel/module.c
376+--- linux-3.10.0-1160.81.1.el7.orig/kernel/module.c
377++++ linux-3.10.0-1160.81.1.el7/kernel/module.c
378378 @@ -66,6 +66,7 @@
379379 #endif /* __GENKSYMS__ */
380380 #include <uapi/linux/module.h>
@@ -401,8 +401,8 @@
401401
402402 return 0;
403403 }
404---- linux-3.10.0-1160.76.1.el7.orig/kernel/ptrace.c
405-+++ linux-3.10.0-1160.76.1.el7/kernel/ptrace.c
404+--- linux-3.10.0-1160.81.1.el7.orig/kernel/ptrace.c
405++++ linux-3.10.0-1160.81.1.el7/kernel/ptrace.c
406406 @@ -1082,6 +1082,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
407407 {
408408 struct task_struct *child;
@@ -427,8 +427,8 @@
427427
428428 if (request == PTRACE_TRACEME) {
429429 ret = ptrace_traceme();
430---- linux-3.10.0-1160.76.1.el7.orig/kernel/sched/core.c
431-+++ linux-3.10.0-1160.76.1.el7/kernel/sched/core.c
430+--- linux-3.10.0-1160.81.1.el7.orig/kernel/sched/core.c
431++++ linux-3.10.0-1160.81.1.el7/kernel/sched/core.c
432432 @@ -4412,6 +4412,8 @@ int can_nice(const struct task_struct *p
433433 SYSCALL_DEFINE1(nice, int, increment)
434434 {
@@ -438,8 +438,8 @@
438438
439439 /*
440440 * Setpriority might change our priority at the same moment.
441---- linux-3.10.0-1160.76.1.el7.orig/kernel/signal.c
442-+++ linux-3.10.0-1160.76.1.el7/kernel/signal.c
441+--- linux-3.10.0-1160.81.1.el7.orig/kernel/signal.c
442++++ linux-3.10.0-1160.81.1.el7/kernel/signal.c
443443 @@ -2942,6 +2942,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
444444 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
445445 {
@@ -485,8 +485,8 @@
485485
486486 return do_send_specific(tgid, pid, sig, info);
487487 }
488---- linux-3.10.0-1160.76.1.el7.orig/kernel/sys.c
489-+++ linux-3.10.0-1160.76.1.el7/kernel/sys.c
488+--- linux-3.10.0-1160.81.1.el7.orig/kernel/sys.c
489++++ linux-3.10.0-1160.81.1.el7/kernel/sys.c
490490 @@ -197,6 +197,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
491491
492492 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -525,8 +525,8 @@
525525
526526 down_write(&uts_sem);
527527 errno = -EFAULT;
528---- linux-3.10.0-1160.76.1.el7.orig/kernel/time/ntp.c
529-+++ linux-3.10.0-1160.76.1.el7/kernel/time/ntp.c
528+--- linux-3.10.0-1160.81.1.el7.orig/kernel/time/ntp.c
529++++ linux-3.10.0-1160.81.1.el7/kernel/time/ntp.c
530530 @@ -16,6 +16,7 @@
531531 #include <linux/mm.h>
532532 #include <linux/module.h>
@@ -560,8 +560,8 @@
560560
561561 return 0;
562562 }
563---- linux-3.10.0-1160.76.1.el7.orig/net/ipv4/raw.c
564-+++ linux-3.10.0-1160.76.1.el7/net/ipv4/raw.c
563+--- linux-3.10.0-1160.81.1.el7.orig/net/ipv4/raw.c
564++++ linux-3.10.0-1160.81.1.el7/net/ipv4/raw.c
565565 @@ -710,6 +710,10 @@ static int raw_recvmsg(struct kiocb *ioc
566566 skb = skb_recv_datagram(sk, flags, noblock, &err);
567567 if (!skb)
@@ -573,8 +573,8 @@
573573
574574 copied = skb->len;
575575 if (len < copied) {
576---- linux-3.10.0-1160.76.1.el7.orig/net/ipv4/udp.c
577-+++ linux-3.10.0-1160.76.1.el7/net/ipv4/udp.c
576+--- linux-3.10.0-1160.81.1.el7.orig/net/ipv4/udp.c
577++++ linux-3.10.0-1160.81.1.el7/net/ipv4/udp.c
578578 @@ -1467,6 +1467,10 @@ try_again:
579579 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
580580 if (!skb)
@@ -586,8 +586,8 @@
586586
587587 ulen = skb->len - sizeof(struct udphdr);
588588 copied = len;
589---- linux-3.10.0-1160.76.1.el7.orig/net/ipv6/raw.c
590-+++ linux-3.10.0-1160.76.1.el7/net/ipv6/raw.c
589+--- linux-3.10.0-1160.81.1.el7.orig/net/ipv6/raw.c
590++++ linux-3.10.0-1160.81.1.el7/net/ipv6/raw.c
591591 @@ -470,6 +470,10 @@ static int rawv6_recvmsg(struct kiocb *i
592592 skb = skb_recv_datagram(sk, flags, noblock, &err);
593593 if (!skb)
@@ -599,8 +599,8 @@
599599
600600 copied = skb->len;
601601 if (copied > len) {
602---- linux-3.10.0-1160.76.1.el7.orig/net/ipv6/udp.c
603-+++ linux-3.10.0-1160.76.1.el7/net/ipv6/udp.c
602+--- linux-3.10.0-1160.81.1.el7.orig/net/ipv6/udp.c
603++++ linux-3.10.0-1160.81.1.el7/net/ipv6/udp.c
604604 @@ -384,6 +384,10 @@ try_again:
605605 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
606606 if (!skb)
@@ -612,8 +612,8 @@
612612
613613 ulen = skb->len - sizeof(struct udphdr);
614614 copied = len;
615---- linux-3.10.0-1160.76.1.el7.orig/net/socket.c
616-+++ linux-3.10.0-1160.76.1.el7/net/socket.c
615+--- linux-3.10.0-1160.81.1.el7.orig/net/socket.c
616++++ linux-3.10.0-1160.81.1.el7/net/socket.c
617617 @@ -1662,6 +1662,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
618618 if (err < 0)
619619 goto out_fd;
@@ -625,8 +625,8 @@
625625 if (upeer_sockaddr) {
626626 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
627627 &len, 2) < 0) {
628---- linux-3.10.0-1160.76.1.el7.orig/net/unix/af_unix.c
629-+++ linux-3.10.0-1160.76.1.el7/net/unix/af_unix.c
628+--- linux-3.10.0-1160.81.1.el7.orig/net/unix/af_unix.c
629++++ linux-3.10.0-1160.81.1.el7/net/unix/af_unix.c
630630 @@ -2186,6 +2186,10 @@ static int unix_dgram_recvmsg(struct kio
631631 wake_up_interruptible_sync_poll(&u->peer_wait,
632632 POLLOUT | POLLWRNORM | POLLWRBAND);
@@ -638,8 +638,8 @@
638638 if (msg->msg_name)
639639 unix_copy_addr(msg, skb->sk);
640640
641---- linux-3.10.0-1160.76.1.el7.orig/security/Kconfig
642-+++ linux-3.10.0-1160.76.1.el7/security/Kconfig
641+--- linux-3.10.0-1160.81.1.el7.orig/security/Kconfig
642++++ linux-3.10.0-1160.81.1.el7/security/Kconfig
643643 @@ -226,5 +226,7 @@ config DEFAULT_SECURITY
644644 default "yama" if DEFAULT_SECURITY_YAMA
645645 default "" if DEFAULT_SECURITY_DAC
@@ -648,8 +648,8 @@
648648 +
649649 endmenu
650650
651---- linux-3.10.0-1160.76.1.el7.orig/security/Makefile
652-+++ linux-3.10.0-1160.76.1.el7/security/Makefile
651+--- linux-3.10.0-1160.81.1.el7.orig/security/Makefile
652++++ linux-3.10.0-1160.81.1.el7/security/Makefile
653653 @@ -29,3 +29,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/built-in.o
660---- linux-3.10.0-1160.76.1.el7.orig/security/security.c
661-+++ linux-3.10.0-1160.76.1.el7/security/security.c
660+--- linux-3.10.0-1160.81.1.el7.orig/security/security.c
661++++ linux-3.10.0-1160.81.1.el7/security/security.c
662662 @@ -229,7 +229,10 @@ int security_syslog(int type)
663663
664664 int security_settime(const struct timespec *ts, const struct timezone *tz)
--- trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 373)
+++ trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.14.295.
1+This is TOMOYO Linux patch for kernel 4.14.302.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.295.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.302.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.295.orig/fs/exec.c
32-+++ linux-4.14.295/fs/exec.c
31+--- linux-4.14.302.orig/fs/exec.c
32++++ linux-4.14.302/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.295.orig/fs/open.c
43-+++ linux-4.14.295/fs/open.c
42+--- linux-4.14.302.orig/fs/open.c
43++++ linux-4.14.302/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.295.orig/fs/proc/version.c
54-+++ linux-4.14.295/fs/proc/version.c
53+--- linux-4.14.302.orig/fs/proc/version.c
54++++ linux-4.14.302/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.295 2022/10/04\n");
62++ printk(KERN_INFO "Hook version: 4.14.302 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.14.295.orig/include/linux/init_task.h
67-+++ linux-4.14.295/include/linux/init_task.h
66+--- linux-4.14.302.orig/include/linux/init_task.h
67++++ linux-4.14.302/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.295.orig/include/linux/sched.h
92-+++ linux-4.14.295/include/linux/sched.h
91+--- linux-4.14.302.orig/include/linux/sched.h
92++++ linux-4.14.302/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.295.orig/include/linux/security.h
113-+++ linux-4.14.295/include/linux/security.h
112+--- linux-4.14.302.orig/include/linux/security.h
113++++ linux-4.14.302/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.295.orig/include/net/ip.h
335-+++ linux-4.14.295/include/net/ip.h
334+--- linux-4.14.302.orig/include/net/ip.h
335++++ linux-4.14.302/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.295.orig/kernel/kexec.c
355-+++ linux-4.14.295/kernel/kexec.c
354+--- linux-4.14.302.orig/kernel/kexec.c
355++++ linux-4.14.302/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.295.orig/kernel/module.c
375-+++ linux-4.14.295/kernel/module.c
374+--- linux-4.14.302.orig/kernel/module.c
375++++ linux-4.14.302/kernel/module.c
376376 @@ -66,6 +66,7 @@
377377 #include <linux/audit.h>
378378 #include <uapi/linux/module.h>
@@ -399,8 +399,8 @@
399399
400400 return 0;
401401 }
402---- linux-4.14.295.orig/kernel/ptrace.c
403-+++ linux-4.14.295/kernel/ptrace.c
402+--- linux-4.14.302.orig/kernel/ptrace.c
403++++ linux-4.14.302/kernel/ptrace.c
404404 @@ -1185,6 +1185,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
405405 {
406406 struct task_struct *child;
@@ -425,8 +425,8 @@
425425
426426 if (request == PTRACE_TRACEME) {
427427 ret = ptrace_traceme();
428---- linux-4.14.295.orig/kernel/reboot.c
429-+++ linux-4.14.295/kernel/reboot.c
428+--- linux-4.14.302.orig/kernel/reboot.c
429++++ linux-4.14.302/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.295.orig/kernel/sched/core.c
448-+++ linux-4.14.295/kernel/sched/core.c
447+--- linux-4.14.302.orig/kernel/sched/core.c
448++++ linux-4.14.302/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.295.orig/kernel/signal.c
459-+++ linux-4.14.295/kernel/signal.c
458+--- linux-4.14.302.orig/kernel/signal.c
459++++ linux-4.14.302/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.295.orig/kernel/sys.c
506-+++ linux-4.14.295/kernel/sys.c
505+--- linux-4.14.302.orig/kernel/sys.c
506++++ linux-4.14.302/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.295.orig/kernel/time/ntp.c
537-+++ linux-4.14.295/kernel/time/ntp.c
536+--- linux-4.14.302.orig/kernel/time/ntp.c
537++++ linux-4.14.302/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.295.orig/net/ipv4/raw.c
572-+++ linux-4.14.295/net/ipv4/raw.c
571+--- linux-4.14.302.orig/net/ipv4/raw.c
572++++ linux-4.14.302/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.295.orig/net/ipv4/udp.c
585-+++ linux-4.14.295/net/ipv4/udp.c
584+--- linux-4.14.302.orig/net/ipv4/udp.c
585++++ linux-4.14.302/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.295.orig/net/ipv6/raw.c
596-+++ linux-4.14.295/net/ipv6/raw.c
595+--- linux-4.14.302.orig/net/ipv6/raw.c
596++++ linux-4.14.302/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.295.orig/net/ipv6/udp.c
609-+++ linux-4.14.295/net/ipv6/udp.c
608+--- linux-4.14.302.orig/net/ipv6/udp.c
609++++ linux-4.14.302/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.295.orig/net/socket.c
620-+++ linux-4.14.295/net/socket.c
619+--- linux-4.14.302.orig/net/socket.c
620++++ linux-4.14.302/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.295.orig/net/unix/af_unix.c
633-+++ linux-4.14.295/net/unix/af_unix.c
632+--- linux-4.14.302.orig/net/unix/af_unix.c
633++++ linux-4.14.302/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.295.orig/security/Kconfig
654-+++ linux-4.14.295/security/Kconfig
653+--- linux-4.14.302.orig/security/Kconfig
654++++ linux-4.14.302/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.295.orig/security/Makefile
664-+++ linux-4.14.295/security/Makefile
663+--- linux-4.14.302.orig/security/Makefile
664++++ linux-4.14.302/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.295.orig/security/security.c
673-+++ linux-4.14.295/security/security.c
672+--- linux-4.14.302.orig/security/security.c
673++++ linux-4.14.302/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.19.diff (revision 373)
+++ trunk/caitsith-patch/patches/ccs-patch-4.19.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.19.261.
1+This is TOMOYO Linux patch for kernel 4.19.269.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.261.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.269.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.261.orig/fs/exec.c
32-+++ linux-4.19.261/fs/exec.c
31+--- linux-4.19.269.orig/fs/exec.c
32++++ linux-4.19.269/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.261.orig/fs/open.c
43-+++ linux-4.19.261/fs/open.c
42+--- linux-4.19.269.orig/fs/open.c
43++++ linux-4.19.269/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.261.orig/fs/proc/version.c
54-+++ linux-4.19.261/fs/proc/version.c
53+--- linux-4.19.269.orig/fs/proc/version.c
54++++ linux-4.19.269/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.261 2022/10/24\n");
62++ printk(KERN_INFO "Hook version: 4.19.269 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.19.261.orig/include/linux/sched.h
67-+++ linux-4.19.261/include/linux/sched.h
66+--- linux-4.19.269.orig/include/linux/sched.h
67++++ linux-4.19.269/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.261.orig/include/linux/security.h
88-+++ linux-4.19.261/include/linux/security.h
87+--- linux-4.19.269.orig/include/linux/security.h
88++++ linux-4.19.269/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.261.orig/include/net/ip.h
310-+++ linux-4.19.261/include/net/ip.h
309+--- linux-4.19.269.orig/include/net/ip.h
310++++ linux-4.19.269/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.261.orig/init/init_task.c
330-+++ linux-4.19.261/init/init_task.c
329+--- linux-4.19.269.orig/init/init_task.c
330++++ linux-4.19.269/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.261.orig/kernel/kexec.c
343-+++ linux-4.19.261/kernel/kexec.c
342+--- linux-4.19.269.orig/kernel/kexec.c
343++++ linux-4.19.269/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.261.orig/kernel/module.c
363-+++ linux-4.19.261/kernel/module.c
362+--- linux-4.19.269.orig/kernel/module.c
363++++ linux-4.19.269/kernel/module.c
364364 @@ -66,6 +66,7 @@
365365 #include <linux/audit.h>
366366 #include <uapi/linux/module.h>
@@ -387,8 +387,8 @@
387387
388388 return 0;
389389 }
390---- linux-4.19.261.orig/kernel/ptrace.c
391-+++ linux-4.19.261/kernel/ptrace.c
390+--- linux-4.19.269.orig/kernel/ptrace.c
391++++ linux-4.19.269/kernel/ptrace.c
392392 @@ -1168,6 +1168,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.19.261.orig/kernel/reboot.c
417-+++ linux-4.19.261/kernel/reboot.c
416+--- linux-4.19.269.orig/kernel/reboot.c
417++++ linux-4.19.269/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.261.orig/kernel/sched/core.c
436-+++ linux-4.19.261/kernel/sched/core.c
435+--- linux-4.19.269.orig/kernel/sched/core.c
436++++ linux-4.19.269/kernel/sched/core.c
437437 @@ -3993,6 +3993,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.261.orig/kernel/signal.c
447-+++ linux-4.19.261/kernel/signal.c
446+--- linux-4.19.269.orig/kernel/signal.c
447++++ linux-4.19.269/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.261.orig/kernel/sys.c
494-+++ linux-4.19.261/kernel/sys.c
493+--- linux-4.19.269.orig/kernel/sys.c
494++++ linux-4.19.269/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.261.orig/kernel/time/timekeeping.c
525-+++ linux-4.19.261/kernel/time/timekeeping.c
524+--- linux-4.19.269.orig/kernel/time/timekeeping.c
525++++ linux-4.19.269/kernel/time/timekeeping.c
526526 @@ -27,6 +27,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.261.orig/net/ipv4/raw.c
560-+++ linux-4.19.261/net/ipv4/raw.c
559+--- linux-4.19.269.orig/net/ipv4/raw.c
560++++ linux-4.19.269/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.261.orig/net/ipv4/udp.c
573-+++ linux-4.19.261/net/ipv4/udp.c
572+--- linux-4.19.269.orig/net/ipv4/udp.c
573++++ linux-4.19.269/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.261.orig/net/ipv6/raw.c
584-+++ linux-4.19.261/net/ipv6/raw.c
583+--- linux-4.19.269.orig/net/ipv6/raw.c
584++++ linux-4.19.269/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.261.orig/net/ipv6/udp.c
597-+++ linux-4.19.261/net/ipv6/udp.c
596+--- linux-4.19.269.orig/net/ipv6/udp.c
597++++ linux-4.19.269/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.261.orig/net/socket.c
608-+++ linux-4.19.261/net/socket.c
607+--- linux-4.19.269.orig/net/socket.c
608++++ linux-4.19.269/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.261.orig/net/unix/af_unix.c
621-+++ linux-4.19.261/net/unix/af_unix.c
620+--- linux-4.19.269.orig/net/unix/af_unix.c
621++++ linux-4.19.269/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.261.orig/security/Kconfig
642-+++ linux-4.19.261/security/Kconfig
641+--- linux-4.19.269.orig/security/Kconfig
642++++ linux-4.19.269/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.261.orig/security/Makefile
652-+++ linux-4.19.261/security/Makefile
651+--- linux-4.19.269.orig/security/Makefile
652++++ linux-4.19.269/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.261.orig/security/security.c
661-+++ linux-4.19.261/security/security.c
660+--- linux-4.19.269.orig/security/security.c
661++++ linux-4.19.269/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 373)
+++ trunk/caitsith-patch/patches/ccs-patch-4.9.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.9.330.
1+This is TOMOYO Linux patch for kernel 4.9.336.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.330.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.336.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.330.orig/fs/exec.c
32-+++ linux-4.9.330/fs/exec.c
31+--- linux-4.9.336.orig/fs/exec.c
32++++ linux-4.9.336/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.330.orig/fs/open.c
43-+++ linux-4.9.330/fs/open.c
42+--- linux-4.9.336.orig/fs/open.c
43++++ linux-4.9.336/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.330.orig/fs/proc/version.c
54-+++ linux-4.9.330/fs/proc/version.c
53+--- linux-4.9.336.orig/fs/proc/version.c
54++++ linux-4.9.336/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.330 2022/10/04\n");
62++ printk(KERN_INFO "Hook version: 4.9.336 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.9.330.orig/include/linux/init_task.h
67-+++ linux-4.9.330/include/linux/init_task.h
66+--- linux-4.9.336.orig/include/linux/init_task.h
67++++ linux-4.9.336/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.330.orig/include/linux/sched.h
92-+++ linux-4.9.330/include/linux/sched.h
91+--- linux-4.9.336.orig/include/linux/sched.h
92++++ linux-4.9.336/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.330.orig/include/linux/security.h
114-+++ linux-4.9.330/include/linux/security.h
113+--- linux-4.9.336.orig/include/linux/security.h
114++++ linux-4.9.336/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.330.orig/include/net/ip.h
322-+++ linux-4.9.330/include/net/ip.h
321+--- linux-4.9.336.orig/include/net/ip.h
322++++ linux-4.9.336/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.330.orig/kernel/fork.c
342-+++ linux-4.9.330/kernel/fork.c
341+--- linux-4.9.336.orig/kernel/fork.c
342++++ linux-4.9.336/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.330.orig/kernel/kexec.c
370-+++ linux-4.9.330/kernel/kexec.c
369+--- linux-4.9.336.orig/kernel/kexec.c
370++++ linux-4.9.336/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.330.orig/kernel/module.c
390-+++ linux-4.9.330/kernel/module.c
389+--- linux-4.9.336.orig/kernel/module.c
390++++ linux-4.9.336/kernel/module.c
391391 @@ -63,6 +63,7 @@
392392 #include <linux/dynamic_debug.h>
393393 #include <uapi/linux/module.h>
@@ -414,8 +414,8 @@
414414
415415 return 0;
416416 }
417---- linux-4.9.330.orig/kernel/ptrace.c
418-+++ linux-4.9.330/kernel/ptrace.c
417+--- linux-4.9.336.orig/kernel/ptrace.c
418++++ linux-4.9.336/kernel/ptrace.c
419419 @@ -1178,6 +1178,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
420420 {
421421 struct task_struct *child;
@@ -440,8 +440,8 @@
440440
441441 if (request == PTRACE_TRACEME) {
442442 ret = ptrace_traceme();
443---- linux-4.9.330.orig/kernel/reboot.c
444-+++ linux-4.9.330/kernel/reboot.c
443+--- linux-4.9.336.orig/kernel/reboot.c
444++++ linux-4.9.336/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.330.orig/kernel/sched/core.c
463-+++ linux-4.9.330/kernel/sched/core.c
462+--- linux-4.9.336.orig/kernel/sched/core.c
463++++ linux-4.9.336/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.330.orig/kernel/signal.c
474-+++ linux-4.9.330/kernel/signal.c
473+--- linux-4.9.336.orig/kernel/signal.c
474++++ linux-4.9.336/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.330.orig/kernel/sys.c
521-+++ linux-4.9.330/kernel/sys.c
520+--- linux-4.9.336.orig/kernel/sys.c
521++++ linux-4.9.336/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.330.orig/kernel/time/ntp.c
552-+++ linux-4.9.330/kernel/time/ntp.c
551+--- linux-4.9.336.orig/kernel/time/ntp.c
552++++ linux-4.9.336/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.330.orig/net/ipv4/raw.c
587-+++ linux-4.9.330/net/ipv4/raw.c
586+--- linux-4.9.336.orig/net/ipv4/raw.c
587++++ linux-4.9.336/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.330.orig/net/ipv4/udp.c
600-+++ linux-4.9.330/net/ipv4/udp.c
599+--- linux-4.9.336.orig/net/ipv4/udp.c
600++++ linux-4.9.336/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.330.orig/net/ipv6/raw.c
611-+++ linux-4.9.330/net/ipv6/raw.c
610+--- linux-4.9.336.orig/net/ipv6/raw.c
611++++ linux-4.9.336/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.330.orig/net/ipv6/udp.c
624-+++ linux-4.9.330/net/ipv6/udp.c
623+--- linux-4.9.336.orig/net/ipv6/udp.c
624++++ linux-4.9.336/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.330.orig/net/socket.c
635-+++ linux-4.9.330/net/socket.c
634+--- linux-4.9.336.orig/net/socket.c
635++++ linux-4.9.336/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.330.orig/net/unix/af_unix.c
648-+++ linux-4.9.330/net/unix/af_unix.c
647+--- linux-4.9.336.orig/net/unix/af_unix.c
648++++ linux-4.9.336/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.330.orig/security/Kconfig
669-+++ linux-4.9.330/security/Kconfig
668+--- linux-4.9.336.orig/security/Kconfig
669++++ linux-4.9.336/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.330.orig/security/Makefile
679-+++ linux-4.9.330/security/Makefile
678+--- linux-4.9.336.orig/security/Makefile
679++++ linux-4.9.336/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 373)
+++ trunk/caitsith-patch/patches/ccs-patch-5.10.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.10.149.
1+This is TOMOYO Linux patch for kernel 5.10.161.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.149.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.161.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.149.orig/fs/exec.c
32-+++ linux-5.10.149/fs/exec.c
31+--- linux-5.10.161.orig/fs/exec.c
32++++ linux-5.10.161/fs/exec.c
3333 @@ -1826,7 +1826,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.149.orig/fs/open.c
43-+++ linux-5.10.149/fs/open.c
42+--- linux-5.10.161.orig/fs/open.c
43++++ linux-5.10.161/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.149.orig/fs/proc/version.c
54-+++ linux-5.10.149/fs/proc/version.c
53+--- linux-5.10.161.orig/fs/proc/version.c
54++++ linux-5.10.161/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.149 2022/10/24\n");
62++ printk(KERN_INFO "Hook version: 5.10.161 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.10.149.orig/include/linux/sched.h
67-+++ linux-5.10.149/include/linux/sched.h
66+--- linux-5.10.161.orig/include/linux/sched.h
67++++ linux-5.10.161/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.149.orig/include/linux/security.h
88-+++ linux-5.10.149/include/linux/security.h
87+--- linux-5.10.161.orig/include/linux/security.h
88++++ linux-5.10.161/include/linux/security.h
8989 @@ -59,6 +59,7 @@ struct fs_parameter;
9090 enum fs_value_type;
9191 struct watch;
@@ -315,8 +315,8 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.10.149.orig/include/net/ip.h
319-+++ linux-5.10.149/include/net/ip.h
318+--- linux-5.10.161.orig/include/net/ip.h
319++++ linux-5.10.161/include/net/ip.h
320320 @@ -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)
@@ -335,8 +335,8 @@
335335 return false;
336336 }
337337
338---- linux-5.10.149.orig/init/init_task.c
339-+++ linux-5.10.149/init/init_task.c
338+--- linux-5.10.161.orig/init/init_task.c
339++++ linux-5.10.161/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.149.orig/kernel/kexec.c
352-+++ linux-5.10.149/kernel/kexec.c
351+--- linux-5.10.161.orig/kernel/kexec.c
352++++ linux-5.10.161/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.149.orig/kernel/module.c
372-+++ linux-5.10.149/kernel/module.c
371+--- linux-5.10.161.orig/kernel/module.c
372++++ linux-5.10.161/kernel/module.c
373373 @@ -59,6 +59,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -396,8 +396,8 @@
396396
397397 return 0;
398398 }
399---- linux-5.10.149.orig/kernel/ptrace.c
400-+++ linux-5.10.149/kernel/ptrace.c
399+--- linux-5.10.161.orig/kernel/ptrace.c
400++++ linux-5.10.161/kernel/ptrace.c
401401 @@ -1270,6 +1270,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.10.149.orig/kernel/reboot.c
426-+++ linux-5.10.149/kernel/reboot.c
425+--- linux-5.10.161.orig/kernel/reboot.c
426++++ linux-5.10.161/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.149.orig/kernel/sched/core.c
445-+++ linux-5.10.149/kernel/sched/core.c
444+--- linux-5.10.161.orig/kernel/sched/core.c
445++++ linux-5.10.161/kernel/sched/core.c
446446 @@ -5062,6 +5062,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.149.orig/kernel/signal.c
456-+++ linux-5.10.149/kernel/signal.c
455+--- linux-5.10.161.orig/kernel/signal.c
456++++ linux-5.10.161/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.149.orig/kernel/sys.c
525-+++ linux-5.10.149/kernel/sys.c
524+--- linux-5.10.161.orig/kernel/sys.c
525++++ linux-5.10.161/kernel/sys.c
526526 @@ -205,6 +205,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.10.149.orig/kernel/time/timekeeping.c
556-+++ linux-5.10.149/kernel/time/timekeeping.c
555+--- linux-5.10.161.orig/kernel/time/timekeeping.c
556++++ linux-5.10.161/kernel/time/timekeeping.c
557557 @@ -24,6 +24,7 @@
558558 #include <linux/compiler.h>
559559 #include <linux/audit.h>
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.10.149.orig/net/ipv4/raw.c
591-+++ linux-5.10.149/net/ipv4/raw.c
590+--- linux-5.10.161.orig/net/ipv4/raw.c
591++++ linux-5.10.161/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.149.orig/net/ipv4/udp.c
604-+++ linux-5.10.149/net/ipv4/udp.c
603+--- linux-5.10.161.orig/net/ipv4/udp.c
604++++ linux-5.10.161/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.149.orig/net/ipv6/raw.c
615-+++ linux-5.10.149/net/ipv6/raw.c
614+--- linux-5.10.161.orig/net/ipv6/raw.c
615++++ linux-5.10.161/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.149.orig/net/ipv6/udp.c
628-+++ linux-5.10.149/net/ipv6/udp.c
627+--- linux-5.10.161.orig/net/ipv6/udp.c
628++++ linux-5.10.161/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.149.orig/net/socket.c
639-+++ linux-5.10.149/net/socket.c
638+--- linux-5.10.161.orig/net/socket.c
639++++ linux-5.10.161/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.149.orig/net/unix/af_unix.c
652-+++ linux-5.10.149/net/unix/af_unix.c
651+--- linux-5.10.161.orig/net/unix/af_unix.c
652++++ linux-5.10.161/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.149.orig/security/Kconfig
673-+++ linux-5.10.149/security/Kconfig
672+--- linux-5.10.161.orig/security/Kconfig
673++++ linux-5.10.161/security/Kconfig
674674 @@ -283,5 +283,7 @@ config LSM
675675
676676 source "security/Kconfig.hardening"
@@ -679,8 +679,8 @@
679679 +
680680 endmenu
681681
682---- linux-5.10.149.orig/security/Makefile
683-+++ linux-5.10.149/security/Makefile
682+--- linux-5.10.161.orig/security/Makefile
683++++ linux-5.10.161/security/Makefile
684684 @@ -36,3 +36,6 @@ obj-$(CONFIG_BPF_LSM) += bpf/
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.10.149.orig/security/security.c
692-+++ linux-5.10.149/security/security.c
691+--- linux-5.10.161.orig/security/security.c
692++++ linux-5.10.161/security/security.c
693693 @@ -1601,7 +1601,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
--- trunk/caitsith-patch/patches/ccs-patch-5.15.diff (revision 373)
+++ trunk/caitsith-patch/patches/ccs-patch-5.15.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.15.74.
1+This is TOMOYO Linux patch for kernel 5.15.85.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.74.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.85.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.74.orig/fs/exec.c
32-+++ linux-5.15.74/fs/exec.c
31+--- linux-5.15.85.orig/fs/exec.c
32++++ linux-5.15.85/fs/exec.c
3333 @@ -1841,7 +1841,7 @@ static int bprm_execve(struct linux_binp
3434 if (retval)
3535 goto out;
@@ -39,9 +39,9 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-5.15.74.orig/fs/open.c
43-+++ linux-5.15.74/fs/open.c
44-@@ -1373,6 +1373,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
42+--- linux-5.15.85.orig/fs/open.c
43++++ linux-5.15.85/fs/open.c
44+@@ -1370,6 +1370,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-5.15.74.orig/fs/proc/version.c
54-+++ linux-5.15.74/fs/proc/version.c
53+--- linux-5.15.85.orig/fs/proc/version.c
54++++ linux-5.15.85/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.74 2022/10/24\n");
62++ printk(KERN_INFO "Hook version: 5.15.85 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.15.74.orig/include/linux/sched.h
67-+++ linux-5.15.74/include/linux/sched.h
66+--- linux-5.15.85.orig/include/linux/sched.h
67++++ linux-5.15.85/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.74.orig/include/linux/security.h
88-+++ linux-5.15.74/include/linux/security.h
87+--- linux-5.15.85.orig/include/linux/security.h
88++++ linux-5.15.85/include/linux/security.h
8989 @@ -59,6 +59,7 @@ struct fs_parameter;
9090 enum fs_value_type;
9191 struct watch;
@@ -315,8 +315,8 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.15.74.orig/include/net/ip.h
319-+++ linux-5.15.74/include/net/ip.h
318+--- linux-5.15.85.orig/include/net/ip.h
319++++ linux-5.15.85/include/net/ip.h
320320 @@ -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)
@@ -335,8 +335,8 @@
335335 return false;
336336 }
337337
338---- linux-5.15.74.orig/init/init_task.c
339-+++ linux-5.15.74/init/init_task.c
338+--- linux-5.15.85.orig/init/init_task.c
339++++ linux-5.15.85/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.74.orig/kernel/kexec.c
352-+++ linux-5.15.74/kernel/kexec.c
351+--- linux-5.15.85.orig/kernel/kexec.c
352++++ linux-5.15.85/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.74.orig/kernel/module.c
372-+++ linux-5.15.74/kernel/module.c
371+--- linux-5.15.85.orig/kernel/module.c
372++++ linux-5.15.85/kernel/module.c
373373 @@ -59,6 +59,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -396,8 +396,8 @@
396396
397397 return 0;
398398 }
399---- linux-5.15.74.orig/kernel/ptrace.c
400-+++ linux-5.15.74/kernel/ptrace.c
399+--- linux-5.15.85.orig/kernel/ptrace.c
400++++ linux-5.15.85/kernel/ptrace.c
401401 @@ -1295,6 +1295,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.15.74.orig/kernel/reboot.c
426-+++ linux-5.15.74/kernel/reboot.c
425+--- linux-5.15.85.orig/kernel/reboot.c
426++++ linux-5.15.85/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.74.orig/kernel/sched/core.c
445-+++ linux-5.15.74/kernel/sched/core.c
444+--- linux-5.15.85.orig/kernel/sched/core.c
445++++ linux-5.15.85/kernel/sched/core.c
446446 @@ -7002,6 +7002,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.15.74.orig/kernel/signal.c
456-+++ linux-5.15.74/kernel/signal.c
455+--- linux-5.15.85.orig/kernel/signal.c
456++++ linux-5.15.85/kernel/signal.c
457457 @@ -3800,6 +3800,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.15.74.orig/kernel/sys.c
525-+++ linux-5.15.74/kernel/sys.c
524+--- linux-5.15.85.orig/kernel/sys.c
525++++ linux-5.15.85/kernel/sys.c
526526 @@ -211,6 +211,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.15.74.orig/kernel/time/timekeeping.c
556-+++ linux-5.15.74/kernel/time/timekeeping.c
555+--- linux-5.15.85.orig/kernel/time/timekeeping.c
556++++ linux-5.15.85/kernel/time/timekeeping.c
557557 @@ -24,6 +24,7 @@
558558 #include <linux/compiler.h>
559559 #include <linux/audit.h>
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.15.74.orig/net/ipv4/raw.c
591-+++ linux-5.15.74/net/ipv4/raw.c
590+--- linux-5.15.85.orig/net/ipv4/raw.c
591++++ linux-5.15.85/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.74.orig/net/ipv4/udp.c
604-+++ linux-5.15.74/net/ipv4/udp.c
603+--- linux-5.15.85.orig/net/ipv4/udp.c
604++++ linux-5.15.85/net/ipv4/udp.c
605605 @@ -1864,6 +1864,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.74.orig/net/ipv6/raw.c
615-+++ linux-5.15.74/net/ipv6/raw.c
614+--- linux-5.15.85.orig/net/ipv6/raw.c
615++++ linux-5.15.85/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.74.orig/net/ipv6/udp.c
628-+++ linux-5.15.74/net/ipv6/udp.c
627+--- linux-5.15.85.orig/net/ipv6/udp.c
628++++ linux-5.15.85/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.74.orig/net/socket.c
639-+++ linux-5.15.74/net/socket.c
638+--- linux-5.15.85.orig/net/socket.c
639++++ linux-5.15.85/net/socket.c
640640 @@ -1778,6 +1778,10 @@ struct file *do_accept(struct file *file
641641 if (err < 0)
642642 goto out_fd;
@@ -648,9 +648,9 @@
648648 if (upeer_sockaddr) {
649649 len = newsock->ops->getname(newsock,
650650 (struct sockaddr *)&address, 2);
651---- linux-5.15.74.orig/net/unix/af_unix.c
652-+++ linux-5.15.74/net/unix/af_unix.c
653-@@ -2331,6 +2331,10 @@ int __unix_dgram_recvmsg(struct sock *sk
651+--- linux-5.15.85.orig/net/unix/af_unix.c
652++++ linux-5.15.85/net/unix/af_unix.c
653+@@ -2332,6 +2332,10 @@ int __unix_dgram_recvmsg(struct sock *sk
654654 EPOLLOUT | EPOLLWRNORM |
655655 EPOLLWRBAND);
656656
@@ -661,7 +661,7 @@
661661 if (msg->msg_name)
662662 unix_copy_addr(msg, skb->sk);
663663
664-@@ -2381,6 +2385,7 @@ int __unix_dgram_recvmsg(struct sock *sk
664+@@ -2382,6 +2386,7 @@ int __unix_dgram_recvmsg(struct sock *sk
665665
666666 out_free:
667667 skb_free_datagram(sk, skb);
@@ -669,8 +669,8 @@
669669 mutex_unlock(&u->iolock);
670670 out:
671671 return err;
672---- linux-5.15.74.orig/security/Kconfig
673-+++ linux-5.15.74/security/Kconfig
672+--- linux-5.15.85.orig/security/Kconfig
673++++ linux-5.15.85/security/Kconfig
674674 @@ -284,5 +284,7 @@ config LSM
675675
676676 source "security/Kconfig.hardening"
@@ -679,8 +679,8 @@
679679 +
680680 endmenu
681681
682---- linux-5.15.74.orig/security/Makefile
683-+++ linux-5.15.74/security/Makefile
682+--- linux-5.15.85.orig/security/Makefile
683++++ linux-5.15.85/security/Makefile
684684 @@ -27,3 +27,6 @@ obj-$(CONFIG_SECURITY_LANDLOCK) += land
685685
686686 # Object integrity file lists
@@ -688,8 +688,8 @@
688688 +
689689 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
690690 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
691---- linux-5.15.74.orig/security/security.c
692-+++ linux-5.15.74/security/security.c
691+--- linux-5.15.85.orig/security/security.c
692++++ linux-5.15.85/security/security.c
693693 @@ -1659,7 +1659,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
--- trunk/caitsith-patch/patches/ccs-patch-5.4.diff (revision 373)
+++ trunk/caitsith-patch/patches/ccs-patch-5.4.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 5.4.219.
1+This is TOMOYO Linux patch for kernel 5.4.228.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.219.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.228.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.4.219.orig/fs/exec.c
32-+++ linux-5.4.219/fs/exec.c
31+--- linux-5.4.228.orig/fs/exec.c
32++++ linux-5.4.228/fs/exec.c
3333 @@ -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();
@@ -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.219.orig/fs/open.c
43-+++ linux-5.4.219/fs/open.c
42+--- linux-5.4.228.orig/fs/open.c
43++++ linux-5.4.228/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.219.orig/fs/proc/version.c
54-+++ linux-5.4.219/fs/proc/version.c
53+--- linux-5.4.228.orig/fs/proc/version.c
54++++ linux-5.4.228/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.219 2022/10/24\n");
62++ printk(KERN_INFO "Hook version: 5.4.228 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-5.4.219.orig/include/linux/sched.h
67-+++ linux-5.4.219/include/linux/sched.h
66+--- linux-5.4.228.orig/include/linux/sched.h
67++++ linux-5.4.228/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.219.orig/include/linux/security.h
88-+++ linux-5.4.219/include/linux/security.h
87+--- linux-5.4.228.orig/include/linux/security.h
88++++ linux-5.4.228/include/linux/security.h
8989 @@ -57,6 +57,7 @@ struct mm_struct;
9090 struct fs_context;
9191 struct fs_parameter;
@@ -315,8 +315,8 @@
315315 }
316316 #endif /* CONFIG_SECURITY_PATH */
317317
318---- linux-5.4.219.orig/include/net/ip.h
319-+++ linux-5.4.219/include/net/ip.h
318+--- linux-5.4.228.orig/include/net/ip.h
319++++ linux-5.4.228/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.219.orig/init/init_task.c
339-+++ linux-5.4.219/init/init_task.c
338+--- linux-5.4.228.orig/init/init_task.c
339++++ linux-5.4.228/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.219.orig/kernel/kexec.c
352-+++ linux-5.4.219/kernel/kexec.c
351+--- linux-5.4.228.orig/kernel/kexec.c
352++++ linux-5.4.228/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.219.orig/kernel/module.c
372-+++ linux-5.4.219/kernel/module.c
371+--- linux-5.4.228.orig/kernel/module.c
372++++ linux-5.4.228/kernel/module.c
373373 @@ -55,6 +55,7 @@
374374 #include <linux/audit.h>
375375 #include <uapi/linux/module.h>
@@ -396,8 +396,8 @@
396396
397397 return 0;
398398 }
399---- linux-5.4.219.orig/kernel/ptrace.c
400-+++ linux-5.4.219/kernel/ptrace.c
399+--- linux-5.4.228.orig/kernel/ptrace.c
400++++ linux-5.4.228/kernel/ptrace.c
401401 @@ -1270,6 +1270,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-5.4.219.orig/kernel/reboot.c
426-+++ linux-5.4.219/kernel/reboot.c
425+--- linux-5.4.228.orig/kernel/reboot.c
426++++ linux-5.4.228/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.219.orig/kernel/sched/core.c
445-+++ linux-5.4.219/kernel/sched/core.c
444+--- linux-5.4.228.orig/kernel/sched/core.c
445++++ linux-5.4.228/kernel/sched/core.c
446446 @@ -4678,6 +4678,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.219.orig/kernel/signal.c
456-+++ linux-5.4.219/kernel/signal.c
455+--- linux-5.4.228.orig/kernel/signal.c
456++++ linux-5.4.228/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.219.orig/kernel/sys.c
525-+++ linux-5.4.219/kernel/sys.c
524+--- linux-5.4.228.orig/kernel/sys.c
525++++ linux-5.4.228/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.219.orig/kernel/time/timekeeping.c
556-+++ linux-5.4.219/kernel/time/timekeeping.c
555+--- linux-5.4.228.orig/kernel/time/timekeeping.c
556++++ linux-5.4.228/kernel/time/timekeeping.c
557557 @@ -24,6 +24,7 @@
558558 #include <linux/compiler.h>
559559 #include <linux/audit.h>
@@ -587,8 +587,8 @@
587587
588588 /*
589589 * Validate if a timespec/timeval used to inject a time
590---- linux-5.4.219.orig/net/ipv4/raw.c
591-+++ linux-5.4.219/net/ipv4/raw.c
590+--- linux-5.4.228.orig/net/ipv4/raw.c
591++++ linux-5.4.228/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.219.orig/net/ipv4/udp.c
604-+++ linux-5.4.219/net/ipv4/udp.c
603+--- linux-5.4.228.orig/net/ipv4/udp.c
604++++ linux-5.4.228/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.219.orig/net/ipv6/raw.c
615-+++ linux-5.4.219/net/ipv6/raw.c
614+--- linux-5.4.228.orig/net/ipv6/raw.c
615++++ linux-5.4.228/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.219.orig/net/ipv6/udp.c
628-+++ linux-5.4.219/net/ipv6/udp.c
627+--- linux-5.4.228.orig/net/ipv6/udp.c
628++++ linux-5.4.228/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.219.orig/net/socket.c
639-+++ linux-5.4.219/net/socket.c
638+--- linux-5.4.228.orig/net/socket.c
639++++ linux-5.4.228/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.219.orig/net/unix/af_unix.c
652-+++ linux-5.4.219/net/unix/af_unix.c
651+--- linux-5.4.228.orig/net/unix/af_unix.c
652++++ linux-5.4.228/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.219.orig/security/Kconfig
673-+++ linux-5.4.219/security/Kconfig
672+--- linux-5.4.228.orig/security/Kconfig
673++++ linux-5.4.228/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.219.orig/security/Makefile
683-+++ linux-5.4.219/security/Makefile
682+--- linux-5.4.228.orig/security/Makefile
683++++ linux-5.4.228/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.219.orig/security/security.c
692-+++ linux-5.4.219/security/security.c
691+--- linux-5.4.228.orig/security/security.c
692++++ linux-5.4.228/security/security.c
693693 @@ -1520,7 +1520,9 @@ int security_task_alloc(struct task_stru
694694
695695 if (rc)
--- trunk/caitsith-patch/patches/ccs-patch-6.0.diff (revision 373)
+++ trunk/caitsith-patch/patches/ccs-patch-6.0.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 6.0.3.
1+This is TOMOYO Linux patch for kernel 6.0.15.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.3.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.15.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, 150 insertions(+), 30 deletions(-)
3030
31---- linux-6.0.3.orig/fs/exec.c
32-+++ linux-6.0.3/fs/exec.c
31+--- linux-6.0.15.orig/fs/exec.c
32++++ linux-6.0.15/fs/exec.c
3333 @@ -1834,7 +1834,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-6.0.3.orig/fs/open.c
43-+++ linux-6.0.3/fs/open.c
42+--- linux-6.0.15.orig/fs/open.c
43++++ linux-6.0.15/fs/open.c
4444 @@ -1471,6 +1471,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-6.0.3.orig/fs/proc/version.c
54-+++ linux-6.0.3/fs/proc/version.c
53+--- linux-6.0.15.orig/fs/proc/version.c
54++++ linux-6.0.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: 6.0.3 2022/10/24\n");
62++ printk(KERN_INFO "Hook version: 6.0.15 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-6.0.3.orig/include/linux/sched.h
67-+++ linux-6.0.3/include/linux/sched.h
66+--- linux-6.0.15.orig/include/linux/sched.h
67++++ linux-6.0.15/include/linux/sched.h
6868 @@ -45,6 +45,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-6.0.3.orig/include/linux/security.h
88-+++ linux-6.0.3/include/linux/security.h
87+--- linux-6.0.15.orig/include/linux/security.h
88++++ linux-6.0.15/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-6.0.3.orig/include/net/ip.h
309-+++ linux-6.0.3/include/net/ip.h
308+--- linux-6.0.15.orig/include/net/ip.h
309++++ linux-6.0.15/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-6.0.3.orig/init/init_task.c
329-+++ linux-6.0.3/init/init_task.c
328+--- linux-6.0.15.orig/init/init_task.c
329++++ linux-6.0.15/init/init_task.c
330330 @@ -210,6 +210,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-6.0.3.orig/kernel/kexec.c
342-+++ linux-6.0.3/kernel/kexec.c
341+--- linux-6.0.15.orig/kernel/kexec.c
342++++ linux-6.0.15/kernel/kexec.c
343343 @@ -16,7 +16,7 @@
344344 #include <linux/syscalls.h>
345345 #include <linux/vmalloc.h>
@@ -358,8 +358,8 @@
358358
359359 /* Permit LSMs and IMA to fail the kexec */
360360 result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
361---- linux-6.0.3.orig/kernel/module/main.c
362-+++ linux-6.0.3/kernel/module/main.c
361+--- linux-6.0.15.orig/kernel/module/main.c
362++++ linux-6.0.15/kernel/module/main.c
363363 @@ -58,6 +58,7 @@
364364
365365 #define CREATE_TRACE_POINTS
@@ -386,8 +386,8 @@
386386
387387 return 0;
388388 }
389---- linux-6.0.3.orig/kernel/ptrace.c
390-+++ linux-6.0.3/kernel/ptrace.c
389+--- linux-6.0.15.orig/kernel/ptrace.c
390++++ linux-6.0.15/kernel/ptrace.c
391391 @@ -1271,6 +1271,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
392392 {
393393 struct task_struct *child;
@@ -412,8 +412,8 @@
412412
413413 if (request == PTRACE_TRACEME) {
414414 ret = ptrace_traceme();
415---- linux-6.0.3.orig/kernel/reboot.c
416-+++ linux-6.0.3/kernel/reboot.c
415+--- linux-6.0.15.orig/kernel/reboot.c
416++++ linux-6.0.15/kernel/reboot.c
417417 @@ -18,6 +18,7 @@
418418 #include <linux/syscalls.h>
419419 #include <linux/syscore_ops.h>
@@ -431,8 +431,8 @@
431431
432432 /*
433433 * If pid namespaces are enabled and the current task is in a child
434---- linux-6.0.3.orig/kernel/sched/core.c
435-+++ linux-6.0.3/kernel/sched/core.c
434+--- linux-6.0.15.orig/kernel/sched/core.c
435++++ linux-6.0.15/kernel/sched/core.c
436436 @@ -7075,6 +7075,8 @@ int can_nice(const struct task_struct *p
437437 SYSCALL_DEFINE1(nice, int, increment)
438438 {
@@ -442,8 +442,8 @@
442442
443443 /*
444444 * Setpriority might change our priority at the same moment.
445---- linux-6.0.3.orig/kernel/signal.c
446-+++ linux-6.0.3/kernel/signal.c
445+--- linux-6.0.15.orig/kernel/signal.c
446++++ linux-6.0.15/kernel/signal.c
447447 @@ -3770,6 +3770,8 @@ static inline void prepare_kill_siginfo(
448448 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
449449 {
@@ -511,8 +511,8 @@
511511
512512 return do_send_specific(tgid, pid, sig, info);
513513 }
514---- linux-6.0.3.orig/kernel/sys.c
515-+++ linux-6.0.3/kernel/sys.c
514+--- linux-6.0.15.orig/kernel/sys.c
515++++ linux-6.0.15/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-6.0.3.orig/kernel/time/timekeeping.c
546-+++ linux-6.0.3/kernel/time/timekeeping.c
545+--- linux-6.0.15.orig/kernel/time/timekeeping.c
546++++ linux-6.0.15/kernel/time/timekeeping.c
547547 @@ -24,6 +24,7 @@
548548 #include <linux/compiler.h>
549549 #include <linux/audit.h>
@@ -577,8 +577,8 @@
577577
578578 /*
579579 * Validate if a timespec/timeval used to inject a time
580---- linux-6.0.3.orig/net/ipv4/raw.c
581-+++ linux-6.0.3/net/ipv4/raw.c
580+--- linux-6.0.15.orig/net/ipv4/raw.c
581++++ linux-6.0.15/net/ipv4/raw.c
582582 @@ -744,6 +744,10 @@ static int raw_recvmsg(struct sock *sk,
583583 skb = skb_recv_datagram(sk, flags, &err);
584584 if (!skb)
@@ -590,9 +590,9 @@
590590
591591 copied = skb->len;
592592 if (len < copied) {
593---- linux-6.0.3.orig/net/ipv4/udp.c
594-+++ linux-6.0.3/net/ipv4/udp.c
595-@@ -1864,6 +1864,8 @@ try_again:
593+--- linux-6.0.15.orig/net/ipv4/udp.c
594++++ linux-6.0.15/net/ipv4/udp.c
595+@@ -1865,6 +1865,8 @@ try_again:
596596 skb = __skb_recv_udp(sk, flags, &off, &err);
597597 if (!skb)
598598 return err;
@@ -601,8 +601,8 @@
601601
602602 ulen = udp_skb_len(skb);
603603 copied = len;
604---- linux-6.0.3.orig/net/ipv6/raw.c
605-+++ linux-6.0.3/net/ipv6/raw.c
604+--- linux-6.0.15.orig/net/ipv6/raw.c
605++++ linux-6.0.15/net/ipv6/raw.c
606606 @@ -446,6 +446,10 @@ static int rawv6_recvmsg(struct sock *sk
607607 skb = skb_recv_datagram(sk, flags, &err);
608608 if (!skb)
@@ -614,8 +614,8 @@
614614
615615 copied = skb->len;
616616 if (copied > len) {
617---- linux-6.0.3.orig/net/ipv6/udp.c
618-+++ linux-6.0.3/net/ipv6/udp.c
617+--- linux-6.0.15.orig/net/ipv6/udp.c
618++++ linux-6.0.15/net/ipv6/udp.c
619619 @@ -346,6 +346,8 @@ try_again:
620620 skb = __skb_recv_udp(sk, flags, &off, &err);
621621 if (!skb)
@@ -625,8 +625,8 @@
625625
626626 ulen = udp6_skb_len(skb);
627627 copied = len;
628---- linux-6.0.3.orig/net/socket.c
629-+++ linux-6.0.3/net/socket.c
628+--- linux-6.0.15.orig/net/socket.c
629++++ linux-6.0.15/net/socket.c
630630 @@ -1858,6 +1858,10 @@ struct file *do_accept(struct file *file
631631 if (err < 0)
632632 goto out_fd;
@@ -638,8 +638,8 @@
638638 if (upeer_sockaddr) {
639639 len = newsock->ops->getname(newsock,
640640 (struct sockaddr *)&address, 2);
641---- linux-6.0.3.orig/net/unix/af_unix.c
642-+++ linux-6.0.3/net/unix/af_unix.c
641+--- linux-6.0.15.orig/net/unix/af_unix.c
642++++ linux-6.0.15/net/unix/af_unix.c
643643 @@ -2436,6 +2436,10 @@ int __unix_dgram_recvmsg(struct sock *sk
644644 EPOLLOUT | EPOLLWRNORM |
645645 EPOLLWRBAND);
@@ -659,8 +659,8 @@
659659 mutex_unlock(&u->iolock);
660660 out:
661661 return err;
662---- linux-6.0.3.orig/security/Kconfig
663-+++ linux-6.0.3/security/Kconfig
662+--- linux-6.0.15.orig/security/Kconfig
663++++ linux-6.0.15/security/Kconfig
664664 @@ -260,5 +260,7 @@ config LSM
665665
666666 source "security/Kconfig.hardening"
@@ -669,8 +669,8 @@
669669 +
670670 endmenu
671671
672---- linux-6.0.3.orig/security/Makefile
673-+++ linux-6.0.3/security/Makefile
672+--- linux-6.0.15.orig/security/Makefile
673++++ linux-6.0.15/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-6.0.3.orig/security/security.c
682-+++ linux-6.0.3/security/security.c
681+--- linux-6.0.15.orig/security/security.c
682++++ linux-6.0.15/security/security.c
683683 @@ -1656,7 +1656,9 @@ int security_task_alloc(struct task_stru
684684
685685 if (rc)
--- trunk/caitsith-patch/patches/ccs-patch-6.1.diff (revision 373)
+++ trunk/caitsith-patch/patches/ccs-patch-6.1.diff (revision 374)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 6.1-rc2.
1+This is TOMOYO Linux patch for kernel 6.1.1.
22
3-Source code for this patch is https://git.kernel.org/torvalds/t/linux-6.1-rc2.tar.gz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.1.1.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, 150 insertions(+), 30 deletions(-)
3030
31---- linux-6.1-rc2.orig/fs/exec.c
32-+++ linux-6.1-rc2/fs/exec.c
31+--- linux-6.1.1.orig/fs/exec.c
32++++ linux-6.1.1/fs/exec.c
3333 @@ -1834,7 +1834,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-6.1-rc2.orig/fs/open.c
43-+++ linux-6.1-rc2/fs/open.c
42+--- linux-6.1.1.orig/fs/open.c
43++++ linux-6.1.1/fs/open.c
4444 @@ -1471,6 +1471,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-6.1-rc2.orig/fs/proc/version.c
54-+++ linux-6.1-rc2/fs/proc/version.c
53+--- linux-6.1.1.orig/fs/proc/version.c
54++++ linux-6.1.1/fs/proc/version.c
5555 @@ -25,3 +25,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: 6.1-rc2 2022/10/24\n");
62++ printk(KERN_INFO "Hook version: 6.1.1 2022/12/29\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-6.1-rc2.orig/include/linux/sched.h
67-+++ linux-6.1-rc2/include/linux/sched.h
66+--- linux-6.1.1.orig/include/linux/sched.h
67++++ linux-6.1.1/include/linux/sched.h
6868 @@ -46,6 +46,7 @@ struct blk_plug;
6969 struct bpf_local_storage;
7070 struct bpf_run_ctx;
@@ -84,8 +84,8 @@
8484
8585 #ifdef CONFIG_TRACING
8686 /* Bitmask and counter of trace recursion: */
87---- linux-6.1-rc2.orig/include/linux/security.h
88-+++ linux-6.1-rc2/include/linux/security.h
87+--- linux-6.1.1.orig/include/linux/security.h
88++++ linux-6.1.1/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-6.1-rc2.orig/include/net/ip.h
309-+++ linux-6.1-rc2/include/net/ip.h
308+--- linux-6.1.1.orig/include/net/ip.h
309++++ linux-6.1.1/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-6.1-rc2.orig/init/init_task.c
329-+++ linux-6.1-rc2/init/init_task.c
328+--- linux-6.1.1.orig/init/init_task.c
329++++ linux-6.1.1/init/init_task.c
330330 @@ -210,6 +210,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-6.1-rc2.orig/kernel/kexec.c
342-+++ linux-6.1-rc2/kernel/kexec.c
341+--- linux-6.1.1.orig/kernel/kexec.c
342++++ linux-6.1.1/kernel/kexec.c
343343 @@ -16,7 +16,7 @@
344344 #include <linux/syscalls.h>
345345 #include <linux/vmalloc.h>
@@ -358,8 +358,8 @@
358358
359359 /* Permit LSMs and IMA to fail the kexec */
360360 result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
361---- linux-6.1-rc2.orig/kernel/module/main.c
362-+++ linux-6.1-rc2/kernel/module/main.c
361+--- linux-6.1.1.orig/kernel/module/main.c
362++++ linux-6.1.1/kernel/module/main.c
363363 @@ -59,6 +59,7 @@
364364
365365 #define CREATE_TRACE_POINTS
@@ -386,8 +386,8 @@
386386
387387 return 0;
388388 }
389---- linux-6.1-rc2.orig/kernel/ptrace.c
390-+++ linux-6.1-rc2/kernel/ptrace.c
389+--- linux-6.1.1.orig/kernel/ptrace.c
390++++ linux-6.1.1/kernel/ptrace.c
391391 @@ -1271,6 +1271,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
392392 {
393393 struct task_struct *child;
@@ -412,8 +412,8 @@
412412
413413 if (request == PTRACE_TRACEME) {
414414 ret = ptrace_traceme();
415---- linux-6.1-rc2.orig/kernel/reboot.c
416-+++ linux-6.1-rc2/kernel/reboot.c
415+--- linux-6.1.1.orig/kernel/reboot.c
416++++ linux-6.1.1/kernel/reboot.c
417417 @@ -18,6 +18,7 @@
418418 #include <linux/syscalls.h>
419419 #include <linux/syscore_ops.h>
@@ -431,9 +431,9 @@
431431
432432 /*
433433 * If pid namespaces are enabled and the current task is in a child
434---- linux-6.1-rc2.orig/kernel/sched/core.c
435-+++ linux-6.1-rc2/kernel/sched/core.c
436-@@ -7084,6 +7084,8 @@ int can_nice(const struct task_struct *p
434+--- linux-6.1.1.orig/kernel/sched/core.c
435++++ linux-6.1.1/kernel/sched/core.c
436+@@ -7102,6 +7102,8 @@ int can_nice(const struct task_struct *p
437437 SYSCALL_DEFINE1(nice, int, increment)
438438 {
439439 long nice, retval;
@@ -442,8 +442,8 @@
442442
443443 /*
444444 * Setpriority might change our priority at the same moment.
445---- linux-6.1-rc2.orig/kernel/signal.c
446-+++ linux-6.1-rc2/kernel/signal.c
445+--- linux-6.1.1.orig/kernel/signal.c
446++++ linux-6.1.1/kernel/signal.c
447447 @@ -3771,6 +3771,8 @@ static inline void prepare_kill_siginfo(
448448 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
449449 {
@@ -511,8 +511,8 @@
511511
512512 return do_send_specific(tgid, pid, sig, info);
513513 }
514---- linux-6.1-rc2.orig/kernel/sys.c
515-+++ linux-6.1-rc2/kernel/sys.c
514+--- linux-6.1.1.orig/kernel/sys.c
515++++ linux-6.1.1/kernel/sys.c
516516 @@ -219,6 +219,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-6.1-rc2.orig/kernel/time/timekeeping.c
546-+++ linux-6.1-rc2/kernel/time/timekeeping.c
545+--- linux-6.1.1.orig/kernel/time/timekeeping.c
546++++ linux-6.1.1/kernel/time/timekeeping.c
547547 @@ -24,6 +24,7 @@
548548 #include <linux/compiler.h>
549549 #include <linux/audit.h>
@@ -577,8 +577,8 @@
577577
578578 /*
579579 * Validate if a timespec/timeval used to inject a time
580---- linux-6.1-rc2.orig/net/ipv4/raw.c
581-+++ linux-6.1-rc2/net/ipv4/raw.c
580+--- linux-6.1.1.orig/net/ipv4/raw.c
581++++ linux-6.1.1/net/ipv4/raw.c
582582 @@ -744,6 +744,10 @@ static int raw_recvmsg(struct sock *sk,
583583 skb = skb_recv_datagram(sk, flags, &err);
584584 if (!skb)
@@ -590,8 +590,8 @@
590590
591591 copied = skb->len;
592592 if (len < copied) {
593---- linux-6.1-rc2.orig/net/ipv4/udp.c
594-+++ linux-6.1-rc2/net/ipv4/udp.c
593+--- linux-6.1.1.orig/net/ipv4/udp.c
594++++ linux-6.1.1/net/ipv4/udp.c
595595 @@ -1856,6 +1856,8 @@ try_again:
596596 skb = __skb_recv_udp(sk, flags, &off, &err);
597597 if (!skb)
@@ -601,8 +601,8 @@
601601
602602 ulen = udp_skb_len(skb);
603603 copied = len;
604---- linux-6.1-rc2.orig/net/ipv6/raw.c
605-+++ linux-6.1-rc2/net/ipv6/raw.c
604+--- linux-6.1.1.orig/net/ipv6/raw.c
605++++ linux-6.1.1/net/ipv6/raw.c
606606 @@ -446,6 +446,10 @@ static int rawv6_recvmsg(struct sock *sk
607607 skb = skb_recv_datagram(sk, flags, &err);
608608 if (!skb)
@@ -614,9 +614,9 @@
614614
615615 copied = skb->len;
616616 if (copied > len) {
617---- linux-6.1-rc2.orig/net/ipv6/udp.c
618-+++ linux-6.1-rc2/net/ipv6/udp.c
619-@@ -359,6 +359,8 @@ try_again:
617+--- linux-6.1.1.orig/net/ipv6/udp.c
618++++ linux-6.1.1/net/ipv6/udp.c
619+@@ -360,6 +360,8 @@ try_again:
620620 skb = __skb_recv_udp(sk, flags, &off, &err);
621621 if (!skb)
622622 return err;
@@ -625,8 +625,8 @@
625625
626626 ulen = udp6_skb_len(skb);
627627 copied = len;
628---- linux-6.1-rc2.orig/net/socket.c
629-+++ linux-6.1-rc2/net/socket.c
628+--- linux-6.1.1.orig/net/socket.c
629++++ linux-6.1.1/net/socket.c
630630 @@ -1858,6 +1858,10 @@ struct file *do_accept(struct file *file
631631 if (err < 0)
632632 goto out_fd;
@@ -638,8 +638,8 @@
638638 if (upeer_sockaddr) {
639639 len = newsock->ops->getname(newsock,
640640 (struct sockaddr *)&address, 2);
641---- linux-6.1-rc2.orig/net/unix/af_unix.c
642-+++ linux-6.1-rc2/net/unix/af_unix.c
641+--- linux-6.1.1.orig/net/unix/af_unix.c
642++++ linux-6.1.1/net/unix/af_unix.c
643643 @@ -2466,6 +2466,10 @@ int __unix_dgram_recvmsg(struct sock *sk
644644 EPOLLOUT | EPOLLWRNORM |
645645 EPOLLWRBAND);
@@ -659,8 +659,8 @@
659659 mutex_unlock(&u->iolock);
660660 out:
661661 return err;
662---- linux-6.1-rc2.orig/security/Kconfig
663-+++ linux-6.1-rc2/security/Kconfig
662+--- linux-6.1.1.orig/security/Kconfig
663++++ linux-6.1.1/security/Kconfig
664664 @@ -260,5 +260,7 @@ config LSM
665665
666666 source "security/Kconfig.hardening"
@@ -669,8 +669,8 @@
669669 +
670670 endmenu
671671
672---- linux-6.1-rc2.orig/security/Makefile
673-+++ linux-6.1-rc2/security/Makefile
672+--- linux-6.1.1.orig/security/Makefile
673++++ linux-6.1.1/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-6.1-rc2.orig/security/security.c
682-+++ linux-6.1-rc2/security/security.c
681+--- linux-6.1.1.orig/security/security.c
682++++ linux-6.1.1/security/security.c
683683 @@ -1658,7 +1658,9 @@ int security_task_alloc(struct task_stru
684684
685685 if (rc)
--- trunk/caitsith-patch/patches/ccs-patch-6.2.diff (nonexistent)
+++ trunk/caitsith-patch/patches/ccs-patch-6.2.diff (revision 374)
@@ -0,0 +1,707 @@
1+This is TOMOYO Linux patch for kernel 6.2-rc1.
2+
3+Source code for this patch is https://git.kernel.org/torvalds/t/linux-6.2-rc1.tar.gz
4+---
5+ fs/exec.c | 2 -
6+ fs/open.c | 2 +
7+ fs/proc/version.c | 7 +++++
8+ include/linux/sched.h | 5 +++
9+ include/linux/security.h | 62 +++++++++++++++++++++++++---------------------
10+ include/net/ip.h | 4 ++
11+ init/init_task.c | 4 ++
12+ kernel/kexec.c | 4 ++
13+ kernel/module/main.c | 5 +++
14+ kernel/ptrace.c | 10 +++++++
15+ kernel/reboot.c | 3 ++
16+ kernel/sched/core.c | 2 +
17+ kernel/signal.c | 25 ++++++++++++++++++
18+ kernel/sys.c | 8 +++++
19+ kernel/time/timekeeping.c | 8 +++++
20+ net/ipv4/raw.c | 4 ++
21+ net/ipv4/udp.c | 2 +
22+ net/ipv6/raw.c | 4 ++
23+ net/ipv6/udp.c | 2 +
24+ net/socket.c | 4 ++
25+ net/unix/af_unix.c | 5 +++
26+ security/Kconfig | 2 +
27+ security/Makefile | 3 ++
28+ security/security.c | 5 ++-
29+ 24 files changed, 151 insertions(+), 31 deletions(-)
30+
31+--- linux-6.2-rc1.orig/fs/exec.c
32++++ linux-6.2-rc1/fs/exec.c
33+@@ -1848,7 +1848,7 @@ static int bprm_execve(struct linux_binp
34+ if (retval)
35+ goto out;
36+
37+- retval = exec_binprm(bprm);
38++ retval = ccs_exec_binprm(bprm);
39+ if (retval < 0)
40+ goto out;
41+
42+--- linux-6.2-rc1.orig/fs/open.c
43++++ linux-6.2-rc1/fs/open.c
44+@@ -1471,6 +1471,8 @@ SYSCALL_DEFINE3(close_range, unsigned in
45+ */
46+ SYSCALL_DEFINE0(vhangup)
47+ {
48++ if (!ccs_capable(CCS_SYS_VHANGUP))
49++ return -EPERM;
50+ if (capable(CAP_SYS_TTY_CONFIG)) {
51+ tty_vhangup_self();
52+ return 0;
53+--- linux-6.2-rc1.orig/fs/proc/version.c
54++++ linux-6.2-rc1/fs/proc/version.c
55+@@ -25,3 +25,10 @@ static int __init proc_version_init(void
56+ return 0;
57+ }
58+ fs_initcall(proc_version_init);
59++
60++static int __init ccs_show_version(void)
61++{
62++ printk(KERN_INFO "Hook version: 6.2-rc1 2022/12/31\n");
63++ return 0;
64++}
65++fs_initcall(ccs_show_version);
66+--- linux-6.2-rc1.orig/include/linux/sched.h
67++++ linux-6.2-rc1/include/linux/sched.h
68+@@ -46,6 +46,7 @@ struct blk_plug;
69+ struct bpf_local_storage;
70+ struct bpf_run_ctx;
71+ struct capture_control;
72++struct ccs_domain_info;
73+ struct cfs_rq;
74+ struct fs_struct;
75+ struct futex_pi_state;
76+@@ -1392,6 +1393,10 @@ struct task_struct {
77+ /* Pause tracing: */
78+ atomic_t tracing_graph_pause;
79+ #endif
80++#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY)
81++ struct ccs_domain_info *ccs_domain_info;
82++ u32 ccs_flags;
83++#endif
84+
85+ #ifdef CONFIG_TRACING
86+ /* Bitmask and counter of trace recursion: */
87+--- linux-6.2-rc1.orig/include/linux/security.h
88++++ linux-6.2-rc1/include/linux/security.h
89+@@ -60,6 +60,7 @@ struct fs_parameter;
90+ enum fs_value_type;
91+ struct watch;
92+ struct watch_notification;
93++#include <linux/ccsecurity.h>
94+
95+ /* Default (no) options for the capable function */
96+ #define CAP_OPT_NONE 0x0
97+@@ -602,7 +603,10 @@ static inline int security_syslog(int ty
98+ static inline int security_settime64(const struct timespec64 *ts,
99+ const struct timezone *tz)
100+ {
101+- return cap_settime(ts, tz);
102++ int error = cap_settime(ts, tz);
103++ if (!error)
104++ error = ccs_settime(ts, tz);
105++ return error;
106+ }
107+
108+ static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
109+@@ -695,18 +699,18 @@ static inline int security_sb_mount(cons
110+ const char *type, unsigned long flags,
111+ void *data)
112+ {
113+- return 0;
114++ return ccs_sb_mount(dev_name, path, type, flags, data);
115+ }
116+
117+ static inline int security_sb_umount(struct vfsmount *mnt, int flags)
118+ {
119+- return 0;
120++ return ccs_sb_umount(mnt, flags);
121+ }
122+
123+ static inline int security_sb_pivotroot(const struct path *old_path,
124+ const struct path *new_path)
125+ {
126+- return 0;
127++ return ccs_sb_pivotroot(old_path, new_path);
128+ }
129+
130+ static inline int security_sb_set_mnt_opts(struct super_block *sb,
131+@@ -728,7 +732,7 @@ static inline int security_sb_clone_mnt_
132+ static inline int security_move_mount(const struct path *from_path,
133+ const struct path *to_path)
134+ {
135+- return 0;
136++ return ccs_move_mount_permission(from_path, to_path);
137+ }
138+
139+ static inline int security_path_notify(const struct path *path, u64 mask,
140+@@ -871,7 +875,7 @@ static inline int security_inode_setattr
141+
142+ static inline int security_inode_getattr(const struct path *path)
143+ {
144+- return 0;
145++ return ccs_inode_getattr(path);
146+ }
147+
148+ static inline int security_inode_setxattr(struct user_namespace *mnt_userns,
149+@@ -991,7 +995,7 @@ static inline void security_file_free(st
150+ static inline int security_file_ioctl(struct file *file, unsigned int cmd,
151+ unsigned long arg)
152+ {
153+- return 0;
154++ return ccs_file_ioctl(file, cmd, arg);
155+ }
156+
157+ static inline int security_mmap_file(struct file *file, unsigned long prot,
158+@@ -1020,7 +1024,7 @@ static inline int security_file_lock(str
159+ static inline int security_file_fcntl(struct file *file, unsigned int cmd,
160+ unsigned long arg)
161+ {
162+- return 0;
163++ return ccs_file_fcntl(file, cmd, arg);
164+ }
165+
166+ static inline void security_file_set_fowner(struct file *file)
167+@@ -1042,22 +1046,24 @@ static inline int security_file_receive(
168+
169+ static inline int security_file_open(struct file *file)
170+ {
171+- return 0;
172++ return ccs_file_open(file);
173+ }
174+
175+ static inline int security_file_truncate(struct file *file)
176+ {
177+- return 0;
178++ return ccs_path_truncate(&file->f_path);
179+ }
180+
181+ static inline int security_task_alloc(struct task_struct *task,
182+ unsigned long clone_flags)
183+ {
184+- return 0;
185++ return ccs_alloc_task_security(task);
186+ }
187+
188+ static inline void security_task_free(struct task_struct *task)
189+-{ }
190++{
191++ ccs_free_task_security(task);
192++}
193+
194+ static inline int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
195+ {
196+@@ -1497,7 +1503,7 @@ static inline int security_unix_may_send
197+ static inline int security_socket_create(int family, int type,
198+ int protocol, int kern)
199+ {
200+- return 0;
201++ return ccs_socket_create(family, type, protocol, kern);
202+ }
203+
204+ static inline int security_socket_post_create(struct socket *sock,
205+@@ -1518,19 +1524,19 @@ static inline int security_socket_bind(s
206+ struct sockaddr *address,
207+ int addrlen)
208+ {
209+- return 0;
210++ return ccs_socket_bind(sock, address, addrlen);
211+ }
212+
213+ static inline int security_socket_connect(struct socket *sock,
214+ struct sockaddr *address,
215+ int addrlen)
216+ {
217+- return 0;
218++ return ccs_socket_connect(sock, address, addrlen);
219+ }
220+
221+ static inline int security_socket_listen(struct socket *sock, int backlog)
222+ {
223+- return 0;
224++ return ccs_socket_listen(sock, backlog);
225+ }
226+
227+ static inline int security_socket_accept(struct socket *sock,
228+@@ -1542,7 +1548,7 @@ static inline int security_socket_accept
229+ static inline int security_socket_sendmsg(struct socket *sock,
230+ struct msghdr *msg, int size)
231+ {
232+- return 0;
233++ return ccs_socket_sendmsg(sock, msg, size);
234+ }
235+
236+ static inline int security_socket_recvmsg(struct socket *sock,
237+@@ -1841,42 +1847,42 @@ int security_path_chroot(const struct pa
238+ #else /* CONFIG_SECURITY_PATH */
239+ static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
240+ {
241+- return 0;
242++ return ccs_path_unlink(dir, dentry);
243+ }
244+
245+ static inline int security_path_mkdir(const struct path *dir, struct dentry *dentry,
246+ umode_t mode)
247+ {
248+- return 0;
249++ return ccs_path_mkdir(dir, dentry, mode);
250+ }
251+
252+ static inline int security_path_rmdir(const struct path *dir, struct dentry *dentry)
253+ {
254+- return 0;
255++ return ccs_path_rmdir(dir, dentry);
256+ }
257+
258+ static inline int security_path_mknod(const struct path *dir, struct dentry *dentry,
259+ umode_t mode, unsigned int dev)
260+ {
261+- return 0;
262++ return ccs_path_mknod(dir, dentry, mode, dev);
263+ }
264+
265+ static inline int security_path_truncate(const struct path *path)
266+ {
267+- return 0;
268++ return ccs_path_truncate(path);
269+ }
270+
271+ static inline int security_path_symlink(const struct path *dir, struct dentry *dentry,
272+ const char *old_name)
273+ {
274+- return 0;
275++ return ccs_path_symlink(dir, dentry, old_name);
276+ }
277+
278+ static inline int security_path_link(struct dentry *old_dentry,
279+ const struct path *new_dir,
280+ struct dentry *new_dentry)
281+ {
282+- return 0;
283++ return ccs_path_link(old_dentry, new_dir, new_dentry);
284+ }
285+
286+ static inline int security_path_rename(const struct path *old_dir,
287+@@ -1885,22 +1891,22 @@ static inline int security_path_rename(c
288+ struct dentry *new_dentry,
289+ unsigned int flags)
290+ {
291+- return 0;
292++ return ccs_path_rename(old_dir, old_dentry, new_dir, new_dentry, flags);
293+ }
294+
295+ static inline int security_path_chmod(const struct path *path, umode_t mode)
296+ {
297+- return 0;
298++ return ccs_path_chmod(path, mode);
299+ }
300+
301+ static inline int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
302+ {
303+- return 0;
304++ return ccs_path_chown(path, uid, gid);
305+ }
306+
307+ static inline int security_path_chroot(const struct path *path)
308+ {
309+- return 0;
310++ return ccs_path_chroot(path);
311+ }
312+ #endif /* CONFIG_SECURITY_PATH */
313+
314+--- linux-6.2-rc1.orig/include/net/ip.h
315++++ linux-6.2-rc1/include/net/ip.h
316+@@ -345,6 +345,8 @@ void inet_get_local_port_range(struct ne
317+ #ifdef CONFIG_SYSCTL
318+ static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
319+ {
320++ if (ccs_lport_reserved(port))
321++ return true;
322+ if (!net->ipv4.sysctl_local_reserved_ports)
323+ return false;
324+ return test_bit(port, net->ipv4.sysctl_local_reserved_ports);
325+@@ -363,6 +365,8 @@ static inline bool inet_port_requires_bi
326+ #else
327+ static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
328+ {
329++ if (ccs_lport_reserved(port))
330++ return true;
331+ return false;
332+ }
333+
334+--- linux-6.2-rc1.orig/init/init_task.c
335++++ linux-6.2-rc1/init/init_task.c
336+@@ -210,6 +210,10 @@ struct task_struct init_task
337+ #ifdef CONFIG_SECCOMP_FILTER
338+ .seccomp = { .filter_count = ATOMIC_INIT(0) },
339+ #endif
340++#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY)
341++ .ccs_domain_info = NULL,
342++ .ccs_flags = 0,
343++#endif
344+ };
345+ EXPORT_SYMBOL(init_task);
346+
347+--- linux-6.2-rc1.orig/kernel/kexec.c
348++++ linux-6.2-rc1/kernel/kexec.c
349+@@ -16,7 +16,7 @@
350+ #include <linux/syscalls.h>
351+ #include <linux/vmalloc.h>
352+ #include <linux/slab.h>
353+-
354++#include <linux/ccsecurity.h>
355+ #include "kexec_internal.h"
356+
357+ static int kimage_alloc_init(struct kimage **rimage, unsigned long entry,
358+@@ -195,6 +195,8 @@ static inline int kexec_load_check(unsig
359+ /* We only trust the superuser with rebooting the system. */
360+ if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
361+ return -EPERM;
362++ if (!ccs_capable(CCS_SYS_KEXEC_LOAD))
363++ return -EPERM;
364+
365+ /* Permit LSMs and IMA to fail the kexec */
366+ result = security_kernel_load_data(LOADING_KEXEC_IMAGE, false);
367+--- linux-6.2-rc1.orig/kernel/module/main.c
368++++ linux-6.2-rc1/kernel/module/main.c
369+@@ -59,6 +59,7 @@
370+
371+ #define CREATE_TRACE_POINTS
372+ #include <trace/events/module.h>
373++#include <linux/ccsecurity.h>
374+
375+ /*
376+ * Mutex protects:
377+@@ -700,6 +701,8 @@ SYSCALL_DEFINE2(delete_module, const cha
378+
379+ if (!capable(CAP_SYS_MODULE) || modules_disabled)
380+ return -EPERM;
381++ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
382++ return -EPERM;
383+
384+ if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
385+ return -EFAULT;
386+@@ -2553,6 +2556,8 @@ static int may_init_module(void)
387+ {
388+ if (!capable(CAP_SYS_MODULE) || modules_disabled)
389+ return -EPERM;
390++ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
391++ return -EPERM;
392+
393+ return 0;
394+ }
395+--- linux-6.2-rc1.orig/kernel/ptrace.c
396++++ linux-6.2-rc1/kernel/ptrace.c
397+@@ -1271,6 +1271,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
398+ {
399+ struct task_struct *child;
400+ long ret;
401++ {
402++ const int rc = ccs_ptrace_permission(request, pid);
403++ if (rc)
404++ return rc;
405++ }
406+
407+ if (request == PTRACE_TRACEME) {
408+ ret = ptrace_traceme();
409+@@ -1410,6 +1415,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
410+ {
411+ struct task_struct *child;
412+ long ret;
413++ {
414++ const int rc = ccs_ptrace_permission(request, pid);
415++ if (rc)
416++ return rc;
417++ }
418+
419+ if (request == PTRACE_TRACEME) {
420+ ret = ptrace_traceme();
421+--- linux-6.2-rc1.orig/kernel/reboot.c
422++++ linux-6.2-rc1/kernel/reboot.c
423+@@ -18,6 +18,7 @@
424+ #include <linux/syscalls.h>
425+ #include <linux/syscore_ops.h>
426+ #include <linux/uaccess.h>
427++#include <linux/ccsecurity.h>
428+
429+ /*
430+ * this indicates whether you can reboot with ctrl-alt-del: the default is yes
431+@@ -715,6 +716,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
432+ magic2 != LINUX_REBOOT_MAGIC2B &&
433+ magic2 != LINUX_REBOOT_MAGIC2C))
434+ return -EINVAL;
435++ if (!ccs_capable(CCS_SYS_REBOOT))
436++ return -EPERM;
437+
438+ /*
439+ * If pid namespaces are enabled and the current task is in a child
440+--- linux-6.2-rc1.orig/kernel/sched/core.c
441++++ linux-6.2-rc1/kernel/sched/core.c
442+@@ -7136,6 +7136,8 @@ int can_nice(const struct task_struct *p
443+ SYSCALL_DEFINE1(nice, int, increment)
444+ {
445+ long nice, retval;
446++ if (!ccs_capable(CCS_SYS_NICE))
447++ return -EPERM;
448+
449+ /*
450+ * Setpriority might change our priority at the same moment.
451+--- linux-6.2-rc1.orig/kernel/signal.c
452++++ linux-6.2-rc1/kernel/signal.c
453+@@ -3772,6 +3772,8 @@ static inline void prepare_kill_siginfo(
454+ SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
455+ {
456+ struct kernel_siginfo info;
457++ if (ccs_kill_permission(pid, sig))
458++ return -EPERM;
459+
460+ prepare_kill_siginfo(sig, &info);
461+
462+@@ -3871,6 +3873,21 @@ SYSCALL_DEFINE4(pidfd_send_signal, int,
463+ if (!access_pidfd_pidns(pid))
464+ goto err;
465+
466++ {
467++ struct task_struct *task;
468++ int id = 0;
469++
470++ rcu_read_lock();
471++ task = pid_task(pid, PIDTYPE_PID);
472++ if (task)
473++ id = task_pid_vnr(task);
474++ rcu_read_unlock();
475++ if (task && ccs_kill_permission(id, sig)) {
476++ ret = -EPERM;
477++ goto err;
478++ }
479++ }
480++
481+ if (info) {
482+ ret = copy_siginfo_from_user_any(&kinfo, info);
483+ if (unlikely(ret))
484+@@ -3955,6 +3972,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
485+ /* This is only valid for single tasks */
486+ if (pid <= 0 || tgid <= 0)
487+ return -EINVAL;
488++ if (ccs_tgkill_permission(tgid, pid, sig))
489++ return -EPERM;
490+
491+ return do_tkill(tgid, pid, sig);
492+ }
493+@@ -3971,6 +3990,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
494+ /* This is only valid for single tasks */
495+ if (pid <= 0)
496+ return -EINVAL;
497++ if (ccs_tkill_permission(pid, sig))
498++ return -EPERM;
499+
500+ return do_tkill(0, pid, sig);
501+ }
502+@@ -3983,6 +4004,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
503+ if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
504+ (task_pid_vnr(current) != pid))
505+ return -EPERM;
506++ if (ccs_sigqueue_permission(pid, sig))
507++ return -EPERM;
508+
509+ /* POSIX.1b doesn't mention process groups. */
510+ return kill_proc_info(sig, info, pid);
511+@@ -4030,6 +4053,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
512+ if ((info->si_code >= 0 || info->si_code == SI_TKILL) &&
513+ (task_pid_vnr(current) != pid))
514+ return -EPERM;
515++ if (ccs_tgsigqueue_permission(tgid, pid, sig))
516++ return -EPERM;
517+
518+ return do_send_specific(tgid, pid, sig, info);
519+ }
520+--- linux-6.2-rc1.orig/kernel/sys.c
521++++ linux-6.2-rc1/kernel/sys.c
522+@@ -219,6 +219,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
523+
524+ if (which > PRIO_USER || which < PRIO_PROCESS)
525+ goto out;
526++ if (!ccs_capable(CCS_SYS_NICE)) {
527++ error = -EPERM;
528++ goto out;
529++ }
530+
531+ /* normalize: avoid signed division (rounding problems) */
532+ error = -ESRCH;
533+@@ -1363,6 +1367,8 @@ SYSCALL_DEFINE2(sethostname, char __user
534+
535+ if (len < 0 || len > __NEW_UTS_LEN)
536+ return -EINVAL;
537++ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
538++ return -EPERM;
539+ errno = -EFAULT;
540+ if (!copy_from_user(tmp, name, len)) {
541+ struct new_utsname *u;
542+@@ -1416,6 +1422,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
543+ return -EPERM;
544+ if (len < 0 || len > __NEW_UTS_LEN)
545+ return -EINVAL;
546++ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
547++ return -EPERM;
548+
549+ errno = -EFAULT;
550+ if (!copy_from_user(tmp, name, len)) {
551+--- linux-6.2-rc1.orig/kernel/time/timekeeping.c
552++++ linux-6.2-rc1/kernel/time/timekeeping.c
553+@@ -24,6 +24,7 @@
554+ #include <linux/compiler.h>
555+ #include <linux/audit.h>
556+ #include <linux/random.h>
557++#include <linux/ccsecurity.h>
558+
559+ #include "tick-internal.h"
560+ #include "ntp_internal.h"
561+@@ -2348,10 +2349,15 @@ static int timekeeping_validate_timex(co
562+ if (!(txc->modes & ADJ_OFFSET_READONLY) &&
563+ !capable(CAP_SYS_TIME))
564+ return -EPERM;
565++ if (!(txc->modes & ADJ_OFFSET_READONLY) &&
566++ !ccs_capable(CCS_SYS_SETTIME))
567++ return -EPERM;
568+ } else {
569+ /* In order to modify anything, you gotta be super-user! */
570+ if (txc->modes && !capable(CAP_SYS_TIME))
571+ return -EPERM;
572++ if (txc->modes && !ccs_capable(CCS_SYS_SETTIME))
573++ return -EPERM;
574+ /*
575+ * if the quartz is off by more than 10% then
576+ * something is VERY wrong!
577+@@ -2366,6 +2372,8 @@ static int timekeeping_validate_timex(co
578+ /* In order to inject time, you gotta be super-user! */
579+ if (!capable(CAP_SYS_TIME))
580+ return -EPERM;
581++ if (!ccs_capable(CCS_SYS_SETTIME))
582++ return -EPERM;
583+
584+ /*
585+ * Validate if a timespec/timeval used to inject a time
586+--- linux-6.2-rc1.orig/net/ipv4/raw.c
587++++ linux-6.2-rc1/net/ipv4/raw.c
588+@@ -744,6 +744,10 @@ static int raw_recvmsg(struct sock *sk,
589+ skb = skb_recv_datagram(sk, flags, &err);
590+ if (!skb)
591+ goto out;
592++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
593++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
594++ goto out;
595++ }
596+
597+ copied = skb->len;
598+ if (len < copied) {
599+--- linux-6.2-rc1.orig/net/ipv4/udp.c
600++++ linux-6.2-rc1/net/ipv4/udp.c
601+@@ -1863,6 +1863,8 @@ try_again:
602+ skb = __skb_recv_udp(sk, flags, &off, &err);
603+ if (!skb)
604+ return err;
605++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags))
606++ return -EAGAIN; /* Hope less harmful than -EPERM. */
607+
608+ ulen = udp_skb_len(skb);
609+ copied = len;
610+--- linux-6.2-rc1.orig/net/ipv6/raw.c
611++++ linux-6.2-rc1/net/ipv6/raw.c
612+@@ -446,6 +446,10 @@ static int rawv6_recvmsg(struct sock *sk
613+ skb = skb_recv_datagram(sk, flags, &err);
614+ if (!skb)
615+ goto out;
616++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
617++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
618++ goto out;
619++ }
620+
621+ copied = skb->len;
622+ if (copied > len) {
623+--- linux-6.2-rc1.orig/net/ipv6/udp.c
624++++ linux-6.2-rc1/net/ipv6/udp.c
625+@@ -361,6 +361,8 @@ try_again:
626+ skb = __skb_recv_udp(sk, flags, &off, &err);
627+ if (!skb)
628+ return err;
629++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags))
630++ return -EAGAIN; /* Hope less harmful than -EPERM. */
631+
632+ ulen = udp6_skb_len(skb);
633+ copied = len;
634+--- linux-6.2-rc1.orig/net/socket.c
635++++ linux-6.2-rc1/net/socket.c
636+@@ -1858,6 +1858,10 @@ struct file *do_accept(struct file *file
637+ if (err < 0)
638+ goto out_fd;
639+
640++ if (ccs_socket_post_accept_permission(sock, newsock)) {
641++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
642++ goto out_fd;
643++ }
644+ if (upeer_sockaddr) {
645+ len = newsock->ops->getname(newsock,
646+ (struct sockaddr *)&address, 2);
647+--- linux-6.2-rc1.orig/net/unix/af_unix.c
648++++ linux-6.2-rc1/net/unix/af_unix.c
649+@@ -2473,6 +2473,10 @@ int __unix_dgram_recvmsg(struct sock *sk
650+ EPOLLOUT | EPOLLWRNORM |
651+ EPOLLWRBAND);
652+
653++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
654++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
655++ goto out_unlock;
656++ }
657+ if (msg->msg_name)
658+ unix_copy_addr(msg, skb->sk);
659+
660+@@ -2523,6 +2527,7 @@ int __unix_dgram_recvmsg(struct sock *sk
661+
662+ out_free:
663+ skb_free_datagram(sk, skb);
664++out_unlock:
665+ mutex_unlock(&u->iolock);
666+ out:
667+ return err;
668+--- linux-6.2-rc1.orig/security/Kconfig
669++++ linux-6.2-rc1/security/Kconfig
670+@@ -260,5 +260,7 @@ config LSM
671+
672+ source "security/Kconfig.hardening"
673+
674++source "security/ccsecurity/Kconfig"
675++
676+ endmenu
677+
678+--- linux-6.2-rc1.orig/security/Makefile
679++++ linux-6.2-rc1/security/Makefile
680+@@ -27,3 +27,6 @@ obj-$(CONFIG_SECURITY_LANDLOCK) += land
681+
682+ # Object integrity file lists
683+ obj-$(CONFIG_INTEGRITY) += integrity/
684++
685++subdir-$(CONFIG_CCSECURITY) += ccsecurity
686++obj-$(CONFIG_CCSECURITY) += ccsecurity/
687+--- linux-6.2-rc1.orig/security/security.c
688++++ linux-6.2-rc1/security/security.c
689+@@ -1733,7 +1733,9 @@ int security_task_alloc(struct task_stru
690+
691+ if (rc)
692+ return rc;
693+- rc = call_int_hook(task_alloc, 0, task, clone_flags);
694++ rc = ccs_alloc_task_security(task);
695++ if (likely(!rc))
696++ rc = call_int_hook(task_alloc, 0, task, clone_flags);
697+ if (unlikely(rc))
698+ security_task_free(task);
699+ return rc;
700+@@ -1742,6 +1744,7 @@ int security_task_alloc(struct task_stru
701+ void security_task_free(struct task_struct *task)
702+ {
703+ call_void_hook(task_free, task);
704++ ccs_free_task_security(task);
705+
706+ kfree(task->security);
707+ task->security = NULL;
--- trunk/caitsith-patch/security/caitsith/lsm2caitsith.c (revision 373)
+++ trunk/caitsith-patch/security/caitsith/lsm2caitsith.c (revision 374)
@@ -121,6 +121,11 @@
121121 return ccs_mknod_permission(dentry, dir->mnt, mode, dev);
122122 }
123123
124+int ccs_file_truncate(struct file *file)
125+{
126+ return ccs_path_truncate(&file->f_path);
127+}
128+
124129 int ccs_path_truncate(const struct path *path)
125130 {
126131 return ccs_truncate_permission(path->dentry, path->mnt);
@@ -277,6 +282,9 @@
277282 LSM_HOOK_INIT(socket_listen, ccs_socket_listen),
278283 LSM_HOOK_INIT(socket_sendmsg, ccs_socket_sendmsg),
279284 #endif
285+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)
286+ LSM_HOOK_INIT(file_truncate, ccs_file_truncate),
287+#endif
280288 #if defined(CONFIG_SECURITY_PATH)
281289 LSM_HOOK_INIT(path_unlink, ccs_path_unlink),
282290 LSM_HOOK_INIT(path_mkdir, ccs_path_mkdir),
--- trunk/caitsith-patch/specs/build-c6-2.6.32.sh (revision 373)
+++ trunk/caitsith-patch/specs/build-c6-2.6.32.sh (revision 374)
@@ -18,9 +18,9 @@
1818 rpm -ivh kernel-2.6.32-754.35.1.el6.src.rpm || die "Can't install source package."
1919
2020 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
21-if [ ! -r caitsith-patch-0.2-20220923.tar.gz ]
21+if [ ! -r caitsith-patch-0.2-20221231.tar.gz ]
2222 then
23- wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz' || die "Can't download patch."
23+ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz' || die "Can't download patch."
2424 fi
2525
2626 cd ~/rpmbuild/SPECS/ || die "Can't chdir to ~/rpmbuild/SPECS/ ."
@@ -69,7 +69,7 @@
6969 ApplyOptionalPatch linux-kernel-test.patch
7070
7171 +# CaitSith
72-+tar -zxf %_sourcedir/caitsith-patch-0.2-20220923.tar.gz
72++tar -zxf %_sourcedir/caitsith-patch-0.2-20221231.tar.gz
7373 +sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' patches/ccs-patch-*.diff
7474 +patch -sp1 < patches/ccs-patch-2.6.32-centos-6.diff
7575 # Any further pre-build tree manipulations happen here.
--- trunk/caitsith-patch/specs/build-c7-3.10.sh (revision 373)
+++ trunk/caitsith-patch/specs/build-c7-3.10.sh (revision 374)
@@ -10,17 +10,17 @@
1010
1111 cd /tmp/ || die "Can't chdir to /tmp/ ."
1212
13-if [ ! -r kernel-3.10.0-1160.76.1.el7.src.rpm ]
13+if [ ! -r kernel-3.10.0-1160.81.1.el7.src.rpm ]
1414 then
15- wget https://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-1160.76.1.el7.src.rpm || die "Can't download source package."
15+ wget https://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-1160.81.1.el7.src.rpm || die "Can't download source package."
1616 fi
17-LANG=C rpm --checksig kernel-3.10.0-1160.76.1.el7.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18-rpm -ivh kernel-3.10.0-1160.76.1.el7.src.rpm || die "Can't install source package."
17+LANG=C rpm --checksig kernel-3.10.0-1160.81.1.el7.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18+rpm -ivh kernel-3.10.0-1160.81.1.el7.src.rpm || die "Can't install source package."
1919
2020 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
21-if [ ! -r caitsith-patch-0.2-20220923.tar.gz ]
21+if [ ! -r caitsith-patch-0.2-20221231.tar.gz ]
2222 then
23- wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz' || die "Can't download patch."
23+ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz' || die "Can't download patch."
2424 fi
2525
2626 cd ~/rpmbuild/SPECS/ || die "Can't chdir to ~/rpmbuild/SPECS/ ."
@@ -69,7 +69,7 @@
6969 ApplyOptionalPatch debrand-rh-i686-cpu.patch
7070
7171 +# CaitSith
72-+tar -zxf %_sourcedir/caitsith-patch-0.2-20220923.tar.gz
72++tar -zxf %_sourcedir/caitsith-patch-0.2-20221231.tar.gz
7373 +sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' patches/ccs-patch-*.diff
7474 +patch -sp1 < patches/ccs-patch-3.10-centos-7.diff
7575 # Any further pre-build tree manipulations happen here.
--- trunk/caitsith-patch/specs/build-c8-4.18.sh (revision 373)
+++ trunk/caitsith-patch/specs/build-c8-4.18.sh (revision 374)
@@ -18,9 +18,9 @@
1818 rpm -ivh kernel-4.18.0-408.el8.src.rpm || die "Can't install source package."
1919
2020 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
21-if [ ! -r caitsith-patch-0.2-20220923.tar.gz ]
21+if [ ! -r caitsith-patch-0.2-20221231.tar.gz ]
2222 then
23- wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz' || die "Can't download patch."
23+ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz' || die "Can't download patch."
2424 fi
2525
2626 cd ~/rpmbuild/SPECS/ || die "Can't chdir to ~/rpmbuild/SPECS/ ."
@@ -42,7 +42,7 @@
4242 # END OF PATCH APPLICATIONS
4343
4444 +# CaitSith
45-+tar -zxf %_sourcedir/caitsith-patch-0.2-20220923.tar.gz
45++tar -zxf %_sourcedir/caitsith-patch-0.2-20221231.tar.gz
4646 +sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' patches/ccs-patch-*.diff
4747 +patch -sp1 < patches/ccs-patch-4.18-centos-8.diff
4848 # Any further pre-build tree manipulations happen here.
--- trunk/caitsith-patch/specs/build-debian_wheezy.sh (revision 373)
+++ trunk/caitsith-patch/specs/build-debian_wheezy.sh (revision 374)
@@ -23,10 +23,10 @@
2323 # Download CaitSith patches.
2424 mkdir -p ~/rpmbuild/SOURCES/
2525 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
26-if [ ! -r caitsith-patch-0.2-20220923.tar.gz ]
26+if [ ! -r caitsith-patch-0.2-20221231.tar.gz ]
2727 then
2828 apt-get -y install wget
29- wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz' || die "Can't download patch."
29+ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz' || die "Can't download patch."
3030 fi
3131
3232 # Install kernel source packages.
@@ -38,7 +38,7 @@
3838
3939 # Apply patches and create kernel config.
4040 cd linux-source-3.2 || die "Can't chdir to linux-source-3.2/ ."
41-tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20220923.tar.gz || die "Can't extract patch."
41+tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20221231.tar.gz || die "Can't extract patch."
4242 sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' patches/ccs-patch-*.diff
4343 patch -p1 < patches/ccs-patch-3.2-debian-wheezy.diff || die "Can't apply patch."
4444 cat /boot/config-3.2.0-$ABI_VERSION-$ORIGINAL_FLAVOUR config.caitsith > .config || die "Can't create config."
--- trunk/caitsith-patch/specs/build-ubuntu_12.04.sh (revision 373)
+++ trunk/caitsith-patch/specs/build-ubuntu_12.04.sh (revision 374)
@@ -29,9 +29,9 @@
2929 # Download CaitSith patches.
3030 mkdir -p ~/rpmbuild/SOURCES/
3131 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
32-if [ ! -r caitsith-patch-0.2-20220923.tar.gz ]
32+if [ ! -r caitsith-patch-0.2-20221231.tar.gz ]
3333 then
34- wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz' || die "Can't download patch."
34+ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz' || die "Can't download patch."
3535 fi
3636
3737 # Install kernel source packages.
@@ -44,7 +44,7 @@
4444 # Apply patches and create kernel config.
4545 cd linux-3.2.0/ || die "Can't chdir to linux-3.2.0/ ."
4646 update_maintainer
47-tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20220923.tar.gz || die "Can't extract patch."
47+tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20221231.tar.gz || die "Can't extract patch."
4848 sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' patches/ccs-patch-*.diff
4949 patch -p1 < patches/ccs-patch-3.2-ubuntu-12.04.diff || die "Can't apply patch."
5050 rm -fR patches/ specs/ || die "Can't delete patch."
--- trunk/caitsith-patch/specs/build-ubuntu_14.04.sh (revision 373)
+++ trunk/caitsith-patch/specs/build-ubuntu_14.04.sh (revision 374)
@@ -29,9 +29,9 @@
2929 # Download CaitSith patches.
3030 mkdir -p ~/rpmbuild/SOURCES/
3131 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
32-if [ ! -r caitsith-patch-0.2-20220923.tar.gz ]
32+if [ ! -r caitsith-patch-0.2-20221231.tar.gz ]
3333 then
34- wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz' || die "Can't download patch."
34+ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz' || die "Can't download patch."
3535 fi
3636
3737 # Install kernel source packages.
@@ -44,7 +44,7 @@
4444 # Apply patches and create kernel config.
4545 cd linux-3.13.0/ || die "Can't chdir to linux-3.13.0/ ."
4646 update_maintainer
47-tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20220923.tar.gz || die "Can't extract patch."
47+tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20221231.tar.gz || die "Can't extract patch."
4848 sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' patches/ccs-patch-*.diff
4949 patch -p1 < patches/ccs-patch-3.13-ubuntu-14.04.diff || die "Can't apply patch."
5050 rm -fR patches/ specs/ || die "Can't delete patch."
--- trunk/caitsith-patch/specs/build-vl6-4.4.sh (revision 373)
+++ trunk/caitsith-patch/specs/build-vl6-4.4.sh (revision 374)
@@ -18,9 +18,9 @@
1818 rpm -ivh kernel-4.4.110-2vl6.src.rpm || die "Can't install source package."
1919
2020 cd ~/rpm/SOURCES/ || die "Can't chdir to ~/rpm/SOURCES/ ."
21-if [ ! -r caitsith-patch-0.2-20220923.tar.gz ]
21+if [ ! -r caitsith-patch-0.2-20221231.tar.gz ]
2222 then
23- wget -O caitsith-patch-0.2-20220923.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20220923.tar.gz' || die "Can't download patch."
23+ wget -O caitsith-patch-0.2-20221231.tar.gz 'https://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20221231.tar.gz' || die "Can't download patch."
2424 fi
2525
2626 cd /tmp/ || die "Can't chdir to /tmp/ ."
@@ -61,7 +61,7 @@
6161 # END OF PATCH APPLICATIONS
6262
6363 +# CaitSith
64-+tar -zxf %_sourcedir/caitsith-patch-0.2-20220923.tar.gz
64++tar -zxf %_sourcedir/caitsith-patch-0.2-20221231.tar.gz
6565 +sed -i -e 's/CCSECURITY/CAITSITH/g' -e 's/ccsecurity/caitsith/g' -e 's/ccs_domain_info/cs_domain_info/g' -e 's/ccs_flags/cs_flags/g' patches/ccs-patch-*.diff
6666 +patch -sp1 < patches/ccs-patch-4.4-vine-linux-6.diff
6767 cp %{SOURCE10} Documentation/
旧リポジトリブラウザで表示