• R/O
  • SSH
  • HTTPS

caitsith: コミット


コミットメタ情報

リビジョン267 (tree)
日時2018-08-27 19:15:55
作者kumaneko

ログメッセージ

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

変更サマリ

差分

--- branches/for-mainline/security/caitsith/caitsith.h (revision 266)
+++ branches/for-mainline/security/caitsith/caitsith.h (revision 267)
@@ -15,6 +15,7 @@
1515 #include <linux/file.h>
1616 #include <linux/ctype.h> /* isdigit()/isxdigit() */
1717 #include <linux/kmod.h>
18+#include <uapi/linux/magic.h> /* PROC_SUPER_MAGIC */
1819
1920 /* Enumeration definition for internal use. */
2021
--- branches/for-mainline/security/caitsith/gc.c (revision 266)
+++ branches/for-mainline/security/caitsith/gc.c (revision 267)
@@ -275,7 +275,6 @@
275275 cs_collect_acl(&ptr->acl_info_list);
276276 if (!ptr->is_deleted)
277277 continue;
278- /* ptr->is_deleted = CS_GC_IN_PROGRESS; */
279278 cs_try_to_gc(CS_ID_ACL, &ptr->list);
280279 }
281280 }
--- branches/for-mainline/security/caitsith/lsm.c (revision 266)
+++ branches/for-mainline/security/caitsith/lsm.c (revision 267)
@@ -20,7 +20,7 @@
2020 * Do only if this function is called for the first time of an execve
2121 * operation.
2222 */
23- if (bprm->cred_prepared)
23+ if (bprm->called_set_creds)
2424 return 0;
2525 #ifndef CONFIG_SECURITY_CAITSITH_OMIT_USERSPACE_LOADER
2626 /*
@@ -51,7 +51,8 @@
5151 if (!security_module_enable("caitsith"))
5252 return 0;
5353 /* register ourselves with the security framework */
54- security_add_hooks(caitsith_hooks, ARRAY_SIZE(caitsith_hooks));
54+ security_add_hooks(caitsith_hooks, ARRAY_SIZE(caitsith_hooks),
55+ "caitsith");
5556 printk(KERN_INFO "CaitSith initialized\n");
5657 cs_init_module();
5758 return 0;
--- branches/for-mainline/security/caitsith/security.diff (revision 266)
+++ branches/for-mainline/security/caitsith/security.diff (revision 267)
@@ -1,8 +1,8 @@
11 diff --git a/security/Kconfig b/security/Kconfig
2-index 118f454..d637481 100644
2+index 27d8b26..5e7b67d 100644
33 --- a/security/Kconfig
44 +++ b/security/Kconfig
5-@@ -164,6 +164,7 @@ source security/tomoyo/Kconfig
5+@@ -236,6 +236,7 @@ source security/tomoyo/Kconfig
66 source security/apparmor/Kconfig
77 source security/loadpin/Kconfig
88 source security/yama/Kconfig
@@ -10,7 +10,7 @@
1010
1111 source security/integrity/Kconfig
1212
13-@@ -173,6 +174,7 @@ choice
13+@@ -245,6 +246,7 @@ choice
1414 default DEFAULT_SECURITY_SMACK if SECURITY_SMACK
1515 default DEFAULT_SECURITY_TOMOYO if SECURITY_TOMOYO
1616 default DEFAULT_SECURITY_APPARMOR if SECURITY_APPARMOR
@@ -18,7 +18,7 @@
1818 default DEFAULT_SECURITY_DAC
1919
2020 help
21-@@ -191,6 +193,9 @@ choice
21+@@ -263,6 +265,9 @@ choice
2222 config DEFAULT_SECURITY_APPARMOR
2323 bool "AppArmor" if SECURITY_APPARMOR=y
2424
@@ -28,7 +28,7 @@
2828 config DEFAULT_SECURITY_DAC
2929 bool "Unix Discretionary Access Controls"
3030
31-@@ -202,6 +207,7 @@ config DEFAULT_SECURITY
31+@@ -274,6 +279,7 @@ config DEFAULT_SECURITY
3232 default "smack" if DEFAULT_SECURITY_SMACK
3333 default "tomoyo" if DEFAULT_SECURITY_TOMOYO
3434 default "apparmor" if DEFAULT_SECURITY_APPARMOR
@@ -37,10 +37,10 @@
3737
3838 endmenu
3939 diff --git a/security/Makefile b/security/Makefile
40-index f2d71cd..3745af0 100644
40+index 4d2d378..a3ac88b 100644
4141 --- a/security/Makefile
4242 +++ b/security/Makefile
43-@@ -9,6 +9,7 @@ subdir-$(CONFIG_SECURITY_TOMOYO) += tomoyo
43+@@ -10,6 +10,7 @@ subdir-$(CONFIG_SECURITY_TOMOYO) += tomoyo
4444 subdir-$(CONFIG_SECURITY_APPARMOR) += apparmor
4545 subdir-$(CONFIG_SECURITY_YAMA) += yama
4646 subdir-$(CONFIG_SECURITY_LOADPIN) += loadpin
@@ -48,7 +48,7 @@
4848
4949 # always enable default capabilities
5050 obj-y += commoncap.o
51-@@ -25,6 +26,7 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor/
51+@@ -26,6 +27,7 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor/
5252 obj-$(CONFIG_SECURITY_YAMA) += yama/
5353 obj-$(CONFIG_SECURITY_LOADPIN) += loadpin/
5454 obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o
--- tags/htdocs/index.html (revision 266)
+++ tags/htdocs/index.html (revision 267)
@@ -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-20180714.tar.gz 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz'
308-# wget -O caitsith-patch-0.2-20180714.tar.gz.asc 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz.asc'
307+# wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180827.tar.gz'
308+# wget -O caitsith-patch-0.2-20180827.tar.gz.asc 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180827.tar.gz.asc'
309309 # wget https://tomoyo.osdn.jp/kumaneko-key
310310 # gpg --import kumaneko-key
311-# gpg caitsith-patch-0.2-20180714.tar.gz.asc
312-# tar -zxf caitsith-patch-0.2-20180714.tar.gz
311+# gpg caitsith-patch-0.2-20180827.tar.gz.asc
312+# tar -zxf caitsith-patch-0.2-20180827.tar.gz
313313 </pre>
314314
315315 <hr>
@@ -640,16 +640,16 @@
640640 Linux kernel 4.0 and later are supported from the linux-4 tree.</p>
641641
642642 <p>Extract the kernel source and go to the extracted directory.<br>
643-In the operations below, "$VERSION" should be replaced with appropriate kernel version. For example "4.16" if using Linux kernel 4.16.10, "2.6.27" if using Linux kernel 2.6.27.62.<br>
643+In the operations below, "$VERSION" should be replaced with appropriate kernel version. For example "4.18" if using Linux kernel 4.18.5, "2.6.27" if using Linux kernel 2.6.27.62.<br>
644644 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>
645645
646646 <pre class="command">
647-$ wget -O caitsith-patch-0.2-20180714.tar.gz 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz'
648-$ wget -O caitsith-patch-0.2-20180714.tar.gz.asc 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz.asc'
647+$ wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180827.tar.gz'
648+$ wget -O caitsith-patch-0.2-20180827.tar.gz.asc 'http://osdn.jp/frs/redir.php?m=jaist&amp;f=/caitsith/66537/caitsith-patch-0.2-20180827.tar.gz.asc'
649649 $ wget https://tomoyo.osdn.jp/kumaneko-key
650650 $ gpg --import kumaneko-key
651-$ gpg caitsith-patch-0.2-20180714.tar.gz.asc
652-$ tar -zxf caitsith-patch-0.2-20180714.tar.gz
651+$ gpg caitsith-patch-0.2-20180827.tar.gz.asc
652+$ tar -zxf caitsith-patch-0.2-20180827.tar.gz
653653 $ 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
654654 $ patch -sp1 &lt; patches/ccs-patch-$VERSION.diff
655655 </pre>
--- trunk/caitsith-patch/caitsith/lsm-4.12.c (revision 266)
+++ trunk/caitsith-patch/caitsith/lsm-4.12.c (revision 267)
@@ -261,10 +261,23 @@
261261 return cs_start_execve(bprm, &security->r);
262262 }
263263
264+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
264265 /**
265266 * cs_file_open - Check permission for open().
266267 *
267268 * @f: Pointer to "struct file".
269+ *
270+ * Returns 0 on success, negative value otherwise.
271+ */
272+static int cs_file_open(struct file *f)
273+{
274+ return cs_open_permission(&f->f_path, f->f_flags);
275+}
276+#else
277+/**
278+ * cs_file_open - Check permission for open().
279+ *
280+ * @f: Pointer to "struct file".
268281 * @cred: Pointer to "struct cred".
269282 *
270283 * Returns 0 on success, negative value otherwise.
@@ -273,6 +286,7 @@
273286 {
274287 return cs_open_permission(&f->f_path, f->f_flags);
275288 }
289+#endif
276290
277291 #ifdef CONFIG_SECURITY_PATH
278292
--- trunk/caitsith-patch/include/linux/lsm2caitsith.h (revision 266)
+++ trunk/caitsith-patch/include/linux/lsm2caitsith.h (revision 267)
@@ -28,7 +28,11 @@
2828 #endif
2929 int ccs_file_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
3030 int ccs_file_fcntl(struct file *file, unsigned int cmd, unsigned long arg);
31+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
32+int ccs_file_open(struct file *file);
33+#else
3134 int ccs_file_open(struct file *file, const struct cred *cred);
35+#endif
3236 int ccs_socket_create(int family, int type, int protocol, int kern);
3337 int ccs_socket_bind(struct socket *sock, struct sockaddr *address,
3438 int addrlen);
@@ -128,10 +132,17 @@
128132 {
129133 return 0;
130134 }
135+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
136+static inline int ccs_file_open(struct file *file)
137+{
138+ return 0;
139+}
140+#else
131141 static inline int ccs_file_open(struct file *file, const struct cred *cred)
132142 {
133143 return 0;
134144 }
145+#endif
135146 static inline int ccs_socket_create(int family, int type, int protocol,
136147 int kern)
137148 {
--- trunk/caitsith-patch/patches/ccs-patch-2.6.32-centos-6.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-2.6.32-centos-6.diff (revision 267)
@@ -1,6 +1,6 @@
11 This is TOMOYO Linux patch for CentOS 6.
22
3-Source code for this patch is http://vault.centos.org/6.10/updates/Source/SPackages/kernel-2.6.32-754.2.1.el6.src.rpm
3+Source code for this patch is http://vault.centos.org/6.10/updates/Source/SPackages/kernel-2.6.32-754.3.5.el6.src.rpm
44 ---
55 fs/compat.c | 2 +-
66 fs/compat_ioctl.c | 3 +++
@@ -37,8 +37,8 @@
3737 security/Makefile | 3 +++
3838 33 files changed, 201 insertions(+), 2 deletions(-)
3939
40---- linux-2.6.32-754.2.1.el6.orig/fs/compat.c
41-+++ linux-2.6.32-754.2.1.el6/fs/compat.c
40+--- linux-2.6.32-754.3.5.el6.orig/fs/compat.c
41++++ linux-2.6.32-754.3.5.el6/fs/compat.c
4242 @@ -1524,7 +1524,7 @@ int compat_do_execve(const char * filena
4343 if (retval < 0)
4444 goto out;
@@ -48,8 +48,8 @@
4848 if (retval < 0)
4949 goto out;
5050
51---- linux-2.6.32-754.2.1.el6.orig/fs/compat_ioctl.c
52-+++ linux-2.6.32-754.2.1.el6/fs/compat_ioctl.c
51+--- linux-2.6.32-754.3.5.el6.orig/fs/compat_ioctl.c
52++++ linux-2.6.32-754.3.5.el6/fs/compat_ioctl.c
5353 @@ -114,6 +114,7 @@
5454 #ifdef CONFIG_SPARC
5555 #include <asm/fbio.h>
@@ -67,8 +67,8 @@
6767 if (error)
6868 goto out_fput;
6969
70---- linux-2.6.32-754.2.1.el6.orig/fs/exec.c
71-+++ linux-2.6.32-754.2.1.el6/fs/exec.c
70+--- linux-2.6.32-754.3.5.el6.orig/fs/exec.c
71++++ linux-2.6.32-754.3.5.el6/fs/exec.c
7272 @@ -1490,7 +1490,7 @@ int do_execve(const char * filename,
7373 goto out;
7474
@@ -78,9 +78,9 @@
7878 if (retval < 0)
7979 goto out;
8080
81---- linux-2.6.32-754.2.1.el6.orig/fs/fcntl.c
82-+++ linux-2.6.32-754.2.1.el6/fs/fcntl.c
83-@@ -428,6 +428,8 @@ SYSCALL_DEFINE3(fcntl, unsigned int, fd,
81+--- linux-2.6.32-754.3.5.el6.orig/fs/fcntl.c
82++++ linux-2.6.32-754.3.5.el6/fs/fcntl.c
83+@@ -431,6 +431,8 @@ SYSCALL_DEFINE3(fcntl, unsigned int, fd,
8484 goto out;
8585
8686 err = security_file_fcntl(filp, cmd, arg);
@@ -89,7 +89,7 @@
8989 if (err) {
9090 fput(filp);
9191 return err;
92-@@ -453,6 +455,8 @@ SYSCALL_DEFINE3(fcntl64, unsigned int, f
92+@@ -456,6 +458,8 @@ SYSCALL_DEFINE3(fcntl64, unsigned int, f
9393 goto out;
9494
9595 err = security_file_fcntl(filp, cmd, arg);
@@ -98,8 +98,8 @@
9898 if (err) {
9999 fput(filp);
100100 return err;
101---- linux-2.6.32-754.2.1.el6.orig/fs/ioctl.c
102-+++ linux-2.6.32-754.2.1.el6/fs/ioctl.c
101+--- linux-2.6.32-754.3.5.el6.orig/fs/ioctl.c
102++++ linux-2.6.32-754.3.5.el6/fs/ioctl.c
103103 @@ -639,6 +639,8 @@ SYSCALL_DEFINE3(ioctl, unsigned int, fd,
104104 goto out;
105105
@@ -109,9 +109,9 @@
109109 if (error)
110110 goto out_fput;
111111
112---- linux-2.6.32-754.2.1.el6.orig/fs/namei.c
113-+++ linux-2.6.32-754.2.1.el6/fs/namei.c
114-@@ -2067,6 +2067,11 @@ int may_open(struct path *path, int acc_
112+--- linux-2.6.32-754.3.5.el6.orig/fs/namei.c
113++++ linux-2.6.32-754.3.5.el6/fs/namei.c
114+@@ -2070,6 +2070,11 @@ int may_open(struct path *path, int acc_
115115 if (flag & O_NOATIME && !is_owner_or_cap(inode))
116116 return -EPERM;
117117
@@ -123,7 +123,7 @@
123123 /*
124124 * Ensure there are no outstanding leases on the file.
125125 */
126-@@ -2110,6 +2115,9 @@ static int __open_namei_create(struct na
126+@@ -2113,6 +2118,9 @@ static int __open_namei_create(struct na
127127 if (!IS_POSIXACL(dir->d_inode))
128128 mode &= ~current_umask();
129129 error = security_path_mknod(&nd->path, path->dentry, mode, 0);
@@ -133,7 +133,7 @@
133133 if (error)
134134 goto out_unlock;
135135 error = vfs_create(dir->d_inode, path->dentry, mode, nd);
136-@@ -2612,6 +2620,8 @@ retry:
136+@@ -2615,6 +2623,8 @@ retry:
137137 if (error)
138138 goto out_dput;
139139 error = security_path_mknod(&nd.path, dentry, mode, dev);
@@ -142,7 +142,7 @@
142142 if (error)
143143 goto out_dput;
144144 switch (mode & S_IFMT) {
145-@@ -2696,6 +2706,8 @@ retry:
145+@@ -2699,6 +2709,8 @@ retry:
146146 if (!IS_POSIXACL(nd.path.dentry->d_inode))
147147 mode &= ~current_umask();
148148 error = security_path_mkdir(&nd.path, dentry, mode);
@@ -151,7 +151,7 @@
151151 if (error)
152152 goto out_dput;
153153 error = vfs_mkdir(nd.path.dentry->d_inode, dentry, mode);
154-@@ -2814,6 +2826,8 @@ retry:
154+@@ -2817,6 +2829,8 @@ retry:
155155 if (IS_ERR(dentry))
156156 goto exit2;
157157 error = security_path_rmdir(&nd.path, dentry);
@@ -160,7 +160,7 @@
160160 if (error)
161161 goto exit3;
162162 error = vfs_rmdir(nd.path.dentry->d_inode, dentry);
163-@@ -2907,6 +2921,8 @@ retry:
163+@@ -2910,6 +2924,8 @@ retry:
164164 if (inode)
165165 atomic_inc(&inode->i_count);
166166 error = security_path_unlink(&nd.path, dentry);
@@ -169,7 +169,7 @@
169169 if (error)
170170 goto exit2;
171171 error = vfs_unlink(nd.path.dentry->d_inode, dentry);
172-@@ -3003,6 +3019,8 @@ retry:
172+@@ -3006,6 +3022,8 @@ retry:
173173 goto out_dput;
174174 }
175175 error = security_path_symlink(&nd.path, dentry, from->name);
@@ -178,7 +178,7 @@
178178 if (error)
179179 goto out_dput;
180180 error = vfs_symlink(nd.path.dentry->d_inode, dentry, from->name);
181-@@ -3118,6 +3136,9 @@ retry:
181+@@ -3121,6 +3139,9 @@ retry:
182182 if (IS_ERR(new_dentry))
183183 goto out_unlock;
184184 error = security_path_link(old_path.dentry, &nd.path, new_dentry);
@@ -188,7 +188,7 @@
188188 if (error)
189189 goto out_dput;
190190 error = vfs_link(old_path.dentry, nd.path.dentry->d_inode, new_dentry);
191-@@ -3370,6 +3391,9 @@ retry:
191+@@ -3373,6 +3394,9 @@ retry:
192192
193193 error = security_path_rename(&oldnd.path, old_dentry,
194194 &newnd.path, new_dentry);
@@ -198,8 +198,8 @@
198198 if (error)
199199 goto exit5;
200200 error = vfs_rename(old_dir->d_inode, old_dentry,
201---- linux-2.6.32-754.2.1.el6.orig/fs/namespace.c
202-+++ linux-2.6.32-754.2.1.el6/fs/namespace.c
201+--- linux-2.6.32-754.3.5.el6.orig/fs/namespace.c
202++++ linux-2.6.32-754.3.5.el6/fs/namespace.c
203203 @@ -1097,6 +1097,8 @@ static int do_umount(struct vfsmount *mn
204204 LIST_HEAD(umount_list);
205205
@@ -236,9 +236,9 @@
236236 if (error) {
237237 path_put(&old);
238238 goto out1;
239---- linux-2.6.32-754.2.1.el6.orig/fs/open.c
240-+++ linux-2.6.32-754.2.1.el6/fs/open.c
241-@@ -102,6 +102,8 @@ long vfs_truncate(struct path *path, lof
239+--- linux-2.6.32-754.3.5.el6.orig/fs/open.c
240++++ linux-2.6.32-754.3.5.el6/fs/open.c
241+@@ -103,6 +103,8 @@ long vfs_truncate(struct path *path, lof
242242 error = locks_verify_truncate(inode, NULL, length);
243243 if (!error)
244244 error = security_path_truncate(path, length, 0);
@@ -247,7 +247,7 @@
247247 if (!error) {
248248 vfs_dq_init(inode);
249249 error = do_truncate(path->dentry, length, 0, NULL);
250-@@ -183,6 +185,8 @@ static long do_sys_ftruncate(unsigned in
250+@@ -184,6 +186,8 @@ static long do_sys_ftruncate(unsigned in
251251 error = security_path_truncate(&file->f_path, length,
252252 ATTR_MTIME|ATTR_CTIME);
253253 if (!error)
@@ -256,7 +256,7 @@
256256 error = do_truncate(dentry, length, ATTR_MTIME|ATTR_CTIME, file);
257257 sb_end_write(inode->i_sb);
258258 out_putf:
259-@@ -464,6 +468,8 @@ retry:
259+@@ -465,6 +469,8 @@ retry:
260260 error = -EPERM;
261261 if (!capable(CAP_SYS_CHROOT))
262262 goto dput_and_out;
@@ -265,7 +265,7 @@
265265
266266 set_fs_root(current->fs, &path);
267267 error = 0;
268-@@ -497,6 +503,9 @@ SYSCALL_DEFINE2(fchmod, unsigned int, fd
268+@@ -498,6 +504,9 @@ SYSCALL_DEFINE2(fchmod, unsigned int, fd
269269 err = mnt_want_write_file(file);
270270 if (err)
271271 goto out_putf;
@@ -275,7 +275,7 @@
275275 mutex_lock(&inode->i_mutex);
276276 if (mode == (mode_t) -1)
277277 mode = inode->i_mode;
278-@@ -504,6 +513,7 @@ SYSCALL_DEFINE2(fchmod, unsigned int, fd
278+@@ -505,6 +514,7 @@ SYSCALL_DEFINE2(fchmod, unsigned int, fd
279279 newattrs.ia_valid = ATTR_MODE | ATTR_CTIME;
280280 err = notify_change(dentry, &newattrs);
281281 mutex_unlock(&inode->i_mutex);
@@ -283,7 +283,7 @@
283283 mnt_drop_write(file->f_path.mnt);
284284 out_putf:
285285 fput(file);
286-@@ -527,6 +537,9 @@ retry:
286+@@ -528,6 +538,9 @@ retry:
287287 error = mnt_want_write(path.mnt);
288288 if (error)
289289 goto dput_and_out;
@@ -293,7 +293,7 @@
293293 mutex_lock(&inode->i_mutex);
294294 if (mode == (mode_t) -1)
295295 mode = inode->i_mode;
296-@@ -534,6 +547,7 @@ retry:
296+@@ -535,6 +548,7 @@ retry:
297297 newattrs.ia_valid = ATTR_MODE | ATTR_CTIME;
298298 error = notify_change(path.dentry, &newattrs);
299299 mutex_unlock(&inode->i_mutex);
@@ -301,7 +301,7 @@
301301 mnt_drop_write(path.mnt);
302302 dput_and_out:
303303 path_put(&path);
304-@@ -593,6 +607,8 @@ retry:
304+@@ -594,6 +608,8 @@ retry:
305305 error = mnt_want_write(path.mnt);
306306 if (error)
307307 goto out_release;
@@ -310,7 +310,7 @@
310310 error = chown_common(path.dentry, user, group);
311311 mnt_drop_write(path.mnt);
312312 out_release:
313-@@ -631,6 +647,8 @@ SYSCALL_DEFINE3(fchown, unsigned int, fd
313+@@ -632,6 +648,8 @@ SYSCALL_DEFINE3(fchown, unsigned int, fd
314314 goto out_fput;
315315 dentry = file->f_path.dentry;
316316 audit_inode(NULL, dentry, 0);
@@ -319,7 +319,7 @@
319319 error = chown_common(dentry, user, group);
320320 mnt_drop_write(file->f_path.mnt);
321321 out_fput:
322-@@ -1028,6 +1046,8 @@ EXPORT_SYMBOL(sys_close);
322+@@ -1032,6 +1050,8 @@ EXPORT_SYMBOL(sys_close);
323323 */
324324 SYSCALL_DEFINE0(vhangup)
325325 {
@@ -328,8 +328,8 @@
328328 if (capable(CAP_SYS_TTY_CONFIG)) {
329329 tty_vhangup_self();
330330 return 0;
331---- linux-2.6.32-754.2.1.el6.orig/fs/proc/version.c
332-+++ linux-2.6.32-754.2.1.el6/fs/proc/version.c
331+--- linux-2.6.32-754.3.5.el6.orig/fs/proc/version.c
332++++ linux-2.6.32-754.3.5.el6/fs/proc/version.c
333333 @@ -32,3 +32,10 @@ static int __init proc_version_init(void
334334 return 0;
335335 }
@@ -337,12 +337,12 @@
337337 +
338338 +static int __init ccs_show_version(void)
339339 +{
340-+ printk(KERN_INFO "Hook version: 2.6.32-754.2.1.el6 2018/07/14\n");
340++ printk(KERN_INFO "Hook version: 2.6.32-754.3.5.el6 2018/08/25\n");
341341 + return 0;
342342 +}
343343 +module_init(ccs_show_version);
344---- linux-2.6.32-754.2.1.el6.orig/fs/stat.c
345-+++ linux-2.6.32-754.2.1.el6/fs/stat.c
344+--- linux-2.6.32-754.3.5.el6.orig/fs/stat.c
345++++ linux-2.6.32-754.3.5.el6/fs/stat.c
346346 @@ -43,6 +43,8 @@ int vfs_getattr(struct vfsmount *mnt, st
347347 int retval;
348348
@@ -352,8 +352,8 @@
352352 if (retval)
353353 return retval;
354354
355---- linux-2.6.32-754.2.1.el6.orig/include/linux/init_task.h
356-+++ linux-2.6.32-754.2.1.el6/include/linux/init_task.h
355+--- linux-2.6.32-754.3.5.el6.orig/include/linux/init_task.h
356++++ linux-2.6.32-754.3.5.el6/include/linux/init_task.h
357357 @@ -123,6 +123,14 @@ extern struct cred init_cred;
358358 # define INIT_PERF_EVENTS(tsk)
359359 #endif
@@ -377,8 +377,8 @@
377377 }
378378
379379
380---- linux-2.6.32-754.2.1.el6.orig/include/linux/sched.h
381-+++ linux-2.6.32-754.2.1.el6/include/linux/sched.h
380+--- linux-2.6.32-754.3.5.el6.orig/include/linux/sched.h
381++++ linux-2.6.32-754.3.5.el6/include/linux/sched.h
382382 @@ -43,6 +43,8 @@
383383
384384 #ifdef __KERNEL__
@@ -399,8 +399,8 @@
399399 };
400400
401401 /* Future-safe accessor for struct task_struct's cpus_allowed. */
402---- linux-2.6.32-754.2.1.el6.orig/include/linux/security.h
403-+++ linux-2.6.32-754.2.1.el6/include/linux/security.h
402+--- linux-2.6.32-754.3.5.el6.orig/include/linux/security.h
403++++ linux-2.6.32-754.3.5.el6/include/linux/security.h
404404 @@ -35,6 +35,7 @@
405405 #include <linux/xfrm.h>
406406 #include <linux/gfp.h>
@@ -409,8 +409,8 @@
409409
410410 /* Maximum number of letters for an LSM name string */
411411 #define SECURITY_NAME_MAX 10
412---- linux-2.6.32-754.2.1.el6.orig/include/net/ip.h
413-+++ linux-2.6.32-754.2.1.el6/include/net/ip.h
412+--- linux-2.6.32-754.3.5.el6.orig/include/net/ip.h
413++++ linux-2.6.32-754.3.5.el6/include/net/ip.h
414414 @@ -33,6 +33,7 @@
415415 #endif
416416 #include <net/snmp.h>
@@ -428,8 +428,8 @@
428428 return test_bit(port, sysctl_local_reserved_ports);
429429 }
430430
431---- linux-2.6.32-754.2.1.el6.orig/kernel/compat.c
432-+++ linux-2.6.32-754.2.1.el6/kernel/compat.c
431+--- linux-2.6.32-754.3.5.el6.orig/kernel/compat.c
432++++ linux-2.6.32-754.3.5.el6/kernel/compat.c
433433 @@ -1005,6 +1005,8 @@ asmlinkage long compat_sys_stime(compat_
434434 err = security_settime(&tv, NULL);
435435 if (err)
@@ -439,8 +439,8 @@
439439
440440 do_settimeofday(&tv);
441441 return 0;
442---- linux-2.6.32-754.2.1.el6.orig/kernel/fork.c
443-+++ linux-2.6.32-754.2.1.el6/kernel/fork.c
442+--- linux-2.6.32-754.3.5.el6.orig/kernel/fork.c
443++++ linux-2.6.32-754.3.5.el6/kernel/fork.c
444444 @@ -206,6 +206,7 @@ void __put_task_struct(struct task_struc
445445 exit_creds(tsk);
446446 delayacct_tsk_free(tsk);
@@ -467,8 +467,8 @@
467467 bad_fork_cleanup_perf:
468468 perf_event_free_task(p);
469469 bad_fork_cleanup_policy:
470---- linux-2.6.32-754.2.1.el6.orig/kernel/kexec.c
471-+++ linux-2.6.32-754.2.1.el6/kernel/kexec.c
470+--- linux-2.6.32-754.3.5.el6.orig/kernel/kexec.c
471++++ linux-2.6.32-754.3.5.el6/kernel/kexec.c
472472 @@ -41,6 +41,7 @@
473473 #include <asm/system.h>
474474 #include <asm/sections.h>
@@ -486,9 +486,9 @@
486486
487487 if (kexec_load_disabled)
488488 return -EPERM;
489---- linux-2.6.32-754.2.1.el6.orig/kernel/module.c
490-+++ linux-2.6.32-754.2.1.el6/kernel/module.c
491-@@ -56,6 +56,7 @@
489+--- linux-2.6.32-754.3.5.el6.orig/kernel/module.c
490++++ linux-2.6.32-754.3.5.el6/kernel/module.c
491+@@ -57,6 +57,7 @@
492492 #include <linux/percpu.h>
493493 #include <linux/kmemleak.h>
494494 #include "module-verify.h"
@@ -496,7 +496,7 @@
496496
497497 #define CREATE_TRACE_POINTS
498498 #include <trace/events/module.h>
499-@@ -805,6 +806,8 @@ SYSCALL_DEFINE2(delete_module, const cha
499+@@ -806,6 +807,8 @@ SYSCALL_DEFINE2(delete_module, const cha
500500
501501 if (!capable(CAP_SYS_MODULE) || modules_disabled)
502502 return -EPERM;
@@ -505,7 +505,7 @@
505505
506506 if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
507507 return -EFAULT;
508-@@ -2625,6 +2628,8 @@ SYSCALL_DEFINE3(init_module, void __user
508+@@ -2626,6 +2629,8 @@ SYSCALL_DEFINE3(init_module, void __user
509509 /* Must have permission */
510510 if (!capable(CAP_SYS_MODULE) || modules_disabled)
511511 return -EPERM;
@@ -512,10 +512,10 @@
512512 + if (!ccs_capable(CCS_USE_KERNEL_MODULE))
513513 + return -EPERM;
514514
515- /* Only one module load at a time, please */
516- if (mutex_lock_interruptible(&module_mutex) != 0)
517---- linux-2.6.32-754.2.1.el6.orig/kernel/ptrace.c
518-+++ linux-2.6.32-754.2.1.el6/kernel/ptrace.c
515+ /*
516+ * Make sure we don't speculate past the CAP_SYS_MODULE check. The
517+--- linux-2.6.32-754.3.5.el6.orig/kernel/ptrace.c
518++++ linux-2.6.32-754.3.5.el6/kernel/ptrace.c
519519 @@ -199,6 +199,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
520520 {
521521 struct task_struct *child;
@@ -540,8 +540,8 @@
540540
541541 if (request == PTRACE_TRACEME) {
542542 ret = ptrace_traceme();
543---- linux-2.6.32-754.2.1.el6.orig/kernel/sched.c
544-+++ linux-2.6.32-754.2.1.el6/kernel/sched.c
543+--- linux-2.6.32-754.3.5.el6.orig/kernel/sched.c
544++++ linux-2.6.32-754.3.5.el6/kernel/sched.c
545545 @@ -6868,6 +6868,8 @@ int can_nice(const struct task_struct *p
546546 SYSCALL_DEFINE1(nice, int, increment)
547547 {
@@ -551,9 +551,9 @@
551551
552552 /*
553553 * Setpriority might change our priority at the same moment.
554---- linux-2.6.32-754.2.1.el6.orig/kernel/signal.c
555-+++ linux-2.6.32-754.2.1.el6/kernel/signal.c
556-@@ -2312,6 +2312,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
554+--- linux-2.6.32-754.3.5.el6.orig/kernel/signal.c
555++++ linux-2.6.32-754.3.5.el6/kernel/signal.c
556+@@ -2316,6 +2316,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
557557 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
558558 {
559559 struct siginfo info;
@@ -562,7 +562,7 @@
562562
563563 info.si_signo = sig;
564564 info.si_errno = 0;
565-@@ -2380,6 +2382,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
565+@@ -2384,6 +2386,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
566566 /* This is only valid for single tasks */
567567 if (pid <= 0 || tgid <= 0)
568568 return -EINVAL;
@@ -571,7 +571,7 @@
571571
572572 return do_tkill(tgid, pid, sig);
573573 }
574-@@ -2392,6 +2396,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
574+@@ -2396,6 +2400,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
575575 /* This is only valid for single tasks */
576576 if (pid <= 0)
577577 return -EINVAL;
@@ -580,7 +580,7 @@
580580
581581 return do_tkill(0, pid, sig);
582582 }
583-@@ -2411,6 +2417,8 @@ SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t,
583+@@ -2415,6 +2421,8 @@ SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t,
584584 return -EPERM;
585585
586586 info.si_signo = sig;
@@ -589,7 +589,7 @@
589589
590590 /* POSIX.1b doesn't mention process groups. */
591591 return kill_proc_info(sig, &info, pid);
592-@@ -2429,6 +2437,8 @@ long do_rt_tgsigqueueinfo(pid_t tgid, pi
592+@@ -2433,6 +2441,8 @@ long do_rt_tgsigqueueinfo(pid_t tgid, pi
593593 return -EPERM;
594594
595595 info->si_signo = sig;
@@ -598,9 +598,9 @@
598598
599599 return do_send_specific(tgid, pid, sig, info);
600600 }
601---- linux-2.6.32-754.2.1.el6.orig/kernel/sys.c
602-+++ linux-2.6.32-754.2.1.el6/kernel/sys.c
603-@@ -159,6 +159,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
601+--- linux-2.6.32-754.3.5.el6.orig/kernel/sys.c
602++++ linux-2.6.32-754.3.5.el6/kernel/sys.c
603+@@ -163,6 +163,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
604604
605605 if (which > PRIO_USER || which < PRIO_PROCESS)
606606 goto out;
@@ -611,7 +611,7 @@
611611
612612 /* normalize: avoid signed division (rounding problems) */
613613 error = -ESRCH;
614-@@ -382,6 +386,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
614+@@ -386,6 +390,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
615615 magic2 != LINUX_REBOOT_MAGIC2B &&
616616 magic2 != LINUX_REBOOT_MAGIC2C))
617617 return -EINVAL;
@@ -620,7 +620,7 @@
620620
621621 /*
622622 * If pid namespaces are enabled and the current task is in a child
623-@@ -1155,6 +1161,8 @@ SYSCALL_DEFINE2(sethostname, char __user
623+@@ -1159,6 +1165,8 @@ SYSCALL_DEFINE2(sethostname, char __user
624624 return -EPERM;
625625 if (len < 0 || len > __NEW_UTS_LEN)
626626 return -EINVAL;
@@ -629,7 +629,7 @@
629629 down_write(&uts_sem);
630630 errno = -EFAULT;
631631 if (!copy_from_user(tmp, name, len)) {
632-@@ -1204,6 +1212,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
632+@@ -1208,6 +1216,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
633633 return -EPERM;
634634 if (len < 0 || len > __NEW_UTS_LEN)
635635 return -EINVAL;
@@ -638,8 +638,8 @@
638638
639639 down_write(&uts_sem);
640640 errno = -EFAULT;
641---- linux-2.6.32-754.2.1.el6.orig/kernel/sysctl.c
642-+++ linux-2.6.32-754.2.1.el6/kernel/sysctl.c
641+--- linux-2.6.32-754.3.5.el6.orig/kernel/sysctl.c
642++++ linux-2.6.32-754.3.5.el6/kernel/sysctl.c
643643 @@ -2130,6 +2130,9 @@ int do_sysctl(int __user *name, int nlen
644644
645645 for (head = sysctl_head_next(NULL); head;
@@ -650,8 +650,8 @@
650650 error = parse_table(name, nlen, oldval, oldlenp,
651651 newval, newlen,
652652 head->root, head->ctl_table);
653---- linux-2.6.32-754.2.1.el6.orig/kernel/time.c
654-+++ linux-2.6.32-754.2.1.el6/kernel/time.c
653+--- linux-2.6.32-754.3.5.el6.orig/kernel/time.c
654++++ linux-2.6.32-754.3.5.el6/kernel/time.c
655655 @@ -92,6 +92,8 @@ SYSCALL_DEFINE1(stime, time_t __user *,
656656 err = security_settime(&tv, NULL);
657657 if (err)
@@ -670,8 +670,8 @@
670670
671671 if (tz) {
672672 /* SMP safe, global irq locking makes it work. */
673---- linux-2.6.32-754.2.1.el6.orig/kernel/time/ntp.c
674-+++ linux-2.6.32-754.2.1.el6/kernel/time/ntp.c
673+--- linux-2.6.32-754.3.5.el6.orig/kernel/time/ntp.c
674++++ linux-2.6.32-754.3.5.el6/kernel/time/ntp.c
675675 @@ -14,6 +14,7 @@
676676 #include <linux/timex.h>
677677 #include <linux/time.h>
@@ -696,8 +696,8 @@
696696
697697 /*
698698 * if the quartz is off by more than 10% then
699---- linux-2.6.32-754.2.1.el6.orig/net/ipv4/raw.c
700-+++ linux-2.6.32-754.2.1.el6/net/ipv4/raw.c
699+--- linux-2.6.32-754.3.5.el6.orig/net/ipv4/raw.c
700++++ linux-2.6.32-754.3.5.el6/net/ipv4/raw.c
701701 @@ -77,6 +77,7 @@
702702 #include <linux/seq_file.h>
703703 #include <linux/netfilter.h>
@@ -717,8 +717,8 @@
717717
718718 copied = skb->len;
719719 if (len < copied) {
720---- linux-2.6.32-754.2.1.el6.orig/net/ipv4/udp.c
721-+++ linux-2.6.32-754.2.1.el6/net/ipv4/udp.c
720+--- linux-2.6.32-754.3.5.el6.orig/net/ipv4/udp.c
721++++ linux-2.6.32-754.3.5.el6/net/ipv4/udp.c
722722 @@ -108,6 +108,7 @@
723723 #include <trace/events/udp.h>
724724 #include <net/busy_poll.h>
@@ -738,8 +738,8 @@
738738
739739 ulen = skb->len - sizeof(struct udphdr);
740740 copied = len;
741---- linux-2.6.32-754.2.1.el6.orig/net/ipv6/raw.c
742-+++ linux-2.6.32-754.2.1.el6/net/ipv6/raw.c
741+--- linux-2.6.32-754.3.5.el6.orig/net/ipv6/raw.c
742++++ linux-2.6.32-754.3.5.el6/net/ipv6/raw.c
743743 @@ -59,6 +59,7 @@
744744
745745 #include <linux/proc_fs.h>
@@ -759,8 +759,8 @@
759759
760760 copied = skb->len;
761761 if (copied > len) {
762---- linux-2.6.32-754.2.1.el6.orig/net/ipv6/udp.c
763-+++ linux-2.6.32-754.2.1.el6/net/ipv6/udp.c
762+--- linux-2.6.32-754.3.5.el6.orig/net/ipv6/udp.c
763++++ linux-2.6.32-754.3.5.el6/net/ipv6/udp.c
764764 @@ -50,6 +50,7 @@
765765 #include <linux/proc_fs.h>
766766 #include <linux/seq_file.h>
@@ -780,9 +780,9 @@
780780
781781 ulen = skb->len - sizeof(struct udphdr);
782782 copied = len;
783---- linux-2.6.32-754.2.1.el6.orig/net/socket.c
784-+++ linux-2.6.32-754.2.1.el6/net/socket.c
785-@@ -578,6 +578,8 @@ static inline int __sock_sendmsg(struct
783+--- linux-2.6.32-754.3.5.el6.orig/net/socket.c
784++++ linux-2.6.32-754.3.5.el6/net/socket.c
785+@@ -579,6 +579,8 @@ static inline int __sock_sendmsg(struct
786786 struct msghdr *msg, size_t size)
787787 {
788788 int err = security_socket_sendmsg(sock, msg, size);
@@ -791,7 +791,7 @@
791791
792792 return err ?: __sock_sendmsg_nosec(iocb, sock, msg, size);
793793 }
794-@@ -1242,6 +1244,8 @@ int __sock_create(struct net *net, int f
794+@@ -1243,6 +1245,8 @@ int __sock_create(struct net *net, int f
795795 }
796796
797797 err = security_socket_create(family, type, protocol, kern);
@@ -800,7 +800,7 @@
800800 if (err)
801801 return err;
802802
803-@@ -1471,6 +1475,11 @@ SYSCALL_DEFINE3(bind, int, fd, struct so
803+@@ -1472,6 +1476,11 @@ SYSCALL_DEFINE3(bind, int, fd, struct so
804804 (struct sockaddr *)&address,
805805 addrlen);
806806 if (!err)
@@ -812,7 +812,7 @@
812812 err = sock->ops->bind(sock,
813813 (struct sockaddr *)
814814 &address, addrlen);
815-@@ -1500,6 +1509,8 @@ SYSCALL_DEFINE2(listen, int, fd, int, ba
815+@@ -1501,6 +1510,8 @@ SYSCALL_DEFINE2(listen, int, fd, int, ba
816816
817817 err = security_socket_listen(sock, backlog);
818818 if (!err)
@@ -821,7 +821,7 @@
821821 err = sock->ops->listen(sock, backlog);
822822
823823 fput_light(sock->file, fput_needed);
824-@@ -1565,6 +1576,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
824+@@ -1566,6 +1577,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
825825 if (err < 0)
826826 goto out_fd;
827827
@@ -832,7 +832,7 @@
832832 if (upeer_sockaddr) {
833833 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
834834 &len, 2) < 0) {
835-@@ -1626,6 +1641,9 @@ SYSCALL_DEFINE3(connect, int, fd, struct
835+@@ -1627,6 +1642,9 @@ SYSCALL_DEFINE3(connect, int, fd, struct
836836
837837 err =
838838 security_socket_connect(sock, (struct sockaddr *)&address, addrlen);
@@ -842,9 +842,9 @@
842842 if (err)
843843 goto out_put;
844844
845---- linux-2.6.32-754.2.1.el6.orig/net/unix/af_unix.c
846-+++ linux-2.6.32-754.2.1.el6/net/unix/af_unix.c
847-@@ -981,6 +981,9 @@ static int unix_bind(struct socket *sock
845+--- linux-2.6.32-754.3.5.el6.orig/net/unix/af_unix.c
846++++ linux-2.6.32-754.3.5.el6/net/unix/af_unix.c
847+@@ -984,6 +984,9 @@ static int unix_bind(struct socket *sock
848848 mode = S_IFSOCK |
849849 (SOCK_INODE(sock)->i_mode & ~current_umask());
850850 err = security_path_mknod(&nd.path, dentry, mode, 0);
@@ -854,7 +854,7 @@
854854 if (err)
855855 goto out_mknod_dput;
856856 err = vfs_mknod(nd.path.dentry->d_inode, dentry, mode, 0);
857-@@ -1948,6 +1951,10 @@ static int unix_dgram_recvmsg(struct kio
857+@@ -1951,6 +1954,10 @@ static int unix_dgram_recvmsg(struct kio
858858
859859 wake_up_interruptible_sync(&u->peer_wait);
860860
@@ -865,8 +865,8 @@
865865 if (msg->msg_name)
866866 unix_copy_addr(msg, skb->sk);
867867
868---- linux-2.6.32-754.2.1.el6.orig/security/Kconfig
869-+++ linux-2.6.32-754.2.1.el6/security/Kconfig
868+--- linux-2.6.32-754.3.5.el6.orig/security/Kconfig
869++++ linux-2.6.32-754.3.5.el6/security/Kconfig
870870 @@ -188,5 +188,7 @@ source security/tomoyo/Kconfig
871871
872872 source security/integrity/ima/Kconfig
@@ -875,8 +875,8 @@
875875 +
876876 endmenu
877877
878---- linux-2.6.32-754.2.1.el6.orig/security/Makefile
879-+++ linux-2.6.32-754.2.1.el6/security/Makefile
878+--- linux-2.6.32-754.3.5.el6.orig/security/Makefile
879++++ linux-2.6.32-754.3.5.el6/security/Makefile
880880 @@ -25,3 +25,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
881881 # Object integrity file lists
882882 subdir-$(CONFIG_IMA) += integrity/ima
--- trunk/caitsith-patch/patches/ccs-patch-3.10-centos-7.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-3.10-centos-7.diff (revision 267)
@@ -1,6 +1,6 @@
11 This is TOMOYO Linux patch for CentOS 7.
22
3-Source code for this patch is http://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-862.6.3.el7.src.rpm
3+Source code for this patch is http://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-862.11.6.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-862.6.3.el7.orig/fs/exec.c
32-+++ linux-3.10.0-862.6.3.el7/fs/exec.c
31+--- linux-3.10.0-862.11.6.el7.orig/fs/exec.c
32++++ linux-3.10.0-862.11.6.el7/fs/exec.c
3333 @@ -1592,7 +1592,7 @@ static int do_execve_common(struct filen
3434 if (retval < 0)
3535 goto out;
@@ -39,8 +39,8 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-3.10.0-862.6.3.el7.orig/fs/open.c
43-+++ linux-3.10.0-862.6.3.el7/fs/open.c
42+--- linux-3.10.0-862.11.6.el7.orig/fs/open.c
43++++ linux-3.10.0-862.11.6.el7/fs/open.c
4444 @@ -1142,6 +1142,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-862.6.3.el7.orig/fs/proc/version.c
54-+++ linux-3.10.0-862.6.3.el7/fs/proc/version.c
53+--- linux-3.10.0-862.11.6.el7.orig/fs/proc/version.c
54++++ linux-3.10.0-862.11.6.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-862.6.3.el7 2018/07/14\n");
62++ printk(KERN_INFO "Hook version: 3.10.0-862.11.6.el7 2018/08/25\n");
6363 + return 0;
6464 +}
6565 +module_init(ccs_show_version);
66---- linux-3.10.0-862.6.3.el7.orig/include/linux/init_task.h
67-+++ linux-3.10.0-862.6.3.el7/include/linux/init_task.h
66+--- linux-3.10.0-862.11.6.el7.orig/include/linux/init_task.h
67++++ linux-3.10.0-862.11.6.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-862.6.3.el7.orig/include/linux/sched.h
92-+++ linux-3.10.0-862.6.3.el7/include/linux/sched.h
91+--- linux-3.10.0-862.11.6.el7.orig/include/linux/sched.h
92++++ linux-3.10.0-862.11.6.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-862.6.3.el7.orig/include/linux/security.h
114-+++ linux-3.10.0-862.6.3.el7/include/linux/security.h
113+--- linux-3.10.0-862.11.6.el7.orig/include/linux/security.h
114++++ linux-3.10.0-862.11.6.el7/include/linux/security.h
115115 @@ -55,6 +55,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-862.6.3.el7.orig/include/net/ip.h
327-+++ linux-3.10.0-862.6.3.el7/include/net/ip.h
326+--- linux-3.10.0-862.11.6.el7.orig/include/net/ip.h
327++++ linux-3.10.0-862.11.6.el7/include/net/ip.h
328328 @@ -230,6 +230,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-862.6.3.el7.orig/kernel/fork.c
338-+++ linux-3.10.0-862.6.3.el7/kernel/fork.c
337+--- linux-3.10.0-862.11.6.el7.orig/kernel/fork.c
338++++ linux-3.10.0-862.11.6.el7/kernel/fork.c
339339 @@ -278,6 +278,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-862.6.3.el7.orig/kernel/kexec.c
366-+++ linux-3.10.0-862.6.3.el7/kernel/kexec.c
365+--- linux-3.10.0-862.11.6.el7.orig/kernel/kexec.c
366++++ linux-3.10.0-862.11.6.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-862.6.3.el7.orig/kernel/module.c
377-+++ linux-3.10.0-862.6.3.el7/kernel/module.c
376+--- linux-3.10.0-862.11.6.el7.orig/kernel/module.c
377++++ linux-3.10.0-862.11.6.el7/kernel/module.c
378378 @@ -66,6 +66,7 @@
379379 #endif /* __GENKSYMS__ */
380380 #include <uapi/linux/module.h>
@@ -399,10 +399,10 @@
399399 + if (!ccs_capable(CCS_USE_KERNEL_MODULE))
400400 + return -EPERM;
401401
402- return 0;
403- }
404---- linux-3.10.0-862.6.3.el7.orig/kernel/ptrace.c
405-+++ linux-3.10.0-862.6.3.el7/kernel/ptrace.c
402+ /*
403+ * Make sure we don't speculate past the CAP_SYS_MODULE check. The
404+--- linux-3.10.0-862.11.6.el7.orig/kernel/ptrace.c
405++++ linux-3.10.0-862.11.6.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-862.6.3.el7.orig/kernel/sched/core.c
431-+++ linux-3.10.0-862.6.3.el7/kernel/sched/core.c
430+--- linux-3.10.0-862.11.6.el7.orig/kernel/sched/core.c
431++++ linux-3.10.0-862.11.6.el7/kernel/sched/core.c
432432 @@ -4279,6 +4279,8 @@ int can_nice(const struct task_struct *p
433433 SYSCALL_DEFINE1(nice, int, increment)
434434 {
@@ -438,9 +438,9 @@
438438
439439 /*
440440 * Setpriority might change our priority at the same moment.
441---- linux-3.10.0-862.6.3.el7.orig/kernel/signal.c
442-+++ linux-3.10.0-862.6.3.el7/kernel/signal.c
443-@@ -2946,6 +2946,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
441+--- linux-3.10.0-862.11.6.el7.orig/kernel/signal.c
442++++ linux-3.10.0-862.11.6.el7/kernel/signal.c
443+@@ -2950,6 +2950,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
444444 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
445445 {
446446 struct siginfo info;
@@ -449,7 +449,7 @@
449449
450450 info.si_signo = sig;
451451 info.si_errno = 0;
452-@@ -3014,6 +3016,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
452+@@ -3018,6 +3020,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
453453 /* This is only valid for single tasks */
454454 if (pid <= 0 || tgid <= 0)
455455 return -EINVAL;
@@ -458,7 +458,7 @@
458458
459459 return do_tkill(tgid, pid, sig);
460460 }
461-@@ -3030,6 +3034,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
461+@@ -3034,6 +3038,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
462462 /* This is only valid for single tasks */
463463 if (pid <= 0)
464464 return -EINVAL;
@@ -467,7 +467,7 @@
467467
468468 return do_tkill(0, pid, sig);
469469 }
470-@@ -3044,6 +3050,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
470+@@ -3048,6 +3054,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
471471 return -EPERM;
472472
473473 info->si_signo = sig;
@@ -476,7 +476,7 @@
476476
477477 /* POSIX.1b doesn't mention process groups. */
478478 return kill_proc_info(sig, info, pid);
479-@@ -3092,6 +3100,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
479+@@ -3096,6 +3104,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
480480 return -EPERM;
481481
482482 info->si_signo = sig;
@@ -485,9 +485,9 @@
485485
486486 return do_send_specific(tgid, pid, sig, info);
487487 }
488---- linux-3.10.0-862.6.3.el7.orig/kernel/sys.c
489-+++ linux-3.10.0-862.6.3.el7/kernel/sys.c
490-@@ -194,6 +194,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
488+--- linux-3.10.0-862.11.6.el7.orig/kernel/sys.c
489++++ linux-3.10.0-862.11.6.el7/kernel/sys.c
490+@@ -197,6 +197,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
491491
492492 if (which > PRIO_USER || which < PRIO_PROCESS)
493493 goto out;
@@ -498,7 +498,7 @@
498498
499499 /* normalize: avoid signed division (rounding problems) */
500500 error = -ESRCH;
501-@@ -486,6 +490,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
501+@@ -489,6 +493,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
502502 magic2 != LINUX_REBOOT_MAGIC2B &&
503503 magic2 != LINUX_REBOOT_MAGIC2C))
504504 return -EINVAL;
@@ -507,7 +507,7 @@
507507
508508 /*
509509 * If pid namespaces are enabled and the current task is in a child
510-@@ -1473,6 +1479,8 @@ SYSCALL_DEFINE2(sethostname, char __user
510+@@ -1476,6 +1482,8 @@ SYSCALL_DEFINE2(sethostname, char __user
511511
512512 if (len < 0 || len > __NEW_UTS_LEN)
513513 return -EINVAL;
@@ -516,7 +516,7 @@
516516 down_write(&uts_sem);
517517 errno = -EFAULT;
518518 if (!copy_from_user(tmp, name, len)) {
519-@@ -1523,6 +1531,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
519+@@ -1526,6 +1534,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
520520 return -EPERM;
521521 if (len < 0 || len > __NEW_UTS_LEN)
522522 return -EINVAL;
@@ -525,8 +525,8 @@
525525
526526 down_write(&uts_sem);
527527 errno = -EFAULT;
528---- linux-3.10.0-862.6.3.el7.orig/kernel/time/ntp.c
529-+++ linux-3.10.0-862.6.3.el7/kernel/time/ntp.c
528+--- linux-3.10.0-862.11.6.el7.orig/kernel/time/ntp.c
529++++ linux-3.10.0-862.11.6.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-862.6.3.el7.orig/net/ipv4/raw.c
564-+++ linux-3.10.0-862.6.3.el7/net/ipv4/raw.c
563+--- linux-3.10.0-862.11.6.el7.orig/net/ipv4/raw.c
564++++ linux-3.10.0-862.11.6.el7/net/ipv4/raw.c
565565 @@ -706,6 +706,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-862.6.3.el7.orig/net/ipv4/udp.c
577-+++ linux-3.10.0-862.6.3.el7/net/ipv4/udp.c
576+--- linux-3.10.0-862.11.6.el7.orig/net/ipv4/udp.c
577++++ linux-3.10.0-862.11.6.el7/net/ipv4/udp.c
578578 @@ -1392,6 +1392,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-862.6.3.el7.orig/net/ipv6/raw.c
590-+++ linux-3.10.0-862.6.3.el7/net/ipv6/raw.c
589+--- linux-3.10.0-862.11.6.el7.orig/net/ipv6/raw.c
590++++ linux-3.10.0-862.11.6.el7/net/ipv6/raw.c
591591 @@ -468,6 +468,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-862.6.3.el7.orig/net/ipv6/udp.c
603-+++ linux-3.10.0-862.6.3.el7/net/ipv6/udp.c
602+--- linux-3.10.0-862.11.6.el7.orig/net/ipv6/udp.c
603++++ linux-3.10.0-862.11.6.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,9 +612,9 @@
612612
613613 ulen = skb->len - sizeof(struct udphdr);
614614 copied = len;
615---- linux-3.10.0-862.6.3.el7.orig/net/socket.c
616-+++ linux-3.10.0-862.6.3.el7/net/socket.c
617-@@ -1660,6 +1660,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
615+--- linux-3.10.0-862.11.6.el7.orig/net/socket.c
616++++ linux-3.10.0-862.11.6.el7/net/socket.c
617+@@ -1661,6 +1661,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
618618 if (err < 0)
619619 goto out_fd;
620620
@@ -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-862.6.3.el7.orig/net/unix/af_unix.c
629-+++ linux-3.10.0-862.6.3.el7/net/unix/af_unix.c
628+--- linux-3.10.0-862.11.6.el7.orig/net/unix/af_unix.c
629++++ linux-3.10.0-862.11.6.el7/net/unix/af_unix.c
630630 @@ -2137,6 +2137,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-862.6.3.el7.orig/security/Kconfig
642-+++ linux-3.10.0-862.6.3.el7/security/Kconfig
641+--- linux-3.10.0-862.11.6.el7.orig/security/Kconfig
642++++ linux-3.10.0-862.11.6.el7/security/Kconfig
643643 @@ -194,5 +194,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-862.6.3.el7.orig/security/Makefile
652-+++ linux-3.10.0-862.6.3.el7/security/Makefile
651+--- linux-3.10.0-862.11.6.el7.orig/security/Makefile
652++++ linux-3.10.0-862.11.6.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-862.6.3.el7.orig/security/security.c
661-+++ linux-3.10.0-862.6.3.el7/security/security.c
660+--- linux-3.10.0-862.11.6.el7.orig/security/security.c
661++++ linux-3.10.0-862.11.6.el7/security/security.c
662662 @@ -224,7 +224,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-3.13-ubuntu-14.04.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-3.13-ubuntu-14.04.diff (revision 267)
@@ -29,8 +29,8 @@
2929 security/security.c | 107 ++++++++++++++++++++++++++++++++++++++++------
3030 25 files changed, 236 insertions(+), 37 deletions(-)
3131
32---- linux-3.13.0-153.203.orig/fs/exec.c
33-+++ linux-3.13.0-153.203/fs/exec.c
32+--- linux-3.13.0-157.207.orig/fs/exec.c
33++++ linux-3.13.0-157.207/fs/exec.c
3434 @@ -1482,7 +1482,7 @@ static int exec_binprm(struct linux_binp
3535 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3636 rcu_read_unlock();
@@ -40,8 +40,8 @@
4040 if (ret >= 0) {
4141 audit_bprm(bprm);
4242 trace_sched_process_exec(current, old_pid, bprm);
43---- linux-3.13.0-153.203.orig/fs/open.c
44-+++ linux-3.13.0-153.203/fs/open.c
43+--- linux-3.13.0-157.207.orig/fs/open.c
44++++ linux-3.13.0-157.207/fs/open.c
4545 @@ -1088,6 +1088,8 @@ EXPORT_SYMBOL(sys_close);
4646 */
4747 SYSCALL_DEFINE0(vhangup)
@@ -51,8 +51,8 @@
5151 if (capable(CAP_SYS_TTY_CONFIG)) {
5252 tty_vhangup_self();
5353 return 0;
54---- linux-3.13.0-153.203.orig/fs/proc/version.c
55-+++ linux-3.13.0-153.203/fs/proc/version.c
54+--- linux-3.13.0-157.207.orig/fs/proc/version.c
55++++ linux-3.13.0-157.207/fs/proc/version.c
5656 @@ -32,3 +32,10 @@ static int __init proc_version_init(void
5757 return 0;
5858 }
@@ -60,12 +60,12 @@
6060 +
6161 +static int __init ccs_show_version(void)
6262 +{
63-+ printk(KERN_INFO "Hook version: 3.13.0-153.203 2018/07/14\n");
63++ printk(KERN_INFO "Hook version: 3.13.0-157.207 2018/08/25\n");
6464 + return 0;
6565 +}
6666 +module_init(ccs_show_version);
67---- linux-3.13.0-153.203.orig/include/linux/init_task.h
68-+++ linux-3.13.0-153.203/include/linux/init_task.h
67+--- linux-3.13.0-157.207.orig/include/linux/init_task.h
68++++ linux-3.13.0-157.207/include/linux/init_task.h
6969 @@ -155,6 +155,14 @@ extern struct task_group root_task_group
7070
7171 #define INIT_TASK_COMM "swapper"
@@ -89,8 +89,8 @@
8989 }
9090
9191
92---- linux-3.13.0-153.203.orig/include/linux/sched.h
93-+++ linux-3.13.0-153.203/include/linux/sched.h
92+--- linux-3.13.0-157.207.orig/include/linux/sched.h
93++++ linux-3.13.0-157.207/include/linux/sched.h
9494 @@ -4,6 +4,8 @@
9595 #include <uapi/linux/sched.h>
9696
@@ -111,8 +111,8 @@
111111 };
112112
113113 /* Future-safe accessor for struct task_struct's cpus_allowed. */
114---- linux-3.13.0-153.203.orig/include/linux/security.h
115-+++ linux-3.13.0-153.203/include/linux/security.h
114+--- linux-3.13.0-157.207.orig/include/linux/security.h
115++++ linux-3.13.0-157.207/include/linux/security.h
116116 @@ -53,6 +53,7 @@ struct msg_queue;
117117 struct xattr;
118118 struct xfrm_sec_ctx;
@@ -314,8 +314,8 @@
314314 }
315315 #endif /* CONFIG_SECURITY_PATH */
316316
317---- linux-3.13.0-153.203.orig/include/net/ip.h
318-+++ linux-3.13.0-153.203/include/net/ip.h
317+--- linux-3.13.0-157.207.orig/include/net/ip.h
318++++ linux-3.13.0-157.207/include/net/ip.h
319319 @@ -225,6 +225,8 @@ void inet_get_local_port_range(struct ne
320320 extern unsigned long *sysctl_local_reserved_ports;
321321 static inline int inet_is_reserved_local_port(int port)
@@ -325,8 +325,8 @@
325325 return test_bit(port, sysctl_local_reserved_ports);
326326 }
327327
328---- linux-3.13.0-153.203.orig/kernel/fork.c
329-+++ linux-3.13.0-153.203/kernel/fork.c
328+--- linux-3.13.0-157.207.orig/kernel/fork.c
329++++ linux-3.13.0-157.207/kernel/fork.c
330330 @@ -250,6 +250,7 @@ void __put_task_struct(struct task_struc
331331 delayacct_tsk_free(tsk);
332332 put_signal_struct(tsk->signal);
@@ -353,8 +353,8 @@
353353 bad_fork_cleanup_perf:
354354 perf_event_free_task(p);
355355 bad_fork_cleanup_policy:
356---- linux-3.13.0-153.203.orig/kernel/kexec.c
357-+++ linux-3.13.0-153.203/kernel/kexec.c
356+--- linux-3.13.0-157.207.orig/kernel/kexec.c
357++++ linux-3.13.0-157.207/kernel/kexec.c
358358 @@ -38,6 +38,7 @@
359359 #include <asm/uaccess.h>
360360 #include <asm/io.h>
@@ -372,8 +372,8 @@
372372
373373 /*
374374 * Verify we have a legal set of flags
375---- linux-3.13.0-153.203.orig/kernel/module.c
376-+++ linux-3.13.0-153.203/kernel/module.c
375+--- linux-3.13.0-157.207.orig/kernel/module.c
376++++ linux-3.13.0-157.207/kernel/module.c
377377 @@ -63,6 +63,7 @@
378378 #include <linux/fips.h>
379379 #include <uapi/linux/module.h>
@@ -400,8 +400,8 @@
400400
401401 return 0;
402402 }
403---- linux-3.13.0-153.203.orig/kernel/ptrace.c
404-+++ linux-3.13.0-153.203/kernel/ptrace.c
403+--- linux-3.13.0-157.207.orig/kernel/ptrace.c
404++++ linux-3.13.0-157.207/kernel/ptrace.c
405405 @@ -1055,6 +1055,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
406406 {
407407 struct task_struct *child;
@@ -426,8 +426,8 @@
426426
427427 if (request == PTRACE_TRACEME) {
428428 ret = ptrace_traceme();
429---- linux-3.13.0-153.203.orig/kernel/reboot.c
430-+++ linux-3.13.0-153.203/kernel/reboot.c
429+--- linux-3.13.0-157.207.orig/kernel/reboot.c
430++++ linux-3.13.0-157.207/kernel/reboot.c
431431 @@ -16,6 +16,7 @@
432432 #include <linux/syscalls.h>
433433 #include <linux/syscore_ops.h>
@@ -445,8 +445,8 @@
445445
446446 /*
447447 * If pid namespaces are enabled and the current task is in a child
448---- linux-3.13.0-153.203.orig/kernel/sched/core.c
449-+++ linux-3.13.0-153.203/kernel/sched/core.c
448+--- linux-3.13.0-157.207.orig/kernel/sched/core.c
449++++ linux-3.13.0-157.207/kernel/sched/core.c
450450 @@ -2922,6 +2922,8 @@ int can_nice(const struct task_struct *p
451451 SYSCALL_DEFINE1(nice, int, increment)
452452 {
@@ -456,8 +456,8 @@
456456
457457 /*
458458 * Setpriority might change our priority at the same moment.
459---- linux-3.13.0-153.203.orig/kernel/signal.c
460-+++ linux-3.13.0-153.203/kernel/signal.c
459+--- linux-3.13.0-157.207.orig/kernel/signal.c
460++++ linux-3.13.0-157.207/kernel/signal.c
461461 @@ -2909,6 +2909,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
462462 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
463463 {
@@ -503,8 +503,8 @@
503503
504504 return do_send_specific(tgid, pid, sig, info);
505505 }
506---- linux-3.13.0-153.203.orig/kernel/sys.c
507-+++ linux-3.13.0-153.203/kernel/sys.c
506+--- linux-3.13.0-157.207.orig/kernel/sys.c
507++++ linux-3.13.0-157.207/kernel/sys.c
508508 @@ -173,6 +173,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
509509
510510 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -534,8 +534,8 @@
534534
535535 down_write(&uts_sem);
536536 errno = -EFAULT;
537---- linux-3.13.0-153.203.orig/kernel/time/ntp.c
538-+++ linux-3.13.0-153.203/kernel/time/ntp.c
537+--- linux-3.13.0-157.207.orig/kernel/time/ntp.c
538++++ linux-3.13.0-157.207/kernel/time/ntp.c
539539 @@ -16,6 +16,7 @@
540540 #include <linux/mm.h>
541541 #include <linux/module.h>
@@ -569,8 +569,8 @@
569569
570570 /*
571571 * Check for potential multiplication overflows that can
572---- linux-3.13.0-153.203.orig/net/ipv4/raw.c
573-+++ linux-3.13.0-153.203/net/ipv4/raw.c
572+--- linux-3.13.0-157.207.orig/net/ipv4/raw.c
573++++ linux-3.13.0-157.207/net/ipv4/raw.c
574574 @@ -706,6 +706,10 @@ static int raw_recvmsg(struct kiocb *ioc
575575 skb = skb_recv_datagram(sk, flags, noblock, &err);
576576 if (!skb)
@@ -582,8 +582,8 @@
582582
583583 copied = skb->len;
584584 if (len < copied) {
585---- linux-3.13.0-153.203.orig/net/ipv4/udp.c
586-+++ linux-3.13.0-153.203/net/ipv4/udp.c
585+--- linux-3.13.0-157.207.orig/net/ipv4/udp.c
586++++ linux-3.13.0-157.207/net/ipv4/udp.c
587587 @@ -1247,6 +1247,10 @@ try_again:
588588 &peeked, &off, &err);
589589 if (!skb)
@@ -595,8 +595,8 @@
595595
596596 ulen = skb->len - sizeof(struct udphdr);
597597 copied = len;
598---- linux-3.13.0-153.203.orig/net/ipv6/raw.c
599-+++ linux-3.13.0-153.203/net/ipv6/raw.c
598+--- linux-3.13.0-157.207.orig/net/ipv6/raw.c
599++++ linux-3.13.0-157.207/net/ipv6/raw.c
600600 @@ -474,6 +474,10 @@ static int rawv6_recvmsg(struct kiocb *i
601601 skb = skb_recv_datagram(sk, flags, noblock, &err);
602602 if (!skb)
@@ -608,8 +608,8 @@
608608
609609 copied = skb->len;
610610 if (copied > len) {
611---- linux-3.13.0-153.203.orig/net/ipv6/udp.c
612-+++ linux-3.13.0-153.203/net/ipv6/udp.c
611+--- linux-3.13.0-157.207.orig/net/ipv6/udp.c
612++++ linux-3.13.0-157.207/net/ipv6/udp.c
613613 @@ -404,6 +404,10 @@ try_again:
614614 &peeked, &off, &err);
615615 if (!skb)
@@ -621,8 +621,8 @@
621621
622622 ulen = skb->len - sizeof(struct udphdr);
623623 copied = len;
624---- linux-3.13.0-153.203.orig/net/socket.c
625-+++ linux-3.13.0-153.203/net/socket.c
624+--- linux-3.13.0-157.207.orig/net/socket.c
625++++ linux-3.13.0-157.207/net/socket.c
626626 @@ -1616,6 +1616,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
627627 if (err < 0)
628628 goto out_fd;
@@ -634,8 +634,8 @@
634634 if (upeer_sockaddr) {
635635 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
636636 &len, 2) < 0) {
637---- linux-3.13.0-153.203.orig/net/unix/af_unix.c
638-+++ linux-3.13.0-153.203/net/unix/af_unix.c
637+--- linux-3.13.0-157.207.orig/net/unix/af_unix.c
638++++ linux-3.13.0-157.207/net/unix/af_unix.c
639639 @@ -1973,6 +1973,10 @@ static int unix_dgram_recvmsg(struct kio
640640 wake_up_interruptible_sync_poll(&u->peer_wait,
641641 POLLOUT | POLLWRNORM | POLLWRBAND);
@@ -647,8 +647,8 @@
647647 if (msg->msg_name)
648648 unix_copy_addr(msg, skb->sk);
649649
650---- linux-3.13.0-153.203.orig/security/Kconfig
651-+++ linux-3.13.0-153.203/security/Kconfig
650+--- linux-3.13.0-157.207.orig/security/Kconfig
651++++ linux-3.13.0-157.207/security/Kconfig
652652 @@ -177,5 +177,7 @@ config DEFAULT_SECURITY
653653 default "yama" if DEFAULT_SECURITY_YAMA
654654 default "" if DEFAULT_SECURITY_DAC
@@ -657,8 +657,8 @@
657657 +
658658 endmenu
659659
660---- linux-3.13.0-153.203.orig/security/Makefile
661-+++ linux-3.13.0-153.203/security/Makefile
660+--- linux-3.13.0-157.207.orig/security/Makefile
661++++ linux-3.13.0-157.207/security/Makefile
662662 @@ -27,3 +27,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
663663 # Object integrity file lists
664664 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -666,8 +666,8 @@
666666 +
667667 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
668668 +obj-$(CONFIG_CCSECURITY) += ccsecurity/built-in.o
669---- linux-3.13.0-153.203.orig/security/security.c
670-+++ linux-3.13.0-153.203/security/security.c
669+--- linux-3.13.0-157.207.orig/security/security.c
670++++ linux-3.13.0-157.207/security/security.c
671671 @@ -203,7 +203,10 @@ int security_syslog(int type)
672672
673673 int security_settime(const struct timespec *ts, const struct timezone *tz)
--- trunk/caitsith-patch/patches/ccs-patch-3.18.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-3.18.diff (revision 267)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 3.18.115.
1+This is TOMOYO Linux patch for kernel 3.18.119.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.115.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.119.tar.xz
44 ---
55 fs/exec.c | 2
66 fs/open.c | 2
@@ -29,8 +29,8 @@
2929 security/security.c | 111 +++++++++++++++++++++++++++++++++++++++++-----
3030 25 files changed, 252 insertions(+), 37 deletions(-)
3131
32---- linux-3.18.115.orig/fs/exec.c
33-+++ linux-3.18.115/fs/exec.c
32+--- linux-3.18.119.orig/fs/exec.c
33++++ linux-3.18.119/fs/exec.c
3434 @@ -1463,7 +1463,7 @@ static int exec_binprm(struct linux_binp
3535 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3636 rcu_read_unlock();
@@ -40,8 +40,8 @@
4040 if (ret >= 0) {
4141 audit_bprm(bprm);
4242 trace_sched_process_exec(current, old_pid, bprm);
43---- linux-3.18.115.orig/fs/open.c
44-+++ linux-3.18.115/fs/open.c
43+--- linux-3.18.119.orig/fs/open.c
44++++ linux-3.18.119/fs/open.c
4545 @@ -1091,6 +1091,8 @@ EXPORT_SYMBOL(sys_close);
4646 */
4747 SYSCALL_DEFINE0(vhangup)
@@ -51,8 +51,8 @@
5151 if (capable(CAP_SYS_TTY_CONFIG)) {
5252 tty_vhangup_self();
5353 return 0;
54---- linux-3.18.115.orig/fs/proc/version.c
55-+++ linux-3.18.115/fs/proc/version.c
54+--- linux-3.18.119.orig/fs/proc/version.c
55++++ linux-3.18.119/fs/proc/version.c
5656 @@ -32,3 +32,10 @@ static int __init proc_version_init(void
5757 return 0;
5858 }
@@ -60,12 +60,12 @@
6060 +
6161 +static int __init ccs_show_version(void)
6262 +{
63-+ printk(KERN_INFO "Hook version: 3.18.115 2018/07/12\n");
63++ printk(KERN_INFO "Hook version: 3.18.119 2018/08/25\n");
6464 + return 0;
6565 +}
6666 +fs_initcall(ccs_show_version);
67---- linux-3.18.115.orig/include/linux/init_task.h
68-+++ linux-3.18.115/include/linux/init_task.h
67+--- linux-3.18.119.orig/include/linux/init_task.h
68++++ linux-3.18.119/include/linux/init_task.h
6969 @@ -166,6 +166,14 @@ extern struct task_group root_task_group
7070 # define INIT_RT_MUTEXES(tsk)
7171 #endif
@@ -89,8 +89,8 @@
8989 }
9090
9191
92---- linux-3.18.115.orig/include/linux/sched.h
93-+++ linux-3.18.115/include/linux/sched.h
92+--- linux-3.18.119.orig/include/linux/sched.h
93++++ linux-3.18.119/include/linux/sched.h
9494 @@ -6,6 +6,8 @@
9595 #include <linux/sched/prio.h>
9696
@@ -111,8 +111,8 @@
111111 };
112112
113113 /* Future-safe accessor for struct task_struct's cpus_allowed. */
114---- linux-3.18.115.orig/include/linux/security.h
115-+++ linux-3.18.115/include/linux/security.h
114+--- linux-3.18.119.orig/include/linux/security.h
115++++ linux-3.18.119/include/linux/security.h
116116 @@ -53,6 +53,7 @@ struct msg_queue;
117117 struct xattr;
118118 struct xfrm_sec_ctx;
@@ -324,8 +324,8 @@
324324 }
325325 #endif /* CONFIG_SECURITY_PATH */
326326
327---- linux-3.18.115.orig/include/net/ip.h
328-+++ linux-3.18.115/include/net/ip.h
327+--- linux-3.18.119.orig/include/net/ip.h
328++++ linux-3.18.119/include/net/ip.h
329329 @@ -218,6 +218,8 @@ void inet_get_local_port_range(struct ne
330330 #ifdef CONFIG_SYSCTL
331331 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -344,8 +344,8 @@
344344 return 0;
345345 }
346346 #endif
347---- linux-3.18.115.orig/kernel/fork.c
348-+++ linux-3.18.115/kernel/fork.c
347+--- linux-3.18.119.orig/kernel/fork.c
348++++ linux-3.18.119/kernel/fork.c
349349 @@ -246,6 +246,7 @@ void __put_task_struct(struct task_struc
350350 delayacct_tsk_free(tsk);
351351 put_signal_struct(tsk->signal);
@@ -372,8 +372,8 @@
372372 bad_fork_cleanup_perf:
373373 perf_event_free_task(p);
374374 bad_fork_cleanup_policy:
375---- linux-3.18.115.orig/kernel/kexec.c
376-+++ linux-3.18.115/kernel/kexec.c
375+--- linux-3.18.119.orig/kernel/kexec.c
376++++ linux-3.18.119/kernel/kexec.c
377377 @@ -41,6 +41,7 @@
378378 #include <asm/uaccess.h>
379379 #include <asm/io.h>
@@ -391,8 +391,8 @@
391391
392392 /*
393393 * Verify we have a legal set of flags
394---- linux-3.18.115.orig/kernel/module.c
395-+++ linux-3.18.115/kernel/module.c
394+--- linux-3.18.119.orig/kernel/module.c
395++++ linux-3.18.119/kernel/module.c
396396 @@ -62,6 +62,7 @@
397397 #include <linux/bsearch.h>
398398 #include <uapi/linux/module.h>
@@ -419,8 +419,8 @@
419419
420420 return 0;
421421 }
422---- linux-3.18.115.orig/kernel/ptrace.c
423-+++ linux-3.18.115/kernel/ptrace.c
422+--- linux-3.18.119.orig/kernel/ptrace.c
423++++ linux-3.18.119/kernel/ptrace.c
424424 @@ -1081,6 +1081,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
425425 {
426426 struct task_struct *child;
@@ -445,8 +445,8 @@
445445
446446 if (request == PTRACE_TRACEME) {
447447 ret = ptrace_traceme();
448---- linux-3.18.115.orig/kernel/reboot.c
449-+++ linux-3.18.115/kernel/reboot.c
448+--- linux-3.18.119.orig/kernel/reboot.c
449++++ linux-3.18.119/kernel/reboot.c
450450 @@ -16,6 +16,7 @@
451451 #include <linux/syscalls.h>
452452 #include <linux/syscore_ops.h>
@@ -464,8 +464,8 @@
464464
465465 /*
466466 * If pid namespaces are enabled and the current task is in a child
467---- linux-3.18.115.orig/kernel/sched/core.c
468-+++ linux-3.18.115/kernel/sched/core.c
467+--- linux-3.18.119.orig/kernel/sched/core.c
468++++ linux-3.18.119/kernel/sched/core.c
469469 @@ -3218,6 +3218,8 @@ int can_nice(const struct task_struct *p
470470 SYSCALL_DEFINE1(nice, int, increment)
471471 {
@@ -475,8 +475,8 @@
475475
476476 /*
477477 * Setpriority might change our priority at the same moment.
478---- linux-3.18.115.orig/kernel/signal.c
479-+++ linux-3.18.115/kernel/signal.c
478+--- linux-3.18.119.orig/kernel/signal.c
479++++ linux-3.18.119/kernel/signal.c
480480 @@ -2901,6 +2901,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
481481 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
482482 {
@@ -522,8 +522,8 @@
522522
523523 return do_send_specific(tgid, pid, sig, info);
524524 }
525---- linux-3.18.115.orig/kernel/sys.c
526-+++ linux-3.18.115/kernel/sys.c
525+--- linux-3.18.119.orig/kernel/sys.c
526++++ linux-3.18.119/kernel/sys.c
527527 @@ -171,6 +171,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
528528
529529 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -553,8 +553,8 @@
553553
554554 down_write(&uts_sem);
555555 errno = -EFAULT;
556---- linux-3.18.115.orig/kernel/time/ntp.c
557-+++ linux-3.18.115/kernel/time/ntp.c
556+--- linux-3.18.119.orig/kernel/time/ntp.c
557++++ linux-3.18.119/kernel/time/ntp.c
558558 @@ -16,6 +16,7 @@
559559 #include <linux/mm.h>
560560 #include <linux/module.h>
@@ -588,8 +588,8 @@
588588
589589 /*
590590 * Check for potential multiplication overflows that can
591---- linux-3.18.115.orig/net/ipv4/raw.c
592-+++ linux-3.18.115/net/ipv4/raw.c
591+--- linux-3.18.119.orig/net/ipv4/raw.c
592++++ linux-3.18.119/net/ipv4/raw.c
593593 @@ -719,6 +719,10 @@ static int raw_recvmsg(struct kiocb *ioc
594594 skb = skb_recv_datagram(sk, flags, noblock, &err);
595595 if (!skb)
@@ -601,8 +601,8 @@
601601
602602 copied = skb->len;
603603 if (len < copied) {
604---- linux-3.18.115.orig/net/ipv4/udp.c
605-+++ linux-3.18.115/net/ipv4/udp.c
604+--- linux-3.18.119.orig/net/ipv4/udp.c
605++++ linux-3.18.119/net/ipv4/udp.c
606606 @@ -1266,6 +1266,10 @@ try_again:
607607 &peeked, &off, &err);
608608 if (!skb)
@@ -614,8 +614,8 @@
614614
615615 ulen = skb->len - sizeof(struct udphdr);
616616 copied = len;
617---- linux-3.18.115.orig/net/ipv6/raw.c
618-+++ linux-3.18.115/net/ipv6/raw.c
617+--- linux-3.18.119.orig/net/ipv6/raw.c
618++++ linux-3.18.119/net/ipv6/raw.c
619619 @@ -478,6 +478,10 @@ static int rawv6_recvmsg(struct kiocb *i
620620 skb = skb_recv_datagram(sk, flags, noblock, &err);
621621 if (!skb)
@@ -627,8 +627,8 @@
627627
628628 copied = skb->len;
629629 if (copied > len) {
630---- linux-3.18.115.orig/net/ipv6/udp.c
631-+++ linux-3.18.115/net/ipv6/udp.c
630+--- linux-3.18.119.orig/net/ipv6/udp.c
631++++ linux-3.18.119/net/ipv6/udp.c
632632 @@ -403,6 +403,10 @@ try_again:
633633 &peeked, &off, &err);
634634 if (!skb)
@@ -640,8 +640,8 @@
640640
641641 ulen = skb->len - sizeof(struct udphdr);
642642 copied = len;
643---- linux-3.18.115.orig/net/socket.c
644-+++ linux-3.18.115/net/socket.c
643+--- linux-3.18.119.orig/net/socket.c
644++++ linux-3.18.119/net/socket.c
645645 @@ -1637,6 +1637,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
646646 if (err < 0)
647647 goto out_fd;
@@ -653,8 +653,8 @@
653653 if (upeer_sockaddr) {
654654 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
655655 &len, 2) < 0) {
656---- linux-3.18.115.orig/net/unix/af_unix.c
657-+++ linux-3.18.115/net/unix/af_unix.c
656+--- linux-3.18.119.orig/net/unix/af_unix.c
657++++ linux-3.18.119/net/unix/af_unix.c
658658 @@ -1981,6 +1981,10 @@ static int unix_dgram_recvmsg(struct kio
659659 wake_up_interruptible_sync_poll(&u->peer_wait,
660660 POLLOUT | POLLWRNORM | POLLWRBAND);
@@ -666,8 +666,8 @@
666666 if (msg->msg_name)
667667 unix_copy_addr(msg, skb->sk);
668668
669---- linux-3.18.115.orig/security/Kconfig
670-+++ linux-3.18.115/security/Kconfig
669+--- linux-3.18.119.orig/security/Kconfig
670++++ linux-3.18.119/security/Kconfig
671671 @@ -167,5 +167,7 @@ config DEFAULT_SECURITY
672672 default "yama" if DEFAULT_SECURITY_YAMA
673673 default "" if DEFAULT_SECURITY_DAC
@@ -676,8 +676,8 @@
676676 +
677677 endmenu
678678
679---- linux-3.18.115.orig/security/Makefile
680-+++ linux-3.18.115/security/Makefile
679+--- linux-3.18.119.orig/security/Makefile
680++++ linux-3.18.119/security/Makefile
681681 @@ -27,3 +27,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
682682 # Object integrity file lists
683683 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -685,8 +685,8 @@
685685 +
686686 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
687687 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
688---- linux-3.18.115.orig/security/security.c
689-+++ linux-3.18.115/security/security.c
688+--- linux-3.18.119.orig/security/security.c
689++++ linux-3.18.119/security/security.c
690690 @@ -203,7 +203,10 @@ int security_syslog(int type)
691691
692692 int security_settime(const struct timespec *ts, const struct timezone *tz)
--- trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 267)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.14.55.
1+This is TOMOYO Linux patch for kernel 4.14.67.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.55.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.67.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.55.orig/fs/exec.c
32-+++ linux-4.14.55/fs/exec.c
31+--- linux-4.14.67.orig/fs/exec.c
32++++ linux-4.14.67/fs/exec.c
3333 @@ -1677,7 +1677,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.55.orig/fs/open.c
43-+++ linux-4.14.55/fs/open.c
42+--- linux-4.14.67.orig/fs/open.c
43++++ linux-4.14.67/fs/open.c
4444 @@ -1171,6 +1171,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.55.orig/fs/proc/version.c
54-+++ linux-4.14.55/fs/proc/version.c
53+--- linux-4.14.67.orig/fs/proc/version.c
54++++ linux-4.14.67/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.55 2018/07/12\n");
62++ printk(KERN_INFO "Hook version: 4.14.67 2018/08/25\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.14.55.orig/include/linux/init_task.h
67-+++ linux-4.14.55/include/linux/init_task.h
66+--- linux-4.14.67.orig/include/linux/init_task.h
67++++ linux-4.14.67/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.55.orig/include/linux/sched.h
92-+++ linux-4.14.55/include/linux/sched.h
91+--- linux-4.14.67.orig/include/linux/sched.h
92++++ linux-4.14.67/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.55.orig/include/linux/security.h
113-+++ linux-4.14.55/include/linux/security.h
112+--- linux-4.14.67.orig/include/linux/security.h
113++++ linux-4.14.67/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.55.orig/include/net/ip.h
335-+++ linux-4.14.55/include/net/ip.h
334+--- linux-4.14.67.orig/include/net/ip.h
335++++ linux-4.14.67/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.55.orig/kernel/kexec.c
355-+++ linux-4.14.55/kernel/kexec.c
354+--- linux-4.14.67.orig/kernel/kexec.c
355++++ linux-4.14.67/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.55.orig/kernel/module.c
375-+++ linux-4.14.55/kernel/module.c
374+--- linux-4.14.67.orig/kernel/module.c
375++++ linux-4.14.67/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.55.orig/kernel/ptrace.c
403-+++ linux-4.14.55/kernel/ptrace.c
402+--- linux-4.14.67.orig/kernel/ptrace.c
403++++ linux-4.14.67/kernel/ptrace.c
404404 @@ -1123,6 +1123,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.55.orig/kernel/reboot.c
429-+++ linux-4.14.55/kernel/reboot.c
428+--- linux-4.14.67.orig/kernel/reboot.c
429++++ linux-4.14.67/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.55.orig/kernel/sched/core.c
448-+++ linux-4.14.55/kernel/sched/core.c
447+--- linux-4.14.67.orig/kernel/sched/core.c
448++++ linux-4.14.67/kernel/sched/core.c
449449 @@ -3854,6 +3854,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.55.orig/kernel/signal.c
459-+++ linux-4.14.55/kernel/signal.c
458+--- linux-4.14.67.orig/kernel/signal.c
459++++ linux-4.14.67/kernel/signal.c
460460 @@ -2967,6 +2967,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.55.orig/kernel/sys.c
506-+++ linux-4.14.55/kernel/sys.c
505+--- linux-4.14.67.orig/kernel/sys.c
506++++ linux-4.14.67/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 down_write(&uts_sem);
535535 errno = -EFAULT;
536---- linux-4.14.55.orig/kernel/time/ntp.c
537-+++ linux-4.14.55/kernel/time/ntp.c
536+--- linux-4.14.67.orig/kernel/time/ntp.c
537++++ linux-4.14.67/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.55.orig/net/ipv4/raw.c
572-+++ linux-4.14.55/net/ipv4/raw.c
571+--- linux-4.14.67.orig/net/ipv4/raw.c
572++++ linux-4.14.67/net/ipv4/raw.c
573573 @@ -766,6 +766,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.55.orig/net/ipv4/udp.c
585-+++ linux-4.14.55/net/ipv4/udp.c
584+--- linux-4.14.67.orig/net/ipv4/udp.c
585++++ linux-4.14.67/net/ipv4/udp.c
586586 @@ -1593,6 +1593,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.55.orig/net/ipv6/raw.c
596-+++ linux-4.14.55/net/ipv6/raw.c
595+--- linux-4.14.67.orig/net/ipv6/raw.c
596++++ linux-4.14.67/net/ipv6/raw.c
597597 @@ -483,6 +483,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.55.orig/net/ipv6/udp.c
609-+++ linux-4.14.55/net/ipv6/udp.c
608+--- linux-4.14.67.orig/net/ipv6/udp.c
609++++ linux-4.14.67/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,9 +616,9 @@
616616
617617 ulen = udp6_skb_len(skb);
618618 copied = len;
619---- linux-4.14.55.orig/net/socket.c
620-+++ linux-4.14.55/net/socket.c
621-@@ -1586,6 +1586,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
619+--- linux-4.14.67.orig/net/socket.c
620++++ linux-4.14.67/net/socket.c
621+@@ -1587,6 +1587,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
622622 if (err < 0)
623623 goto out_fd;
624624
@@ -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.55.orig/net/unix/af_unix.c
633-+++ linux-4.14.55/net/unix/af_unix.c
632+--- linux-4.14.67.orig/net/unix/af_unix.c
633++++ linux-4.14.67/net/unix/af_unix.c
634634 @@ -2131,6 +2131,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.55.orig/security/Kconfig
654-+++ linux-4.14.55/security/Kconfig
653+--- linux-4.14.67.orig/security/Kconfig
654++++ linux-4.14.67/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.55.orig/security/Makefile
664-+++ linux-4.14.55/security/Makefile
663+--- linux-4.14.67.orig/security/Makefile
664++++ linux-4.14.67/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.55.orig/security/security.c
673-+++ linux-4.14.55/security/security.c
672+--- linux-4.14.67.orig/security/security.c
673++++ linux-4.14.67/security/security.c
674674 @@ -976,12 +976,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.17.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-4.17.diff (revision 267)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.17.6.
1+This is TOMOYO Linux patch for kernel 4.17.19.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.17.6.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.17.19.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,9 +28,9 @@
2828 security/security.c | 9 +++++-
2929 24 files changed, 148 insertions(+), 29 deletions(-)
3030
31---- linux-4.17.6.orig/fs/exec.c
32-+++ linux-4.17.6/fs/exec.c
33-@@ -1692,7 +1692,7 @@ static int exec_binprm(struct linux_binp
31+--- linux-4.17.19.orig/fs/exec.c
32++++ linux-4.17.19/fs/exec.c
33+@@ -1690,7 +1690,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
3636
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.17.6.orig/fs/open.c
43-+++ linux-4.17.6/fs/open.c
42+--- linux-4.17.19.orig/fs/open.c
43++++ linux-4.17.19/fs/open.c
4444 @@ -1212,6 +1212,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.17.6.orig/fs/proc/version.c
54-+++ linux-4.17.6/fs/proc/version.c
53+--- linux-4.17.19.orig/fs/proc/version.c
54++++ linux-4.17.19/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.17.6 2018/07/12\n");
62++ printk(KERN_INFO "Hook version: 4.17.19 2018/08/25\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.17.6.orig/include/linux/sched.h
67-+++ linux-4.17.6/include/linux/sched.h
66+--- linux-4.17.19.orig/include/linux/sched.h
67++++ linux-4.17.19/include/linux/sched.h
6868 @@ -33,6 +33,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.17.6.orig/include/linux/security.h
88-+++ linux-4.17.6/include/linux/security.h
87+--- linux-4.17.19.orig/include/linux/security.h
88++++ linux-4.17.19/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.17.6.orig/include/net/ip.h
310-+++ linux-4.17.6/include/net/ip.h
309+--- linux-4.17.19.orig/include/net/ip.h
310++++ linux-4.17.19/include/net/ip.h
311311 @@ -277,6 +277,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.17.6.orig/init/init_task.c
330-+++ linux-4.17.6/init/init_task.c
329+--- linux-4.17.19.orig/init/init_task.c
330++++ linux-4.17.19/init/init_task.c
331331 @@ -175,6 +175,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.17.6.orig/kernel/kexec.c
343-+++ linux-4.17.6/kernel/kexec.c
342+--- linux-4.17.19.orig/kernel/kexec.c
343++++ linux-4.17.19/kernel/kexec.c
344344 @@ -17,7 +17,7 @@
345345 #include <linux/syscalls.h>
346346 #include <linux/vmalloc.h>
@@ -359,8 +359,8 @@
359359
360360 /*
361361 * Verify we have a legal set of flags
362---- linux-4.17.6.orig/kernel/module.c
363-+++ linux-4.17.6/kernel/module.c
362+--- linux-4.17.19.orig/kernel/module.c
363++++ linux-4.17.19/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.17.6.orig/kernel/ptrace.c
391-+++ linux-4.17.6/kernel/ptrace.c
390+--- linux-4.17.19.orig/kernel/ptrace.c
391++++ linux-4.17.19/kernel/ptrace.c
392392 @@ -1112,6 +1112,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.17.6.orig/kernel/reboot.c
417-+++ linux-4.17.6/kernel/reboot.c
416+--- linux-4.17.19.orig/kernel/reboot.c
417++++ linux-4.17.19/kernel/reboot.c
418418 @@ -16,6 +16,7 @@
419419 #include <linux/syscalls.h>
420420 #include <linux/syscore_ops.h>
@@ -432,9 +432,9 @@
432432
433433 /*
434434 * If pid namespaces are enabled and the current task is in a child
435---- linux-4.17.6.orig/kernel/sched/core.c
436-+++ linux-4.17.6/kernel/sched/core.c
437-@@ -3989,6 +3989,8 @@ int can_nice(const struct task_struct *p
435+--- linux-4.17.19.orig/kernel/sched/core.c
436++++ linux-4.17.19/kernel/sched/core.c
437+@@ -3986,6 +3986,8 @@ int can_nice(const struct task_struct *p
438438 SYSCALL_DEFINE1(nice, int, increment)
439439 {
440440 long nice, retval;
@@ -443,8 +443,8 @@
443443
444444 /*
445445 * Setpriority might change our priority at the same moment.
446---- linux-4.17.6.orig/kernel/signal.c
447-+++ linux-4.17.6/kernel/signal.c
446+--- linux-4.17.19.orig/kernel/signal.c
447++++ linux-4.17.19/kernel/signal.c
448448 @@ -3254,6 +3254,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.17.6.orig/kernel/sys.c
494-+++ linux-4.17.6/kernel/sys.c
493+--- linux-4.17.19.orig/kernel/sys.c
494++++ linux-4.17.19/kernel/sys.c
495495 @@ -204,6 +204,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
496496
497497 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -521,8 +521,8 @@
521521
522522 down_write(&uts_sem);
523523 errno = -EFAULT;
524---- linux-4.17.6.orig/kernel/time/timekeeping.c
525-+++ linux-4.17.6/kernel/time/timekeeping.c
524+--- linux-4.17.19.orig/kernel/time/timekeeping.c
525++++ linux-4.17.19/kernel/time/timekeeping.c
526526 @@ -25,6 +25,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.17.6.orig/net/ipv4/raw.c
560-+++ linux-4.17.6/net/ipv4/raw.c
559+--- linux-4.17.19.orig/net/ipv4/raw.c
560++++ linux-4.17.19/net/ipv4/raw.c
561561 @@ -779,6 +779,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.17.6.orig/net/ipv4/udp.c
573-+++ linux-4.17.6/net/ipv4/udp.c
572+--- linux-4.17.19.orig/net/ipv4/udp.c
573++++ linux-4.17.19/net/ipv4/udp.c
574574 @@ -1579,6 +1579,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.17.6.orig/net/ipv6/raw.c
584-+++ linux-4.17.6/net/ipv6/raw.c
583+--- linux-4.17.19.orig/net/ipv6/raw.c
584++++ linux-4.17.19/net/ipv6/raw.c
585585 @@ -483,6 +483,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.17.6.orig/net/ipv6/udp.c
597-+++ linux-4.17.6/net/ipv6/udp.c
596+--- linux-4.17.19.orig/net/ipv6/udp.c
597++++ linux-4.17.19/net/ipv6/udp.c
598598 @@ -341,6 +341,8 @@ try_again:
599599 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
600600 if (!skb)
@@ -604,9 +604,9 @@
604604
605605 ulen = udp6_skb_len(skb);
606606 copied = len;
607---- linux-4.17.6.orig/net/socket.c
608-+++ linux-4.17.6/net/socket.c
609-@@ -1604,6 +1604,10 @@ int __sys_accept4(int fd, struct sockadd
607+--- linux-4.17.19.orig/net/socket.c
608++++ linux-4.17.19/net/socket.c
609+@@ -1605,6 +1605,10 @@ int __sys_accept4(int fd, struct sockadd
610610 if (err < 0)
611611 goto out_fd;
612612
@@ -617,8 +617,8 @@
617617 if (upeer_sockaddr) {
618618 len = newsock->ops->getname(newsock,
619619 (struct sockaddr *)&address, 2);
620---- linux-4.17.6.orig/net/unix/af_unix.c
621-+++ linux-4.17.6/net/unix/af_unix.c
620+--- linux-4.17.19.orig/net/unix/af_unix.c
621++++ linux-4.17.19/net/unix/af_unix.c
622622 @@ -2122,6 +2122,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.17.6.orig/security/Kconfig
642-+++ linux-4.17.6/security/Kconfig
641+--- linux-4.17.19.orig/security/Kconfig
642++++ linux-4.17.19/security/Kconfig
643643 @@ -277,5 +277,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.17.6.orig/security/Makefile
652-+++ linux-4.17.6/security/Makefile
651+--- linux-4.17.19.orig/security/Makefile
652++++ linux-4.17.19/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.17.6.orig/security/security.c
661-+++ linux-4.17.6/security/security.c
660+--- linux-4.17.19.orig/security/security.c
661++++ linux-4.17.19/security/security.c
662662 @@ -983,12 +983,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.18.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-4.18.diff (revision 267)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.18-rc4.
1+This is TOMOYO Linux patch for kernel 4.18.5.
22
3-Source code for this patch is https://git.kernel.org/torvalds/t/linux-4.18-rc4.tar.gz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.18.5.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,9 +28,9 @@
2828 security/security.c | 9 +++++-
2929 24 files changed, 148 insertions(+), 29 deletions(-)
3030
31---- linux-4.18-rc4.orig/fs/exec.c
32-+++ linux-4.18-rc4/fs/exec.c
33-@@ -1692,7 +1692,7 @@ static int exec_binprm(struct linux_binp
31+--- linux-4.18.5.orig/fs/exec.c
32++++ linux-4.18.5/fs/exec.c
33+@@ -1691,7 +1691,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
3636
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.18-rc4.orig/fs/open.c
43-+++ linux-4.18-rc4/fs/open.c
42+--- linux-4.18.5.orig/fs/open.c
43++++ linux-4.18.5/fs/open.c
4444 @@ -1212,6 +1212,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.18-rc4.orig/fs/proc/version.c
54-+++ linux-4.18-rc4/fs/proc/version.c
53+--- linux-4.18.5.orig/fs/proc/version.c
54++++ linux-4.18.5/fs/proc/version.c
5555 @@ -21,3 +21,10 @@ static int __init proc_version_init(void
5656 return 0;
5757 }
@@ -59,12 +59,12 @@
5959 +
6060 +static int __init ccs_show_version(void)
6161 +{
62-+ printk(KERN_INFO "Hook version: 4.18-rc4 2018/07/12\n");
62++ printk(KERN_INFO "Hook version: 4.18.5 2018/08/25\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.18-rc4.orig/include/linux/sched.h
67-+++ linux-4.18-rc4/include/linux/sched.h
66+--- linux-4.18.5.orig/include/linux/sched.h
67++++ linux-4.18.5/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.18-rc4.orig/include/linux/security.h
88-+++ linux-4.18-rc4/include/linux/security.h
87+--- linux-4.18.5.orig/include/linux/security.h
88++++ linux-4.18.5/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.18-rc4.orig/include/net/ip.h
310-+++ linux-4.18-rc4/include/net/ip.h
309+--- linux-4.18.5.orig/include/net/ip.h
310++++ linux-4.18.5/include/net/ip.h
311311 @@ -278,6 +278,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.18-rc4.orig/init/init_task.c
330-+++ linux-4.18-rc4/init/init_task.c
329+--- linux-4.18.5.orig/init/init_task.c
330++++ linux-4.18.5/init/init_task.c
331331 @@ -176,6 +176,10 @@ struct task_struct init_task
332332 #ifdef CONFIG_SECURITY
333333 .security = NULL,
@@ -339,8 +339,8 @@
339339 };
340340 EXPORT_SYMBOL(init_task);
341341
342---- linux-4.18-rc4.orig/kernel/kexec.c
343-+++ linux-4.18-rc4/kernel/kexec.c
342+--- linux-4.18.5.orig/kernel/kexec.c
343++++ linux-4.18.5/kernel/kexec.c
344344 @@ -17,7 +17,7 @@
345345 #include <linux/syscalls.h>
346346 #include <linux/vmalloc.h>
@@ -359,8 +359,8 @@
359359
360360 /*
361361 * Verify we have a legal set of flags
362---- linux-4.18-rc4.orig/kernel/module.c
363-+++ linux-4.18-rc4/kernel/module.c
362+--- linux-4.18.5.orig/kernel/module.c
363++++ linux-4.18.5/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.18-rc4.orig/kernel/ptrace.c
391-+++ linux-4.18-rc4/kernel/ptrace.c
390+--- linux-4.18.5.orig/kernel/ptrace.c
391++++ linux-4.18.5/kernel/ptrace.c
392392 @@ -1112,6 +1112,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
393393 {
394394 struct task_struct *child;
@@ -413,8 +413,8 @@
413413
414414 if (request == PTRACE_TRACEME) {
415415 ret = ptrace_traceme();
416---- linux-4.18-rc4.orig/kernel/reboot.c
417-+++ linux-4.18-rc4/kernel/reboot.c
416+--- linux-4.18.5.orig/kernel/reboot.c
417++++ linux-4.18.5/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.18-rc4.orig/kernel/sched/core.c
436-+++ linux-4.18-rc4/kernel/sched/core.c
435+--- linux-4.18.5.orig/kernel/sched/core.c
436++++ linux-4.18.5/kernel/sched/core.c
437437 @@ -3972,6 +3972,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.18-rc4.orig/kernel/signal.c
447-+++ linux-4.18-rc4/kernel/signal.c
446+--- linux-4.18.5.orig/kernel/signal.c
447++++ linux-4.18.5/kernel/signal.c
448448 @@ -3167,6 +3167,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.18-rc4.orig/kernel/sys.c
494-+++ linux-4.18-rc4/kernel/sys.c
493+--- linux-4.18.5.orig/kernel/sys.c
494++++ linux-4.18.5/kernel/sys.c
495495 @@ -204,6 +204,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
496496
497497 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -521,8 +521,8 @@
521521
522522 down_write(&uts_sem);
523523 errno = -EFAULT;
524---- linux-4.18-rc4.orig/kernel/time/timekeeping.c
525-+++ linux-4.18-rc4/kernel/time/timekeeping.c
524+--- linux-4.18.5.orig/kernel/time/timekeeping.c
525++++ linux-4.18.5/kernel/time/timekeeping.c
526526 @@ -25,6 +25,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.18-rc4.orig/net/ipv4/raw.c
560-+++ linux-4.18-rc4/net/ipv4/raw.c
559+--- linux-4.18.5.orig/net/ipv4/raw.c
560++++ linux-4.18.5/net/ipv4/raw.c
561561 @@ -779,6 +779,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.18-rc4.orig/net/ipv4/udp.c
573-+++ linux-4.18-rc4/net/ipv4/udp.c
572+--- linux-4.18.5.orig/net/ipv4/udp.c
573++++ linux-4.18.5/net/ipv4/udp.c
574574 @@ -1659,6 +1659,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.18-rc4.orig/net/ipv6/raw.c
584-+++ linux-4.18-rc4/net/ipv6/raw.c
583+--- linux-4.18.5.orig/net/ipv6/raw.c
584++++ linux-4.18.5/net/ipv6/raw.c
585585 @@ -483,6 +483,10 @@ static int rawv6_recvmsg(struct sock *sk
586586 skb = skb_recv_datagram(sk, flags, noblock, &err);
587587 if (!skb)
@@ -593,8 +593,8 @@
593593
594594 copied = skb->len;
595595 if (copied > len) {
596---- linux-4.18-rc4.orig/net/ipv6/udp.c
597-+++ linux-4.18-rc4/net/ipv6/udp.c
596+--- linux-4.18.5.orig/net/ipv6/udp.c
597++++ linux-4.18.5/net/ipv6/udp.c
598598 @@ -339,6 +339,8 @@ try_again:
599599 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
600600 if (!skb)
@@ -604,9 +604,9 @@
604604
605605 ulen = udp6_skb_len(skb);
606606 copied = len;
607---- linux-4.18-rc4.orig/net/socket.c
608-+++ linux-4.18-rc4/net/socket.c
609-@@ -1600,6 +1600,10 @@ int __sys_accept4(int fd, struct sockadd
607+--- linux-4.18.5.orig/net/socket.c
608++++ linux-4.18.5/net/socket.c
609+@@ -1601,6 +1601,10 @@ int __sys_accept4(int fd, struct sockadd
610610 if (err < 0)
611611 goto out_fd;
612612
@@ -617,8 +617,8 @@
617617 if (upeer_sockaddr) {
618618 len = newsock->ops->getname(newsock,
619619 (struct sockaddr *)&address, 2);
620---- linux-4.18-rc4.orig/net/unix/af_unix.c
621-+++ linux-4.18-rc4/net/unix/af_unix.c
620+--- linux-4.18.5.orig/net/unix/af_unix.c
621++++ linux-4.18.5/net/unix/af_unix.c
622622 @@ -2122,6 +2122,10 @@ static int unix_dgram_recvmsg(struct soc
623623 EPOLLOUT | EPOLLWRNORM |
624624 EPOLLWRBAND);
@@ -638,8 +638,8 @@
638638 mutex_unlock(&u->iolock);
639639 out:
640640 return err;
641---- linux-4.18-rc4.orig/security/Kconfig
642-+++ linux-4.18-rc4/security/Kconfig
641+--- linux-4.18.5.orig/security/Kconfig
642++++ linux-4.18.5/security/Kconfig
643643 @@ -277,5 +277,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.18-rc4.orig/security/Makefile
652-+++ linux-4.18-rc4/security/Makefile
651+--- linux-4.18.5.orig/security/Makefile
652++++ linux-4.18.5/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.18-rc4.orig/security/security.c
661-+++ linux-4.18-rc4/security/security.c
660+--- linux-4.18.5.orig/security/security.c
661++++ linux-4.18.5/security/security.c
662662 @@ -983,12 +983,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.19.diff (nonexistent)
+++ trunk/caitsith-patch/patches/ccs-patch-4.19.diff (revision 267)
@@ -0,0 +1,682 @@
1+This is TOMOYO Linux patch for kernel 4.19-rc1.
2+
3+Source code for this patch is https://git.kernel.org/torvalds/t/linux-4.19-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 | 68 ++++++++++++++++++++++++++++------------------
10+ include/net/ip.h | 4 ++
11+ init/init_task.c | 4 ++
12+ kernel/kexec.c | 4 ++
13+ kernel/module.c | 5 +++
14+ kernel/ptrace.c | 10 ++++++
15+ kernel/reboot.c | 3 ++
16+ kernel/sched/core.c | 2 +
17+ kernel/signal.c | 10 ++++++
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 | 9 +++++-
29+ 24 files changed, 148 insertions(+), 29 deletions(-)
30+
31+--- linux.orig/fs/exec.c
32++++ linux/fs/exec.c
33+@@ -1692,7 +1692,7 @@ static int exec_binprm(struct linux_binp
34+ old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
35+ rcu_read_unlock();
36+
37+- ret = search_binary_handler(bprm);
38++ ret = ccs_search_binary_handler(bprm);
39+ if (ret >= 0) {
40+ audit_bprm(bprm);
41+ trace_sched_process_exec(current, old_pid, bprm);
42+--- linux.orig/fs/open.c
43++++ linux/fs/open.c
44+@@ -1174,6 +1174,8 @@ SYSCALL_DEFINE1(close, unsigned int, fd)
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.orig/fs/proc/version.c
54++++ linux/fs/proc/version.c
55+@@ -21,3 +21,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: 4.19-rc1 2018/08/27\n");
63++ return 0;
64++}
65++fs_initcall(ccs_show_version);
66+--- linux.orig/include/linux/sched.h
67++++ linux/include/linux/sched.h
68+@@ -34,6 +34,7 @@ struct audit_context;
69+ struct backing_dev_info;
70+ struct bio_list;
71+ struct blk_plug;
72++struct ccs_domain_info;
73+ struct cfs_rq;
74+ struct fs_struct;
75+ struct futex_pi_state;
76+@@ -1191,6 +1192,10 @@ struct task_struct {
77+ /* Used by LSM modules for access restriction: */
78+ void *security;
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+ /*
86+ * New fields for task_struct should be added above here, so that
87+--- linux.orig/include/linux/security.h
88++++ linux/include/linux/security.h
89+@@ -53,6 +53,7 @@ struct msg_msg;
90+ struct xattr;
91+ struct xfrm_sec_ctx;
92+ struct mm_struct;
93++#include <linux/ccsecurity.h>
94+
95+ /* If capable should audit the security request */
96+ #define SECURITY_CAP_NOAUDIT 0
97+@@ -521,7 +522,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+@@ -585,18 +589,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+@@ -745,7 +749,7 @@ static inline int security_inode_setattr
132+
133+ static inline int security_inode_getattr(const struct path *path)
134+ {
135+- return 0;
136++ return ccs_inode_getattr(path);
137+ }
138+
139+ static inline int security_inode_setxattr(struct dentry *dentry,
140+@@ -831,7 +835,7 @@ static inline void security_file_free(st
141+ static inline int security_file_ioctl(struct file *file, unsigned int cmd,
142+ unsigned long arg)
143+ {
144+- return 0;
145++ return ccs_file_ioctl(file, cmd, arg);
146+ }
147+
148+ static inline int security_mmap_file(struct file *file, unsigned long prot,
149+@@ -860,7 +864,7 @@ static inline int security_file_lock(str
150+ static inline int security_file_fcntl(struct file *file, unsigned int cmd,
151+ unsigned long arg)
152+ {
153+- return 0;
154++ return ccs_file_fcntl(file, cmd, arg);
155+ }
156+
157+ static inline void security_file_set_fowner(struct file *file)
158+@@ -882,17 +886,19 @@ static inline int security_file_receive(
159+
160+ static inline int security_file_open(struct file *file)
161+ {
162+- return 0;
163++ return ccs_file_open(file);
164+ }
165+
166+ static inline int security_task_alloc(struct task_struct *task,
167+ unsigned long clone_flags)
168+ {
169+- return 0;
170++ return ccs_alloc_task_security(task);
171+ }
172+
173+ static inline void security_task_free(struct task_struct *task)
174+-{ }
175++{
176++ ccs_free_task_security(task);
177++}
178+
179+ static inline int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
180+ {
181+@@ -1264,7 +1270,7 @@ static inline int security_unix_may_send
182+ static inline int security_socket_create(int family, int type,
183+ int protocol, int kern)
184+ {
185+- return 0;
186++ return ccs_socket_create(family, type, protocol, kern);
187+ }
188+
189+ static inline int security_socket_post_create(struct socket *sock,
190+@@ -1285,19 +1291,19 @@ static inline int security_socket_bind(s
191+ struct sockaddr *address,
192+ int addrlen)
193+ {
194+- return 0;
195++ return ccs_socket_bind(sock, address, addrlen);
196+ }
197+
198+ static inline int security_socket_connect(struct socket *sock,
199+ struct sockaddr *address,
200+ int addrlen)
201+ {
202+- return 0;
203++ return ccs_socket_connect(sock, address, addrlen);
204+ }
205+
206+ static inline int security_socket_listen(struct socket *sock, int backlog)
207+ {
208+- return 0;
209++ return ccs_socket_listen(sock, backlog);
210+ }
211+
212+ static inline int security_socket_accept(struct socket *sock,
213+@@ -1309,7 +1315,7 @@ static inline int security_socket_accept
214+ static inline int security_socket_sendmsg(struct socket *sock,
215+ struct msghdr *msg, int size)
216+ {
217+- return 0;
218++ return ccs_socket_sendmsg(sock, msg, size);
219+ }
220+
221+ static inline int security_socket_recvmsg(struct socket *sock,
222+@@ -1596,42 +1602,42 @@ int security_path_chroot(const struct pa
223+ #else /* CONFIG_SECURITY_PATH */
224+ static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
225+ {
226+- return 0;
227++ return ccs_path_unlink(dir, dentry);
228+ }
229+
230+ static inline int security_path_mkdir(const struct path *dir, struct dentry *dentry,
231+ umode_t mode)
232+ {
233+- return 0;
234++ return ccs_path_mkdir(dir, dentry, mode);
235+ }
236+
237+ static inline int security_path_rmdir(const struct path *dir, struct dentry *dentry)
238+ {
239+- return 0;
240++ return ccs_path_rmdir(dir, dentry);
241+ }
242+
243+ static inline int security_path_mknod(const struct path *dir, struct dentry *dentry,
244+ umode_t mode, unsigned int dev)
245+ {
246+- return 0;
247++ return ccs_path_mknod(dir, dentry, mode, dev);
248+ }
249+
250+ static inline int security_path_truncate(const struct path *path)
251+ {
252+- return 0;
253++ return ccs_path_truncate(path);
254+ }
255+
256+ static inline int security_path_symlink(const struct path *dir, struct dentry *dentry,
257+ const char *old_name)
258+ {
259+- return 0;
260++ return ccs_path_symlink(dir, dentry, old_name);
261+ }
262+
263+ static inline int security_path_link(struct dentry *old_dentry,
264+ const struct path *new_dir,
265+ struct dentry *new_dentry)
266+ {
267+- return 0;
268++ return ccs_path_link(old_dentry, new_dir, new_dentry);
269+ }
270+
271+ static inline int security_path_rename(const struct path *old_dir,
272+@@ -1640,22 +1646,32 @@ static inline int security_path_rename(c
273+ struct dentry *new_dentry,
274+ unsigned int flags)
275+ {
276+- return 0;
277++ /*
278++ * Not using RENAME_EXCHANGE here in order to avoid KABI breakage
279++ * by doing "#include <uapi/linux/fs.h>" .
280++ */
281++ if (flags & (1 << 1)) {
282++ int err = ccs_path_rename(new_dir, new_dentry, old_dir,
283++ old_dentry);
284++ if (err)
285++ return err;
286++ }
287++ return ccs_path_rename(old_dir, old_dentry, new_dir, new_dentry);
288+ }
289+
290+ static inline int security_path_chmod(const struct path *path, umode_t mode)
291+ {
292+- return 0;
293++ return ccs_path_chmod(path, mode);
294+ }
295+
296+ static inline int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
297+ {
298+- return 0;
299++ return ccs_path_chown(path, uid, gid);
300+ }
301+
302+ static inline int security_path_chroot(const struct path *path)
303+ {
304+- return 0;
305++ return ccs_path_chroot(path);
306+ }
307+ #endif /* CONFIG_SECURITY_PATH */
308+
309+--- linux.orig/include/net/ip.h
310++++ linux/include/net/ip.h
311+@@ -301,6 +301,8 @@ void inet_get_local_port_range(struct ne
312+ #ifdef CONFIG_SYSCTL
313+ static inline int inet_is_local_reserved_port(struct net *net, int port)
314+ {
315++ if (ccs_lport_reserved(port))
316++ return 1;
317+ if (!net->ipv4.sysctl_local_reserved_ports)
318+ return 0;
319+ return test_bit(port, net->ipv4.sysctl_local_reserved_ports);
320+@@ -319,6 +321,8 @@ static inline int inet_prot_sock(struct
321+ #else
322+ static inline int inet_is_local_reserved_port(struct net *net, int port)
323+ {
324++ if (ccs_lport_reserved(port))
325++ return 1;
326+ return 0;
327+ }
328+
329+--- linux.orig/init/init_task.c
330++++ linux/init/init_task.c
331+@@ -179,6 +179,10 @@ struct task_struct init_task
332+ #ifdef CONFIG_SECURITY
333+ .security = NULL,
334+ #endif
335++#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY)
336++ .ccs_domain_info = NULL,
337++ .ccs_flags = 0,
338++#endif
339+ };
340+ EXPORT_SYMBOL(init_task);
341+
342+--- linux.orig/kernel/kexec.c
343++++ linux/kernel/kexec.c
344+@@ -18,7 +18,7 @@
345+ #include <linux/syscalls.h>
346+ #include <linux/vmalloc.h>
347+ #include <linux/slab.h>
348+-
349++#include <linux/ccsecurity.h>
350+ #include "kexec_internal.h"
351+
352+ static int copy_user_segment_list(struct kimage *image,
353+@@ -201,6 +201,8 @@ static inline int kexec_load_check(unsig
354+ /* We only trust the superuser with rebooting the system. */
355+ if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
356+ return -EPERM;
357++ if (!ccs_capable(CCS_SYS_KEXEC_LOAD))
358++ return -EPERM;
359+
360+ /* Permit LSMs and IMA to fail the kexec */
361+ result = security_kernel_load_data(LOADING_KEXEC_IMAGE);
362+--- linux.orig/kernel/module.c
363++++ linux/kernel/module.c
364+@@ -66,6 +66,7 @@
365+ #include <linux/audit.h>
366+ #include <uapi/linux/module.h>
367+ #include "module-internal.h"
368++#include <linux/ccsecurity.h>
369+
370+ #define CREATE_TRACE_POINTS
371+ #include <trace/events/module.h>
372+@@ -966,6 +967,8 @@ SYSCALL_DEFINE2(delete_module, const cha
373+
374+ if (!capable(CAP_SYS_MODULE) || modules_disabled)
375+ return -EPERM;
376++ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
377++ return -EPERM;
378+
379+ if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
380+ return -EFAULT;
381+@@ -3532,6 +3535,8 @@ static int may_init_module(void)
382+ {
383+ if (!capable(CAP_SYS_MODULE) || modules_disabled)
384+ return -EPERM;
385++ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
386++ return -EPERM;
387+
388+ return 0;
389+ }
390+--- linux.orig/kernel/ptrace.c
391++++ linux/kernel/ptrace.c
392+@@ -1112,6 +1112,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
393+ {
394+ struct task_struct *child;
395+ long ret;
396++ {
397++ const int rc = ccs_ptrace_permission(request, pid);
398++ if (rc)
399++ return rc;
400++ }
401+
402+ if (request == PTRACE_TRACEME) {
403+ ret = ptrace_traceme();
404+@@ -1260,6 +1265,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
405+ {
406+ struct task_struct *child;
407+ long ret;
408++ {
409++ const int rc = ccs_ptrace_permission(request, pid);
410++ if (rc)
411++ return rc;
412++ }
413+
414+ if (request == PTRACE_TRACEME) {
415+ ret = ptrace_traceme();
416+--- linux.orig/kernel/reboot.c
417++++ linux/kernel/reboot.c
418+@@ -16,6 +16,7 @@
419+ #include <linux/syscalls.h>
420+ #include <linux/syscore_ops.h>
421+ #include <linux/uaccess.h>
422++#include <linux/ccsecurity.h>
423+
424+ /*
425+ * this indicates whether you can reboot with ctrl-alt-del: the default is yes
426+@@ -322,6 +323,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
427+ magic2 != LINUX_REBOOT_MAGIC2B &&
428+ magic2 != LINUX_REBOOT_MAGIC2C))
429+ return -EINVAL;
430++ if (!ccs_capable(CCS_SYS_REBOOT))
431++ return -EPERM;
432+
433+ /*
434+ * If pid namespaces are enabled and the current task is in a child
435+--- linux.orig/kernel/sched/core.c
436++++ linux/kernel/sched/core.c
437+@@ -3944,6 +3944,8 @@ int can_nice(const struct task_struct *p
438+ SYSCALL_DEFINE1(nice, int, increment)
439+ {
440+ long nice, retval;
441++ if (!ccs_capable(CCS_SYS_NICE))
442++ return -EPERM;
443+
444+ /*
445+ * Setpriority might change our priority at the same moment.
446+--- linux.orig/kernel/signal.c
447++++ linux/kernel/signal.c
448+@@ -3210,6 +3210,8 @@ COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait,
449+ SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
450+ {
451+ struct siginfo info;
452++ if (ccs_kill_permission(pid, sig))
453++ return -EPERM;
454+
455+ clear_siginfo(&info);
456+ info.si_signo = sig;
457+@@ -3280,6 +3282,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
458+ /* This is only valid for single tasks */
459+ if (pid <= 0 || tgid <= 0)
460+ return -EINVAL;
461++ if (ccs_tgkill_permission(tgid, pid, sig))
462++ return -EPERM;
463+
464+ return do_tkill(tgid, pid, sig);
465+ }
466+@@ -3296,6 +3300,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
467+ /* This is only valid for single tasks */
468+ if (pid <= 0)
469+ return -EINVAL;
470++ if (ccs_tkill_permission(pid, sig))
471++ return -EPERM;
472+
473+ return do_tkill(0, pid, sig);
474+ }
475+@@ -3310,6 +3316,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
476+ return -EPERM;
477+
478+ info->si_signo = sig;
479++ if (ccs_sigqueue_permission(pid, sig))
480++ return -EPERM;
481+
482+ /* POSIX.1b doesn't mention process groups. */
483+ return kill_proc_info(sig, info, pid);
484+@@ -3358,6 +3366,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
485+ return -EPERM;
486+
487+ info->si_signo = sig;
488++ if (ccs_tgsigqueue_permission(tgid, pid, sig))
489++ return -EPERM;
490+
491+ return do_send_specific(tgid, pid, sig, info);
492+ }
493+--- linux.orig/kernel/sys.c
494++++ linux/kernel/sys.c
495+@@ -204,6 +204,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
496+
497+ if (which > PRIO_USER || which < PRIO_PROCESS)
498+ goto out;
499++ if (!ccs_capable(CCS_SYS_NICE)) {
500++ error = -EPERM;
501++ goto out;
502++ }
503+
504+ /* normalize: avoid signed division (rounding problems) */
505+ error = -ESRCH;
506+@@ -1311,6 +1315,8 @@ SYSCALL_DEFINE2(sethostname, char __user
507+
508+ if (len < 0 || len > __NEW_UTS_LEN)
509+ return -EINVAL;
510++ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
511++ return -EPERM;
512+ errno = -EFAULT;
513+ if (!copy_from_user(tmp, name, len)) {
514+ struct new_utsname *u;
515+@@ -1363,6 +1369,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
516+ return -EPERM;
517+ if (len < 0 || len > __NEW_UTS_LEN)
518+ return -EINVAL;
519++ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
520++ return -EPERM;
521+
522+ errno = -EFAULT;
523+ if (!copy_from_user(tmp, name, len)) {
524+--- linux.orig/kernel/time/timekeeping.c
525++++ linux/kernel/time/timekeeping.c
526+@@ -26,6 +26,7 @@
527+ #include <linux/stop_machine.h>
528+ #include <linux/pvclock_gtod.h>
529+ #include <linux/compiler.h>
530++#include <linux/ccsecurity.h>
531+
532+ #include "tick-internal.h"
533+ #include "ntp_internal.h"
534+@@ -2278,10 +2279,15 @@ static int timekeeping_validate_timex(co
535+ if (!(txc->modes & ADJ_OFFSET_READONLY) &&
536+ !capable(CAP_SYS_TIME))
537+ return -EPERM;
538++ if (!(txc->modes & ADJ_OFFSET_READONLY) &&
539++ !ccs_capable(CCS_SYS_SETTIME))
540++ return -EPERM;
541+ } else {
542+ /* In order to modify anything, you gotta be super-user! */
543+ if (txc->modes && !capable(CAP_SYS_TIME))
544+ return -EPERM;
545++ if (txc->modes && !ccs_capable(CCS_SYS_SETTIME))
546++ return -EPERM;
547+ /*
548+ * if the quartz is off by more than 10% then
549+ * something is VERY wrong!
550+@@ -2296,6 +2302,8 @@ static int timekeeping_validate_timex(co
551+ /* In order to inject time, you gotta be super-user! */
552+ if (!capable(CAP_SYS_TIME))
553+ return -EPERM;
554++ if (!ccs_capable(CCS_SYS_SETTIME))
555++ return -EPERM;
556+
557+ /*
558+ * Validate if a timespec/timeval used to inject a time
559+--- linux.orig/net/ipv4/raw.c
560++++ linux/net/ipv4/raw.c
561+@@ -772,6 +772,10 @@ static int raw_recvmsg(struct sock *sk,
562+ skb = skb_recv_datagram(sk, flags, noblock, &err);
563+ if (!skb)
564+ goto out;
565++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
566++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
567++ goto out;
568++ }
569+
570+ copied = skb->len;
571+ if (len < copied) {
572+--- linux.orig/net/ipv4/udp.c
573++++ linux/net/ipv4/udp.c
574+@@ -1655,6 +1655,8 @@ try_again:
575+ skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
576+ if (!skb)
577+ return err;
578++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags))
579++ return -EAGAIN; /* Hope less harmful than -EPERM. */
580+
581+ ulen = udp_skb_len(skb);
582+ copied = len;
583+--- linux.orig/net/ipv6/raw.c
584++++ linux/net/ipv6/raw.c
585+@@ -483,6 +483,10 @@ static int rawv6_recvmsg(struct sock *sk
586+ skb = skb_recv_datagram(sk, flags, noblock, &err);
587+ if (!skb)
588+ goto out;
589++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
590++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
591++ goto out;
592++ }
593+
594+ copied = skb->len;
595+ if (copied > len) {
596+--- linux.orig/net/ipv6/udp.c
597++++ linux/net/ipv6/udp.c
598+@@ -343,6 +343,8 @@ try_again:
599+ skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
600+ if (!skb)
601+ return err;
602++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags))
603++ return -EAGAIN; /* Hope less harmful than -EPERM. */
604+
605+ ulen = udp6_skb_len(skb);
606+ copied = len;
607+--- linux.orig/net/socket.c
608++++ linux/net/socket.c
609+@@ -1589,6 +1589,10 @@ int __sys_accept4(int fd, struct sockadd
610+ if (err < 0)
611+ goto out_fd;
612+
613++ if (ccs_socket_post_accept_permission(sock, newsock)) {
614++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
615++ goto out_fd;
616++ }
617+ if (upeer_sockaddr) {
618+ len = newsock->ops->getname(newsock,
619+ (struct sockaddr *)&address, 2);
620+--- linux.orig/net/unix/af_unix.c
621++++ linux/net/unix/af_unix.c
622+@@ -2127,6 +2127,10 @@ static int unix_dgram_recvmsg(struct soc
623+ EPOLLOUT | EPOLLWRNORM |
624+ EPOLLWRBAND);
625+
626++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
627++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
628++ goto out_unlock;
629++ }
630+ if (msg->msg_name)
631+ unix_copy_addr(msg, skb->sk);
632+
633+@@ -2177,6 +2181,7 @@ static int unix_dgram_recvmsg(struct soc
634+
635+ out_free:
636+ skb_free_datagram(sk, skb);
637++out_unlock:
638+ mutex_unlock(&u->iolock);
639+ out:
640+ return err;
641+--- linux.orig/security/Kconfig
642++++ linux/security/Kconfig
643+@@ -276,5 +276,7 @@ config DEFAULT_SECURITY
644+ default "apparmor" if DEFAULT_SECURITY_APPARMOR
645+ default "" if DEFAULT_SECURITY_DAC
646+
647++source security/ccsecurity/Kconfig
648++
649+ endmenu
650+
651+--- linux.orig/security/Makefile
652++++ linux/security/Makefile
653+@@ -30,3 +30,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
654+ # Object integrity file lists
655+ subdir-$(CONFIG_INTEGRITY) += integrity
656+ obj-$(CONFIG_INTEGRITY) += integrity/
657++
658++subdir-$(CONFIG_CCSECURITY) += ccsecurity
659++obj-$(CONFIG_CCSECURITY) += ccsecurity/
660+--- linux.orig/security/security.c
661++++ linux/security/security.c
662+@@ -988,12 +988,19 @@ int security_file_open(struct file *file
663+
664+ int security_task_alloc(struct task_struct *task, unsigned long clone_flags)
665+ {
666+- return call_int_hook(task_alloc, 0, task, clone_flags);
667++ int ret = ccs_alloc_task_security(task);
668++ if (ret)
669++ return ret;
670++ ret = call_int_hook(task_alloc, 0, task, clone_flags);
671++ if (ret)
672++ ccs_free_task_security(task);
673++ return ret;
674+ }
675+
676+ void security_task_free(struct task_struct *task)
677+ {
678+ call_void_hook(task_free, task);
679++ ccs_free_task_security(task);
680+ }
681+
682+ int security_cred_alloc_blank(struct cred *cred, gfp_t gfp)
--- trunk/caitsith-patch/patches/ccs-patch-4.4.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-4.4.diff (revision 267)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.4.140.
1+This is TOMOYO Linux patch for kernel 4.4.152.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.140.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.152.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, 150 insertions(+), 26 deletions(-)
3030
31---- linux-4.4.140.orig/fs/exec.c
32-+++ linux-4.4.140/fs/exec.c
31+--- linux-4.4.152.orig/fs/exec.c
32++++ linux-4.4.152/fs/exec.c
3333 @@ -1508,7 +1508,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.4.140.orig/fs/open.c
43-+++ linux-4.4.140/fs/open.c
42+--- linux-4.4.152.orig/fs/open.c
43++++ linux-4.4.152/fs/open.c
4444 @@ -1117,6 +1117,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.4.140.orig/fs/proc/version.c
54-+++ linux-4.4.140/fs/proc/version.c
53+--- linux-4.4.152.orig/fs/proc/version.c
54++++ linux-4.4.152/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.4.140 2018/07/12\n");
62++ printk(KERN_INFO "Hook version: 4.4.152 2018/08/25\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.4.140.orig/include/linux/init_task.h
67-+++ linux-4.4.140/include/linux/init_task.h
66+--- linux-4.4.152.orig/include/linux/init_task.h
67++++ linux-4.4.152/include/linux/init_task.h
6868 @@ -183,6 +183,14 @@ extern struct task_group root_task_group
6969 # define INIT_KASAN(tsk)
7070 #endif
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-4.4.140.orig/include/linux/sched.h
92-+++ linux-4.4.140/include/linux/sched.h
91+--- linux-4.4.152.orig/include/linux/sched.h
92++++ linux-4.4.152/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.4.140.orig/include/linux/security.h
114-+++ linux-4.4.140/include/linux/security.h
113+--- linux-4.4.152.orig/include/linux/security.h
114++++ linux-4.4.152/include/linux/security.h
115115 @@ -53,6 +53,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.4.140.orig/include/net/ip.h
322-+++ linux-4.4.140/include/net/ip.h
321+--- linux-4.4.152.orig/include/net/ip.h
322++++ linux-4.4.152/include/net/ip.h
323323 @@ -225,6 +225,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.4.140.orig/kernel/fork.c
342-+++ linux-4.4.140/kernel/fork.c
341+--- linux-4.4.152.orig/kernel/fork.c
342++++ linux-4.4.152/kernel/fork.c
343343 @@ -260,6 +260,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.4.140.orig/kernel/kexec.c
370-+++ linux-4.4.140/kernel/kexec.c
369+--- linux-4.4.152.orig/kernel/kexec.c
370++++ linux-4.4.152/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.4.140.orig/kernel/module.c
390-+++ linux-4.4.140/kernel/module.c
389+--- linux-4.4.152.orig/kernel/module.c
390++++ linux-4.4.152/kernel/module.c
391391 @@ -61,6 +61,7 @@
392392 #include <linux/bsearch.h>
393393 #include <uapi/linux/module.h>
@@ -414,8 +414,8 @@
414414
415415 return 0;
416416 }
417---- linux-4.4.140.orig/kernel/ptrace.c
418-+++ linux-4.4.140/kernel/ptrace.c
417+--- linux-4.4.152.orig/kernel/ptrace.c
418++++ linux-4.4.152/kernel/ptrace.c
419419 @@ -1085,6 +1085,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.4.140.orig/kernel/reboot.c
444-+++ linux-4.4.140/kernel/reboot.c
443+--- linux-4.4.152.orig/kernel/reboot.c
444++++ linux-4.4.152/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.4.140.orig/kernel/sched/core.c
463-+++ linux-4.4.140/kernel/sched/core.c
462+--- linux-4.4.152.orig/kernel/sched/core.c
463++++ linux-4.4.152/kernel/sched/core.c
464464 @@ -3549,6 +3549,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.4.140.orig/kernel/signal.c
474-+++ linux-4.4.140/kernel/signal.c
473+--- linux-4.4.152.orig/kernel/signal.c
474++++ linux-4.4.152/kernel/signal.c
475475 @@ -2868,6 +2868,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.4.140.orig/kernel/sys.c
521-+++ linux-4.4.140/kernel/sys.c
520+--- linux-4.4.152.orig/kernel/sys.c
521++++ linux-4.4.152/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 down_write(&uts_sem);
550550 errno = -EFAULT;
551---- linux-4.4.140.orig/kernel/time/ntp.c
552-+++ linux-4.4.140/kernel/time/ntp.c
551+--- linux-4.4.152.orig/kernel/time/ntp.c
552++++ linux-4.4.152/kernel/time/ntp.c
553553 @@ -16,6 +16,7 @@
554554 #include <linux/mm.h>
555555 #include <linux/module.h>
@@ -583,8 +583,8 @@
583583
584584 if (txc->modes & ADJ_NANO) {
585585 struct timespec ts;
586---- linux-4.4.140.orig/net/ipv4/raw.c
587-+++ linux-4.4.140/net/ipv4/raw.c
586+--- linux-4.4.152.orig/net/ipv4/raw.c
587++++ linux-4.4.152/net/ipv4/raw.c
588588 @@ -747,6 +747,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.4.140.orig/net/ipv4/udp.c
600-+++ linux-4.4.140/net/ipv4/udp.c
599+--- linux-4.4.152.orig/net/ipv4/udp.c
600++++ linux-4.4.152/net/ipv4/udp.c
601601 @@ -1289,6 +1289,10 @@ try_again:
602602 &peeked, &off, &err);
603603 if (!skb)
@@ -609,8 +609,8 @@
609609
610610 ulen = skb->len - sizeof(struct udphdr);
611611 copied = len;
612---- linux-4.4.140.orig/net/ipv6/raw.c
613-+++ linux-4.4.140/net/ipv6/raw.c
612+--- linux-4.4.152.orig/net/ipv6/raw.c
613++++ linux-4.4.152/net/ipv6/raw.c
614614 @@ -478,6 +478,10 @@ static int rawv6_recvmsg(struct sock *sk
615615 skb = skb_recv_datagram(sk, flags, noblock, &err);
616616 if (!skb)
@@ -622,8 +622,8 @@
622622
623623 copied = skb->len;
624624 if (copied > len) {
625---- linux-4.4.140.orig/net/ipv6/udp.c
626-+++ linux-4.4.140/net/ipv6/udp.c
625+--- linux-4.4.152.orig/net/ipv6/udp.c
626++++ linux-4.4.152/net/ipv6/udp.c
627627 @@ -417,6 +417,10 @@ try_again:
628628 &peeked, &off, &err);
629629 if (!skb)
@@ -635,9 +635,9 @@
635635
636636 ulen = skb->len - sizeof(struct udphdr);
637637 copied = len;
638---- linux-4.4.140.orig/net/socket.c
639-+++ linux-4.4.140/net/socket.c
640-@@ -1476,6 +1476,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
638+--- linux-4.4.152.orig/net/socket.c
639++++ linux-4.4.152/net/socket.c
640+@@ -1477,6 +1477,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
641641 if (err < 0)
642642 goto out_fd;
643643
@@ -648,8 +648,8 @@
648648 if (upeer_sockaddr) {
649649 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
650650 &len, 2) < 0) {
651---- linux-4.4.140.orig/net/unix/af_unix.c
652-+++ linux-4.4.140/net/unix/af_unix.c
651+--- linux-4.4.152.orig/net/unix/af_unix.c
652++++ linux-4.4.152/net/unix/af_unix.c
653653 @@ -2144,6 +2144,10 @@ static int unix_dgram_recvmsg(struct soc
654654 wake_up_interruptible_sync_poll(&u->peer_wait,
655655 POLLOUT | POLLWRNORM | POLLWRBAND);
@@ -661,8 +661,8 @@
661661 if (msg->msg_name)
662662 unix_copy_addr(msg, skb->sk);
663663
664---- linux-4.4.140.orig/security/Kconfig
665-+++ linux-4.4.140/security/Kconfig
664+--- linux-4.4.152.orig/security/Kconfig
665++++ linux-4.4.152/security/Kconfig
666666 @@ -173,5 +173,7 @@ config DEFAULT_SECURITY
667667 default "apparmor" if DEFAULT_SECURITY_APPARMOR
668668 default "" if DEFAULT_SECURITY_DAC
@@ -671,8 +671,8 @@
671671 +
672672 endmenu
673673
674---- linux-4.4.140.orig/security/Makefile
675-+++ linux-4.4.140/security/Makefile
674+--- linux-4.4.152.orig/security/Makefile
675++++ linux-4.4.152/security/Makefile
676676 @@ -27,3 +27,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
677677 # Object integrity file lists
678678 subdir-$(CONFIG_INTEGRITY) += integrity
--- trunk/caitsith-patch/patches/ccs-patch-4.9.diff (revision 266)
+++ trunk/caitsith-patch/patches/ccs-patch-4.9.diff (revision 267)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.9.112.
1+This is TOMOYO Linux patch for kernel 4.9.124.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.112.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.124.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,9 +28,9 @@
2828 security/Makefile | 3 ++
2929 24 files changed, 147 insertions(+), 26 deletions(-)
3030
31---- linux-4.9.112.orig/fs/exec.c
32-+++ linux-4.9.112/fs/exec.c
33-@@ -1661,7 +1661,7 @@ static int exec_binprm(struct linux_binp
31+--- linux-4.9.124.orig/fs/exec.c
32++++ linux-4.9.124/fs/exec.c
33+@@ -1660,7 +1660,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
3636
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.9.112.orig/fs/open.c
43-+++ linux-4.9.112/fs/open.c
42+--- linux-4.9.124.orig/fs/open.c
43++++ linux-4.9.124/fs/open.c
4444 @@ -1151,6 +1151,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.112.orig/fs/proc/version.c
54-+++ linux-4.9.112/fs/proc/version.c
53+--- linux-4.9.124.orig/fs/proc/version.c
54++++ linux-4.9.124/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.112 2018/07/12\n");
62++ printk(KERN_INFO "Hook version: 4.9.124 2018/08/25\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.9.112.orig/include/linux/init_task.h
67-+++ linux-4.9.112/include/linux/init_task.h
66+--- linux-4.9.124.orig/include/linux/init_task.h
67++++ linux-4.9.124/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.112.orig/include/linux/sched.h
92-+++ linux-4.9.112/include/linux/sched.h
91+--- linux-4.9.124.orig/include/linux/sched.h
92++++ linux-4.9.124/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.112.orig/include/linux/security.h
114-+++ linux-4.9.112/include/linux/security.h
113+--- linux-4.9.124.orig/include/linux/security.h
114++++ linux-4.9.124/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.112.orig/include/net/ip.h
322-+++ linux-4.9.112/include/net/ip.h
321+--- linux-4.9.124.orig/include/net/ip.h
322++++ linux-4.9.124/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,9 +338,9 @@
338338 return 0;
339339 }
340340 #endif
341---- linux-4.9.112.orig/kernel/fork.c
342-+++ linux-4.9.112/kernel/fork.c
343-@@ -392,6 +392,7 @@ void __put_task_struct(struct task_struc
341+--- linux-4.9.124.orig/kernel/fork.c
342++++ linux-4.9.124/kernel/fork.c
343+@@ -395,6 +395,7 @@ void __put_task_struct(struct task_struc
344344 delayacct_tsk_free(tsk);
345345 put_signal_struct(tsk->signal);
346346
@@ -348,7 +348,7 @@
348348 if (!profile_handoff_task(tsk))
349349 free_task(tsk);
350350 }
351-@@ -1652,6 +1653,9 @@ static __latent_entropy struct task_stru
351+@@ -1655,6 +1656,9 @@ static __latent_entropy struct task_stru
352352 goto bad_fork_cleanup_perf;
353353 /* copy all the process information */
354354 shm_init_task(p);
@@ -358,7 +358,7 @@
358358 retval = copy_semundo(clone_flags, p);
359359 if (retval)
360360 goto bad_fork_cleanup_audit;
361-@@ -1875,6 +1879,7 @@ bad_fork_cleanup_semundo:
361+@@ -1878,6 +1882,7 @@ bad_fork_cleanup_semundo:
362362 exit_sem(p);
363363 bad_fork_cleanup_audit:
364364 audit_free(p);
@@ -366,8 +366,8 @@
366366 bad_fork_cleanup_perf:
367367 perf_event_free_task(p);
368368 bad_fork_cleanup_policy:
369---- linux-4.9.112.orig/kernel/kexec.c
370-+++ linux-4.9.112/kernel/kexec.c
369+--- linux-4.9.124.orig/kernel/kexec.c
370++++ linux-4.9.124/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.112.orig/kernel/module.c
390-+++ linux-4.9.112/kernel/module.c
389+--- linux-4.9.124.orig/kernel/module.c
390++++ linux-4.9.124/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.112.orig/kernel/ptrace.c
418-+++ linux-4.9.112/kernel/ptrace.c
417+--- linux-4.9.124.orig/kernel/ptrace.c
418++++ linux-4.9.124/kernel/ptrace.c
419419 @@ -1122,6 +1122,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.112.orig/kernel/reboot.c
444-+++ linux-4.9.112/kernel/reboot.c
443+--- linux-4.9.124.orig/kernel/reboot.c
444++++ linux-4.9.124/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.112.orig/kernel/sched/core.c
463-+++ linux-4.9.112/kernel/sched/core.c
462+--- linux-4.9.124.orig/kernel/sched/core.c
463++++ linux-4.9.124/kernel/sched/core.c
464464 @@ -3813,6 +3813,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.112.orig/kernel/signal.c
474-+++ linux-4.9.112/kernel/signal.c
473+--- linux-4.9.124.orig/kernel/signal.c
474++++ linux-4.9.124/kernel/signal.c
475475 @@ -2868,6 +2868,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.112.orig/kernel/sys.c
521-+++ linux-4.9.112/kernel/sys.c
520+--- linux-4.9.124.orig/kernel/sys.c
521++++ linux-4.9.124/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 down_write(&uts_sem);
550550 errno = -EFAULT;
551---- linux-4.9.112.orig/kernel/time/ntp.c
552-+++ linux-4.9.112/kernel/time/ntp.c
551+--- linux-4.9.124.orig/kernel/time/ntp.c
552++++ linux-4.9.124/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.112.orig/net/ipv4/raw.c
587-+++ linux-4.9.112/net/ipv4/raw.c
586+--- linux-4.9.124.orig/net/ipv4/raw.c
587++++ linux-4.9.124/net/ipv4/raw.c
588588 @@ -744,6 +744,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.112.orig/net/ipv4/udp.c
600-+++ linux-4.9.112/net/ipv4/udp.c
599+--- linux-4.9.124.orig/net/ipv4/udp.c
600++++ linux-4.9.124/net/ipv4/udp.c
601601 @@ -1267,6 +1267,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.112.orig/net/ipv6/raw.c
611-+++ linux-4.9.112/net/ipv6/raw.c
610+--- linux-4.9.124.orig/net/ipv6/raw.c
611++++ linux-4.9.124/net/ipv6/raw.c
612612 @@ -478,6 +478,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.112.orig/net/ipv6/udp.c
624-+++ linux-4.9.112/net/ipv6/udp.c
623+--- linux-4.9.124.orig/net/ipv6/udp.c
624++++ linux-4.9.124/net/ipv6/udp.c
625625 @@ -348,6 +348,8 @@ try_again:
626626 &peeked, &off, &err);
627627 if (!skb)
@@ -631,9 +631,9 @@
631631
632632 ulen = skb->len;
633633 copied = len;
634---- linux-4.9.112.orig/net/socket.c
635-+++ linux-4.9.112/net/socket.c
636-@@ -1481,6 +1481,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
634+--- linux-4.9.124.orig/net/socket.c
635++++ linux-4.9.124/net/socket.c
636+@@ -1482,6 +1482,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
637637 if (err < 0)
638638 goto out_fd;
639639
@@ -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.112.orig/net/unix/af_unix.c
648-+++ linux-4.9.112/net/unix/af_unix.c
647+--- linux-4.9.124.orig/net/unix/af_unix.c
648++++ linux-4.9.124/net/unix/af_unix.c
649649 @@ -2150,6 +2150,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.112.orig/security/Kconfig
669-+++ linux-4.9.112/security/Kconfig
668+--- linux-4.9.124.orig/security/Kconfig
669++++ linux-4.9.124/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.112.orig/security/Makefile
679-+++ linux-4.9.112/security/Makefile
678+--- linux-4.9.124.orig/security/Makefile
679++++ linux-4.9.124/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/security/caitsith/lsm2caitsith.c (revision 266)
+++ trunk/caitsith-patch/security/caitsith/lsm2caitsith.c (revision 267)
@@ -37,10 +37,17 @@
3737 return ccs_fcntl_permission(file, cmd, arg);
3838 }
3939
40+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
41+int ccs_file_open(struct file *file)
42+{
43+ return ccs_open_permission(file);
44+}
45+#else
4046 int ccs_file_open(struct file *file, const struct cred *cred)
4147 {
4248 return ccs_open_permission(file);
4349 }
50+#endif
4451
4552 int ccs_socket_create(int family, int type, int protocol, int kern)
4653 {
--- trunk/caitsith-patch/specs/build-c6-2.6.32.sh (revision 266)
+++ trunk/caitsith-patch/specs/build-c6-2.6.32.sh (revision 267)
@@ -10,17 +10,17 @@
1010
1111 cd /tmp/ || die "Can't chdir to /tmp/ ."
1212
13-if [ ! -r kernel-2.6.32-754.2.1.el6.src.rpm ]
13+if [ ! -r kernel-2.6.32-754.3.5.el6.src.rpm ]
1414 then
15- wget http://vault.centos.org/6.10/updates/Source/SPackages/kernel-2.6.32-754.2.1.el6.src.rpm || die "Can't download source package."
15+ wget http://vault.centos.org/6.10/updates/Source/SPackages/kernel-2.6.32-754.3.5.el6.src.rpm || die "Can't download source package."
1616 fi
17-LANG=C rpm --checksig kernel-2.6.32-754.2.1.el6.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18-rpm -ivh kernel-2.6.32-754.2.1.el6.src.rpm || die "Can't install source package."
17+LANG=C rpm --checksig kernel-2.6.32-754.3.5.el6.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18+rpm -ivh kernel-2.6.32-754.3.5.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-20180714.tar.gz ]
21+if [ ! -r caitsith-patch-0.2-20180827.tar.gz ]
2222 then
23- wget -O caitsith-patch-0.2-20180714.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz' || die "Can't download patch."
23+ wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180827.tar.gz' || die "Can't download patch."
2424 fi
2525
2626 cd ~/rpmbuild/SPECS/ || die "Can't chdir to ~/rpmbuild/SPECS/ ."
@@ -35,7 +35,7 @@
3535 -# % define buildid .local
3636 +%define buildid _caitsith_0.2.3
3737
38- %define distro_build 754.2.1
38+ %define distro_build 754.3.5
3939 %define kabi_build 754
4040 @@ -438,7 +438,7 @@
4141 # Packages that need to be installed before the kernel is, because the %post
@@ -69,7 +69,7 @@
6969 ApplyOptionalPatch linux-kernel-test.patch
7070
7171 +# CaitSith
72-+tar -zxf %_sourcedir/caitsith-patch-0.2-20180714.tar.gz
72++tar -zxf %_sourcedir/caitsith-patch-0.2-20180827.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 266)
+++ trunk/caitsith-patch/specs/build-c7-3.10.sh (revision 267)
@@ -10,17 +10,17 @@
1010
1111 cd /tmp/ || die "Can't chdir to /tmp/ ."
1212
13-if [ ! -r kernel-3.10.0-862.6.3.el7.src.rpm ]
13+if [ ! -r kernel-3.10.0-862.11.6.el7.src.rpm ]
1414 then
15- wget http://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-862.6.3.el7.src.rpm || die "Can't download source package."
15+ wget http://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-862.11.6.el7.src.rpm || die "Can't download source package."
1616 fi
17-LANG=C rpm --checksig kernel-3.10.0-862.6.3.el7.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18-rpm -ivh kernel-3.10.0-862.6.3.el7.src.rpm || die "Can't install source package."
17+LANG=C rpm --checksig kernel-3.10.0-862.11.6.el7.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18+rpm -ivh kernel-3.10.0-862.11.6.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-20180714.tar.gz ]
21+if [ ! -r caitsith-patch-0.2-20180827.tar.gz ]
2222 then
23- wget -O caitsith-patch-0.2-20180714.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz' || die "Can't download patch."
23+ wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180827.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-20180714.tar.gz
72++tar -zxf %_sourcedir/caitsith-patch-0.2-20180827.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-debian_wheezy.sh (revision 266)
+++ trunk/caitsith-patch/specs/build-debian_wheezy.sh (revision 267)
@@ -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-20180714.tar.gz ]
26+if [ ! -r caitsith-patch-0.2-20180827.tar.gz ]
2727 then
2828 apt-get -y install wget
29- wget -O caitsith-patch-0.2-20180714.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz' || die "Can't download patch."
29+ wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180827.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-20180714.tar.gz || die "Can't extract patch."
41+tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20180827.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 266)
+++ trunk/caitsith-patch/specs/build-ubuntu_12.04.sh (revision 267)
@@ -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-20180714.tar.gz ]
32+if [ ! -r caitsith-patch-0.2-20180827.tar.gz ]
3333 then
34- wget -O caitsith-patch-0.2-20180714.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz' || die "Can't download patch."
34+ wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180827.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-20180714.tar.gz || die "Can't extract patch."
47+tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20180827.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 266)
+++ trunk/caitsith-patch/specs/build-ubuntu_14.04.sh (revision 267)
@@ -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-20180714.tar.gz ]
32+if [ ! -r caitsith-patch-0.2-20180827.tar.gz ]
3333 then
34- wget -O caitsith-patch-0.2-20180714.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz' || die "Can't download patch."
34+ wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180827.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-20180714.tar.gz || die "Can't extract patch."
47+tar -zxf ~/rpmbuild/SOURCES/caitsith-patch-0.2-20180827.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 266)
+++ trunk/caitsith-patch/specs/build-vl6-4.4.sh (revision 267)
@@ -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-20180714.tar.gz ]
21+if [ ! -r caitsith-patch-0.2-20180827.tar.gz ]
2222 then
23- wget -O caitsith-patch-0.2-20180714.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180714.tar.gz' || die "Can't download patch."
23+ wget -O caitsith-patch-0.2-20180827.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20180827.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-20180714.tar.gz
64++tar -zxf %_sourcedir/caitsith-patch-0.2-20180827.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/
旧リポジトリブラウザで表示