• R/O
  • SSH
  • HTTPS

caitsith: コミット


コミットメタ情報

リビジョン250 (tree)
日時2017-11-04 23:26:49
作者kumaneko

ログメッセージ

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

変更サマリ

差分

--- trunk/caitsith-patch/patches/ccs-patch-3.4-vine-linux-6.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-3.4-vine-linux-6.diff (nonexistent)
@@ -1,955 +0,0 @@
1-This is TOMOYO Linux patch for VineLinux 6.
2-
3-Source code for this patch is http://updates.vinelinux.org/Vine-6.3/updates/SRPMS/kernel-3.4.110-4vl6.src.rpm
4----
5- fs/exec.c | 2
6- fs/open.c | 2
7- fs/proc/version.c | 7 ++
8- include/linux/init_task.h | 9 +++
9- include/linux/sched.h | 6 ++
10- include/linux/security.h | 55 ++++++++++--------
11- include/net/ip.h | 2
12- kernel/fork.c | 5 +
13- kernel/kexec.c | 3 +
14- kernel/module.c | 5 +
15- kernel/ptrace.c | 10 +++
16- kernel/sched/core.c | 2
17- kernel/signal.c | 10 +++
18- kernel/sys.c | 10 +++
19- kernel/time/ntp.c | 8 ++
20- net/ipv4/raw.c | 4 +
21- net/ipv4/udp.c | 4 +
22- net/ipv6/raw.c | 4 +
23- net/ipv6/udp.c | 4 +
24- net/socket.c | 4 +
25- net/unix/af_unix.c | 4 +
26- security/Kconfig | 2
27- security/Makefile | 3 +
28- security/security.c | 134 +++++++++++++++++++++++++++++++++++++---------
29- 24 files changed, 250 insertions(+), 49 deletions(-)
30-
31---- linux-3.4.110-4vl6.orig/fs/exec.c
32-+++ linux-3.4.110-4vl6/fs/exec.c
33-@@ -1577,7 +1577,7 @@ static int do_execve_common(const char *
34- if (retval < 0)
35- goto out;
36-
37-- retval = search_binary_handler(bprm,regs);
38-+ retval = ccs_search_binary_handler(bprm, regs);
39- if (retval < 0)
40- goto out;
41-
42---- linux-3.4.110-4vl6.orig/fs/open.c
43-+++ linux-3.4.110-4vl6/fs/open.c
44-@@ -1108,6 +1108,8 @@ EXPORT_SYMBOL(sys_close);
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-3.4.110-4vl6.orig/fs/proc/version.c
54-+++ linux-3.4.110-4vl6/fs/proc/version.c
55-@@ -32,3 +32,10 @@ static int __init proc_version_init(void
56- return 0;
57- }
58- module_init(proc_version_init);
59-+
60-+static int __init ccs_show_version(void)
61-+{
62-+ printk(KERN_INFO "Hook version: 3.4.110-4vl6 2016/04/04\n");
63-+ return 0;
64-+}
65-+module_init(ccs_show_version);
66---- linux-3.4.110-4vl6.orig/include/linux/init_task.h
67-+++ linux-3.4.110-4vl6/include/linux/init_task.h
68-@@ -144,6 +144,14 @@ extern struct task_group root_task_group
69-
70- #define INIT_TASK_COMM "swapper"
71-
72-+#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY)
73-+#define INIT_CCSECURITY \
74-+ .ccs_domain_info = NULL, \
75-+ .ccs_flags = 0,
76-+#else
77-+#define INIT_CCSECURITY
78-+#endif
79-+
80- /*
81- * INIT_TASK is used to set up the first task table, touch at
82- * your own risk!. Base=0, limit=0x1fffff (=2MB)
83-@@ -212,6 +220,7 @@ extern struct task_group root_task_group
84- INIT_TRACE_RECURSION \
85- INIT_TASK_RCU_PREEMPT(tsk) \
86- INIT_CPUSET_SEQ \
87-+ INIT_CCSECURITY \
88- }
89-
90-
91---- linux-3.4.110-4vl6.orig/include/linux/sched.h
92-+++ linux-3.4.110-4vl6/include/linux/sched.h
93-@@ -44,6 +44,8 @@
94-
95- #ifdef __KERNEL__
96-
97-+struct ccs_domain_info;
98-+
99- struct sched_param {
100- int sched_priority;
101- };
102-@@ -1629,6 +1631,10 @@ struct task_struct {
103- #ifdef CONFIG_HAVE_HW_BREAKPOINT
104- atomic_t ptrace_bp_refcnt;
105- #endif
106-+#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY)
107-+ struct ccs_domain_info *ccs_domain_info;
108-+ u32 ccs_flags;
109-+#endif
110- };
111-
112- /* Future-safe accessor for struct task_struct's cpus_allowed. */
113---- linux-3.4.110-4vl6.orig/include/linux/security.h
114-+++ linux-3.4.110-4vl6/include/linux/security.h
115-@@ -52,6 +52,7 @@ struct msg_queue;
116- struct xattr;
117- struct xfrm_sec_ctx;
118- struct mm_struct;
119-+#include <linux/ccsecurity.h>
120-
121- /* Maximum number of letters for an LSM name string */
122- #define SECURITY_NAME_MAX 10
123-@@ -1900,7 +1901,10 @@ static inline int security_syslog(int ty
124- static inline int security_settime(const struct timespec *ts,
125- const struct timezone *tz)
126- {
127-- return cap_settime(ts, tz);
128-+ int error = cap_settime(ts, tz);
129-+ if (!error && !ccs_capable(CCS_SYS_SETTIME))
130-+ error = -EPERM;
131-+ return error;
132- }
133-
134- static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
135-@@ -1969,18 +1973,18 @@ static inline int security_sb_mount(char
136- char *type, unsigned long flags,
137- void *data)
138- {
139-- return 0;
140-+ return ccs_mount_permission(dev_name, path, type, flags, data);
141- }
142-
143- static inline int security_sb_umount(struct vfsmount *mnt, int flags)
144- {
145-- return 0;
146-+ return ccs_umount_permission(mnt, flags);
147- }
148-
149- static inline int security_sb_pivotroot(struct path *old_path,
150- struct path *new_path)
151- {
152-- return 0;
153-+ return ccs_pivot_root_permission(old_path, new_path);
154- }
155-
156- static inline int security_sb_set_mnt_opts(struct super_block *sb,
157-@@ -2104,7 +2108,7 @@ static inline int security_inode_setattr
158- static inline int security_inode_getattr(struct vfsmount *mnt,
159- struct dentry *dentry)
160- {
161-- return 0;
162-+ return ccs_getattr_permission(mnt, dentry);
163- }
164-
165- static inline int security_inode_setxattr(struct dentry *dentry,
166-@@ -2180,7 +2184,7 @@ static inline void security_file_free(st
167- static inline int security_file_ioctl(struct file *file, unsigned int cmd,
168- unsigned long arg)
169- {
170-- return 0;
171-+ return ccs_ioctl_permission(file, cmd, arg);
172- }
173-
174- static inline int security_file_mmap(struct file *file, unsigned long reqprot,
175-@@ -2207,7 +2211,7 @@ static inline int security_file_lock(str
176- static inline int security_file_fcntl(struct file *file, unsigned int cmd,
177- unsigned long arg)
178- {
179-- return 0;
180-+ return ccs_fcntl_permission(file, cmd, arg);
181- }
182-
183- static inline int security_file_set_fowner(struct file *file)
184-@@ -2230,7 +2234,7 @@ static inline int security_file_receive(
185- static inline int security_dentry_open(struct file *file,
186- const struct cred *cred)
187- {
188-- return 0;
189-+ return ccs_open_permission(file);
190- }
191-
192- static inline int security_task_create(unsigned long clone_flags)
193-@@ -2573,7 +2577,7 @@ static inline int security_unix_may_send
194- static inline int security_socket_create(int family, int type,
195- int protocol, int kern)
196- {
197-- return 0;
198-+ return ccs_socket_create_permission(family, type, protocol);
199- }
200-
201- static inline int security_socket_post_create(struct socket *sock,
202-@@ -2588,19 +2592,19 @@ static inline int security_socket_bind(s
203- struct sockaddr *address,
204- int addrlen)
205- {
206-- return 0;
207-+ return ccs_socket_bind_permission(sock, address, addrlen);
208- }
209-
210- static inline int security_socket_connect(struct socket *sock,
211- struct sockaddr *address,
212- int addrlen)
213- {
214-- return 0;
215-+ return ccs_socket_connect_permission(sock, address, addrlen);
216- }
217-
218- static inline int security_socket_listen(struct socket *sock, int backlog)
219- {
220-- return 0;
221-+ return ccs_socket_listen_permission(sock);
222- }
223-
224- static inline int security_socket_accept(struct socket *sock,
225-@@ -2612,7 +2616,7 @@ static inline int security_socket_accept
226- static inline int security_socket_sendmsg(struct socket *sock,
227- struct msghdr *msg, int size)
228- {
229-- return 0;
230-+ return ccs_socket_sendmsg_permission(sock, msg, size);
231- }
232-
233- static inline int security_socket_recvmsg(struct socket *sock,
234-@@ -2833,44 +2837,47 @@ int security_path_chmod(struct path *pat
235- int security_path_chown(struct path *path, uid_t uid, gid_t gid);
236- int security_path_chroot(struct path *path);
237- #else /* CONFIG_SECURITY_PATH */
238-+
239-+#include <linux/path.h>
240-+
241- static inline int security_path_unlink(struct path *dir, struct dentry *dentry)
242- {
243-- return 0;
244-+ return ccs_unlink_permission(dentry, dir->mnt);
245- }
246-
247- static inline int security_path_mkdir(struct path *dir, struct dentry *dentry,
248- umode_t mode)
249- {
250-- return 0;
251-+ return ccs_mkdir_permission(dentry, dir->mnt, mode);
252- }
253-
254- static inline int security_path_rmdir(struct path *dir, struct dentry *dentry)
255- {
256-- return 0;
257-+ return ccs_rmdir_permission(dentry, dir->mnt);
258- }
259-
260- static inline int security_path_mknod(struct path *dir, struct dentry *dentry,
261- umode_t mode, unsigned int dev)
262- {
263-- return 0;
264-+ return ccs_mknod_permission(dentry, dir->mnt, mode, dev);
265- }
266-
267- static inline int security_path_truncate(struct path *path)
268- {
269-- return 0;
270-+ return ccs_truncate_permission(path->dentry, path->mnt);
271- }
272-
273- static inline int security_path_symlink(struct path *dir, struct dentry *dentry,
274- const char *old_name)
275- {
276-- return 0;
277-+ return ccs_symlink_permission(dentry, dir->mnt, old_name);
278- }
279-
280- static inline int security_path_link(struct dentry *old_dentry,
281- struct path *new_dir,
282- struct dentry *new_dentry)
283- {
284-- return 0;
285-+ return ccs_link_permission(old_dentry, new_dentry, new_dir->mnt);
286- }
287-
288- static inline int security_path_rename(struct path *old_dir,
289-@@ -2878,22 +2885,22 @@ static inline int security_path_rename(s
290- struct path *new_dir,
291- struct dentry *new_dentry)
292- {
293-- return 0;
294-+ return ccs_rename_permission(old_dentry, new_dentry, new_dir->mnt);
295- }
296-
297- static inline int security_path_chmod(struct path *path, umode_t mode)
298- {
299-- return 0;
300-+ return ccs_chmod_permission(path->dentry, path->mnt, mode);
301- }
302-
303- static inline int security_path_chown(struct path *path, uid_t uid, gid_t gid)
304- {
305-- return 0;
306-+ return ccs_chown_permission(path->dentry, path->mnt, uid, gid);
307- }
308-
309- static inline int security_path_chroot(struct path *path)
310- {
311-- return 0;
312-+ return ccs_chroot_permission(path);
313- }
314- #endif /* CONFIG_SECURITY_PATH */
315-
316---- linux-3.4.110-4vl6.orig/include/net/ip.h
317-+++ linux-3.4.110-4vl6/include/net/ip.h
318-@@ -217,6 +217,8 @@ extern void inet_get_local_port_range(in
319- extern unsigned long *sysctl_local_reserved_ports;
320- static inline int inet_is_reserved_local_port(int port)
321- {
322-+ if (ccs_lport_reserved(port))
323-+ return 1;
324- return test_bit(port, sysctl_local_reserved_ports);
325- }
326-
327---- linux-3.4.110-4vl6.orig/kernel/fork.c
328-+++ linux-3.4.110-4vl6/kernel/fork.c
329-@@ -199,6 +199,7 @@ void __put_task_struct(struct task_struc
330- delayacct_tsk_free(tsk);
331- put_signal_struct(tsk->signal);
332-
333-+ ccs_free_task_security(tsk);
334- if (!profile_handoff_task(tsk))
335- free_task(tsk);
336- }
337-@@ -1293,6 +1294,9 @@ static struct task_struct *copy_process(
338- retval = audit_alloc(p);
339- if (retval)
340- goto bad_fork_cleanup_perf;
341-+ retval = ccs_alloc_task_security(p);
342-+ if (retval)
343-+ goto bad_fork_cleanup_audit;
344- /* copy all the process information */
345- retval = copy_semundo(clone_flags, p);
346- if (retval)
347-@@ -1488,6 +1492,7 @@ bad_fork_cleanup_semundo:
348- exit_sem(p);
349- bad_fork_cleanup_audit:
350- audit_free(p);
351-+ ccs_free_task_security(p);
352- bad_fork_cleanup_perf:
353- perf_event_free_task(p);
354- bad_fork_cleanup_policy:
355---- linux-3.4.110-4vl6.orig/kernel/kexec.c
356-+++ linux-3.4.110-4vl6/kernel/kexec.c
357-@@ -38,6 +38,7 @@
358- #include <asm/uaccess.h>
359- #include <asm/io.h>
360- #include <asm/sections.h>
361-+#include <linux/ccsecurity.h>
362-
363- /* Per cpu memory for storing cpu states in case of system crash. */
364- note_buf_t __percpu *crash_notes;
365-@@ -946,6 +947,8 @@ SYSCALL_DEFINE4(kexec_load, unsigned lon
366- /* We only trust the superuser with rebooting the system. */
367- if (!capable(CAP_SYS_BOOT))
368- return -EPERM;
369-+ if (!ccs_capable(CCS_SYS_KEXEC_LOAD))
370-+ return -EPERM;
371-
372- /*
373- * Verify we have a legal set of flags
374---- linux-3.4.110-4vl6.orig/kernel/module.c
375-+++ linux-3.4.110-4vl6/kernel/module.c
376-@@ -58,6 +58,7 @@
377- #include <linux/jump_label.h>
378- #include <linux/pfn.h>
379- #include <linux/bsearch.h>
380-+#include <linux/ccsecurity.h>
381-
382- #define CREATE_TRACE_POINTS
383- #include <trace/events/module.h>
384-@@ -774,6 +775,8 @@ SYSCALL_DEFINE2(delete_module, const cha
385-
386- if (!capable(CAP_SYS_MODULE) || modules_disabled)
387- return -EPERM;
388-+ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
389-+ return -EPERM;
390-
391- if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
392- return -EFAULT;
393-@@ -3027,6 +3030,8 @@ SYSCALL_DEFINE3(init_module, void __user
394- /* Must have permission */
395- if (!capable(CAP_SYS_MODULE) || modules_disabled)
396- return -EPERM;
397-+ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
398-+ return -EPERM;
399-
400- /* Do all the hard work */
401- mod = load_module(umod, len, uargs);
402---- linux-3.4.110-4vl6.orig/kernel/ptrace.c
403-+++ linux-3.4.110-4vl6/kernel/ptrace.c
404-@@ -920,6 +920,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
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-@@ -1067,6 +1072,11 @@ asmlinkage long compat_sys_ptrace(compat
417- {
418- struct task_struct *child;
419- long ret;
420-+ {
421-+ const int rc = ccs_ptrace_permission(request, pid);
422-+ if (rc)
423-+ return rc;
424-+ }
425-
426- if (request == PTRACE_TRACEME) {
427- ret = ptrace_traceme();
428---- linux-3.4.110-4vl6.orig/kernel/sched/core.c
429-+++ linux-3.4.110-4vl6/kernel/sched/core.c
430-@@ -4124,6 +4124,8 @@ int can_nice(const struct task_struct *p
431- SYSCALL_DEFINE1(nice, int, increment)
432- {
433- long nice, retval;
434-+ if (!ccs_capable(CCS_SYS_NICE))
435-+ return -EPERM;
436-
437- /*
438- * Setpriority might change our priority at the same moment.
439---- linux-3.4.110-4vl6.orig/kernel/signal.c
440-+++ linux-3.4.110-4vl6/kernel/signal.c
441-@@ -2825,6 +2825,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
442- SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
443- {
444- struct siginfo info;
445-+ if (ccs_kill_permission(pid, sig))
446-+ return -EPERM;
447-
448- info.si_signo = sig;
449- info.si_errno = 0;
450-@@ -2893,6 +2895,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
451- /* This is only valid for single tasks */
452- if (pid <= 0 || tgid <= 0)
453- return -EINVAL;
454-+ if (ccs_tgkill_permission(tgid, pid, sig))
455-+ return -EPERM;
456-
457- return do_tkill(tgid, pid, sig);
458- }
459-@@ -2909,6 +2913,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
460- /* This is only valid for single tasks */
461- if (pid <= 0)
462- return -EINVAL;
463-+ if (ccs_tkill_permission(pid, sig))
464-+ return -EPERM;
465-
466- return do_tkill(0, pid, sig);
467- }
468-@@ -2936,6 +2942,8 @@ SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t,
469- return -EPERM;
470- }
471- info.si_signo = sig;
472-+ if (ccs_sigqueue_permission(pid, sig))
473-+ return -EPERM;
474-
475- /* POSIX.1b doesn't mention process groups. */
476- return kill_proc_info(sig, &info, pid);
477-@@ -2956,6 +2964,8 @@ long do_rt_tgsigqueueinfo(pid_t tgid, pi
478- return -EPERM;
479- }
480- info->si_signo = sig;
481-+ if (ccs_tgsigqueue_permission(tgid, pid, sig))
482-+ return -EPERM;
483-
484- return do_send_specific(tgid, pid, sig, info);
485- }
486---- linux-3.4.110-4vl6.orig/kernel/sys.c
487-+++ linux-3.4.110-4vl6/kernel/sys.c
488-@@ -180,6 +180,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
489-
490- if (which > PRIO_USER || which < PRIO_PROCESS)
491- goto out;
492-+ if (!ccs_capable(CCS_SYS_NICE)) {
493-+ error = -EPERM;
494-+ goto out;
495-+ }
496-
497- /* normalize: avoid signed division (rounding problems) */
498- error = -ESRCH;
499-@@ -468,6 +472,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
500- magic2 != LINUX_REBOOT_MAGIC2B &&
501- magic2 != LINUX_REBOOT_MAGIC2C))
502- return -EINVAL;
503-+ if (!ccs_capable(CCS_SYS_REBOOT))
504-+ return -EPERM;
505-
506- /*
507- * If pid namespaces are enabled and the current task is in a child
508-@@ -1314,6 +1320,8 @@ SYSCALL_DEFINE2(sethostname, char __user
509-
510- if (len < 0 || len > __NEW_UTS_LEN)
511- return -EINVAL;
512-+ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
513-+ return -EPERM;
514- down_write(&uts_sem);
515- errno = -EFAULT;
516- if (!copy_from_user(tmp, name, len)) {
517-@@ -1364,6 +1372,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
518- return -EPERM;
519- if (len < 0 || len > __NEW_UTS_LEN)
520- return -EINVAL;
521-+ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
522-+ return -EPERM;
523-
524- down_write(&uts_sem);
525- errno = -EFAULT;
526---- linux-3.4.110-4vl6.orig/kernel/time/ntp.c
527-+++ linux-3.4.110-4vl6/kernel/time/ntp.c
528-@@ -15,6 +15,7 @@
529- #include <linux/time.h>
530- #include <linux/mm.h>
531- #include <linux/module.h>
532-+#include <linux/ccsecurity.h>
533-
534- #include "tick-internal.h"
535-
536-@@ -632,10 +633,15 @@ int do_adjtimex(struct timex *txc)
537- if (!(txc->modes & ADJ_OFFSET_READONLY) &&
538- !capable(CAP_SYS_TIME))
539- return -EPERM;
540-+ if (!(txc->modes & ADJ_OFFSET_READONLY) &&
541-+ !ccs_capable(CCS_SYS_SETTIME))
542-+ return -EPERM;
543- } else {
544- /* In order to modify anything, you gotta be super-user! */
545- if (txc->modes && !capable(CAP_SYS_TIME))
546- return -EPERM;
547-+ if (txc->modes && !ccs_capable(CCS_SYS_SETTIME))
548-+ return -EPERM;
549-
550- /*
551- * if the quartz is off by more than 10% then
552-@@ -653,6 +659,8 @@ int do_adjtimex(struct timex *txc)
553- delta.tv_nsec = txc->time.tv_usec;
554- if (!capable(CAP_SYS_TIME))
555- return -EPERM;
556-+ if (!ccs_capable(CCS_SYS_SETTIME))
557-+ return -EPERM;
558- if (!(txc->modes & ADJ_NANO))
559- delta.tv_nsec *= 1000;
560- result = timekeeping_inject_offset(&delta);
561---- linux-3.4.110-4vl6.orig/net/ipv4/raw.c
562-+++ linux-3.4.110-4vl6/net/ipv4/raw.c
563-@@ -696,6 +696,10 @@ static int raw_recvmsg(struct kiocb *ioc
564- skb = skb_recv_datagram(sk, flags, noblock, &err);
565- if (!skb)
566- goto out;
567-+ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
568-+ err = -EAGAIN; /* Hope less harmful than -EPERM. */
569-+ goto out;
570-+ }
571-
572- copied = skb->len;
573- if (len < copied) {
574---- linux-3.4.110-4vl6.orig/net/ipv4/udp.c
575-+++ linux-3.4.110-4vl6/net/ipv4/udp.c
576-@@ -1185,6 +1185,10 @@ try_again:
577- &peeked, &off, &err);
578- if (!skb)
579- goto out;
580-+ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
581-+ err = -EAGAIN; /* Hope less harmful than -EPERM. */
582-+ goto out;
583-+ }
584-
585- ulen = skb->len - sizeof(struct udphdr);
586- copied = len;
587---- linux-3.4.110-4vl6.orig/net/ipv6/raw.c
588-+++ linux-3.4.110-4vl6/net/ipv6/raw.c
589-@@ -466,6 +466,10 @@ static int rawv6_recvmsg(struct kiocb *i
590- skb = skb_recv_datagram(sk, flags, noblock, &err);
591- if (!skb)
592- goto out;
593-+ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
594-+ err = -EAGAIN; /* Hope less harmful than -EPERM. */
595-+ goto out;
596-+ }
597-
598- copied = skb->len;
599- if (copied > len) {
600---- linux-3.4.110-4vl6.orig/net/ipv6/udp.c
601-+++ linux-3.4.110-4vl6/net/ipv6/udp.c
602-@@ -359,6 +359,10 @@ try_again:
603- &peeked, &off, &err);
604- if (!skb)
605- goto out;
606-+ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
607-+ err = -EAGAIN; /* Hope less harmful than -EPERM. */
608-+ goto out;
609-+ }
610-
611- ulen = skb->len - sizeof(struct udphdr);
612- copied = len;
613---- linux-3.4.110-4vl6.orig/net/socket.c
614-+++ linux-3.4.110-4vl6/net/socket.c
615-@@ -1554,6 +1554,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
616- if (err < 0)
617- goto out_fd;
618-
619-+ if (ccs_socket_post_accept_permission(sock, newsock)) {
620-+ err = -EAGAIN; /* Hope less harmful than -EPERM. */
621-+ goto out_fd;
622-+ }
623- if (upeer_sockaddr) {
624- if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
625- &len, 2) < 0) {
626---- linux-3.4.110-4vl6.orig/net/unix/af_unix.c
627-+++ linux-3.4.110-4vl6/net/unix/af_unix.c
628-@@ -1954,6 +1954,10 @@ static int unix_dgram_recvmsg(struct kio
629- wake_up_interruptible_sync_poll(&u->peer_wait,
630- POLLOUT | POLLWRNORM | POLLWRBAND);
631-
632-+ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
633-+ err = -EAGAIN; /* Hope less harmful than -EPERM. */
634-+ goto out_unlock;
635-+ }
636- if (msg->msg_name)
637- unix_copy_addr(msg, skb->sk);
638-
639---- linux-3.4.110-4vl6.orig/security/Kconfig
640-+++ linux-3.4.110-4vl6/security/Kconfig
641-@@ -233,5 +233,7 @@ config DEFAULT_SECURITY
642- default "yama" if DEFAULT_SECURITY_YAMA
643- default "" if DEFAULT_SECURITY_DAC
644-
645-+source security/ccsecurity/Kconfig
646-+
647- endmenu
648-
649---- linux-3.4.110-4vl6.orig/security/Makefile
650-+++ linux-3.4.110-4vl6/security/Makefile
651-@@ -28,3 +28,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
652- # Object integrity file lists
653- subdir-$(CONFIG_INTEGRITY) += integrity
654- obj-$(CONFIG_INTEGRITY) += integrity/built-in.o
655-+
656-+subdir-$(CONFIG_CCSECURITY) += ccsecurity
657-+obj-$(CONFIG_CCSECURITY) += ccsecurity/built-in.o
658---- linux-3.4.110-4vl6.orig/security/security.c
659-+++ linux-3.4.110-4vl6/security/security.c
660-@@ -186,7 +186,10 @@ int security_syslog(int type)
661-
662- int security_settime(const struct timespec *ts, const struct timezone *tz)
663- {
664-- return security_ops->settime(ts, tz);
665-+ int error = security_ops->settime(ts, tz);
666-+ if (!error && !ccs_capable(CCS_SYS_SETTIME))
667-+ error = -EPERM;
668-+ return error;
669- }
670-
671- int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
672-@@ -263,17 +266,27 @@ int security_sb_statfs(struct dentry *de
673- int security_sb_mount(char *dev_name, struct path *path,
674- char *type, unsigned long flags, void *data)
675- {
676-- return security_ops->sb_mount(dev_name, path, type, flags, data);
677-+ int error = security_ops->sb_mount(dev_name, path, type, flags, data);
678-+ if (!error)
679-+ error = ccs_mount_permission(dev_name, path, type, flags,
680-+ data);
681-+ return error;
682- }
683-
684- int security_sb_umount(struct vfsmount *mnt, int flags)
685- {
686-- return security_ops->sb_umount(mnt, flags);
687-+ int error = security_ops->sb_umount(mnt, flags);
688-+ if (!error)
689-+ error = ccs_umount_permission(mnt, flags);
690-+ return error;
691- }
692-
693- int security_sb_pivotroot(struct path *old_path, struct path *new_path)
694- {
695-- return security_ops->sb_pivotroot(old_path, new_path);
696-+ int error = security_ops->sb_pivotroot(old_path, new_path);
697-+ if (!error)
698-+ error = ccs_pivot_root_permission(old_path, new_path);
699-+ return error;
700- }
701-
702- int security_sb_set_mnt_opts(struct super_block *sb,
703-@@ -360,92 +373,138 @@ EXPORT_SYMBOL(security_old_inode_init_se
704- int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
705- unsigned int dev)
706- {
707-+ int error;
708- if (unlikely(IS_PRIVATE(dir->dentry->d_inode)))
709- return 0;
710-- return security_ops->path_mknod(dir, dentry, mode, dev);
711-+ error = security_ops->path_mknod(dir, dentry, mode, dev);
712-+ if (!error)
713-+ error = ccs_mknod_permission(dentry, dir->mnt, mode, dev);
714-+ return error;
715- }
716- EXPORT_SYMBOL(security_path_mknod);
717-
718- int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode)
719- {
720-+ int error;
721- if (unlikely(IS_PRIVATE(dir->dentry->d_inode)))
722- return 0;
723-- return security_ops->path_mkdir(dir, dentry, mode);
724-+ error = security_ops->path_mkdir(dir, dentry, mode);
725-+ if (!error)
726-+ error = ccs_mkdir_permission(dentry, dir->mnt, mode);
727-+ return error;
728- }
729- EXPORT_SYMBOL(security_path_mkdir);
730-
731- int security_path_rmdir(struct path *dir, struct dentry *dentry)
732- {
733-+ int error;
734- if (unlikely(IS_PRIVATE(dir->dentry->d_inode)))
735- return 0;
736-- return security_ops->path_rmdir(dir, dentry);
737-+ error = security_ops->path_rmdir(dir, dentry);
738-+ if (!error)
739-+ error = ccs_rmdir_permission(dentry, dir->mnt);
740-+ return error;
741- }
742- EXPORT_SYMBOL(security_path_rmdir);
743-
744- int security_path_unlink(struct path *dir, struct dentry *dentry)
745- {
746-+ int error;
747- if (unlikely(IS_PRIVATE(dir->dentry->d_inode)))
748- return 0;
749-- return security_ops->path_unlink(dir, dentry);
750-+ error = security_ops->path_unlink(dir, dentry);
751-+ if (!error)
752-+ error = ccs_unlink_permission(dentry, dir->mnt);
753-+ return error;
754- }
755- EXPORT_SYMBOL(security_path_unlink);
756-
757- int security_path_symlink(struct path *dir, struct dentry *dentry,
758- const char *old_name)
759- {
760-+ int error;
761- if (unlikely(IS_PRIVATE(dir->dentry->d_inode)))
762- return 0;
763-- return security_ops->path_symlink(dir, dentry, old_name);
764-+ error = security_ops->path_symlink(dir, dentry, old_name);
765-+ if (!error)
766-+ error = ccs_symlink_permission(dentry, dir->mnt, old_name);
767-+ return error;
768- }
769- EXPORT_SYMBOL(security_path_symlink);
770-
771- int security_path_link(struct dentry *old_dentry, struct path *new_dir,
772- struct dentry *new_dentry)
773- {
774-+ int error;
775- if (unlikely(IS_PRIVATE(old_dentry->d_inode)))
776- return 0;
777-- return security_ops->path_link(old_dentry, new_dir, new_dentry);
778-+ error = security_ops->path_link(old_dentry, new_dir, new_dentry);
779-+ if (!error)
780-+ error = ccs_link_permission(old_dentry, new_dentry,
781-+ new_dir->mnt);
782-+ return error;
783- }
784- EXPORT_SYMBOL(security_path_link);
785-
786- int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
787- struct path *new_dir, struct dentry *new_dentry)
788- {
789-+ int error;
790- if (unlikely(IS_PRIVATE(old_dentry->d_inode) ||
791- (new_dentry->d_inode && IS_PRIVATE(new_dentry->d_inode))))
792- return 0;
793-- return security_ops->path_rename(old_dir, old_dentry, new_dir,
794-- new_dentry);
795-+ error = security_ops->path_rename(old_dir, old_dentry, new_dir,
796-+ new_dentry);
797-+ if (!error)
798-+ error = ccs_rename_permission(old_dentry, new_dentry,
799-+ new_dir->mnt);
800-+ return error;
801- }
802- EXPORT_SYMBOL(security_path_rename);
803-
804- int security_path_truncate(struct path *path)
805- {
806-+ int error;
807- if (unlikely(IS_PRIVATE(path->dentry->d_inode)))
808- return 0;
809-- return security_ops->path_truncate(path);
810-+ error = security_ops->path_truncate(path);
811-+ if (!error)
812-+ error = ccs_truncate_permission(path->dentry, path->mnt);
813-+ return error;
814- }
815- EXPORT_SYMBOL(security_path_truncate);
816-
817- int security_path_chmod(struct path *path, umode_t mode)
818- {
819-+ int error;
820- if (unlikely(IS_PRIVATE(path->dentry->d_inode)))
821- return 0;
822-- return security_ops->path_chmod(path, mode);
823-+ error = security_ops->path_chmod(path, mode);
824-+ if (!error)
825-+ error = ccs_chmod_permission(path->dentry, path->mnt, mode);
826-+ return error;
827- }
828- EXPORT_SYMBOL(security_path_chmod);
829-
830- int security_path_chown(struct path *path, uid_t uid, gid_t gid)
831- {
832-+ int error;
833- if (unlikely(IS_PRIVATE(path->dentry->d_inode)))
834- return 0;
835-- return security_ops->path_chown(path, uid, gid);
836-+ error = security_ops->path_chown(path, uid, gid);
837-+ if (!error)
838-+ error = ccs_chown_permission(path->dentry, path->mnt, uid,
839-+ gid);
840-+ return error;
841- }
842- EXPORT_SYMBOL(security_path_chown);
843-
844- int security_path_chroot(struct path *path)
845- {
846-- return security_ops->path_chroot(path);
847-+ int error = security_ops->path_chroot(path);
848-+ if (!error)
849-+ error = ccs_chroot_permission(path);
850-+ return error;
851- }
852- #endif
853-
854-@@ -550,9 +609,13 @@ EXPORT_SYMBOL_GPL(security_inode_setattr
855-
856- int security_inode_getattr(struct vfsmount *mnt, struct dentry *dentry)
857- {
858-+ int error;
859- if (unlikely(IS_PRIVATE(dentry->d_inode)))
860- return 0;
861-- return security_ops->inode_getattr(mnt, dentry);
862-+ error = security_ops->inode_getattr(mnt, dentry);
863-+ if (!error)
864-+ error = ccs_getattr_permission(mnt, dentry);
865-+ return error;
866- }
867-
868- int security_inode_setxattr(struct dentry *dentry, const char *name,
869-@@ -663,7 +726,10 @@ void security_file_free(struct file *fil
870-
871- int security_file_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
872- {
873-- return security_ops->file_ioctl(file, cmd, arg);
874-+ int error = security_ops->file_ioctl(file, cmd, arg);
875-+ if (!error)
876-+ error = ccs_ioctl_permission(file, cmd, arg);
877-+ return error;
878- }
879-
880- int security_file_mmap(struct file *file, unsigned long reqprot,
881-@@ -692,7 +758,10 @@ int security_file_lock(struct file *file
882-
883- int security_file_fcntl(struct file *file, unsigned int cmd, unsigned long arg)
884- {
885-- return security_ops->file_fcntl(file, cmd, arg);
886-+ int error = security_ops->file_fcntl(file, cmd, arg);
887-+ if (!error)
888-+ error = ccs_fcntl_permission(file, cmd, arg);
889-+ return error;
890- }
891-
892- int security_file_set_fowner(struct file *file)
893-@@ -716,6 +785,8 @@ int security_dentry_open(struct file *fi
894- int ret;
895-
896- ret = security_ops->dentry_open(file, cred);
897-+ if (!ret)
898-+ ret = ccs_open_permission(file);
899- if (ret)
900- return ret;
901-
902-@@ -1030,7 +1101,10 @@ EXPORT_SYMBOL(security_unix_may_send);
903-
904- int security_socket_create(int family, int type, int protocol, int kern)
905- {
906-- return security_ops->socket_create(family, type, protocol, kern);
907-+ int error = security_ops->socket_create(family, type, protocol, kern);
908-+ if (!error)
909-+ error = ccs_socket_create_permission(family, type, protocol);
910-+ return error;
911- }
912-
913- int security_socket_post_create(struct socket *sock, int family,
914-@@ -1042,17 +1116,26 @@ int security_socket_post_create(struct s
915-
916- int security_socket_bind(struct socket *sock, struct sockaddr *address, int addrlen)
917- {
918-- return security_ops->socket_bind(sock, address, addrlen);
919-+ int error = security_ops->socket_bind(sock, address, addrlen);
920-+ if (!error)
921-+ error = ccs_socket_bind_permission(sock, address, addrlen);
922-+ return error;
923- }
924-
925- int security_socket_connect(struct socket *sock, struct sockaddr *address, int addrlen)
926- {
927-- return security_ops->socket_connect(sock, address, addrlen);
928-+ int error = security_ops->socket_connect(sock, address, addrlen);
929-+ if (!error)
930-+ error = ccs_socket_connect_permission(sock, address, addrlen);
931-+ return error;
932- }
933-
934- int security_socket_listen(struct socket *sock, int backlog)
935- {
936-- return security_ops->socket_listen(sock, backlog);
937-+ int error = security_ops->socket_listen(sock, backlog);
938-+ if (!error)
939-+ error = ccs_socket_listen_permission(sock);
940-+ return error;
941- }
942-
943- int security_socket_accept(struct socket *sock, struct socket *newsock)
944-@@ -1062,7 +1145,10 @@ int security_socket_accept(struct socket
945-
946- int security_socket_sendmsg(struct socket *sock, struct msghdr *msg, int size)
947- {
948-- return security_ops->socket_sendmsg(sock, msg, size);
949-+ int error = security_ops->socket_sendmsg(sock, msg, size);
950-+ if (!error)
951-+ error = ccs_socket_sendmsg_permission(sock, msg, size);
952-+ return error;
953- }
954-
955- int security_socket_recvmsg(struct socket *sock, struct msghdr *msg,
--- trunk/caitsith-patch/patches/ccs-patch-2.6.32-centos-6.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-2.6.32-centos-6.diff (revision 250)
@@ -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.9/updates/Source/SPackages/kernel-2.6.32-696.10.2.el6.src.rpm
3+Source code for this patch is http://vault.centos.org/6.9/updates/Source/SPackages/kernel-2.6.32-696.13.2.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-696.10.2.el6.orig/fs/compat.c
41-+++ linux-2.6.32-696.10.2.el6/fs/compat.c
40+--- linux-2.6.32-696.13.2.el6.orig/fs/compat.c
41++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/fs/compat_ioctl.c
52-+++ linux-2.6.32-696.10.2.el6/fs/compat_ioctl.c
51+--- linux-2.6.32-696.13.2.el6.orig/fs/compat_ioctl.c
52++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/fs/exec.c
71-+++ linux-2.6.32-696.10.2.el6/fs/exec.c
70+--- linux-2.6.32-696.13.2.el6.orig/fs/exec.c
71++++ linux-2.6.32-696.13.2.el6/fs/exec.c
7272 @@ -1489,7 +1489,7 @@ int do_execve(const char * filename,
7373 goto out;
7474
@@ -78,8 +78,8 @@
7878 if (retval < 0)
7979 goto out;
8080
81---- linux-2.6.32-696.10.2.el6.orig/fs/fcntl.c
82-+++ linux-2.6.32-696.10.2.el6/fs/fcntl.c
81+--- linux-2.6.32-696.13.2.el6.orig/fs/fcntl.c
82++++ linux-2.6.32-696.13.2.el6/fs/fcntl.c
8383 @@ -428,6 +428,8 @@ SYSCALL_DEFINE3(fcntl, unsigned int, fd,
8484 goto out;
8585
@@ -98,8 +98,8 @@
9898 if (err) {
9999 fput(filp);
100100 return err;
101---- linux-2.6.32-696.10.2.el6.orig/fs/ioctl.c
102-+++ linux-2.6.32-696.10.2.el6/fs/ioctl.c
101+--- linux-2.6.32-696.13.2.el6.orig/fs/ioctl.c
102++++ linux-2.6.32-696.13.2.el6/fs/ioctl.c
103103 @@ -639,6 +639,8 @@ SYSCALL_DEFINE3(ioctl, unsigned int, fd,
104104 goto out;
105105
@@ -109,8 +109,8 @@
109109 if (error)
110110 goto out_fput;
111111
112---- linux-2.6.32-696.10.2.el6.orig/fs/namei.c
113-+++ linux-2.6.32-696.10.2.el6/fs/namei.c
112+--- linux-2.6.32-696.13.2.el6.orig/fs/namei.c
113++++ linux-2.6.32-696.13.2.el6/fs/namei.c
114114 @@ -2067,6 +2067,11 @@ int may_open(struct path *path, int acc_
115115 if (flag & O_NOATIME && !is_owner_or_cap(inode))
116116 return -EPERM;
@@ -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-696.10.2.el6.orig/fs/namespace.c
202-+++ linux-2.6.32-696.10.2.el6/fs/namespace.c
201+--- linux-2.6.32-696.13.2.el6.orig/fs/namespace.c
202++++ linux-2.6.32-696.13.2.el6/fs/namespace.c
203203 @@ -1097,6 +1097,8 @@ static int do_umount(struct vfsmount *mn
204204 LIST_HEAD(umount_list);
205205
@@ -236,8 +236,8 @@
236236 if (error) {
237237 path_put(&old);
238238 goto out1;
239---- linux-2.6.32-696.10.2.el6.orig/fs/open.c
240-+++ linux-2.6.32-696.10.2.el6/fs/open.c
239+--- linux-2.6.32-696.13.2.el6.orig/fs/open.c
240++++ linux-2.6.32-696.13.2.el6/fs/open.c
241241 @@ -102,6 +102,8 @@ long vfs_truncate(struct path *path, lof
242242 error = locks_verify_truncate(inode, NULL, length);
243243 if (!error)
@@ -328,8 +328,8 @@
328328 if (capable(CAP_SYS_TTY_CONFIG)) {
329329 tty_vhangup_self();
330330 return 0;
331---- linux-2.6.32-696.10.2.el6.orig/fs/proc/version.c
332-+++ linux-2.6.32-696.10.2.el6/fs/proc/version.c
331+--- linux-2.6.32-696.13.2.el6.orig/fs/proc/version.c
332++++ linux-2.6.32-696.13.2.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-696.10.2.el6 2017/09/17\n");
340++ printk(KERN_INFO "Hook version: 2.6.32-696.13.2.el6 2017/10/08\n");
341341 + return 0;
342342 +}
343343 +module_init(ccs_show_version);
344---- linux-2.6.32-696.10.2.el6.orig/fs/stat.c
345-+++ linux-2.6.32-696.10.2.el6/fs/stat.c
344+--- linux-2.6.32-696.13.2.el6.orig/fs/stat.c
345++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/include/linux/init_task.h
356-+++ linux-2.6.32-696.10.2.el6/include/linux/init_task.h
355+--- linux-2.6.32-696.13.2.el6.orig/include/linux/init_task.h
356++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/include/linux/sched.h
381-+++ linux-2.6.32-696.10.2.el6/include/linux/sched.h
380+--- linux-2.6.32-696.13.2.el6.orig/include/linux/sched.h
381++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/include/linux/security.h
403-+++ linux-2.6.32-696.10.2.el6/include/linux/security.h
402+--- linux-2.6.32-696.13.2.el6.orig/include/linux/security.h
403++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/include/net/ip.h
413-+++ linux-2.6.32-696.10.2.el6/include/net/ip.h
412+--- linux-2.6.32-696.13.2.el6.orig/include/net/ip.h
413++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/kernel/compat.c
432-+++ linux-2.6.32-696.10.2.el6/kernel/compat.c
431+--- linux-2.6.32-696.13.2.el6.orig/kernel/compat.c
432++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/kernel/fork.c
443-+++ linux-2.6.32-696.10.2.el6/kernel/fork.c
442+--- linux-2.6.32-696.13.2.el6.orig/kernel/fork.c
443++++ linux-2.6.32-696.13.2.el6/kernel/fork.c
444444 @@ -205,6 +205,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-696.10.2.el6.orig/kernel/kexec.c
471-+++ linux-2.6.32-696.10.2.el6/kernel/kexec.c
470+--- linux-2.6.32-696.13.2.el6.orig/kernel/kexec.c
471++++ linux-2.6.32-696.13.2.el6/kernel/kexec.c
472472 @@ -41,6 +41,7 @@
473473 #include <asm/system.h>
474474 #include <asm/sections.h>
@@ -486,8 +486,8 @@
486486
487487 if (kexec_load_disabled)
488488 return -EPERM;
489---- linux-2.6.32-696.10.2.el6.orig/kernel/module.c
490-+++ linux-2.6.32-696.10.2.el6/kernel/module.c
489+--- linux-2.6.32-696.13.2.el6.orig/kernel/module.c
490++++ linux-2.6.32-696.13.2.el6/kernel/module.c
491491 @@ -56,6 +56,7 @@
492492 #include <linux/percpu.h>
493493 #include <linux/kmemleak.h>
@@ -514,8 +514,8 @@
514514
515515 /* Only one module load at a time, please */
516516 if (mutex_lock_interruptible(&module_mutex) != 0)
517---- linux-2.6.32-696.10.2.el6.orig/kernel/ptrace.c
518-+++ linux-2.6.32-696.10.2.el6/kernel/ptrace.c
517+--- linux-2.6.32-696.13.2.el6.orig/kernel/ptrace.c
518++++ linux-2.6.32-696.13.2.el6/kernel/ptrace.c
519519 @@ -195,6 +195,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-696.10.2.el6.orig/kernel/sched.c
544-+++ linux-2.6.32-696.10.2.el6/kernel/sched.c
543+--- linux-2.6.32-696.13.2.el6.orig/kernel/sched.c
544++++ linux-2.6.32-696.13.2.el6/kernel/sched.c
545545 @@ -6852,6 +6852,8 @@ int can_nice(const struct task_struct *p
546546 SYSCALL_DEFINE1(nice, int, increment)
547547 {
@@ -551,8 +551,8 @@
551551
552552 /*
553553 * Setpriority might change our priority at the same moment.
554---- linux-2.6.32-696.10.2.el6.orig/kernel/signal.c
555-+++ linux-2.6.32-696.10.2.el6/kernel/signal.c
554+--- linux-2.6.32-696.13.2.el6.orig/kernel/signal.c
555++++ linux-2.6.32-696.13.2.el6/kernel/signal.c
556556 @@ -2312,6 +2312,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
557557 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
558558 {
@@ -598,8 +598,8 @@
598598
599599 return do_send_specific(tgid, pid, sig, info);
600600 }
601---- linux-2.6.32-696.10.2.el6.orig/kernel/sys.c
602-+++ linux-2.6.32-696.10.2.el6/kernel/sys.c
601+--- linux-2.6.32-696.13.2.el6.orig/kernel/sys.c
602++++ linux-2.6.32-696.13.2.el6/kernel/sys.c
603603 @@ -157,6 +157,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
604604
605605 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -638,8 +638,8 @@
638638
639639 down_write(&uts_sem);
640640 errno = -EFAULT;
641---- linux-2.6.32-696.10.2.el6.orig/kernel/sysctl.c
642-+++ linux-2.6.32-696.10.2.el6/kernel/sysctl.c
641+--- linux-2.6.32-696.13.2.el6.orig/kernel/sysctl.c
642++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/kernel/time.c
654-+++ linux-2.6.32-696.10.2.el6/kernel/time.c
653+--- linux-2.6.32-696.13.2.el6.orig/kernel/time.c
654++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/kernel/time/ntp.c
674-+++ linux-2.6.32-696.10.2.el6/kernel/time/ntp.c
673+--- linux-2.6.32-696.13.2.el6.orig/kernel/time/ntp.c
674++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/net/ipv4/raw.c
700-+++ linux-2.6.32-696.10.2.el6/net/ipv4/raw.c
699+--- linux-2.6.32-696.13.2.el6.orig/net/ipv4/raw.c
700++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/net/ipv4/udp.c
721-+++ linux-2.6.32-696.10.2.el6/net/ipv4/udp.c
720+--- linux-2.6.32-696.13.2.el6.orig/net/ipv4/udp.c
721++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/net/ipv6/raw.c
742-+++ linux-2.6.32-696.10.2.el6/net/ipv6/raw.c
741+--- linux-2.6.32-696.13.2.el6.orig/net/ipv6/raw.c
742++++ linux-2.6.32-696.13.2.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-696.10.2.el6.orig/net/ipv6/udp.c
763-+++ linux-2.6.32-696.10.2.el6/net/ipv6/udp.c
762+--- linux-2.6.32-696.13.2.el6.orig/net/ipv6/udp.c
763++++ linux-2.6.32-696.13.2.el6/net/ipv6/udp.c
764764 @@ -50,6 +50,7 @@
765765 #include <linux/proc_fs.h>
766766 #include <linux/seq_file.h>
@@ -780,8 +780,8 @@
780780
781781 ulen = skb->len - sizeof(struct udphdr);
782782 copied = len;
783---- linux-2.6.32-696.10.2.el6.orig/net/socket.c
784-+++ linux-2.6.32-696.10.2.el6/net/socket.c
783+--- linux-2.6.32-696.13.2.el6.orig/net/socket.c
784++++ linux-2.6.32-696.13.2.el6/net/socket.c
785785 @@ -578,6 +578,8 @@ static inline int __sock_sendmsg(struct
786786 struct msghdr *msg, size_t size)
787787 {
@@ -842,8 +842,8 @@
842842 if (err)
843843 goto out_put;
844844
845---- linux-2.6.32-696.10.2.el6.orig/net/unix/af_unix.c
846-+++ linux-2.6.32-696.10.2.el6/net/unix/af_unix.c
845+--- linux-2.6.32-696.13.2.el6.orig/net/unix/af_unix.c
846++++ linux-2.6.32-696.13.2.el6/net/unix/af_unix.c
847847 @@ -981,6 +981,9 @@ static int unix_bind(struct socket *sock
848848 mode = S_IFSOCK |
849849 (SOCK_INODE(sock)->i_mode & ~current_umask());
@@ -865,8 +865,8 @@
865865 if (msg->msg_name)
866866 unix_copy_addr(msg, skb->sk);
867867
868---- linux-2.6.32-696.10.2.el6.orig/security/Kconfig
869-+++ linux-2.6.32-696.10.2.el6/security/Kconfig
868+--- linux-2.6.32-696.13.2.el6.orig/security/Kconfig
869++++ linux-2.6.32-696.13.2.el6/security/Kconfig
870870 @@ -177,5 +177,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-696.10.2.el6.orig/security/Makefile
879-+++ linux-2.6.32-696.10.2.el6/security/Makefile
878+--- linux-2.6.32-696.13.2.el6.orig/security/Makefile
879++++ linux-2.6.32-696.13.2.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 249)
+++ trunk/caitsith-patch/patches/ccs-patch-3.10-centos-7.diff (revision 250)
@@ -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-693.2.2.el7.src.rpm
3+Source code for this patch is http://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-693.5.2.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-693.2.2.el7.orig/fs/exec.c
32-+++ linux-3.10.0-693.2.2.el7/fs/exec.c
31+--- linux-3.10.0-693.5.2.el7.orig/fs/exec.c
32++++ linux-3.10.0-693.5.2.el7/fs/exec.c
3333 @@ -1580,7 +1580,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-693.2.2.el7.orig/fs/open.c
43-+++ linux-3.10.0-693.2.2.el7/fs/open.c
42+--- linux-3.10.0-693.5.2.el7.orig/fs/open.c
43++++ linux-3.10.0-693.5.2.el7/fs/open.c
4444 @@ -1131,6 +1131,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-693.2.2.el7.orig/fs/proc/version.c
54-+++ linux-3.10.0-693.2.2.el7/fs/proc/version.c
53+--- linux-3.10.0-693.5.2.el7.orig/fs/proc/version.c
54++++ linux-3.10.0-693.5.2.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-693.2.2.el7 2017/09/15\n");
62++ printk(KERN_INFO "Hook version: 3.10.0-693.5.2.el7 2017/11/04\n");
6363 + return 0;
6464 +}
6565 +module_init(ccs_show_version);
66---- linux-3.10.0-693.2.2.el7.orig/include/linux/init_task.h
67-+++ linux-3.10.0-693.2.2.el7/include/linux/init_task.h
66+--- linux-3.10.0-693.5.2.el7.orig/include/linux/init_task.h
67++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/include/linux/sched.h
92-+++ linux-3.10.0-693.2.2.el7/include/linux/sched.h
91+--- linux-3.10.0-693.5.2.el7.orig/include/linux/sched.h
92++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/include/linux/security.h
114-+++ linux-3.10.0-693.2.2.el7/include/linux/security.h
113+--- linux-3.10.0-693.5.2.el7.orig/include/linux/security.h
114++++ linux-3.10.0-693.5.2.el7/include/linux/security.h
115115 @@ -54,6 +54,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-693.2.2.el7.orig/include/net/ip.h
327-+++ linux-3.10.0-693.2.2.el7/include/net/ip.h
326+--- linux-3.10.0-693.5.2.el7.orig/include/net/ip.h
327++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/kernel/fork.c
338-+++ linux-3.10.0-693.2.2.el7/kernel/fork.c
337+--- linux-3.10.0-693.5.2.el7.orig/kernel/fork.c
338++++ linux-3.10.0-693.5.2.el7/kernel/fork.c
339339 @@ -276,6 +276,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-693.2.2.el7.orig/kernel/kexec.c
366-+++ linux-3.10.0-693.2.2.el7/kernel/kexec.c
365+--- linux-3.10.0-693.5.2.el7.orig/kernel/kexec.c
366++++ linux-3.10.0-693.5.2.el7/kernel/kexec.c
367367 @@ -132,6 +132,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-693.2.2.el7.orig/kernel/module.c
377-+++ linux-3.10.0-693.2.2.el7/kernel/module.c
376+--- linux-3.10.0-693.5.2.el7.orig/kernel/module.c
377++++ linux-3.10.0-693.5.2.el7/kernel/module.c
378378 @@ -65,6 +65,7 @@
379379 #endif /* __GENKSYMS__ */
380380 #include <uapi/linux/module.h>
@@ -401,8 +401,8 @@
401401
402402 return 0;
403403 }
404---- linux-3.10.0-693.2.2.el7.orig/kernel/ptrace.c
405-+++ linux-3.10.0-693.2.2.el7/kernel/ptrace.c
404+--- linux-3.10.0-693.5.2.el7.orig/kernel/ptrace.c
405++++ linux-3.10.0-693.5.2.el7/kernel/ptrace.c
406406 @@ -1044,6 +1044,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-693.2.2.el7.orig/kernel/sched/core.c
431-+++ linux-3.10.0-693.2.2.el7/kernel/sched/core.c
430+--- linux-3.10.0-693.5.2.el7.orig/kernel/sched/core.c
431++++ linux-3.10.0-693.5.2.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,8 +438,8 @@
438438
439439 /*
440440 * Setpriority might change our priority at the same moment.
441---- linux-3.10.0-693.2.2.el7.orig/kernel/signal.c
442-+++ linux-3.10.0-693.2.2.el7/kernel/signal.c
441+--- linux-3.10.0-693.5.2.el7.orig/kernel/signal.c
442++++ linux-3.10.0-693.5.2.el7/kernel/signal.c
443443 @@ -2923,6 +2923,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
444444 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
445445 {
@@ -485,8 +485,8 @@
485485
486486 return do_send_specific(tgid, pid, sig, info);
487487 }
488---- linux-3.10.0-693.2.2.el7.orig/kernel/sys.c
489-+++ linux-3.10.0-693.2.2.el7/kernel/sys.c
488+--- linux-3.10.0-693.5.2.el7.orig/kernel/sys.c
489++++ linux-3.10.0-693.5.2.el7/kernel/sys.c
490490 @@ -192,6 +192,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
491491
492492 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -525,8 +525,8 @@
525525
526526 down_write(&uts_sem);
527527 errno = -EFAULT;
528---- linux-3.10.0-693.2.2.el7.orig/kernel/time/ntp.c
529-+++ linux-3.10.0-693.2.2.el7/kernel/time/ntp.c
528+--- linux-3.10.0-693.5.2.el7.orig/kernel/time/ntp.c
529++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/net/ipv4/raw.c
564-+++ linux-3.10.0-693.2.2.el7/net/ipv4/raw.c
563+--- linux-3.10.0-693.5.2.el7.orig/net/ipv4/raw.c
564++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/net/ipv4/udp.c
577-+++ linux-3.10.0-693.2.2.el7/net/ipv4/udp.c
576+--- linux-3.10.0-693.5.2.el7.orig/net/ipv4/udp.c
577++++ linux-3.10.0-693.5.2.el7/net/ipv4/udp.c
578578 @@ -1364,6 +1364,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-693.2.2.el7.orig/net/ipv6/raw.c
590-+++ linux-3.10.0-693.2.2.el7/net/ipv6/raw.c
589+--- linux-3.10.0-693.5.2.el7.orig/net/ipv6/raw.c
590++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/net/ipv6/udp.c
603-+++ linux-3.10.0-693.2.2.el7/net/ipv6/udp.c
602+--- linux-3.10.0-693.5.2.el7.orig/net/ipv6/udp.c
603++++ linux-3.10.0-693.5.2.el7/net/ipv6/udp.c
604604 @@ -414,6 +414,10 @@ try_again:
605605 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
606606 if (!skb)
@@ -612,8 +612,8 @@
612612
613613 ulen = skb->len - sizeof(struct udphdr);
614614 copied = len;
615---- linux-3.10.0-693.2.2.el7.orig/net/socket.c
616-+++ linux-3.10.0-693.2.2.el7/net/socket.c
615+--- linux-3.10.0-693.5.2.el7.orig/net/socket.c
616++++ linux-3.10.0-693.5.2.el7/net/socket.c
617617 @@ -1609,6 +1609,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
618618 if (err < 0)
619619 goto out_fd;
@@ -625,8 +625,8 @@
625625 if (upeer_sockaddr) {
626626 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
627627 &len, 2) < 0) {
628---- linux-3.10.0-693.2.2.el7.orig/net/unix/af_unix.c
629-+++ linux-3.10.0-693.2.2.el7/net/unix/af_unix.c
628+--- linux-3.10.0-693.5.2.el7.orig/net/unix/af_unix.c
629++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/security/Kconfig
642-+++ linux-3.10.0-693.2.2.el7/security/Kconfig
641+--- linux-3.10.0-693.5.2.el7.orig/security/Kconfig
642++++ linux-3.10.0-693.5.2.el7/security/Kconfig
643643 @@ -175,5 +175,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-693.2.2.el7.orig/security/Makefile
652-+++ linux-3.10.0-693.2.2.el7/security/Makefile
651+--- linux-3.10.0-693.5.2.el7.orig/security/Makefile
652++++ linux-3.10.0-693.5.2.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-693.2.2.el7.orig/security/security.c
661-+++ linux-3.10.0-693.2.2.el7/security/security.c
660+--- linux-3.10.0-693.5.2.el7.orig/security/security.c
661++++ linux-3.10.0-693.5.2.el7/security/security.c
662662 @@ -203,7 +203,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 249)
+++ trunk/caitsith-patch/patches/ccs-patch-3.13-ubuntu-14.04.diff (revision 250)
@@ -29,9 +29,9 @@
2929 security/security.c | 107 ++++++++++++++++++++++++++++++++++++++++------
3030 25 files changed, 236 insertions(+), 37 deletions(-)
3131
32---- linux-3.13.0-129.178.orig/fs/exec.c
33-+++ linux-3.13.0-129.178/fs/exec.c
34-@@ -1476,7 +1476,7 @@ static int exec_binprm(struct linux_binp
32+--- linux-3.13.0-135.184.orig/fs/exec.c
33++++ linux-3.13.0-135.184/fs/exec.c
34+@@ -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();
3737
@@ -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-129.178.orig/fs/open.c
44-+++ linux-3.13.0-129.178/fs/open.c
43+--- linux-3.13.0-135.184.orig/fs/open.c
44++++ linux-3.13.0-135.184/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-129.178.orig/fs/proc/version.c
55-+++ linux-3.13.0-129.178/fs/proc/version.c
54+--- linux-3.13.0-135.184.orig/fs/proc/version.c
55++++ linux-3.13.0-135.184/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-129.178 2017/09/02\n");
63++ printk(KERN_INFO "Hook version: 3.13.0-135.184 2017/11/04\n");
6464 + return 0;
6565 +}
6666 +module_init(ccs_show_version);
67---- linux-3.13.0-129.178.orig/include/linux/init_task.h
68-+++ linux-3.13.0-129.178/include/linux/init_task.h
67+--- linux-3.13.0-135.184.orig/include/linux/init_task.h
68++++ linux-3.13.0-135.184/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-129.178.orig/include/linux/sched.h
93-+++ linux-3.13.0-129.178/include/linux/sched.h
92+--- linux-3.13.0-135.184.orig/include/linux/sched.h
93++++ linux-3.13.0-135.184/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-129.178.orig/include/linux/security.h
115-+++ linux-3.13.0-129.178/include/linux/security.h
114+--- linux-3.13.0-135.184.orig/include/linux/security.h
115++++ linux-3.13.0-135.184/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-129.178.orig/include/net/ip.h
318-+++ linux-3.13.0-129.178/include/net/ip.h
317+--- linux-3.13.0-135.184.orig/include/net/ip.h
318++++ linux-3.13.0-135.184/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-129.178.orig/kernel/fork.c
329-+++ linux-3.13.0-129.178/kernel/fork.c
328+--- linux-3.13.0-135.184.orig/kernel/fork.c
329++++ linux-3.13.0-135.184/kernel/fork.c
330330 @@ -248,6 +248,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-129.178.orig/kernel/kexec.c
357-+++ linux-3.13.0-129.178/kernel/kexec.c
356+--- linux-3.13.0-135.184.orig/kernel/kexec.c
357++++ linux-3.13.0-135.184/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-129.178.orig/kernel/module.c
376-+++ linux-3.13.0-129.178/kernel/module.c
375+--- linux-3.13.0-135.184.orig/kernel/module.c
376++++ linux-3.13.0-135.184/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-129.178.orig/kernel/ptrace.c
404-+++ linux-3.13.0-129.178/kernel/ptrace.c
403+--- linux-3.13.0-135.184.orig/kernel/ptrace.c
404++++ linux-3.13.0-135.184/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-129.178.orig/kernel/reboot.c
430-+++ linux-3.13.0-129.178/kernel/reboot.c
429+--- linux-3.13.0-135.184.orig/kernel/reboot.c
430++++ linux-3.13.0-135.184/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-129.178.orig/kernel/sched/core.c
449-+++ linux-3.13.0-129.178/kernel/sched/core.c
448+--- linux-3.13.0-135.184.orig/kernel/sched/core.c
449++++ linux-3.13.0-135.184/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-129.178.orig/kernel/signal.c
460-+++ linux-3.13.0-129.178/kernel/signal.c
459+--- linux-3.13.0-135.184.orig/kernel/signal.c
460++++ linux-3.13.0-135.184/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-129.178.orig/kernel/sys.c
507-+++ linux-3.13.0-129.178/kernel/sys.c
506+--- linux-3.13.0-135.184.orig/kernel/sys.c
507++++ linux-3.13.0-135.184/kernel/sys.c
508508 @@ -171,6 +171,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-129.178.orig/kernel/time/ntp.c
538-+++ linux-3.13.0-129.178/kernel/time/ntp.c
537+--- linux-3.13.0-135.184.orig/kernel/time/ntp.c
538++++ linux-3.13.0-135.184/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-129.178.orig/net/ipv4/raw.c
573-+++ linux-3.13.0-129.178/net/ipv4/raw.c
572+--- linux-3.13.0-135.184.orig/net/ipv4/raw.c
573++++ linux-3.13.0-135.184/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-129.178.orig/net/ipv4/udp.c
586-+++ linux-3.13.0-129.178/net/ipv4/udp.c
585+--- linux-3.13.0-135.184.orig/net/ipv4/udp.c
586++++ linux-3.13.0-135.184/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-129.178.orig/net/ipv6/raw.c
599-+++ linux-3.13.0-129.178/net/ipv6/raw.c
598+--- linux-3.13.0-135.184.orig/net/ipv6/raw.c
599++++ linux-3.13.0-135.184/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-129.178.orig/net/ipv6/udp.c
612-+++ linux-3.13.0-129.178/net/ipv6/udp.c
611+--- linux-3.13.0-135.184.orig/net/ipv6/udp.c
612++++ linux-3.13.0-135.184/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-129.178.orig/net/socket.c
625-+++ linux-3.13.0-129.178/net/socket.c
624+--- linux-3.13.0-135.184.orig/net/socket.c
625++++ linux-3.13.0-135.184/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-129.178.orig/net/unix/af_unix.c
638-+++ linux-3.13.0-129.178/net/unix/af_unix.c
637+--- linux-3.13.0-135.184.orig/net/unix/af_unix.c
638++++ linux-3.13.0-135.184/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-129.178.orig/security/Kconfig
651-+++ linux-3.13.0-129.178/security/Kconfig
650+--- linux-3.13.0-135.184.orig/security/Kconfig
651++++ linux-3.13.0-135.184/security/Kconfig
652652 @@ -167,5 +167,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-129.178.orig/security/Makefile
661-+++ linux-3.13.0-129.178/security/Makefile
660+--- linux-3.13.0-135.184.orig/security/Makefile
661++++ linux-3.13.0-135.184/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-129.178.orig/security/security.c
670-+++ linux-3.13.0-129.178/security/security.c
669+--- linux-3.13.0-135.184.orig/security/security.c
670++++ linux-3.13.0-135.184/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.16.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-3.16.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 3.16.48.
1+This is TOMOYO Linux patch for kernel 3.16.49.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.48.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.49.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.16.48.orig/fs/exec.c
33-+++ linux-3.16.48/fs/exec.c
32+--- linux-3.16.49.orig/fs/exec.c
33++++ linux-3.16.49/fs/exec.c
3434 @@ -1467,7 +1467,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.16.48.orig/fs/open.c
44-+++ linux-3.16.48/fs/open.c
43+--- linux-3.16.49.orig/fs/open.c
44++++ linux-3.16.49/fs/open.c
4545 @@ -1069,6 +1069,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.16.48.orig/fs/proc/version.c
55-+++ linux-3.16.48/fs/proc/version.c
54+--- linux-3.16.49.orig/fs/proc/version.c
55++++ linux-3.16.49/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.16.48 2017/09/17\n");
63++ printk(KERN_INFO "Hook version: 3.16.49 2017/10/16\n");
6464 + return 0;
6565 +}
6666 +fs_initcall(ccs_show_version);
67---- linux-3.16.48.orig/include/linux/init_task.h
68-+++ linux-3.16.48/include/linux/init_task.h
67+--- linux-3.16.49.orig/include/linux/init_task.h
68++++ linux-3.16.49/include/linux/init_task.h
6969 @@ -164,6 +164,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.16.48.orig/include/linux/sched.h
93-+++ linux-3.16.48/include/linux/sched.h
92+--- linux-3.16.49.orig/include/linux/sched.h
93++++ linux-3.16.49/include/linux/sched.h
9494 @@ -6,6 +6,8 @@
9595 #include <linux/sched/prio.h>
9696
@@ -100,7 +100,7 @@
100100 struct sched_param {
101101 int sched_priority;
102102 };
103-@@ -1665,6 +1667,10 @@ struct task_struct {
103+@@ -1664,6 +1666,10 @@ struct task_struct {
104104 unsigned int sequential_io;
105105 unsigned int sequential_io_avg;
106106 #endif
@@ -111,8 +111,8 @@
111111 };
112112
113113 /* Future-safe accessor for struct task_struct's cpus_allowed. */
114---- linux-3.16.48.orig/include/linux/security.h
115-+++ linux-3.16.48/include/linux/security.h
114+--- linux-3.16.49.orig/include/linux/security.h
115++++ linux-3.16.49/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.16.48.orig/include/net/ip.h
328-+++ linux-3.16.48/include/net/ip.h
327+--- linux-3.16.49.orig/include/net/ip.h
328++++ linux-3.16.49/include/net/ip.h
329329 @@ -213,6 +213,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.16.48.orig/kernel/fork.c
348-+++ linux-3.16.48/kernel/fork.c
347+--- linux-3.16.49.orig/kernel/fork.c
348++++ linux-3.16.49/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.16.48.orig/kernel/kexec.c
376-+++ linux-3.16.48/kernel/kexec.c
375+--- linux-3.16.49.orig/kernel/kexec.c
376++++ linux-3.16.49/kernel/kexec.c
377377 @@ -39,6 +39,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.16.48.orig/kernel/module.c
395-+++ linux-3.16.48/kernel/module.c
394+--- linux-3.16.49.orig/kernel/module.c
395++++ linux-3.16.49/kernel/module.c
396396 @@ -63,6 +63,7 @@
397397 #include <linux/fips.h>
398398 #include <uapi/linux/module.h>
@@ -419,8 +419,8 @@
419419
420420 return 0;
421421 }
422---- linux-3.16.48.orig/kernel/ptrace.c
423-+++ linux-3.16.48/kernel/ptrace.c
422+--- linux-3.16.49.orig/kernel/ptrace.c
423++++ linux-3.16.49/kernel/ptrace.c
424424 @@ -1087,6 +1087,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.16.48.orig/kernel/reboot.c
449-+++ linux-3.16.48/kernel/reboot.c
448+--- linux-3.16.49.orig/kernel/reboot.c
449++++ linux-3.16.49/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.16.48.orig/kernel/sched/core.c
468-+++ linux-3.16.48/kernel/sched/core.c
467+--- linux-3.16.49.orig/kernel/sched/core.c
468++++ linux-3.16.49/kernel/sched/core.c
469469 @@ -3164,6 +3164,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.16.48.orig/kernel/signal.c
479-+++ linux-3.16.48/kernel/signal.c
478+--- linux-3.16.49.orig/kernel/signal.c
479++++ linux-3.16.49/kernel/signal.c
480480 @@ -2895,6 +2895,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.16.48.orig/kernel/sys.c
526-+++ linux-3.16.48/kernel/sys.c
525+--- linux-3.16.49.orig/kernel/sys.c
526++++ linux-3.16.49/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.16.48.orig/kernel/time/ntp.c
557-+++ linux-3.16.48/kernel/time/ntp.c
556+--- linux-3.16.49.orig/kernel/time/ntp.c
557++++ linux-3.16.49/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.16.48.orig/net/ipv4/raw.c
592-+++ linux-3.16.48/net/ipv4/raw.c
591+--- linux-3.16.49.orig/net/ipv4/raw.c
592++++ linux-3.16.49/net/ipv4/raw.c
593593 @@ -706,6 +706,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.16.48.orig/net/ipv4/udp.c
605-+++ linux-3.16.48/net/ipv4/udp.c
604+--- linux-3.16.49.orig/net/ipv4/udp.c
605++++ linux-3.16.49/net/ipv4/udp.c
606606 @@ -1285,6 +1285,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.16.48.orig/net/ipv6/raw.c
618-+++ linux-3.16.48/net/ipv6/raw.c
617+--- linux-3.16.49.orig/net/ipv6/raw.c
618++++ linux-3.16.49/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.16.48.orig/net/ipv6/udp.c
631-+++ linux-3.16.48/net/ipv6/udp.c
630+--- linux-3.16.49.orig/net/ipv6/udp.c
631++++ linux-3.16.49/net/ipv6/udp.c
632632 @@ -404,6 +404,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.16.48.orig/net/socket.c
644-+++ linux-3.16.48/net/socket.c
643+--- linux-3.16.49.orig/net/socket.c
644++++ linux-3.16.49/net/socket.c
645645 @@ -1631,6 +1631,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.16.48.orig/net/unix/af_unix.c
657-+++ linux-3.16.48/net/unix/af_unix.c
656+--- linux-3.16.49.orig/net/unix/af_unix.c
657++++ linux-3.16.49/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.16.48.orig/security/Kconfig
670-+++ linux-3.16.48/security/Kconfig
669+--- linux-3.16.49.orig/security/Kconfig
670++++ linux-3.16.49/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.16.48.orig/security/Makefile
680-+++ linux-3.16.48/security/Makefile
679+--- linux-3.16.49.orig/security/Makefile
680++++ linux-3.16.49/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.16.48.orig/security/security.c
689-+++ linux-3.16.48/security/security.c
688+--- linux-3.16.49.orig/security/security.c
689++++ linux-3.16.49/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-3.18.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-3.18.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 3.18.71.
1+This is TOMOYO Linux patch for kernel 3.18.79.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.71.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.79.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.71.orig/fs/exec.c
33-+++ linux-3.18.71/fs/exec.c
32+--- linux-3.18.79.orig/fs/exec.c
33++++ linux-3.18.79/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.71.orig/fs/open.c
44-+++ linux-3.18.71/fs/open.c
43+--- linux-3.18.79.orig/fs/open.c
44++++ linux-3.18.79/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.71.orig/fs/proc/version.c
55-+++ linux-3.18.71/fs/proc/version.c
54+--- linux-3.18.79.orig/fs/proc/version.c
55++++ linux-3.18.79/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.71 2017/09/14\n");
63++ printk(KERN_INFO "Hook version: 3.18.79 2017/11/04\n");
6464 + return 0;
6565 +}
6666 +fs_initcall(ccs_show_version);
67---- linux-3.18.71.orig/include/linux/init_task.h
68-+++ linux-3.18.71/include/linux/init_task.h
67+--- linux-3.18.79.orig/include/linux/init_task.h
68++++ linux-3.18.79/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.71.orig/include/linux/sched.h
93-+++ linux-3.18.71/include/linux/sched.h
92+--- linux-3.18.79.orig/include/linux/sched.h
93++++ linux-3.18.79/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.71.orig/include/linux/security.h
115-+++ linux-3.18.71/include/linux/security.h
114+--- linux-3.18.79.orig/include/linux/security.h
115++++ linux-3.18.79/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.71.orig/include/net/ip.h
328-+++ linux-3.18.71/include/net/ip.h
327+--- linux-3.18.79.orig/include/net/ip.h
328++++ linux-3.18.79/include/net/ip.h
329329 @@ -216,6 +216,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.71.orig/kernel/fork.c
348-+++ linux-3.18.71/kernel/fork.c
347+--- linux-3.18.79.orig/kernel/fork.c
348++++ linux-3.18.79/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.71.orig/kernel/kexec.c
376-+++ linux-3.18.71/kernel/kexec.c
375+--- linux-3.18.79.orig/kernel/kexec.c
376++++ linux-3.18.79/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.71.orig/kernel/module.c
395-+++ linux-3.18.71/kernel/module.c
394+--- linux-3.18.79.orig/kernel/module.c
395++++ linux-3.18.79/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.71.orig/kernel/ptrace.c
423-+++ linux-3.18.71/kernel/ptrace.c
422+--- linux-3.18.79.orig/kernel/ptrace.c
423++++ linux-3.18.79/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.71.orig/kernel/reboot.c
449-+++ linux-3.18.71/kernel/reboot.c
448+--- linux-3.18.79.orig/kernel/reboot.c
449++++ linux-3.18.79/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.71.orig/kernel/sched/core.c
468-+++ linux-3.18.71/kernel/sched/core.c
467+--- linux-3.18.79.orig/kernel/sched/core.c
468++++ linux-3.18.79/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.71.orig/kernel/signal.c
479-+++ linux-3.18.71/kernel/signal.c
478+--- linux-3.18.79.orig/kernel/signal.c
479++++ linux-3.18.79/kernel/signal.c
480480 @@ -2895,6 +2895,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.71.orig/kernel/sys.c
526-+++ linux-3.18.71/kernel/sys.c
525+--- linux-3.18.79.orig/kernel/sys.c
526++++ linux-3.18.79/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.71.orig/kernel/time/ntp.c
557-+++ linux-3.18.71/kernel/time/ntp.c
556+--- linux-3.18.79.orig/kernel/time/ntp.c
557++++ linux-3.18.79/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.71.orig/net/ipv4/raw.c
592-+++ linux-3.18.71/net/ipv4/raw.c
591+--- linux-3.18.79.orig/net/ipv4/raw.c
592++++ linux-3.18.79/net/ipv4/raw.c
593593 @@ -714,6 +714,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.71.orig/net/ipv4/udp.c
605-+++ linux-3.18.71/net/ipv4/udp.c
604+--- linux-3.18.79.orig/net/ipv4/udp.c
605++++ linux-3.18.79/net/ipv4/udp.c
606606 @@ -1263,6 +1263,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.71.orig/net/ipv6/raw.c
618-+++ linux-3.18.71/net/ipv6/raw.c
617+--- linux-3.18.79.orig/net/ipv6/raw.c
618++++ linux-3.18.79/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.71.orig/net/ipv6/udp.c
631-+++ linux-3.18.71/net/ipv6/udp.c
630+--- linux-3.18.79.orig/net/ipv6/udp.c
631++++ linux-3.18.79/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.71.orig/net/socket.c
644-+++ linux-3.18.71/net/socket.c
643+--- linux-3.18.79.orig/net/socket.c
644++++ linux-3.18.79/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.71.orig/net/unix/af_unix.c
657-+++ linux-3.18.71/net/unix/af_unix.c
656+--- linux-3.18.79.orig/net/unix/af_unix.c
657++++ linux-3.18.79/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.71.orig/security/Kconfig
670-+++ linux-3.18.71/security/Kconfig
669+--- linux-3.18.79.orig/security/Kconfig
670++++ linux-3.18.79/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.71.orig/security/Makefile
680-+++ linux-3.18.71/security/Makefile
679+--- linux-3.18.79.orig/security/Makefile
680++++ linux-3.18.79/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.71.orig/security/security.c
689-+++ linux-3.18.71/security/security.c
688+--- linux-3.18.79.orig/security/security.c
689++++ linux-3.18.79/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-3.2-debian-wheezy.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-3.2-debian-wheezy.diff (revision 250)
@@ -28,9 +28,9 @@
2828 security/security.c | 134 +++++++++++++++++++++++++++++++++++++---------
2929 24 files changed, 247 insertions(+), 49 deletions(-)
3030
31---- linux-3.2.89-2.orig/fs/exec.c
32-+++ linux-3.2.89-2/fs/exec.c
33-@@ -1572,7 +1572,7 @@ static int do_execve_common(const char *
31+--- linux-3.2.93-1.orig/fs/exec.c
32++++ linux-3.2.93-1/fs/exec.c
33+@@ -1592,7 +1592,7 @@ static int do_execve_common(const char *
3434 if (retval < 0)
3535 goto out;
3636
@@ -39,8 +39,8 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-3.2.89-2.orig/fs/open.c
43-+++ linux-3.2.89-2/fs/open.c
42+--- linux-3.2.93-1.orig/fs/open.c
43++++ linux-3.2.93-1/fs/open.c
4444 @@ -1106,6 +1106,8 @@ EXPORT_SYMBOL(sys_close);
4545 */
4646 SYSCALL_DEFINE0(vhangup)
@@ -50,8 +50,8 @@
5050 if (capable(CAP_SYS_TTY_CONFIG)) {
5151 tty_vhangup_self();
5252 return 0;
53---- linux-3.2.89-2.orig/fs/proc/version.c
54-+++ linux-3.2.89-2/fs/proc/version.c
53+--- linux-3.2.93-1.orig/fs/proc/version.c
54++++ linux-3.2.93-1/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.2.89-2 2017/08/05\n");
62++ printk(KERN_INFO "Hook version: 3.2.93-1 2017/09/25\n");
6363 + return 0;
6464 +}
6565 +module_init(ccs_show_version);
66---- linux-3.2.89-2.orig/include/linux/init_task.h
67-+++ linux-3.2.89-2/include/linux/init_task.h
66+--- linux-3.2.93-1.orig/include/linux/init_task.h
67++++ linux-3.2.93-1/include/linux/init_task.h
6868 @@ -144,6 +144,14 @@ extern struct task_group root_task_group
6969
7070 #define INIT_TASK_COMM "swapper"
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-3.2.89-2.orig/include/linux/sched.h
92-+++ linux-3.2.89-2/include/linux/sched.h
91+--- linux-3.2.93-1.orig/include/linux/sched.h
92++++ linux-3.2.93-1/include/linux/sched.h
9393 @@ -44,6 +44,8 @@
9494
9595 #ifdef __KERNEL__
@@ -110,8 +110,8 @@
110110 };
111111
112112 /* Future-safe accessor for struct task_struct's cpus_allowed. */
113---- linux-3.2.89-2.orig/include/linux/security.h
114-+++ linux-3.2.89-2/include/linux/security.h
113+--- linux-3.2.93-1.orig/include/linux/security.h
114++++ linux-3.2.93-1/include/linux/security.h
115115 @@ -38,6 +38,7 @@
116116 #include <linux/slab.h>
117117 #include <linux/xattr.h>
@@ -310,8 +310,8 @@
310310 }
311311 #endif /* CONFIG_SECURITY_PATH */
312312
313---- linux-3.2.89-2.orig/include/net/ip.h
314-+++ linux-3.2.89-2/include/net/ip.h
313+--- linux-3.2.93-1.orig/include/net/ip.h
314++++ linux-3.2.93-1/include/net/ip.h
315315 @@ -218,6 +218,8 @@ extern void inet_get_local_port_range(in
316316 extern unsigned long *sysctl_local_reserved_ports;
317317 static inline int inet_is_reserved_local_port(int port)
@@ -321,8 +321,8 @@
321321 return test_bit(port, sysctl_local_reserved_ports);
322322 }
323323
324---- linux-3.2.89-2.orig/kernel/fork.c
325-+++ linux-3.2.89-2/kernel/fork.c
324+--- linux-3.2.93-1.orig/kernel/fork.c
325++++ linux-3.2.93-1/kernel/fork.c
326326 @@ -195,6 +195,7 @@ void __put_task_struct(struct task_struc
327327 delayacct_tsk_free(tsk);
328328 put_signal_struct(tsk->signal);
@@ -349,8 +349,8 @@
349349 bad_fork_cleanup_perf:
350350 perf_event_free_task(p);
351351 bad_fork_cleanup_policy:
352---- linux-3.2.89-2.orig/kernel/kexec.c
353-+++ linux-3.2.89-2/kernel/kexec.c
352+--- linux-3.2.93-1.orig/kernel/kexec.c
353++++ linux-3.2.93-1/kernel/kexec.c
354354 @@ -39,6 +39,7 @@
355355 #include <asm/io.h>
356356 #include <asm/system.h>
@@ -368,8 +368,8 @@
368368
369369 /*
370370 * Verify we have a legal set of flags
371---- linux-3.2.89-2.orig/kernel/module.c
372-+++ linux-3.2.89-2/kernel/module.c
371+--- linux-3.2.93-1.orig/kernel/module.c
372++++ linux-3.2.93-1/kernel/module.c
373373 @@ -58,6 +58,7 @@
374374 #include <linux/jump_label.h>
375375 #include <linux/pfn.h>
@@ -396,9 +396,9 @@
396396
397397 /* Do all the hard work */
398398 mod = load_module(umod, len, uargs);
399---- linux-3.2.89-2.orig/kernel/ptrace.c
400-+++ linux-3.2.89-2/kernel/ptrace.c
401-@@ -928,6 +928,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
399+--- linux-3.2.93-1.orig/kernel/ptrace.c
400++++ linux-3.2.93-1/kernel/ptrace.c
401+@@ -961,6 +961,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
404404 long ret;
@@ -410,7 +410,7 @@
410410
411411 if (request == PTRACE_TRACEME) {
412412 ret = ptrace_traceme();
413-@@ -1075,6 +1080,11 @@ asmlinkage long compat_sys_ptrace(compat
413+@@ -1108,6 +1113,11 @@ asmlinkage long compat_sys_ptrace(compat
414414 {
415415 struct task_struct *child;
416416 long ret;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-3.2.89-2.orig/kernel/sched.c
426-+++ linux-3.2.89-2/kernel/sched.c
425+--- linux-3.2.93-1.orig/kernel/sched.c
426++++ linux-3.2.93-1/kernel/sched.c
427427 @@ -5342,6 +5342,8 @@ int can_nice(const struct task_struct *p
428428 SYSCALL_DEFINE1(nice, int, increment)
429429 {
@@ -433,9 +433,9 @@
433433
434434 /*
435435 * Setpriority might change our priority at the same moment.
436---- linux-3.2.89-2.orig/kernel/signal.c
437-+++ linux-3.2.89-2/kernel/signal.c
438-@@ -2748,6 +2748,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
436+--- linux-3.2.93-1.orig/kernel/signal.c
437++++ linux-3.2.93-1/kernel/signal.c
438+@@ -2756,6 +2756,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
439439 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
440440 {
441441 struct siginfo info;
@@ -444,7 +444,7 @@
444444
445445 info.si_signo = sig;
446446 info.si_errno = 0;
447-@@ -2816,6 +2818,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
447+@@ -2824,6 +2826,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
448448 /* This is only valid for single tasks */
449449 if (pid <= 0 || tgid <= 0)
450450 return -EINVAL;
@@ -453,7 +453,7 @@
453453
454454 return do_tkill(tgid, pid, sig);
455455 }
456-@@ -2832,6 +2836,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
456+@@ -2840,6 +2844,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
457457 /* This is only valid for single tasks */
458458 if (pid <= 0)
459459 return -EINVAL;
@@ -462,7 +462,7 @@
462462
463463 return do_tkill(0, pid, sig);
464464 }
465-@@ -2859,6 +2865,8 @@ SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t,
465+@@ -2867,6 +2873,8 @@ SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t,
466466 return -EPERM;
467467 }
468468 info.si_signo = sig;
@@ -471,7 +471,7 @@
471471
472472 /* POSIX.1b doesn't mention process groups. */
473473 return kill_proc_info(sig, &info, pid);
474-@@ -2879,6 +2887,8 @@ long do_rt_tgsigqueueinfo(pid_t tgid, pi
474+@@ -2887,6 +2895,8 @@ long do_rt_tgsigqueueinfo(pid_t tgid, pi
475475 return -EPERM;
476476 }
477477 info->si_signo = sig;
@@ -480,8 +480,8 @@
480480
481481 return do_send_specific(tgid, pid, sig, info);
482482 }
483---- linux-3.2.89-2.orig/kernel/sys.c
484-+++ linux-3.2.89-2/kernel/sys.c
483+--- linux-3.2.93-1.orig/kernel/sys.c
484++++ linux-3.2.93-1/kernel/sys.c
485485 @@ -180,6 +180,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
486486
487487 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -520,8 +520,8 @@
520520
521521 down_write(&uts_sem);
522522 errno = -EFAULT;
523---- linux-3.2.89-2.orig/kernel/time/ntp.c
524-+++ linux-3.2.89-2/kernel/time/ntp.c
523+--- linux-3.2.93-1.orig/kernel/time/ntp.c
524++++ linux-3.2.93-1/kernel/time/ntp.c
525525 @@ -15,6 +15,7 @@
526526 #include <linux/time.h>
527527 #include <linux/mm.h>
@@ -555,8 +555,8 @@
555555 if (!(txc->modes & ADJ_NANO))
556556 delta.tv_nsec *= 1000;
557557 result = timekeeping_inject_offset(&delta);
558---- linux-3.2.89-2.orig/net/ipv4/raw.c
559-+++ linux-3.2.89-2/net/ipv4/raw.c
558+--- linux-3.2.93-1.orig/net/ipv4/raw.c
559++++ linux-3.2.93-1/net/ipv4/raw.c
560560 @@ -699,6 +699,10 @@ static int raw_recvmsg(struct kiocb *ioc
561561 skb = skb_recv_datagram(sk, flags, noblock, &err);
562562 if (!skb)
@@ -568,8 +568,8 @@
568568
569569 copied = skb->len;
570570 if (len < copied) {
571---- linux-3.2.89-2.orig/net/ipv4/udp.c
572-+++ linux-3.2.89-2/net/ipv4/udp.c
571+--- linux-3.2.93-1.orig/net/ipv4/udp.c
572++++ linux-3.2.93-1/net/ipv4/udp.c
573573 @@ -1185,6 +1185,10 @@ try_again:
574574 &peeked, &err);
575575 if (!skb)
@@ -581,8 +581,8 @@
581581
582582 ulen = skb->len - sizeof(struct udphdr);
583583 copied = len;
584---- linux-3.2.89-2.orig/net/ipv6/raw.c
585-+++ linux-3.2.89-2/net/ipv6/raw.c
584+--- linux-3.2.93-1.orig/net/ipv6/raw.c
585++++ linux-3.2.93-1/net/ipv6/raw.c
586586 @@ -465,6 +465,10 @@ static int rawv6_recvmsg(struct kiocb *i
587587 skb = skb_recv_datagram(sk, flags, noblock, &err);
588588 if (!skb)
@@ -594,8 +594,8 @@
594594
595595 copied = skb->len;
596596 if (copied > len) {
597---- linux-3.2.89-2.orig/net/ipv6/udp.c
598-+++ linux-3.2.89-2/net/ipv6/udp.c
597+--- linux-3.2.93-1.orig/net/ipv6/udp.c
598++++ linux-3.2.93-1/net/ipv6/udp.c
599599 @@ -359,6 +359,10 @@ try_again:
600600 &peeked, &err);
601601 if (!skb)
@@ -607,8 +607,8 @@
607607
608608 ulen = skb->len - sizeof(struct udphdr);
609609 copied = len;
610---- linux-3.2.89-2.orig/net/socket.c
611-+++ linux-3.2.89-2/net/socket.c
610+--- linux-3.2.93-1.orig/net/socket.c
611++++ linux-3.2.93-1/net/socket.c
612612 @@ -1531,6 +1531,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
613613 if (err < 0)
614614 goto out_fd;
@@ -620,8 +620,8 @@
620620 if (upeer_sockaddr) {
621621 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
622622 &len, 2) < 0) {
623---- linux-3.2.89-2.orig/net/unix/af_unix.c
624-+++ linux-3.2.89-2/net/unix/af_unix.c
623+--- linux-3.2.93-1.orig/net/unix/af_unix.c
624++++ linux-3.2.93-1/net/unix/af_unix.c
625625 @@ -1957,6 +1957,10 @@ static int unix_dgram_recvmsg(struct kio
626626 wake_up_interruptible_sync_poll(&u->peer_wait,
627627 POLLOUT | POLLWRNORM | POLLWRBAND);
@@ -633,8 +633,8 @@
633633 if (msg->msg_name)
634634 unix_copy_addr(msg, skb->sk);
635635
636---- linux-3.2.89-2.orig/security/Kconfig
637-+++ linux-3.2.89-2/security/Kconfig
636+--- linux-3.2.93-1.orig/security/Kconfig
637++++ linux-3.2.93-1/security/Kconfig
638638 @@ -236,5 +236,7 @@ config DEFAULT_SECURITY
639639 default "apparmor" if DEFAULT_SECURITY_APPARMOR
640640 default "" if DEFAULT_SECURITY_DAC
@@ -643,8 +643,8 @@
643643 +
644644 endmenu
645645
646---- linux-3.2.89-2.orig/security/Makefile
647-+++ linux-3.2.89-2/security/Makefile
646+--- linux-3.2.93-1.orig/security/Makefile
647++++ linux-3.2.93-1/security/Makefile
648648 @@ -26,3 +26,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
649649 # Object integrity file lists
650650 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -652,8 +652,8 @@
652652 +
653653 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
654654 +obj-$(CONFIG_CCSECURITY) += ccsecurity/built-in.o
655---- linux-3.2.89-2.orig/security/security.c
656-+++ linux-3.2.89-2/security/security.c
655+--- linux-3.2.93-1.orig/security/security.c
656++++ linux-3.2.93-1/security/security.c
657657 @@ -203,7 +203,10 @@ int security_syslog(int type)
658658
659659 int security_settime(const struct timespec *ts, const struct timezone *tz)
--- trunk/caitsith-patch/patches/ccs-patch-3.2.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-3.2.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 3.2.93.
1+This is TOMOYO Linux patch for kernel 3.2.94.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.93.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.94.tar.xz
44 ---
55 fs/exec.c | 2
66 fs/open.c | 2
@@ -28,8 +28,8 @@
2828 security/security.c | 134 +++++++++++++++++++++++++++++++++++++---------
2929 24 files changed, 247 insertions(+), 49 deletions(-)
3030
31---- linux-3.2.93.orig/fs/exec.c
32-+++ linux-3.2.93/fs/exec.c
31+--- linux-3.2.94.orig/fs/exec.c
32++++ linux-3.2.94/fs/exec.c
3333 @@ -1592,7 +1592,7 @@ static int do_execve_common(const char *
3434 if (retval < 0)
3535 goto out;
@@ -39,8 +39,8 @@
3939 if (retval < 0)
4040 goto out;
4141
42---- linux-3.2.93.orig/fs/open.c
43-+++ linux-3.2.93/fs/open.c
42+--- linux-3.2.94.orig/fs/open.c
43++++ linux-3.2.94/fs/open.c
4444 @@ -1105,6 +1105,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.2.93.orig/fs/proc/version.c
54-+++ linux-3.2.93/fs/proc/version.c
53+--- linux-3.2.94.orig/fs/proc/version.c
54++++ linux-3.2.94/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.2.93 2017/09/17\n");
62++ printk(KERN_INFO "Hook version: 3.2.94 2017/10/16\n");
6363 + return 0;
6464 +}
6565 +module_init(ccs_show_version);
66---- linux-3.2.93.orig/include/linux/init_task.h
67-+++ linux-3.2.93/include/linux/init_task.h
66+--- linux-3.2.94.orig/include/linux/init_task.h
67++++ linux-3.2.94/include/linux/init_task.h
6868 @@ -144,6 +144,14 @@ extern struct task_group root_task_group
6969
7070 #define INIT_TASK_COMM "swapper"
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-3.2.93.orig/include/linux/sched.h
92-+++ linux-3.2.93/include/linux/sched.h
91+--- linux-3.2.94.orig/include/linux/sched.h
92++++ linux-3.2.94/include/linux/sched.h
9393 @@ -44,6 +44,8 @@
9494
9595 #ifdef __KERNEL__
@@ -99,7 +99,7 @@
9999 struct sched_param {
100100 int sched_priority;
101101 };
102-@@ -1583,6 +1585,10 @@ struct task_struct {
102+@@ -1585,6 +1587,10 @@ struct task_struct {
103103 #ifdef CONFIG_HAVE_HW_BREAKPOINT
104104 atomic_t ptrace_bp_refcnt;
105105 #endif
@@ -110,8 +110,8 @@
110110 };
111111
112112 /* Future-safe accessor for struct task_struct's cpus_allowed. */
113---- linux-3.2.93.orig/include/linux/security.h
114-+++ linux-3.2.93/include/linux/security.h
113+--- linux-3.2.94.orig/include/linux/security.h
114++++ linux-3.2.94/include/linux/security.h
115115 @@ -38,6 +38,7 @@
116116 #include <linux/slab.h>
117117 #include <linux/xattr.h>
@@ -310,8 +310,8 @@
310310 }
311311 #endif /* CONFIG_SECURITY_PATH */
312312
313---- linux-3.2.93.orig/include/net/ip.h
314-+++ linux-3.2.93/include/net/ip.h
313+--- linux-3.2.94.orig/include/net/ip.h
314++++ linux-3.2.94/include/net/ip.h
315315 @@ -218,6 +218,8 @@ extern void inet_get_local_port_range(in
316316 extern unsigned long *sysctl_local_reserved_ports;
317317 static inline int inet_is_reserved_local_port(int port)
@@ -321,8 +321,8 @@
321321 return test_bit(port, sysctl_local_reserved_ports);
322322 }
323323
324---- linux-3.2.93.orig/kernel/fork.c
325-+++ linux-3.2.93/kernel/fork.c
324+--- linux-3.2.94.orig/kernel/fork.c
325++++ linux-3.2.94/kernel/fork.c
326326 @@ -195,6 +195,7 @@ void __put_task_struct(struct task_struc
327327 delayacct_tsk_free(tsk);
328328 put_signal_struct(tsk->signal);
@@ -349,8 +349,8 @@
349349 bad_fork_cleanup_perf:
350350 perf_event_free_task(p);
351351 bad_fork_cleanup_policy:
352---- linux-3.2.93.orig/kernel/kexec.c
353-+++ linux-3.2.93/kernel/kexec.c
352+--- linux-3.2.94.orig/kernel/kexec.c
353++++ linux-3.2.94/kernel/kexec.c
354354 @@ -40,6 +40,7 @@
355355 #include <asm/io.h>
356356 #include <asm/system.h>
@@ -368,8 +368,8 @@
368368
369369 /*
370370 * Verify we have a legal set of flags
371---- linux-3.2.93.orig/kernel/module.c
372-+++ linux-3.2.93/kernel/module.c
371+--- linux-3.2.94.orig/kernel/module.c
372++++ linux-3.2.94/kernel/module.c
373373 @@ -58,6 +58,7 @@
374374 #include <linux/jump_label.h>
375375 #include <linux/pfn.h>
@@ -396,8 +396,8 @@
396396
397397 /* Do all the hard work */
398398 mod = load_module(umod, len, uargs);
399---- linux-3.2.93.orig/kernel/ptrace.c
400-+++ linux-3.2.93/kernel/ptrace.c
399+--- linux-3.2.94.orig/kernel/ptrace.c
400++++ linux-3.2.94/kernel/ptrace.c
401401 @@ -957,6 +957,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
402402 {
403403 struct task_struct *child;
@@ -422,8 +422,8 @@
422422
423423 if (request == PTRACE_TRACEME) {
424424 ret = ptrace_traceme();
425---- linux-3.2.93.orig/kernel/sched.c
426-+++ linux-3.2.93/kernel/sched.c
425+--- linux-3.2.94.orig/kernel/sched.c
426++++ linux-3.2.94/kernel/sched.c
427427 @@ -5342,6 +5342,8 @@ int can_nice(const struct task_struct *p
428428 SYSCALL_DEFINE1(nice, int, increment)
429429 {
@@ -433,8 +433,8 @@
433433
434434 /*
435435 * Setpriority might change our priority at the same moment.
436---- linux-3.2.93.orig/kernel/signal.c
437-+++ linux-3.2.93/kernel/signal.c
436+--- linux-3.2.94.orig/kernel/signal.c
437++++ linux-3.2.94/kernel/signal.c
438438 @@ -2756,6 +2756,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
439439 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
440440 {
@@ -480,8 +480,8 @@
480480
481481 return do_send_specific(tgid, pid, sig, info);
482482 }
483---- linux-3.2.93.orig/kernel/sys.c
484-+++ linux-3.2.93/kernel/sys.c
483+--- linux-3.2.94.orig/kernel/sys.c
484++++ linux-3.2.94/kernel/sys.c
485485 @@ -180,6 +180,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
486486
487487 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -520,8 +520,8 @@
520520
521521 down_write(&uts_sem);
522522 errno = -EFAULT;
523---- linux-3.2.93.orig/kernel/time/ntp.c
524-+++ linux-3.2.93/kernel/time/ntp.c
523+--- linux-3.2.94.orig/kernel/time/ntp.c
524++++ linux-3.2.94/kernel/time/ntp.c
525525 @@ -15,6 +15,7 @@
526526 #include <linux/time.h>
527527 #include <linux/mm.h>
@@ -555,8 +555,8 @@
555555 if (!(txc->modes & ADJ_NANO))
556556 delta.tv_nsec *= 1000;
557557 result = timekeeping_inject_offset(&delta);
558---- linux-3.2.93.orig/net/ipv4/raw.c
559-+++ linux-3.2.93/net/ipv4/raw.c
558+--- linux-3.2.94.orig/net/ipv4/raw.c
559++++ linux-3.2.94/net/ipv4/raw.c
560560 @@ -699,6 +699,10 @@ static int raw_recvmsg(struct kiocb *ioc
561561 skb = skb_recv_datagram(sk, flags, noblock, &err);
562562 if (!skb)
@@ -568,8 +568,8 @@
568568
569569 copied = skb->len;
570570 if (len < copied) {
571---- linux-3.2.93.orig/net/ipv4/udp.c
572-+++ linux-3.2.93/net/ipv4/udp.c
571+--- linux-3.2.94.orig/net/ipv4/udp.c
572++++ linux-3.2.94/net/ipv4/udp.c
573573 @@ -1185,6 +1185,10 @@ try_again:
574574 &peeked, &err);
575575 if (!skb)
@@ -581,8 +581,8 @@
581581
582582 ulen = skb->len - sizeof(struct udphdr);
583583 copied = len;
584---- linux-3.2.93.orig/net/ipv6/raw.c
585-+++ linux-3.2.93/net/ipv6/raw.c
584+--- linux-3.2.94.orig/net/ipv6/raw.c
585++++ linux-3.2.94/net/ipv6/raw.c
586586 @@ -465,6 +465,10 @@ static int rawv6_recvmsg(struct kiocb *i
587587 skb = skb_recv_datagram(sk, flags, noblock, &err);
588588 if (!skb)
@@ -594,8 +594,8 @@
594594
595595 copied = skb->len;
596596 if (copied > len) {
597---- linux-3.2.93.orig/net/ipv6/udp.c
598-+++ linux-3.2.93/net/ipv6/udp.c
597+--- linux-3.2.94.orig/net/ipv6/udp.c
598++++ linux-3.2.94/net/ipv6/udp.c
599599 @@ -359,6 +359,10 @@ try_again:
600600 &peeked, &err);
601601 if (!skb)
@@ -607,8 +607,8 @@
607607
608608 ulen = skb->len - sizeof(struct udphdr);
609609 copied = len;
610---- linux-3.2.93.orig/net/socket.c
611-+++ linux-3.2.93/net/socket.c
610+--- linux-3.2.94.orig/net/socket.c
611++++ linux-3.2.94/net/socket.c
612612 @@ -1531,6 +1531,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
613613 if (err < 0)
614614 goto out_fd;
@@ -620,8 +620,8 @@
620620 if (upeer_sockaddr) {
621621 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
622622 &len, 2) < 0) {
623---- linux-3.2.93.orig/net/unix/af_unix.c
624-+++ linux-3.2.93/net/unix/af_unix.c
623+--- linux-3.2.94.orig/net/unix/af_unix.c
624++++ linux-3.2.94/net/unix/af_unix.c
625625 @@ -1957,6 +1957,10 @@ static int unix_dgram_recvmsg(struct kio
626626 wake_up_interruptible_sync_poll(&u->peer_wait,
627627 POLLOUT | POLLWRNORM | POLLWRBAND);
@@ -633,8 +633,8 @@
633633 if (msg->msg_name)
634634 unix_copy_addr(msg, skb->sk);
635635
636---- linux-3.2.93.orig/security/Kconfig
637-+++ linux-3.2.93/security/Kconfig
636+--- linux-3.2.94.orig/security/Kconfig
637++++ linux-3.2.94/security/Kconfig
638638 @@ -227,5 +227,7 @@ config DEFAULT_SECURITY
639639 default "apparmor" if DEFAULT_SECURITY_APPARMOR
640640 default "" if DEFAULT_SECURITY_DAC
@@ -643,8 +643,8 @@
643643 +
644644 endmenu
645645
646---- linux-3.2.93.orig/security/Makefile
647-+++ linux-3.2.93/security/Makefile
646+--- linux-3.2.94.orig/security/Makefile
647++++ linux-3.2.94/security/Makefile
648648 @@ -26,3 +26,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
649649 # Object integrity file lists
650650 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -652,8 +652,8 @@
652652 +
653653 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
654654 +obj-$(CONFIG_CCSECURITY) += ccsecurity/built-in.o
655---- linux-3.2.93.orig/security/security.c
656-+++ linux-3.2.93/security/security.c
655+--- linux-3.2.94.orig/security/security.c
656++++ linux-3.2.94/security/security.c
657657 @@ -203,7 +203,10 @@ int security_syslog(int type)
658658
659659 int security_settime(const struct timespec *ts, const struct timezone *tz)
--- trunk/caitsith-patch/patches/ccs-patch-4.1.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-4.1.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.1.43.
1+This is TOMOYO Linux patch for kernel 4.1.45.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.43.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.45.tar.xz
44 ---
55 fs/exec.c | 2
66 fs/open.c | 2
@@ -29,8 +29,8 @@
2929 security/security.c | 110 ++++++++++++++++++++++++++++++++++++++++------
3030 25 files changed, 248 insertions(+), 37 deletions(-)
3131
32---- linux-4.1.43.orig/fs/exec.c
33-+++ linux-4.1.43/fs/exec.c
32+--- linux-4.1.45.orig/fs/exec.c
33++++ linux-4.1.45/fs/exec.c
3434 @@ -1488,7 +1488,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-4.1.43.orig/fs/open.c
44-+++ linux-4.1.43/fs/open.c
43+--- linux-4.1.45.orig/fs/open.c
44++++ linux-4.1.45/fs/open.c
4545 @@ -1113,6 +1113,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-4.1.43.orig/fs/proc/version.c
55-+++ linux-4.1.43/fs/proc/version.c
54+--- linux-4.1.45.orig/fs/proc/version.c
55++++ linux-4.1.45/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: 4.1.43 2017/08/07\n");
63++ printk(KERN_INFO "Hook version: 4.1.45 2017/10/23\n");
6464 + return 0;
6565 +}
6666 +fs_initcall(ccs_show_version);
67---- linux-4.1.43.orig/include/linux/init_task.h
68-+++ linux-4.1.43/include/linux/init_task.h
67+--- linux-4.1.45.orig/include/linux/init_task.h
68++++ linux-4.1.45/include/linux/init_task.h
6969 @@ -182,6 +182,14 @@ extern struct task_group root_task_group
7070 # define INIT_KASAN(tsk)
7171 #endif
@@ -89,8 +89,8 @@
8989 }
9090
9191
92---- linux-4.1.43.orig/include/linux/sched.h
93-+++ linux-4.1.43/include/linux/sched.h
92+--- linux-4.1.45.orig/include/linux/sched.h
93++++ linux-4.1.45/include/linux/sched.h
9494 @@ -6,6 +6,8 @@
9595 #include <linux/sched/prio.h>
9696
@@ -100,7 +100,7 @@
100100 struct sched_param {
101101 int sched_priority;
102102 };
103-@@ -1728,6 +1730,10 @@ struct task_struct {
103+@@ -1738,6 +1740,10 @@ struct task_struct {
104104 #ifdef CONFIG_DEBUG_ATOMIC_SLEEP
105105 unsigned long task_state_change;
106106 #endif
@@ -111,8 +111,8 @@
111111 };
112112
113113 /* Future-safe accessor for struct task_struct's cpus_allowed. */
114---- linux-4.1.43.orig/include/linux/security.h
115-+++ linux-4.1.43/include/linux/security.h
114+--- linux-4.1.45.orig/include/linux/security.h
115++++ linux-4.1.45/include/linux/security.h
116116 @@ -53,6 +53,7 @@ struct msg_queue;
117117 struct xattr;
118118 struct xfrm_sec_ctx;
@@ -319,8 +319,8 @@
319319 }
320320 #endif /* CONFIG_SECURITY_PATH */
321321
322---- linux-4.1.43.orig/include/net/ip.h
323-+++ linux-4.1.43/include/net/ip.h
322+--- linux-4.1.45.orig/include/net/ip.h
323++++ linux-4.1.45/include/net/ip.h
324324 @@ -217,6 +217,8 @@ void inet_get_local_port_range(struct ne
325325 #ifdef CONFIG_SYSCTL
326326 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -339,8 +339,8 @@
339339 return 0;
340340 }
341341 #endif
342---- linux-4.1.43.orig/kernel/fork.c
343-+++ linux-4.1.43/kernel/fork.c
342+--- linux-4.1.45.orig/kernel/fork.c
343++++ linux-4.1.45/kernel/fork.c
344344 @@ -257,6 +257,7 @@ void __put_task_struct(struct task_struc
345345 delayacct_tsk_free(tsk);
346346 put_signal_struct(tsk->signal);
@@ -367,8 +367,8 @@
367367 bad_fork_cleanup_perf:
368368 perf_event_free_task(p);
369369 bad_fork_cleanup_policy:
370---- linux-4.1.43.orig/kernel/kexec.c
371-+++ linux-4.1.43/kernel/kexec.c
370+--- linux-4.1.45.orig/kernel/kexec.c
371++++ linux-4.1.45/kernel/kexec.c
372372 @@ -41,6 +41,7 @@
373373 #include <asm/uaccess.h>
374374 #include <asm/io.h>
@@ -386,8 +386,8 @@
386386
387387 /*
388388 * Verify we have a legal set of flags
389---- linux-4.1.43.orig/kernel/module.c
390-+++ linux-4.1.43/kernel/module.c
389+--- linux-4.1.45.orig/kernel/module.c
390++++ linux-4.1.45/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.1.43.orig/kernel/ptrace.c
418-+++ linux-4.1.43/kernel/ptrace.c
417+--- linux-4.1.45.orig/kernel/ptrace.c
418++++ linux-4.1.45/kernel/ptrace.c
419419 @@ -1095,6 +1095,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.1.43.orig/kernel/reboot.c
444-+++ linux-4.1.43/kernel/reboot.c
443+--- linux-4.1.45.orig/kernel/reboot.c
444++++ linux-4.1.45/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.1.43.orig/kernel/sched/core.c
463-+++ linux-4.1.43/kernel/sched/core.c
462+--- linux-4.1.45.orig/kernel/sched/core.c
463++++ linux-4.1.45/kernel/sched/core.c
464464 @@ -3174,6 +3174,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.1.43.orig/kernel/signal.c
474-+++ linux-4.1.43/kernel/signal.c
473+--- linux-4.1.45.orig/kernel/signal.c
474++++ linux-4.1.45/kernel/signal.c
475475 @@ -2901,6 +2901,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.1.43.orig/kernel/sys.c
521-+++ linux-4.1.43/kernel/sys.c
520+--- linux-4.1.45.orig/kernel/sys.c
521++++ linux-4.1.45/kernel/sys.c
522522 @@ -183,6 +183,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.1.43.orig/kernel/time/ntp.c
552-+++ linux-4.1.43/kernel/time/ntp.c
551+--- linux-4.1.45.orig/kernel/time/ntp.c
552++++ linux-4.1.45/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 /*
585585 * Check for potential multiplication overflows that can
586---- linux-4.1.43.orig/net/ipv4/raw.c
587-+++ linux-4.1.43/net/ipv4/raw.c
586+--- linux-4.1.45.orig/net/ipv4/raw.c
587++++ linux-4.1.45/net/ipv4/raw.c
588588 @@ -732,6 +732,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.1.43.orig/net/ipv4/udp.c
600-+++ linux-4.1.43/net/ipv4/udp.c
599+--- linux-4.1.45.orig/net/ipv4/udp.c
600++++ linux-4.1.45/net/ipv4/udp.c
601601 @@ -1275,6 +1275,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.1.43.orig/net/ipv6/raw.c
613-+++ linux-4.1.43/net/ipv6/raw.c
612+--- linux-4.1.45.orig/net/ipv6/raw.c
613++++ linux-4.1.45/net/ipv6/raw.c
614614 @@ -477,6 +477,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.1.43.orig/net/ipv6/udp.c
626-+++ linux-4.1.43/net/ipv6/udp.c
625+--- linux-4.1.45.orig/net/ipv6/udp.c
626++++ linux-4.1.45/net/ipv6/udp.c
627627 @@ -414,6 +414,10 @@ try_again:
628628 &peeked, &off, &err);
629629 if (!skb)
@@ -635,8 +635,8 @@
635635
636636 ulen = skb->len - sizeof(struct udphdr);
637637 copied = len;
638---- linux-4.1.43.orig/net/socket.c
639-+++ linux-4.1.43/net/socket.c
638+--- linux-4.1.45.orig/net/socket.c
639++++ linux-4.1.45/net/socket.c
640640 @@ -1485,6 +1485,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
641641 if (err < 0)
642642 goto out_fd;
@@ -648,8 +648,8 @@
648648 if (upeer_sockaddr) {
649649 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
650650 &len, 2) < 0) {
651---- linux-4.1.43.orig/net/unix/af_unix.c
652-+++ linux-4.1.43/net/unix/af_unix.c
651+--- linux-4.1.45.orig/net/unix/af_unix.c
652++++ linux-4.1.45/net/unix/af_unix.c
653653 @@ -1983,6 +1983,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.1.43.orig/security/Kconfig
665-+++ linux-4.1.43/security/Kconfig
664+--- linux-4.1.45.orig/security/Kconfig
665++++ linux-4.1.45/security/Kconfig
666666 @@ -168,5 +168,7 @@ config DEFAULT_SECURITY
667667 default "yama" if DEFAULT_SECURITY_YAMA
668668 default "" if DEFAULT_SECURITY_DAC
@@ -671,8 +671,8 @@
671671 +
672672 endmenu
673673
674---- linux-4.1.43.orig/security/Makefile
675-+++ linux-4.1.43/security/Makefile
674+--- linux-4.1.45.orig/security/Makefile
675++++ linux-4.1.45/security/Makefile
676676 @@ -27,3 +27,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
677677 # Object integrity file lists
678678 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -680,8 +680,8 @@
680680 +
681681 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
682682 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
683---- linux-4.1.43.orig/security/security.c
684-+++ linux-4.1.43/security/security.c
683+--- linux-4.1.45.orig/security/security.c
684++++ linux-4.1.45/security/security.c
685685 @@ -226,7 +226,10 @@ int security_syslog(int type)
686686
687687 int security_settime(const struct timespec *ts, const struct timezone *tz)
--- trunk/caitsith-patch/patches/ccs-patch-4.12.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-4.12.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.12.13.
1+This is TOMOYO Linux patch for kernel 4.12.14.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.13.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.14.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.12.13.orig/fs/exec.c
32-+++ linux-4.12.13/fs/exec.c
31+--- linux-4.12.14.orig/fs/exec.c
32++++ linux-4.12.14/fs/exec.c
3333 @@ -1665,7 +1665,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.12.13.orig/fs/open.c
43-+++ linux-4.12.13/fs/open.c
42+--- linux-4.12.14.orig/fs/open.c
43++++ linux-4.12.14/fs/open.c
4444 @@ -1167,6 +1167,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.12.13.orig/fs/proc/version.c
54-+++ linux-4.12.13/fs/proc/version.c
53+--- linux-4.12.14.orig/fs/proc/version.c
54++++ linux-4.12.14/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.12.13 2017/09/14\n");
62++ printk(KERN_INFO "Hook version: 4.12.14 2017/09/25\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.12.13.orig/include/linux/init_task.h
67-+++ linux-4.12.13/include/linux/init_task.h
66+--- linux-4.12.14.orig/include/linux/init_task.h
67++++ linux-4.12.14/include/linux/init_task.h
6868 @@ -225,6 +225,14 @@ extern struct cred init_cred;
6969 #define INIT_TASK_SECURITY
7070 #endif
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-4.12.13.orig/include/linux/sched.h
92-+++ linux-4.12.13/include/linux/sched.h
91+--- linux-4.12.14.orig/include/linux/sched.h
92++++ linux-4.12.14/include/linux/sched.h
9393 @@ -32,6 +32,7 @@ struct audit_context;
9494 struct backing_dev_info;
9595 struct bio_list;
@@ -109,8 +109,8 @@
109109 /* CPU-specific state of this task: */
110110 struct thread_struct thread;
111111
112---- linux-4.12.13.orig/include/linux/security.h
113-+++ linux-4.12.13/include/linux/security.h
112+--- linux-4.12.14.orig/include/linux/security.h
113++++ linux-4.12.14/include/linux/security.h
114114 @@ -55,6 +55,7 @@ struct msg_queue;
115115 struct xattr;
116116 struct xfrm_sec_ctx;
@@ -333,8 +333,8 @@
333333 }
334334 #endif /* CONFIG_SECURITY_PATH */
335335
336---- linux-4.12.13.orig/include/net/ip.h
337-+++ linux-4.12.13/include/net/ip.h
336+--- linux-4.12.14.orig/include/net/ip.h
337++++ linux-4.12.14/include/net/ip.h
338338 @@ -255,6 +255,8 @@ void inet_get_local_port_range(struct ne
339339 #ifdef CONFIG_SYSCTL
340340 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -353,8 +353,8 @@
353353 return 0;
354354 }
355355
356---- linux-4.12.13.orig/kernel/kexec.c
357-+++ linux-4.12.13/kernel/kexec.c
356+--- linux-4.12.14.orig/kernel/kexec.c
357++++ linux-4.12.14/kernel/kexec.c
358358 @@ -17,7 +17,7 @@
359359 #include <linux/syscalls.h>
360360 #include <linux/vmalloc.h>
@@ -373,8 +373,8 @@
373373
374374 /*
375375 * Verify we have a legal set of flags
376---- linux-4.12.13.orig/kernel/module.c
377-+++ linux-4.12.13/kernel/module.c
376+--- linux-4.12.14.orig/kernel/module.c
377++++ linux-4.12.14/kernel/module.c
378378 @@ -68,6 +68,7 @@
379379 #include <linux/audit.h>
380380 #include <uapi/linux/module.h>
@@ -401,8 +401,8 @@
401401
402402 return 0;
403403 }
404---- linux-4.12.13.orig/kernel/ptrace.c
405-+++ linux-4.12.13/kernel/ptrace.c
404+--- linux-4.12.14.orig/kernel/ptrace.c
405++++ linux-4.12.14/kernel/ptrace.c
406406 @@ -1125,6 +1125,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-4.12.13.orig/kernel/reboot.c
431-+++ linux-4.12.13/kernel/reboot.c
430+--- linux-4.12.14.orig/kernel/reboot.c
431++++ linux-4.12.14/kernel/reboot.c
432432 @@ -16,6 +16,7 @@
433433 #include <linux/syscalls.h>
434434 #include <linux/syscore_ops.h>
@@ -446,8 +446,8 @@
446446
447447 /*
448448 * If pid namespaces are enabled and the current task is in a child
449---- linux-4.12.13.orig/kernel/sched/core.c
450-+++ linux-4.12.13/kernel/sched/core.c
449+--- linux-4.12.14.orig/kernel/sched/core.c
450++++ linux-4.12.14/kernel/sched/core.c
451451 @@ -3926,6 +3926,8 @@ int can_nice(const struct task_struct *p
452452 SYSCALL_DEFINE1(nice, int, increment)
453453 {
@@ -457,8 +457,8 @@
457457
458458 /*
459459 * Setpriority might change our priority at the same moment.
460---- linux-4.12.13.orig/kernel/signal.c
461-+++ linux-4.12.13/kernel/signal.c
460+--- linux-4.12.14.orig/kernel/signal.c
461++++ linux-4.12.14/kernel/signal.c
462462 @@ -2873,6 +2873,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
463463 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
464464 {
@@ -504,8 +504,8 @@
504504
505505 return do_send_specific(tgid, pid, sig, info);
506506 }
507---- linux-4.12.13.orig/kernel/sys.c
508-+++ linux-4.12.13/kernel/sys.c
507+--- linux-4.12.14.orig/kernel/sys.c
508++++ linux-4.12.14/kernel/sys.c
509509 @@ -190,6 +190,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
510510
511511 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -535,8 +535,8 @@
535535
536536 down_write(&uts_sem);
537537 errno = -EFAULT;
538---- linux-4.12.13.orig/kernel/time/ntp.c
539-+++ linux-4.12.13/kernel/time/ntp.c
538+--- linux-4.12.14.orig/kernel/time/ntp.c
539++++ linux-4.12.14/kernel/time/ntp.c
540540 @@ -17,6 +17,7 @@
541541 #include <linux/module.h>
542542 #include <linux/rtc.h>
@@ -570,8 +570,8 @@
570570
571571 if (txc->modes & ADJ_NANO) {
572572 struct timespec ts;
573---- linux-4.12.13.orig/net/ipv4/raw.c
574-+++ linux-4.12.13/net/ipv4/raw.c
573+--- linux-4.12.14.orig/net/ipv4/raw.c
574++++ linux-4.12.14/net/ipv4/raw.c
575575 @@ -755,6 +755,10 @@ static int raw_recvmsg(struct sock *sk,
576576 skb = skb_recv_datagram(sk, flags, noblock, &err);
577577 if (!skb)
@@ -583,8 +583,8 @@
583583
584584 copied = skb->len;
585585 if (len < copied) {
586---- linux-4.12.13.orig/net/ipv4/udp.c
587-+++ linux-4.12.13/net/ipv4/udp.c
586+--- linux-4.12.14.orig/net/ipv4/udp.c
587++++ linux-4.12.14/net/ipv4/udp.c
588588 @@ -1425,6 +1425,8 @@ try_again:
589589 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
590590 if (!skb)
@@ -594,8 +594,8 @@
594594
595595 ulen = skb->len;
596596 copied = len;
597---- linux-4.12.13.orig/net/ipv6/raw.c
598-+++ linux-4.12.13/net/ipv6/raw.c
597+--- linux-4.12.14.orig/net/ipv6/raw.c
598++++ linux-4.12.14/net/ipv6/raw.c
599599 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
600600 skb = skb_recv_datagram(sk, flags, noblock, &err);
601601 if (!skb)
@@ -607,8 +607,8 @@
607607
608608 copied = skb->len;
609609 if (copied > len) {
610---- linux-4.12.13.orig/net/ipv6/udp.c
611-+++ linux-4.12.13/net/ipv6/udp.c
610+--- linux-4.12.14.orig/net/ipv6/udp.c
611++++ linux-4.12.14/net/ipv6/udp.c
612612 @@ -357,6 +357,8 @@ try_again:
613613 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
614614 if (!skb)
@@ -618,8 +618,8 @@
618618
619619 ulen = skb->len;
620620 copied = len;
621---- linux-4.12.13.orig/net/socket.c
622-+++ linux-4.12.13/net/socket.c
621+--- linux-4.12.14.orig/net/socket.c
622++++ linux-4.12.14/net/socket.c
623623 @@ -1521,6 +1521,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
624624 if (err < 0)
625625 goto out_fd;
@@ -631,8 +631,8 @@
631631 if (upeer_sockaddr) {
632632 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
633633 &len, 2) < 0) {
634---- linux-4.12.13.orig/net/unix/af_unix.c
635-+++ linux-4.12.13/net/unix/af_unix.c
634+--- linux-4.12.14.orig/net/unix/af_unix.c
635++++ linux-4.12.14/net/unix/af_unix.c
636636 @@ -2152,6 +2152,10 @@ static int unix_dgram_recvmsg(struct soc
637637 POLLOUT | POLLWRNORM |
638638 POLLWRBAND);
@@ -652,8 +652,8 @@
652652 mutex_unlock(&u->iolock);
653653 out:
654654 return err;
655---- linux-4.12.13.orig/security/Kconfig
656-+++ linux-4.12.13/security/Kconfig
655+--- linux-4.12.14.orig/security/Kconfig
656++++ linux-4.12.14/security/Kconfig
657657 @@ -235,5 +235,7 @@ config DEFAULT_SECURITY
658658 default "apparmor" if DEFAULT_SECURITY_APPARMOR
659659 default "" if DEFAULT_SECURITY_DAC
@@ -662,8 +662,8 @@
662662 +
663663 endmenu
664664
665---- linux-4.12.13.orig/security/Makefile
666-+++ linux-4.12.13/security/Makefile
665+--- linux-4.12.14.orig/security/Makefile
666++++ linux-4.12.14/security/Makefile
667667 @@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
668668 # Object integrity file lists
669669 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -671,8 +671,8 @@
671671 +
672672 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
673673 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
674---- linux-4.12.13.orig/security/security.c
675-+++ linux-4.12.13/security/security.c
674+--- linux-4.12.14.orig/security/security.c
675++++ linux-4.12.14/security/security.c
676676 @@ -943,12 +943,19 @@ int security_task_create(unsigned long c
677677
678678 int security_task_alloc(struct task_struct *task, unsigned long clone_flags)
--- trunk/caitsith-patch/patches/ccs-patch-4.13.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-4.13.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.13.2.
1+This is TOMOYO Linux patch for kernel 4.13.11.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.13.2.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.13.11.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.13.2.orig/fs/exec.c
32-+++ linux-4.13.2/fs/exec.c
31+--- linux-4.13.11.orig/fs/exec.c
32++++ linux-4.13.11/fs/exec.c
3333 @@ -1665,7 +1665,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.13.2.orig/fs/open.c
43-+++ linux-4.13.2/fs/open.c
42+--- linux-4.13.11.orig/fs/open.c
43++++ linux-4.13.11/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.13.2.orig/fs/proc/version.c
54-+++ linux-4.13.2/fs/proc/version.c
53+--- linux-4.13.11.orig/fs/proc/version.c
54++++ linux-4.13.11/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.13.2 2017/09/14\n");
62++ printk(KERN_INFO "Hook version: 4.13.11 2017/11/04\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.13.2.orig/include/linux/init_task.h
67-+++ linux-4.13.2/include/linux/init_task.h
66+--- linux-4.13.11.orig/include/linux/init_task.h
67++++ linux-4.13.11/include/linux/init_task.h
6868 @@ -225,6 +225,14 @@ extern struct cred init_cred;
6969 #define INIT_TASK_SECURITY
7070 #endif
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-4.13.2.orig/include/linux/sched.h
92-+++ linux-4.13.2/include/linux/sched.h
91+--- linux-4.13.11.orig/include/linux/sched.h
92++++ linux-4.13.11/include/linux/sched.h
9393 @@ -32,6 +32,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.13.2.orig/include/linux/security.h
113-+++ linux-4.13.2/include/linux/security.h
112+--- linux-4.13.11.orig/include/linux/security.h
113++++ linux-4.13.11/include/linux/security.h
114114 @@ -56,6 +56,7 @@ struct msg_queue;
115115 struct xattr;
116116 struct xfrm_sec_ctx;
@@ -333,8 +333,8 @@
333333 }
334334 #endif /* CONFIG_SECURITY_PATH */
335335
336---- linux-4.13.2.orig/include/net/ip.h
337-+++ linux-4.13.2/include/net/ip.h
336+--- linux-4.13.11.orig/include/net/ip.h
337++++ linux-4.13.11/include/net/ip.h
338338 @@ -255,6 +255,8 @@ void inet_get_local_port_range(struct ne
339339 #ifdef CONFIG_SYSCTL
340340 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -353,8 +353,8 @@
353353 return 0;
354354 }
355355
356---- linux-4.13.2.orig/kernel/kexec.c
357-+++ linux-4.13.2/kernel/kexec.c
356+--- linux-4.13.11.orig/kernel/kexec.c
357++++ linux-4.13.11/kernel/kexec.c
358358 @@ -17,7 +17,7 @@
359359 #include <linux/syscalls.h>
360360 #include <linux/vmalloc.h>
@@ -373,8 +373,8 @@
373373
374374 /*
375375 * Verify we have a legal set of flags
376---- linux-4.13.2.orig/kernel/module.c
377-+++ linux-4.13.2/kernel/module.c
376+--- linux-4.13.11.orig/kernel/module.c
377++++ linux-4.13.11/kernel/module.c
378378 @@ -66,6 +66,7 @@
379379 #include <linux/audit.h>
380380 #include <uapi/linux/module.h>
@@ -401,8 +401,8 @@
401401
402402 return 0;
403403 }
404---- linux-4.13.2.orig/kernel/ptrace.c
405-+++ linux-4.13.2/kernel/ptrace.c
404+--- linux-4.13.11.orig/kernel/ptrace.c
405++++ linux-4.13.11/kernel/ptrace.c
406406 @@ -1125,6 +1125,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-4.13.2.orig/kernel/reboot.c
431-+++ linux-4.13.2/kernel/reboot.c
430+--- linux-4.13.11.orig/kernel/reboot.c
431++++ linux-4.13.11/kernel/reboot.c
432432 @@ -16,6 +16,7 @@
433433 #include <linux/syscalls.h>
434434 #include <linux/syscore_ops.h>
@@ -446,8 +446,8 @@
446446
447447 /*
448448 * If pid namespaces are enabled and the current task is in a child
449---- linux-4.13.2.orig/kernel/sched/core.c
450-+++ linux-4.13.2/kernel/sched/core.c
449+--- linux-4.13.11.orig/kernel/sched/core.c
450++++ linux-4.13.11/kernel/sched/core.c
451451 @@ -3818,6 +3818,8 @@ int can_nice(const struct task_struct *p
452452 SYSCALL_DEFINE1(nice, int, increment)
453453 {
@@ -457,8 +457,8 @@
457457
458458 /*
459459 * Setpriority might change our priority at the same moment.
460---- linux-4.13.2.orig/kernel/signal.c
461-+++ linux-4.13.2/kernel/signal.c
460+--- linux-4.13.11.orig/kernel/signal.c
461++++ linux-4.13.11/kernel/signal.c
462462 @@ -2915,6 +2915,8 @@ COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait,
463463 SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
464464 {
@@ -504,8 +504,8 @@
504504
505505 return do_send_specific(tgid, pid, sig, info);
506506 }
507---- linux-4.13.2.orig/kernel/sys.c
508-+++ linux-4.13.2/kernel/sys.c
507+--- linux-4.13.11.orig/kernel/sys.c
508++++ linux-4.13.11/kernel/sys.c
509509 @@ -190,6 +190,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
510510
511511 if (which > PRIO_USER || which < PRIO_PROCESS)
@@ -535,8 +535,8 @@
535535
536536 down_write(&uts_sem);
537537 errno = -EFAULT;
538---- linux-4.13.2.orig/kernel/time/ntp.c
539-+++ linux-4.13.2/kernel/time/ntp.c
538+--- linux-4.13.11.orig/kernel/time/ntp.c
539++++ linux-4.13.11/kernel/time/ntp.c
540540 @@ -17,6 +17,7 @@
541541 #include <linux/module.h>
542542 #include <linux/rtc.h>
@@ -570,8 +570,8 @@
570570
571571 if (txc->modes & ADJ_NANO) {
572572 struct timespec ts;
573---- linux-4.13.2.orig/net/ipv4/raw.c
574-+++ linux-4.13.2/net/ipv4/raw.c
573+--- linux-4.13.11.orig/net/ipv4/raw.c
574++++ linux-4.13.11/net/ipv4/raw.c
575575 @@ -755,6 +755,10 @@ static int raw_recvmsg(struct sock *sk,
576576 skb = skb_recv_datagram(sk, flags, noblock, &err);
577577 if (!skb)
@@ -583,9 +583,9 @@
583583
584584 copied = skb->len;
585585 if (len < copied) {
586---- linux-4.13.2.orig/net/ipv4/udp.c
587-+++ linux-4.13.2/net/ipv4/udp.c
588-@@ -1579,6 +1579,8 @@ try_again:
586+--- linux-4.13.11.orig/net/ipv4/udp.c
587++++ linux-4.13.11/net/ipv4/udp.c
588+@@ -1582,6 +1582,8 @@ try_again:
589589 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
590590 if (!skb)
591591 return err;
@@ -594,8 +594,8 @@
594594
595595 ulen = udp_skb_len(skb);
596596 copied = len;
597---- linux-4.13.2.orig/net/ipv6/raw.c
598-+++ linux-4.13.2/net/ipv6/raw.c
597+--- linux-4.13.11.orig/net/ipv6/raw.c
598++++ linux-4.13.11/net/ipv6/raw.c
599599 @@ -480,6 +480,10 @@ static int rawv6_recvmsg(struct sock *sk
600600 skb = skb_recv_datagram(sk, flags, noblock, &err);
601601 if (!skb)
@@ -607,8 +607,8 @@
607607
608608 copied = skb->len;
609609 if (copied > len) {
610---- linux-4.13.2.orig/net/ipv6/udp.c
611-+++ linux-4.13.2/net/ipv6/udp.c
610+--- linux-4.13.11.orig/net/ipv6/udp.c
611++++ linux-4.13.11/net/ipv6/udp.c
612612 @@ -367,6 +367,8 @@ try_again:
613613 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
614614 if (!skb)
@@ -618,8 +618,8 @@
618618
619619 ulen = udp6_skb_len(skb);
620620 copied = len;
621---- linux-4.13.2.orig/net/socket.c
622-+++ linux-4.13.2/net/socket.c
621+--- linux-4.13.11.orig/net/socket.c
622++++ linux-4.13.11/net/socket.c
623623 @@ -1561,6 +1561,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
624624 if (err < 0)
625625 goto out_fd;
@@ -631,8 +631,8 @@
631631 if (upeer_sockaddr) {
632632 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
633633 &len, 2) < 0) {
634---- linux-4.13.2.orig/net/unix/af_unix.c
635-+++ linux-4.13.2/net/unix/af_unix.c
634+--- linux-4.13.11.orig/net/unix/af_unix.c
635++++ linux-4.13.11/net/unix/af_unix.c
636636 @@ -2152,6 +2152,10 @@ static int unix_dgram_recvmsg(struct soc
637637 POLLOUT | POLLWRNORM |
638638 POLLWRBAND);
@@ -652,8 +652,8 @@
652652 mutex_unlock(&u->iolock);
653653 out:
654654 return err;
655---- linux-4.13.2.orig/security/Kconfig
656-+++ linux-4.13.2/security/Kconfig
655+--- linux-4.13.11.orig/security/Kconfig
656++++ linux-4.13.11/security/Kconfig
657657 @@ -251,5 +251,7 @@ config DEFAULT_SECURITY
658658 default "apparmor" if DEFAULT_SECURITY_APPARMOR
659659 default "" if DEFAULT_SECURITY_DAC
@@ -662,8 +662,8 @@
662662 +
663663 endmenu
664664
665---- linux-4.13.2.orig/security/Makefile
666-+++ linux-4.13.2/security/Makefile
665+--- linux-4.13.11.orig/security/Makefile
666++++ linux-4.13.11/security/Makefile
667667 @@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
668668 # Object integrity file lists
669669 subdir-$(CONFIG_INTEGRITY) += integrity
@@ -671,8 +671,8 @@
671671 +
672672 +subdir-$(CONFIG_CCSECURITY) += ccsecurity
673673 +obj-$(CONFIG_CCSECURITY) += ccsecurity/
674---- linux-4.13.2.orig/security/security.c
675-+++ linux-4.13.2/security/security.c
674+--- linux-4.13.11.orig/security/security.c
675++++ linux-4.13.11/security/security.c
676676 @@ -986,12 +986,19 @@ int security_task_create(unsigned long c
677677
678678 int security_task_alloc(struct task_struct *task, unsigned long clone_flags)
--- trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-4.14.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.14-rc1.
1+This is TOMOYO Linux patch for kernel 4.14-rc7.
22
3-Source code for this patch is https://git.kernel.org/torvalds/t/linux-4.14-rc1.tar.gz
3+Source code for this patch is https://git.kernel.org/torvalds/t/linux-4.14-rc7.tar.gz
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-rc1.orig/fs/exec.c
32-+++ linux-4.14-rc1/fs/exec.c
31+--- linux-4.14-rc7.orig/fs/exec.c
32++++ linux-4.14-rc7/fs/exec.c
3333 @@ -1673,7 +1673,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-rc1.orig/fs/open.c
43-+++ linux-4.14-rc1/fs/open.c
42+--- linux-4.14-rc7.orig/fs/open.c
43++++ linux-4.14-rc7/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-rc1.orig/fs/proc/version.c
54-+++ linux-4.14-rc1/fs/proc/version.c
53+--- linux-4.14-rc7.orig/fs/proc/version.c
54++++ linux-4.14-rc7/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.14-rc1 2017/09/17\n");
62++ printk(KERN_INFO "Hook version: 4.14-rc7 2017/11/04\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.14-rc1.orig/include/linux/init_task.h
67-+++ linux-4.14-rc1/include/linux/init_task.h
66+--- linux-4.14-rc7.orig/include/linux/init_task.h
67++++ linux-4.14-rc7/include/linux/init_task.h
6868 @@ -218,6 +218,14 @@ extern struct cred init_cred;
6969 #define INIT_TASK_SECURITY
7070 #endif
@@ -88,8 +88,8 @@
8888 }
8989
9090
91---- linux-4.14-rc1.orig/include/linux/sched.h
92-+++ linux-4.14-rc1/include/linux/sched.h
91+--- linux-4.14-rc7.orig/include/linux/sched.h
92++++ linux-4.14-rc7/include/linux/sched.h
9393 @@ -32,6 +32,7 @@ struct audit_context;
9494 struct backing_dev_info;
9595 struct bio_list;
@@ -98,7 +98,7 @@
9898 struct cfs_rq;
9999 struct fs_struct;
100100 struct futex_pi_state;
101-@@ -1097,6 +1098,10 @@ struct task_struct {
101+@@ -1096,6 +1097,10 @@ struct task_struct {
102102 /* Used by LSM modules for access restriction: */
103103 void *security;
104104 #endif
@@ -109,8 +109,8 @@
109109
110110 /*
111111 * New fields for task_struct should be added above here, so that
112---- linux-4.14-rc1.orig/include/linux/security.h
113-+++ linux-4.14-rc1/include/linux/security.h
112+--- linux-4.14-rc7.orig/include/linux/security.h
113++++ linux-4.14-rc7/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-rc1.orig/include/net/ip.h
335-+++ linux-4.14-rc1/include/net/ip.h
334+--- linux-4.14-rc7.orig/include/net/ip.h
335++++ linux-4.14-rc7/include/net/ip.h
336336 @@ -265,6 +265,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-rc1.orig/kernel/kexec.c
355-+++ linux-4.14-rc1/kernel/kexec.c
354+--- linux-4.14-rc7.orig/kernel/kexec.c
355++++ linux-4.14-rc7/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-rc1.orig/kernel/module.c
375-+++ linux-4.14-rc1/kernel/module.c
374+--- linux-4.14-rc7.orig/kernel/module.c
375++++ linux-4.14-rc7/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-rc1.orig/kernel/ptrace.c
403-+++ linux-4.14-rc1/kernel/ptrace.c
402+--- linux-4.14-rc7.orig/kernel/ptrace.c
403++++ linux-4.14-rc7/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-rc1.orig/kernel/reboot.c
429-+++ linux-4.14-rc1/kernel/reboot.c
428+--- linux-4.14-rc7.orig/kernel/reboot.c
429++++ linux-4.14-rc7/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-rc1.orig/kernel/sched/core.c
448-+++ linux-4.14-rc1/kernel/sched/core.c
447+--- linux-4.14-rc7.orig/kernel/sched/core.c
448++++ linux-4.14-rc7/kernel/sched/core.c
449449 @@ -3852,6 +3852,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-rc1.orig/kernel/signal.c
459-+++ linux-4.14-rc1/kernel/signal.c
458+--- linux-4.14-rc7.orig/kernel/signal.c
459++++ linux-4.14-rc7/kernel/signal.c
460460 @@ -2953,6 +2953,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-rc1.orig/kernel/sys.c
506-+++ linux-4.14-rc1/kernel/sys.c
505+--- linux-4.14-rc7.orig/kernel/sys.c
506++++ linux-4.14-rc7/kernel/sys.c
507507 @@ -190,6 +190,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-rc1.orig/kernel/time/ntp.c
537-+++ linux-4.14-rc1/kernel/time/ntp.c
536+--- linux-4.14-rc7.orig/kernel/time/ntp.c
537++++ linux-4.14-rc7/kernel/time/ntp.c
538538 @@ -17,6 +17,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-rc1.orig/net/ipv4/raw.c
572-+++ linux-4.14-rc1/net/ipv4/raw.c
571+--- linux-4.14-rc7.orig/net/ipv4/raw.c
572++++ linux-4.14-rc7/net/ipv4/raw.c
573573 @@ -761,6 +761,10 @@ static int raw_recvmsg(struct sock *sk,
574574 skb = skb_recv_datagram(sk, flags, noblock, &err);
575575 if (!skb)
@@ -581,9 +581,9 @@
581581
582582 copied = skb->len;
583583 if (len < copied) {
584---- linux-4.14-rc1.orig/net/ipv4/udp.c
585-+++ linux-4.14-rc1/net/ipv4/udp.c
586-@@ -1593,6 +1593,8 @@ try_again:
584+--- linux-4.14-rc7.orig/net/ipv4/udp.c
585++++ linux-4.14-rc7/net/ipv4/udp.c
586+@@ -1590,6 +1590,8 @@ try_again:
587587 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
588588 if (!skb)
589589 return err;
@@ -592,8 +592,8 @@
592592
593593 ulen = udp_skb_len(skb);
594594 copied = len;
595---- linux-4.14-rc1.orig/net/ipv6/raw.c
596-+++ linux-4.14-rc1/net/ipv6/raw.c
595+--- linux-4.14-rc7.orig/net/ipv6/raw.c
596++++ linux-4.14-rc7/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-rc1.orig/net/ipv6/udp.c
609-+++ linux-4.14-rc1/net/ipv6/udp.c
608+--- linux-4.14-rc7.orig/net/ipv6/udp.c
609++++ linux-4.14-rc7/net/ipv6/udp.c
610610 @@ -371,6 +371,8 @@ try_again:
611611 skb = __skb_recv_udp(sk, flags, noblock, &peeked, &off, &err);
612612 if (!skb)
@@ -616,8 +616,8 @@
616616
617617 ulen = udp6_skb_len(skb);
618618 copied = len;
619---- linux-4.14-rc1.orig/net/socket.c
620-+++ linux-4.14-rc1/net/socket.c
619+--- linux-4.14-rc7.orig/net/socket.c
620++++ linux-4.14-rc7/net/socket.c
621621 @@ -1575,6 +1575,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
622622 if (err < 0)
623623 goto out_fd;
@@ -629,8 +629,8 @@
629629 if (upeer_sockaddr) {
630630 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
631631 &len, 2) < 0) {
632---- linux-4.14-rc1.orig/net/unix/af_unix.c
633-+++ linux-4.14-rc1/net/unix/af_unix.c
632+--- linux-4.14-rc7.orig/net/unix/af_unix.c
633++++ linux-4.14-rc7/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-rc1.orig/security/Kconfig
654-+++ linux-4.14-rc1/security/Kconfig
653+--- linux-4.14-rc7.orig/security/Kconfig
654++++ linux-4.14-rc7/security/Kconfig
655655 @@ -251,5 +251,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-rc1.orig/security/Makefile
664-+++ linux-4.14-rc1/security/Makefile
663+--- linux-4.14-rc7.orig/security/Makefile
664++++ linux-4.14-rc7/security/Makefile
665665 @@ -29,3 +29,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-rc1.orig/security/security.c
673-+++ linux-4.14-rc1/security/security.c
672+--- linux-4.14-rc7.orig/security/security.c
673++++ linux-4.14-rc7/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.4-vine-linux-6.diff (nonexistent)
+++ trunk/caitsith-patch/patches/ccs-patch-4.4-vine-linux-6.diff (revision 250)
@@ -0,0 +1,682 @@
1+This is TOMOYO Linux patch for VineLinux 6.
2+
3+Source code for this patch is http://updates.vinelinux.org/Vine-6.5/updates/SRPMS/kernel-4.4.92-1vl6.src.rpm
4+---
5+ fs/exec.c | 2 -
6+ fs/open.c | 2 +
7+ fs/proc/version.c | 7 +++++
8+ include/linux/init_task.h | 9 ++++++
9+ include/linux/sched.h | 6 ++++
10+ include/linux/security.h | 62 ++++++++++++++++++++++++++++------------------
11+ include/net/ip.h | 4 ++
12+ kernel/fork.c | 5 +++
13+ kernel/kexec.c | 4 ++
14+ kernel/module.c | 5 +++
15+ kernel/ptrace.c | 10 +++++++
16+ kernel/reboot.c | 3 ++
17+ kernel/sched/core.c | 2 +
18+ kernel/signal.c | 10 +++++++
19+ kernel/sys.c | 8 +++++
20+ kernel/time/ntp.c | 8 +++++
21+ net/ipv4/raw.c | 4 ++
22+ net/ipv4/udp.c | 4 ++
23+ net/ipv6/raw.c | 4 ++
24+ net/ipv6/udp.c | 4 ++
25+ net/socket.c | 4 ++
26+ net/unix/af_unix.c | 4 ++
27+ security/Kconfig | 2 +
28+ security/Makefile | 3 ++
29+ 24 files changed, 150 insertions(+), 26 deletions(-)
30+
31+--- linux-4.4.92-1vl6.orig/fs/exec.c
32++++ linux-4.4.92-1vl6/fs/exec.c
33+@@ -1508,7 +1508,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-4.4.92-1vl6.orig/fs/open.c
43++++ linux-4.4.92-1vl6/fs/open.c
44+@@ -1117,6 +1117,8 @@ EXPORT_SYMBOL(sys_close);
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-4.4.92-1vl6.orig/fs/proc/version.c
54++++ linux-4.4.92-1vl6/fs/proc/version.c
55+@@ -32,3 +32,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.4.92-1vl6 2017/11/04\n");
63++ return 0;
64++}
65++fs_initcall(ccs_show_version);
66+--- linux-4.4.92-1vl6.orig/include/linux/init_task.h
67++++ linux-4.4.92-1vl6/include/linux/init_task.h
68+@@ -183,6 +183,14 @@ extern struct task_group root_task_group
69+ # define INIT_KASAN(tsk)
70+ #endif
71+
72++#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY)
73++#define INIT_CCSECURITY \
74++ .ccs_domain_info = NULL, \
75++ .ccs_flags = 0,
76++#else
77++#define INIT_CCSECURITY
78++#endif
79++
80+ /*
81+ * INIT_TASK is used to set up the first task table, touch at
82+ * your own risk!. Base=0, limit=0x1fffff (=2MB)
83+@@ -260,6 +268,7 @@ extern struct task_group root_task_group
84+ INIT_VTIME(tsk) \
85+ INIT_NUMA_BALANCING(tsk) \
86+ INIT_KASAN(tsk) \
87++ INIT_CCSECURITY \
88+ }
89+
90+
91+--- linux-4.4.92-1vl6.orig/include/linux/sched.h
92++++ linux-4.4.92-1vl6/include/linux/sched.h
93+@@ -6,6 +6,8 @@
94+ #include <linux/sched/prio.h>
95+
96+
97++struct ccs_domain_info;
98++
99+ struct sched_param {
100+ int sched_priority;
101+ };
102+@@ -1830,6 +1832,10 @@ struct task_struct {
103+ unsigned long task_state_change;
104+ #endif
105+ int pagefault_disabled;
106++#if defined(CONFIG_CCSECURITY) && !defined(CONFIG_CCSECURITY_USE_EXTERNAL_TASK_SECURITY)
107++ struct ccs_domain_info *ccs_domain_info;
108++ u32 ccs_flags;
109++#endif
110+ /* CPU-specific state of this task */
111+ struct thread_struct thread;
112+ /*
113+--- linux-4.4.92-1vl6.orig/include/linux/security.h
114++++ linux-4.4.92-1vl6/include/linux/security.h
115+@@ -53,6 +53,7 @@ struct msg_queue;
116+ struct xattr;
117+ struct xfrm_sec_ctx;
118+ struct mm_struct;
119++#include <linux/ccsecurity.h>
120+
121+ /* If capable should audit the security request */
122+ #define SECURITY_CAP_NOAUDIT 0
123+@@ -460,7 +461,10 @@ static inline int security_syslog(int ty
124+ static inline int security_settime(const struct timespec *ts,
125+ const struct timezone *tz)
126+ {
127+- return cap_settime(ts, tz);
128++ int error = cap_settime(ts, tz);
129++ if (!error)
130++ error = ccs_settime(ts, tz);
131++ return error;
132+ }
133+
134+ static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
135+@@ -529,18 +533,18 @@ static inline int security_sb_mount(cons
136+ const char *type, unsigned long flags,
137+ void *data)
138+ {
139+- return 0;
140++ return ccs_sb_mount(dev_name, path, type, flags, data);
141+ }
142+
143+ static inline int security_sb_umount(struct vfsmount *mnt, int flags)
144+ {
145+- return 0;
146++ return ccs_sb_umount(mnt, flags);
147+ }
148+
149+ static inline int security_sb_pivotroot(struct path *old_path,
150+ struct path *new_path)
151+ {
152+- return 0;
153++ return ccs_sb_pivotroot(old_path, new_path);
154+ }
155+
156+ static inline int security_sb_set_mnt_opts(struct super_block *sb,
157+@@ -679,7 +683,7 @@ static inline int security_inode_setattr
158+
159+ static inline int security_inode_getattr(const struct path *path)
160+ {
161+- return 0;
162++ return ccs_inode_getattr(path);
163+ }
164+
165+ static inline int security_inode_setxattr(struct dentry *dentry,
166+@@ -755,7 +759,7 @@ static inline void security_file_free(st
167+ static inline int security_file_ioctl(struct file *file, unsigned int cmd,
168+ unsigned long arg)
169+ {
170+- return 0;
171++ return ccs_file_ioctl(file, cmd, arg);
172+ }
173+
174+ static inline int security_mmap_file(struct file *file, unsigned long prot,
175+@@ -784,7 +788,7 @@ static inline int security_file_lock(str
176+ static inline int security_file_fcntl(struct file *file, unsigned int cmd,
177+ unsigned long arg)
178+ {
179+- return 0;
180++ return ccs_file_fcntl(file, cmd, arg);
181+ }
182+
183+ static inline void security_file_set_fowner(struct file *file)
184+@@ -807,7 +811,7 @@ static inline int security_file_receive(
185+ static inline int security_file_open(struct file *file,
186+ const struct cred *cred)
187+ {
188+- return 0;
189++ return ccs_file_open(file, cred);
190+ }
191+
192+ static inline int security_task_create(unsigned long clone_flags)
193+@@ -1169,7 +1173,7 @@ static inline int security_unix_may_send
194+ static inline int security_socket_create(int family, int type,
195+ int protocol, int kern)
196+ {
197+- return 0;
198++ return ccs_socket_create(family, type, protocol, kern);
199+ }
200+
201+ static inline int security_socket_post_create(struct socket *sock,
202+@@ -1184,19 +1188,19 @@ static inline int security_socket_bind(s
203+ struct sockaddr *address,
204+ int addrlen)
205+ {
206+- return 0;
207++ return ccs_socket_bind(sock, address, addrlen);
208+ }
209+
210+ static inline int security_socket_connect(struct socket *sock,
211+ struct sockaddr *address,
212+ int addrlen)
213+ {
214+- return 0;
215++ return ccs_socket_connect(sock, address, addrlen);
216+ }
217+
218+ static inline int security_socket_listen(struct socket *sock, int backlog)
219+ {
220+- return 0;
221++ return ccs_socket_listen(sock, backlog);
222+ }
223+
224+ static inline int security_socket_accept(struct socket *sock,
225+@@ -1208,7 +1212,7 @@ static inline int security_socket_accept
226+ static inline int security_socket_sendmsg(struct socket *sock,
227+ struct msghdr *msg, int size)
228+ {
229+- return 0;
230++ return ccs_socket_sendmsg(sock, msg, size);
231+ }
232+
233+ static inline int security_socket_recvmsg(struct socket *sock,
234+@@ -1450,42 +1454,42 @@ int security_path_chroot(struct path *pa
235+ #else /* CONFIG_SECURITY_PATH */
236+ static inline int security_path_unlink(struct path *dir, struct dentry *dentry)
237+ {
238+- return 0;
239++ return ccs_path_unlink(dir, dentry);
240+ }
241+
242+ static inline int security_path_mkdir(struct path *dir, struct dentry *dentry,
243+ umode_t mode)
244+ {
245+- return 0;
246++ return ccs_path_mkdir(dir, dentry, mode);
247+ }
248+
249+ static inline int security_path_rmdir(struct path *dir, struct dentry *dentry)
250+ {
251+- return 0;
252++ return ccs_path_rmdir(dir, dentry);
253+ }
254+
255+ static inline int security_path_mknod(struct path *dir, struct dentry *dentry,
256+ umode_t mode, unsigned int dev)
257+ {
258+- return 0;
259++ return ccs_path_mknod(dir, dentry, mode, dev);
260+ }
261+
262+ static inline int security_path_truncate(struct path *path)
263+ {
264+- return 0;
265++ return ccs_path_truncate(path);
266+ }
267+
268+ static inline int security_path_symlink(struct path *dir, struct dentry *dentry,
269+ const char *old_name)
270+ {
271+- return 0;
272++ return ccs_path_symlink(dir, dentry, old_name);
273+ }
274+
275+ static inline int security_path_link(struct dentry *old_dentry,
276+ struct path *new_dir,
277+ struct dentry *new_dentry)
278+ {
279+- return 0;
280++ return ccs_path_link(old_dentry, new_dir, new_dentry);
281+ }
282+
283+ static inline int security_path_rename(struct path *old_dir,
284+@@ -1494,22 +1498,32 @@ static inline int security_path_rename(s
285+ struct dentry *new_dentry,
286+ unsigned int flags)
287+ {
288+- return 0;
289++ /*
290++ * Not using RENAME_EXCHANGE here in order to avoid KABI breakage
291++ * by doing "#include <uapi/linux/fs.h>" .
292++ */
293++ if (flags & (1 << 1)) {
294++ int err = ccs_path_rename(new_dir, new_dentry, old_dir,
295++ old_dentry);
296++ if (err)
297++ return err;
298++ }
299++ return ccs_path_rename(old_dir, old_dentry, new_dir, new_dentry);
300+ }
301+
302+ static inline int security_path_chmod(struct path *path, umode_t mode)
303+ {
304+- return 0;
305++ return ccs_path_chmod(path, mode);
306+ }
307+
308+ static inline int security_path_chown(struct path *path, kuid_t uid, kgid_t gid)
309+ {
310+- return 0;
311++ return ccs_path_chown(path, uid, gid);
312+ }
313+
314+ static inline int security_path_chroot(struct path *path)
315+ {
316+- return 0;
317++ return ccs_path_chroot(path);
318+ }
319+ #endif /* CONFIG_SECURITY_PATH */
320+
321+--- linux-4.4.92-1vl6.orig/include/net/ip.h
322++++ linux-4.4.92-1vl6/include/net/ip.h
323+@@ -223,6 +223,8 @@ void inet_get_local_port_range(struct ne
324+ #ifdef CONFIG_SYSCTL
325+ static inline int inet_is_local_reserved_port(struct net *net, int port)
326+ {
327++ if (ccs_lport_reserved(port))
328++ return 1;
329+ if (!net->ipv4.sysctl_local_reserved_ports)
330+ return 0;
331+ return test_bit(port, net->ipv4.sysctl_local_reserved_ports);
332+@@ -236,6 +238,8 @@ static inline bool sysctl_dev_name_is_al
333+ #else
334+ static inline int inet_is_local_reserved_port(struct net *net, int port)
335+ {
336++ if (ccs_lport_reserved(port))
337++ return 1;
338+ return 0;
339+ }
340+ #endif
341+--- linux-4.4.92-1vl6.orig/kernel/fork.c
342++++ linux-4.4.92-1vl6/kernel/fork.c
343+@@ -258,6 +258,7 @@ void __put_task_struct(struct task_struc
344+ delayacct_tsk_free(tsk);
345+ put_signal_struct(tsk->signal);
346+
347++ ccs_free_task_security(tsk);
348+ if (!profile_handoff_task(tsk))
349+ free_task(tsk);
350+ }
351+@@ -1454,6 +1455,9 @@ static struct task_struct *copy_process(
352+ goto bad_fork_cleanup_perf;
353+ /* copy all the process information */
354+ shm_init_task(p);
355++ retval = ccs_alloc_task_security(p);
356++ if (retval)
357++ goto bad_fork_cleanup_audit;
358+ retval = copy_semundo(clone_flags, p);
359+ if (retval)
360+ goto bad_fork_cleanup_audit;
361+@@ -1675,6 +1679,7 @@ bad_fork_cleanup_semundo:
362+ exit_sem(p);
363+ bad_fork_cleanup_audit:
364+ audit_free(p);
365++ ccs_free_task_security(p);
366+ bad_fork_cleanup_perf:
367+ perf_event_free_task(p);
368+ bad_fork_cleanup_policy:
369+--- linux-4.4.92-1vl6.orig/kernel/kexec.c
370++++ linux-4.4.92-1vl6/kernel/kexec.c
371+@@ -17,7 +17,7 @@
372+ #include <linux/syscalls.h>
373+ #include <linux/vmalloc.h>
374+ #include <linux/slab.h>
375+-
376++#include <linux/ccsecurity.h>
377+ #include "kexec_internal.h"
378+
379+ static int copy_user_segment_list(struct kimage *image,
380+@@ -133,6 +133,8 @@ SYSCALL_DEFINE4(kexec_load, unsigned lon
381+ /* We only trust the superuser with rebooting the system. */
382+ if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
383+ return -EPERM;
384++ if (!ccs_capable(CCS_SYS_KEXEC_LOAD))
385++ return -EPERM;
386+
387+ /*
388+ * Verify we have a legal set of flags
389+--- linux-4.4.92-1vl6.orig/kernel/module.c
390++++ linux-4.4.92-1vl6/kernel/module.c
391+@@ -61,6 +61,7 @@
392+ #include <linux/bsearch.h>
393+ #include <uapi/linux/module.h>
394+ #include "module-internal.h"
395++#include <linux/ccsecurity.h>
396+
397+ #define CREATE_TRACE_POINTS
398+ #include <trace/events/module.h>
399+@@ -959,6 +960,8 @@ SYSCALL_DEFINE2(delete_module, const cha
400+
401+ if (!capable(CAP_SYS_MODULE) || modules_disabled)
402+ return -EPERM;
403++ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
404++ return -EPERM;
405+
406+ if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
407+ return -EFAULT;
408+@@ -3338,6 +3341,8 @@ static int may_init_module(void)
409+ {
410+ if (!capable(CAP_SYS_MODULE) || modules_disabled)
411+ return -EPERM;
412++ if (!ccs_capable(CCS_USE_KERNEL_MODULE))
413++ return -EPERM;
414+
415+ return 0;
416+ }
417+--- linux-4.4.92-1vl6.orig/kernel/ptrace.c
418++++ linux-4.4.92-1vl6/kernel/ptrace.c
419+@@ -1085,6 +1085,11 @@ SYSCALL_DEFINE4(ptrace, long, request, l
420+ {
421+ struct task_struct *child;
422+ long ret;
423++ {
424++ const int rc = ccs_ptrace_permission(request, pid);
425++ if (rc)
426++ return rc;
427++ }
428+
429+ if (request == PTRACE_TRACEME) {
430+ ret = ptrace_traceme();
431+@@ -1231,6 +1236,11 @@ COMPAT_SYSCALL_DEFINE4(ptrace, compat_lo
432+ {
433+ struct task_struct *child;
434+ long ret;
435++ {
436++ const int rc = ccs_ptrace_permission(request, pid);
437++ if (rc)
438++ return rc;
439++ }
440+
441+ if (request == PTRACE_TRACEME) {
442+ ret = ptrace_traceme();
443+--- linux-4.4.92-1vl6.orig/kernel/reboot.c
444++++ linux-4.4.92-1vl6/kernel/reboot.c
445+@@ -16,6 +16,7 @@
446+ #include <linux/syscalls.h>
447+ #include <linux/syscore_ops.h>
448+ #include <linux/uaccess.h>
449++#include <linux/ccsecurity.h>
450+
451+ /*
452+ * this indicates whether you can reboot with ctrl-alt-del: the default is yes
453+@@ -295,6 +296,8 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
454+ magic2 != LINUX_REBOOT_MAGIC2B &&
455+ magic2 != LINUX_REBOOT_MAGIC2C))
456+ return -EINVAL;
457++ if (!ccs_capable(CCS_SYS_REBOOT))
458++ return -EPERM;
459+
460+ /*
461+ * If pid namespaces are enabled and the current task is in a child
462+--- linux-4.4.92-1vl6.orig/kernel/sched/core.c
463++++ linux-4.4.92-1vl6/kernel/sched/core.c
464+@@ -3548,6 +3548,8 @@ int can_nice(const struct task_struct *p
465+ SYSCALL_DEFINE1(nice, int, increment)
466+ {
467+ long nice, retval;
468++ if (!ccs_capable(CCS_SYS_NICE))
469++ return -EPERM;
470+
471+ /*
472+ * Setpriority might change our priority at the same moment.
473+--- linux-4.4.92-1vl6.orig/kernel/signal.c
474++++ linux-4.4.92-1vl6/kernel/signal.c
475+@@ -2855,6 +2855,8 @@ SYSCALL_DEFINE4(rt_sigtimedwait, const s
476+ SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
477+ {
478+ struct siginfo info;
479++ if (ccs_kill_permission(pid, sig))
480++ return -EPERM;
481+
482+ info.si_signo = sig;
483+ info.si_errno = 0;
484+@@ -2923,6 +2925,8 @@ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid
485+ /* This is only valid for single tasks */
486+ if (pid <= 0 || tgid <= 0)
487+ return -EINVAL;
488++ if (ccs_tgkill_permission(tgid, pid, sig))
489++ return -EPERM;
490+
491+ return do_tkill(tgid, pid, sig);
492+ }
493+@@ -2939,6 +2943,8 @@ SYSCALL_DEFINE2(tkill, pid_t, pid, int,
494+ /* This is only valid for single tasks */
495+ if (pid <= 0)
496+ return -EINVAL;
497++ if (ccs_tkill_permission(pid, sig))
498++ return -EPERM;
499+
500+ return do_tkill(0, pid, sig);
501+ }
502+@@ -2953,6 +2959,8 @@ static int do_rt_sigqueueinfo(pid_t pid,
503+ return -EPERM;
504+
505+ info->si_signo = sig;
506++ if (ccs_sigqueue_permission(pid, sig))
507++ return -EPERM;
508+
509+ /* POSIX.1b doesn't mention process groups. */
510+ return kill_proc_info(sig, info, pid);
511+@@ -3001,6 +3009,8 @@ static int do_rt_tgsigqueueinfo(pid_t tg
512+ return -EPERM;
513+
514+ info->si_signo = sig;
515++ if (ccs_tgsigqueue_permission(tgid, pid, sig))
516++ return -EPERM;
517+
518+ return do_send_specific(tgid, pid, sig, info);
519+ }
520+--- linux-4.4.92-1vl6.orig/kernel/sys.c
521++++ linux-4.4.92-1vl6/kernel/sys.c
522+@@ -183,6 +183,10 @@ SYSCALL_DEFINE3(setpriority, int, which,
523+
524+ if (which > PRIO_USER || which < PRIO_PROCESS)
525+ goto out;
526++ if (!ccs_capable(CCS_SYS_NICE)) {
527++ error = -EPERM;
528++ goto out;
529++ }
530+
531+ /* normalize: avoid signed division (rounding problems) */
532+ error = -ESRCH;
533+@@ -1222,6 +1226,8 @@ SYSCALL_DEFINE2(sethostname, char __user
534+
535+ if (len < 0 || len > __NEW_UTS_LEN)
536+ return -EINVAL;
537++ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
538++ return -EPERM;
539+ down_write(&uts_sem);
540+ errno = -EFAULT;
541+ if (!copy_from_user(tmp, name, len)) {
542+@@ -1272,6 +1278,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
543+ return -EPERM;
544+ if (len < 0 || len > __NEW_UTS_LEN)
545+ return -EINVAL;
546++ if (!ccs_capable(CCS_SYS_SETHOSTNAME))
547++ return -EPERM;
548+
549+ down_write(&uts_sem);
550+ errno = -EFAULT;
551+--- linux-4.4.92-1vl6.orig/kernel/time/ntp.c
552++++ linux-4.4.92-1vl6/kernel/time/ntp.c
553+@@ -16,6 +16,7 @@
554+ #include <linux/mm.h>
555+ #include <linux/module.h>
556+ #include <linux/rtc.h>
557++#include <linux/ccsecurity.h>
558+
559+ #include "ntp_internal.h"
560+
561+@@ -660,10 +661,15 @@ int ntp_validate_timex(struct timex *txc
562+ if (!(txc->modes & ADJ_OFFSET_READONLY) &&
563+ !capable(CAP_SYS_TIME))
564+ return -EPERM;
565++ if (!(txc->modes & ADJ_OFFSET_READONLY) &&
566++ !ccs_capable(CCS_SYS_SETTIME))
567++ return -EPERM;
568+ } else {
569+ /* In order to modify anything, you gotta be super-user! */
570+ if (txc->modes && !capable(CAP_SYS_TIME))
571+ return -EPERM;
572++ if (txc->modes && !ccs_capable(CCS_SYS_SETTIME))
573++ return -EPERM;
574+ /*
575+ * if the quartz is off by more than 10% then
576+ * something is VERY wrong!
577+@@ -678,6 +684,8 @@ int ntp_validate_timex(struct timex *txc
578+ /* In order to inject time, you gotta be super-user! */
579+ if (!capable(CAP_SYS_TIME))
580+ return -EPERM;
581++ if (!ccs_capable(CCS_SYS_SETTIME))
582++ return -EPERM;
583+
584+ if (txc->modes & ADJ_NANO) {
585+ struct timespec ts;
586+--- linux-4.4.92-1vl6.orig/net/ipv4/raw.c
587++++ linux-4.4.92-1vl6/net/ipv4/raw.c
588+@@ -742,6 +742,10 @@ static int raw_recvmsg(struct sock *sk,
589+ skb = skb_recv_datagram(sk, flags, noblock, &err);
590+ if (!skb)
591+ goto out;
592++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
593++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
594++ goto out;
595++ }
596+
597+ copied = skb->len;
598+ if (len < copied) {
599+--- linux-4.4.92-1vl6.orig/net/ipv4/udp.c
600++++ linux-4.4.92-1vl6/net/ipv4/udp.c
601+@@ -1286,6 +1286,10 @@ try_again:
602+ &peeked, &off, &err);
603+ if (!skb)
604+ goto out;
605++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
606++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
607++ goto out;
608++ }
609+
610+ ulen = skb->len - sizeof(struct udphdr);
611+ copied = len;
612+--- linux-4.4.92-1vl6.orig/net/ipv6/raw.c
613++++ linux-4.4.92-1vl6/net/ipv6/raw.c
614+@@ -478,6 +478,10 @@ static int rawv6_recvmsg(struct sock *sk
615+ skb = skb_recv_datagram(sk, flags, noblock, &err);
616+ if (!skb)
617+ goto out;
618++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
619++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
620++ goto out;
621++ }
622+
623+ copied = skb->len;
624+ if (copied > len) {
625+--- linux-4.4.92-1vl6.orig/net/ipv6/udp.c
626++++ linux-4.4.92-1vl6/net/ipv6/udp.c
627+@@ -417,6 +417,10 @@ try_again:
628+ &peeked, &off, &err);
629+ if (!skb)
630+ goto out;
631++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
632++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
633++ goto out;
634++ }
635+
636+ ulen = skb->len - sizeof(struct udphdr);
637+ copied = len;
638+--- linux-4.4.92-1vl6.orig/net/socket.c
639++++ linux-4.4.92-1vl6/net/socket.c
640+@@ -1476,6 +1476,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
641+ if (err < 0)
642+ goto out_fd;
643+
644++ if (ccs_socket_post_accept_permission(sock, newsock)) {
645++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
646++ goto out_fd;
647++ }
648+ if (upeer_sockaddr) {
649+ if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
650+ &len, 2) < 0) {
651+--- linux-4.4.92-1vl6.orig/net/unix/af_unix.c
652++++ linux-4.4.92-1vl6/net/unix/af_unix.c
653+@@ -2144,6 +2144,10 @@ static int unix_dgram_recvmsg(struct soc
654+ wake_up_interruptible_sync_poll(&u->peer_wait,
655+ POLLOUT | POLLWRNORM | POLLWRBAND);
656+
657++ if (ccs_socket_post_recvmsg_permission(sk, skb, flags)) {
658++ err = -EAGAIN; /* Hope less harmful than -EPERM. */
659++ goto out_unlock;
660++ }
661+ if (msg->msg_name)
662+ unix_copy_addr(msg, skb->sk);
663+
664+--- linux-4.4.92-1vl6.orig/security/Kconfig
665++++ linux-4.4.92-1vl6/security/Kconfig
666+@@ -163,5 +163,7 @@ config DEFAULT_SECURITY
667+ default "apparmor" if DEFAULT_SECURITY_APPARMOR
668+ default "" if DEFAULT_SECURITY_DAC
669+
670++source security/ccsecurity/Kconfig
671++
672+ endmenu
673+
674+--- linux-4.4.92-1vl6.orig/security/Makefile
675++++ linux-4.4.92-1vl6/security/Makefile
676+@@ -27,3 +27,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_c
677+ # Object integrity file lists
678+ subdir-$(CONFIG_INTEGRITY) += integrity
679+ obj-$(CONFIG_INTEGRITY) += integrity/
680++
681++subdir-$(CONFIG_CCSECURITY) += ccsecurity
682++obj-$(CONFIG_CCSECURITY) += ccsecurity/
--- trunk/caitsith-patch/patches/ccs-patch-4.4.diff (revision 249)
+++ trunk/caitsith-patch/patches/ccs-patch-4.4.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.4.88.
1+This is TOMOYO Linux patch for kernel 4.4.96.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.88.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.96.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.88.orig/fs/exec.c
32-+++ linux-4.4.88/fs/exec.c
31+--- linux-4.4.96.orig/fs/exec.c
32++++ linux-4.4.96/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.88.orig/fs/open.c
43-+++ linux-4.4.88/fs/open.c
42+--- linux-4.4.96.orig/fs/open.c
43++++ linux-4.4.96/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.88.orig/fs/proc/version.c
54-+++ linux-4.4.88/fs/proc/version.c
53+--- linux-4.4.96.orig/fs/proc/version.c
54++++ linux-4.4.96/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.88 2017/09/14\n");
62++ printk(KERN_INFO "Hook version: 4.4.96 2017/11/04\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.4.88.orig/include/linux/init_task.h
67-+++ linux-4.4.88/include/linux/init_task.h
66+--- linux-4.4.96.orig/include/linux/init_task.h
67++++ linux-4.4.96/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.88.orig/include/linux/sched.h
92-+++ linux-4.4.88/include/linux/sched.h
91+--- linux-4.4.96.orig/include/linux/sched.h
92++++ linux-4.4.96/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.88.orig/include/linux/security.h
114-+++ linux-4.4.88/include/linux/security.h
113+--- linux-4.4.96.orig/include/linux/security.h
114++++ linux-4.4.96/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.88.orig/include/net/ip.h
322-+++ linux-4.4.88/include/net/ip.h
321+--- linux-4.4.96.orig/include/net/ip.h
322++++ linux-4.4.96/include/net/ip.h
323323 @@ -223,6 +223,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.88.orig/kernel/fork.c
342-+++ linux-4.4.88/kernel/fork.c
341+--- linux-4.4.96.orig/kernel/fork.c
342++++ linux-4.4.96/kernel/fork.c
343343 @@ -258,6 +258,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.88.orig/kernel/kexec.c
370-+++ linux-4.4.88/kernel/kexec.c
369+--- linux-4.4.96.orig/kernel/kexec.c
370++++ linux-4.4.96/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.88.orig/kernel/module.c
390-+++ linux-4.4.88/kernel/module.c
389+--- linux-4.4.96.orig/kernel/module.c
390++++ linux-4.4.96/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.88.orig/kernel/ptrace.c
418-+++ linux-4.4.88/kernel/ptrace.c
417+--- linux-4.4.96.orig/kernel/ptrace.c
418++++ linux-4.4.96/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.88.orig/kernel/reboot.c
444-+++ linux-4.4.88/kernel/reboot.c
443+--- linux-4.4.96.orig/kernel/reboot.c
444++++ linux-4.4.96/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.88.orig/kernel/sched/core.c
463-+++ linux-4.4.88/kernel/sched/core.c
462+--- linux-4.4.96.orig/kernel/sched/core.c
463++++ linux-4.4.96/kernel/sched/core.c
464464 @@ -3548,6 +3548,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.88.orig/kernel/signal.c
474-+++ linux-4.4.88/kernel/signal.c
473+--- linux-4.4.96.orig/kernel/signal.c
474++++ linux-4.4.96/kernel/signal.c
475475 @@ -2855,6 +2855,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.88.orig/kernel/sys.c
521-+++ linux-4.4.88/kernel/sys.c
520+--- linux-4.4.96.orig/kernel/sys.c
521++++ linux-4.4.96/kernel/sys.c
522522 @@ -183,6 +183,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.88.orig/kernel/time/ntp.c
552-+++ linux-4.4.88/kernel/time/ntp.c
551+--- linux-4.4.96.orig/kernel/time/ntp.c
552++++ linux-4.4.96/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.88.orig/net/ipv4/raw.c
587-+++ linux-4.4.88/net/ipv4/raw.c
586+--- linux-4.4.96.orig/net/ipv4/raw.c
587++++ linux-4.4.96/net/ipv4/raw.c
588588 @@ -742,6 +742,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.88.orig/net/ipv4/udp.c
600-+++ linux-4.4.88/net/ipv4/udp.c
599+--- linux-4.4.96.orig/net/ipv4/udp.c
600++++ linux-4.4.96/net/ipv4/udp.c
601601 @@ -1286,6 +1286,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.88.orig/net/ipv6/raw.c
613-+++ linux-4.4.88/net/ipv6/raw.c
612+--- linux-4.4.96.orig/net/ipv6/raw.c
613++++ linux-4.4.96/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.88.orig/net/ipv6/udp.c
626-+++ linux-4.4.88/net/ipv6/udp.c
625+--- linux-4.4.96.orig/net/ipv6/udp.c
626++++ linux-4.4.96/net/ipv6/udp.c
627627 @@ -417,6 +417,10 @@ try_again:
628628 &peeked, &off, &err);
629629 if (!skb)
@@ -635,8 +635,8 @@
635635
636636 ulen = skb->len - sizeof(struct udphdr);
637637 copied = len;
638---- linux-4.4.88.orig/net/socket.c
639-+++ linux-4.4.88/net/socket.c
638+--- linux-4.4.96.orig/net/socket.c
639++++ linux-4.4.96/net/socket.c
640640 @@ -1476,6 +1476,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
641641 if (err < 0)
642642 goto out_fd;
@@ -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.88.orig/net/unix/af_unix.c
652-+++ linux-4.4.88/net/unix/af_unix.c
651+--- linux-4.4.96.orig/net/unix/af_unix.c
652++++ linux-4.4.96/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.88.orig/security/Kconfig
665-+++ linux-4.4.88/security/Kconfig
664+--- linux-4.4.96.orig/security/Kconfig
665++++ linux-4.4.96/security/Kconfig
666666 @@ -163,5 +163,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.88.orig/security/Makefile
675-+++ linux-4.4.88/security/Makefile
674+--- linux-4.4.96.orig/security/Makefile
675++++ linux-4.4.96/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 249)
+++ trunk/caitsith-patch/patches/ccs-patch-4.9.diff (revision 250)
@@ -1,6 +1,6 @@
1-This is TOMOYO Linux patch for kernel 4.9.50.
1+This is TOMOYO Linux patch for kernel 4.9.60.
22
3-Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.50.tar.xz
3+Source code for this patch is https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.60.tar.xz
44 ---
55 fs/exec.c | 2 -
66 fs/open.c | 2 +
@@ -28,8 +28,8 @@
2828 security/Makefile | 3 ++
2929 24 files changed, 147 insertions(+), 26 deletions(-)
3030
31---- linux-4.9.50.orig/fs/exec.c
32-+++ linux-4.9.50/fs/exec.c
31+--- linux-4.9.60.orig/fs/exec.c
32++++ linux-4.9.60/fs/exec.c
3333 @@ -1661,7 +1661,7 @@ static int exec_binprm(struct linux_binp
3434 old_vpid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
3535 rcu_read_unlock();
@@ -39,8 +39,8 @@
3939 if (ret >= 0) {
4040 audit_bprm(bprm);
4141 trace_sched_process_exec(current, old_pid, bprm);
42---- linux-4.9.50.orig/fs/open.c
43-+++ linux-4.9.50/fs/open.c
42+--- linux-4.9.60.orig/fs/open.c
43++++ linux-4.9.60/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.50.orig/fs/proc/version.c
54-+++ linux-4.9.50/fs/proc/version.c
53+--- linux-4.9.60.orig/fs/proc/version.c
54++++ linux-4.9.60/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.50 2017/09/14\n");
62++ printk(KERN_INFO "Hook version: 4.9.60 2017/11/04\n");
6363 + return 0;
6464 +}
6565 +fs_initcall(ccs_show_version);
66---- linux-4.9.50.orig/include/linux/init_task.h
67-+++ linux-4.9.50/include/linux/init_task.h
66+--- linux-4.9.60.orig/include/linux/init_task.h
67++++ linux-4.9.60/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.50.orig/include/linux/sched.h
92-+++ linux-4.9.50/include/linux/sched.h
91+--- linux-4.9.60.orig/include/linux/sched.h
92++++ linux-4.9.60/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.50.orig/include/linux/security.h
114-+++ linux-4.9.50/include/linux/security.h
113+--- linux-4.9.60.orig/include/linux/security.h
114++++ linux-4.9.60/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.50.orig/include/net/ip.h
322-+++ linux-4.9.50/include/net/ip.h
321+--- linux-4.9.60.orig/include/net/ip.h
322++++ linux-4.9.60/include/net/ip.h
323323 @@ -252,6 +252,8 @@ void inet_get_local_port_range(struct ne
324324 #ifdef CONFIG_SYSCTL
325325 static inline int inet_is_local_reserved_port(struct net *net, int port)
@@ -338,8 +338,8 @@
338338 return 0;
339339 }
340340 #endif
341---- linux-4.9.50.orig/kernel/fork.c
342-+++ linux-4.9.50/kernel/fork.c
341+--- linux-4.9.60.orig/kernel/fork.c
342++++ linux-4.9.60/kernel/fork.c
343343 @@ -390,6 +390,7 @@ void __put_task_struct(struct task_struc
344344 delayacct_tsk_free(tsk);
345345 put_signal_struct(tsk->signal);
@@ -366,8 +366,8 @@
366366 bad_fork_cleanup_perf:
367367 perf_event_free_task(p);
368368 bad_fork_cleanup_policy:
369---- linux-4.9.50.orig/kernel/kexec.c
370-+++ linux-4.9.50/kernel/kexec.c
369+--- linux-4.9.60.orig/kernel/kexec.c
370++++ linux-4.9.60/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.50.orig/kernel/module.c
390-+++ linux-4.9.50/kernel/module.c
389+--- linux-4.9.60.orig/kernel/module.c
390++++ linux-4.9.60/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.50.orig/kernel/ptrace.c
418-+++ linux-4.9.50/kernel/ptrace.c
417+--- linux-4.9.60.orig/kernel/ptrace.c
418++++ linux-4.9.60/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.50.orig/kernel/reboot.c
444-+++ linux-4.9.50/kernel/reboot.c
443+--- linux-4.9.60.orig/kernel/reboot.c
444++++ linux-4.9.60/kernel/reboot.c
445445 @@ -16,6 +16,7 @@
446446 #include <linux/syscalls.h>
447447 #include <linux/syscore_ops.h>
@@ -459,9 +459,9 @@
459459
460460 /*
461461 * If pid namespaces are enabled and the current task is in a child
462---- linux-4.9.50.orig/kernel/sched/core.c
463-+++ linux-4.9.50/kernel/sched/core.c
464-@@ -3811,6 +3811,8 @@ int can_nice(const struct task_struct *p
462+--- linux-4.9.60.orig/kernel/sched/core.c
463++++ linux-4.9.60/kernel/sched/core.c
464+@@ -3812,6 +3812,8 @@ int can_nice(const struct task_struct *p
465465 SYSCALL_DEFINE1(nice, int, increment)
466466 {
467467 long nice, retval;
@@ -470,8 +470,8 @@
470470
471471 /*
472472 * Setpriority might change our priority at the same moment.
473---- linux-4.9.50.orig/kernel/signal.c
474-+++ linux-4.9.50/kernel/signal.c
473+--- linux-4.9.60.orig/kernel/signal.c
474++++ linux-4.9.60/kernel/signal.c
475475 @@ -2855,6 +2855,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.50.orig/kernel/sys.c
521-+++ linux-4.9.50/kernel/sys.c
520+--- linux-4.9.60.orig/kernel/sys.c
521++++ linux-4.9.60/kernel/sys.c
522522 @@ -183,6 +183,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.50.orig/kernel/time/ntp.c
552-+++ linux-4.9.50/kernel/time/ntp.c
551+--- linux-4.9.60.orig/kernel/time/ntp.c
552++++ linux-4.9.60/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.50.orig/net/ipv4/raw.c
587-+++ linux-4.9.50/net/ipv4/raw.c
586+--- linux-4.9.60.orig/net/ipv4/raw.c
587++++ linux-4.9.60/net/ipv4/raw.c
588588 @@ -739,6 +739,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.50.orig/net/ipv4/udp.c
600-+++ linux-4.9.50/net/ipv4/udp.c
599+--- linux-4.9.60.orig/net/ipv4/udp.c
600++++ linux-4.9.60/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.50.orig/net/ipv6/raw.c
611-+++ linux-4.9.50/net/ipv6/raw.c
610+--- linux-4.9.60.orig/net/ipv6/raw.c
611++++ linux-4.9.60/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.50.orig/net/ipv6/udp.c
624-+++ linux-4.9.50/net/ipv6/udp.c
623+--- linux-4.9.60.orig/net/ipv6/udp.c
624++++ linux-4.9.60/net/ipv6/udp.c
625625 @@ -348,6 +348,8 @@ try_again:
626626 &peeked, &off, &err);
627627 if (!skb)
@@ -631,8 +631,8 @@
631631
632632 ulen = skb->len;
633633 copied = len;
634---- linux-4.9.50.orig/net/socket.c
635-+++ linux-4.9.50/net/socket.c
634+--- linux-4.9.60.orig/net/socket.c
635++++ linux-4.9.60/net/socket.c
636636 @@ -1481,6 +1481,10 @@ SYSCALL_DEFINE4(accept4, int, fd, struct
637637 if (err < 0)
638638 goto out_fd;
@@ -644,8 +644,8 @@
644644 if (upeer_sockaddr) {
645645 if (newsock->ops->getname(newsock, (struct sockaddr *)&address,
646646 &len, 2) < 0) {
647---- linux-4.9.50.orig/net/unix/af_unix.c
648-+++ linux-4.9.50/net/unix/af_unix.c
647+--- linux-4.9.60.orig/net/unix/af_unix.c
648++++ linux-4.9.60/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.50.orig/security/Kconfig
669-+++ linux-4.9.50/security/Kconfig
668+--- linux-4.9.60.orig/security/Kconfig
669++++ linux-4.9.60/security/Kconfig
670670 @@ -204,5 +204,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.50.orig/security/Makefile
679-+++ linux-4.9.50/security/Makefile
678+--- linux-4.9.60.orig/security/Makefile
679++++ linux-4.9.60/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/specs/build-vl6-3.4.sh (revision 249)
+++ trunk/caitsith-patch/specs/build-vl6-3.4.sh (nonexistent)
@@ -1,93 +0,0 @@
1-#! /bin/sh
2-#
3-# This is a kernel build script for VineLinux 6's 3.4 kernel.
4-#
5-
6-die () {
7- echo $1
8- exit 1
9-}
10-
11-cd /tmp/ || die "Can't chdir to /tmp/ ."
12-
13-if [ ! -r kernel-3.4.110-4vl6.src.rpm ]
14-then
15- wget http://updates.vinelinux.org/Vine-6.5/updates/SRPMS/kernel-3.4.110-4vl6.src.rpm || die "Can't download source package."
16-fi
17-LANG=C rpm --checksig kernel-3.4.110-4vl6.src.rpm | grep -F ': (sha1) dsa sha1 md5 gpg OK' || die "Can't verify signature."
18-rpm -ivh kernel-3.4.110-4vl6.src.rpm || die "Can't install source package."
19-
20-cd ~/rpm/SOURCES/ || die "Can't chdir to ~/rpm/SOURCES/ ."
21-if [ ! -r caitsith-patch-0.2-20170917.tar.gz ]
22-then
23- wget -O caitsith-patch-0.2-20170917.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20170917.tar.gz' || die "Can't download patch."
24-fi
25-
26-cd /tmp/ || die "Can't chdir to /tmp/ ."
27-cp -p ~/rpm/SPECS/kernel34-vl.spec . || die "Can't copy spec file."
28-patch << "EOF" || die "Can't patch spec file."
29---- kernel34-vl.spec
30-+++ kernel34-vl.spec
31-@@ -34,7 +34,7 @@
32- %define patchlevel 110
33- %define kversion 3.%{sublevel}
34- %define rpmversion 3.%{sublevel}.%{patchlevel}
35--%define release 4%{?_dist_release}
36-+%define release 4%{?_dist_release}_caitsith_0.2.2
37-
38- %define make_target bzImage
39- %define hdrarch %_target_cpu
40-@@ -126,6 +126,9 @@
41- # to versions below the minimum
42- #
43-
44-+
45-+%define signmodules 0
46-+
47- #
48- # First the general kernel 2.6 required versions as per
49- # Documentation/Changes
50-@@ -158,7 +161,7 @@
51- #
52- %define kernel_prereq fileutils, %{kmod}, initscripts >= 8.80, mkinitrd >= 6.0.93, linux-firmware >= 20110601-1
53-
54--Name: kernel
55-+Name: cs-kernel
56- Group: System Environment/Kernel
57- License: GPLv2
58- Version: %{rpmversion}
59-@@ -771,6 +774,10 @@
60-
61- # END OF PATCH APPLICATIONS
62-
63-+# CaitSith
64-+tar -zxf %_sourcedir/caitsith-patch-0.2-20170917.tar.gz
65-+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
66-+patch -sp1 < patches/ccs-patch-3.4-vine-linux-6.diff
67- cp %{SOURCE10} Documentation/
68-
69- # put Vine logo
70-@@ -789,6 +796,9 @@
71- for i in *.config
72- do
73- mv $i .config
74-+ # CaitSith
75-+ cat config.caitsith >> .config
76-+ sed -i -e "s/^CONFIG_DEBUG_INFO=.*/# CONFIG_DEBUG_INFO is not set/" -- .config
77- Arch=`head -1 .config | cut -b 3-`
78- make ARCH=$Arch oldnoconfig
79- echo "# $Arch" > configs/$i
80-EOF
81-mv kernel34-vl.spec cs-kernel.spec || die "Can't rename spec file."
82-echo ""
83-echo ""
84-echo ""
85-echo "Edit /tmp/cs-kernel.spec if needed, and run"
86-echo "rpmbuild -bb /tmp/cs-kernel.spec"
87-echo "to build kernel rpm packages."
88-echo ""
89-ARCH=`uname -m`
90-echo "I'll start 'rpmbuild -bb --target $ARCH /tmp/cs-kernel.spec' in 30 seconds. Press Ctrl-C to stop."
91-sleep 30
92-exec rpmbuild -bb --target $ARCH /tmp/cs-kernel.spec
93-exit 0
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
--- trunk/caitsith-patch/specs/build-c6-2.6.32.sh (revision 249)
+++ trunk/caitsith-patch/specs/build-c6-2.6.32.sh (revision 250)
@@ -10,12 +10,12 @@
1010
1111 cd /tmp/ || die "Can't chdir to /tmp/ ."
1212
13-if [ ! -r kernel-2.6.32-696.10.2.el6.src.rpm ]
13+if [ ! -r kernel-2.6.32-696.13.2.el6.src.rpm ]
1414 then
15- wget http://vault.centos.org/6.9/updates/Source/SPackages/kernel-2.6.32-696.10.2.el6.src.rpm || die "Can't download source package."
15+ wget http://vault.centos.org/6.9/updates/Source/SPackages/kernel-2.6.32-696.13.2.el6.src.rpm || die "Can't download source package."
1616 fi
17-LANG=C rpm --checksig kernel-2.6.32-696.10.2.el6.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18-rpm -ivh kernel-2.6.32-696.10.2.el6.src.rpm || die "Can't install source package."
17+LANG=C rpm --checksig kernel-2.6.32-696.13.2.el6.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18+rpm -ivh kernel-2.6.32-696.13.2.el6.src.rpm || die "Can't install source package."
1919
2020 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
2121 if [ ! -r caitsith-patch-0.2-20170917.tar.gz ]
@@ -35,7 +35,7 @@
3535 -# % define buildid .local
3636 +%define buildid _caitsith_0.2.2
3737
38- %define distro_build 696.10.2
38+ %define distro_build 696.13.2
3939 %define signmodules 1
4040 @@ -437,7 +437,7 @@
4141 # Packages that need to be installed before the kernel is, because the %post
--- trunk/caitsith-patch/specs/build-c7-3.10.sh (revision 249)
+++ trunk/caitsith-patch/specs/build-c7-3.10.sh (revision 250)
@@ -10,12 +10,12 @@
1010
1111 cd /tmp/ || die "Can't chdir to /tmp/ ."
1212
13-if [ ! -r kernel-3.10.0-693.2.2.el7.src.rpm ]
13+if [ ! -r kernel-3.10.0-693.5.2.el7.src.rpm ]
1414 then
15- wget http://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-693.2.2.el7.src.rpm || die "Can't download source package."
15+ wget http://vault.centos.org/centos/7/updates/Source/SPackages/kernel-3.10.0-693.5.2.el7.src.rpm || die "Can't download source package."
1616 fi
17-LANG=C rpm --checksig kernel-3.10.0-693.2.2.el7.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18-rpm -ivh kernel-3.10.0-693.2.2.el7.src.rpm || die "Can't install source package."
17+LANG=C rpm --checksig kernel-3.10.0-693.5.2.el7.src.rpm | grep -F ': rsa sha1 (md5) pgp md5 OK' || die "Can't verify signature."
18+rpm -ivh kernel-3.10.0-693.5.2.el7.src.rpm || die "Can't install source package."
1919
2020 cd ~/rpmbuild/SOURCES/ || die "Can't chdir to ~/rpmbuild/SOURCES/ ."
2121 if [ ! -r caitsith-patch-0.2-20170917.tar.gz ]
--- trunk/caitsith-patch/specs/build-vl6-4.4.sh (nonexistent)
+++ trunk/caitsith-patch/specs/build-vl6-4.4.sh (revision 250)
@@ -0,0 +1,93 @@
1+#! /bin/sh
2+#
3+# This is a kernel build script for VineLinux 6's 4.4 kernel.
4+#
5+
6+die () {
7+ echo $1
8+ exit 1
9+}
10+
11+cd /tmp/ || die "Can't chdir to /tmp/ ."
12+
13+if [ ! -r kernel-4.4.92-1vl6.src.rpm ]
14+then
15+ wget http://updates.vinelinux.org/Vine-6.5/updates/SRPMS/kernel-4.4.92-1vl6.src.rpm || die "Can't download source package."
16+fi
17+LANG=C rpm --checksig kernel-4.4.92-1vl6.src.rpm | grep -F ': (sha1) dsa sha1 md5 gpg OK' || die "Can't verify signature."
18+rpm -ivh kernel-4.4.92-1vl6.src.rpm || die "Can't install source package."
19+
20+cd ~/rpm/SOURCES/ || die "Can't chdir to ~/rpm/SOURCES/ ."
21+if [ ! -r caitsith-patch-0.2-20170917.tar.gz ]
22+then
23+ wget -O caitsith-patch-0.2-20170917.tar.gz 'http://osdn.jp/frs/redir.php?f=/caitsith/66537/caitsith-patch-0.2-20170917.tar.gz' || die "Can't download patch."
24+fi
25+
26+cd /tmp/ || die "Can't chdir to /tmp/ ."
27+cp -p ~/rpm/SPECS/kernel44-vl.spec . || die "Can't copy spec file."
28+patch << "EOF" || die "Can't patch spec file."
29+--- kernel44-vl.spec
30++++ kernel44-vl.spec
31+@@ -34,7 +34,7 @@
32+ %define patchlevel 92
33+ %define kversion 4.%{sublevel}
34+ %define rpmversion 4.%{sublevel}.%{patchlevel}
35+-%define release 1%{?_dist_release}
36++%define release 1%{?_dist_release}_caitsith_0.2.2
37+
38+ %define make_target bzImage
39+ %define hdrarch %_target_cpu
40+@@ -126,6 +126,9 @@
41+ # to versions below the minimum
42+ #
43+
44++
45++%define signmodules 0
46++
47+ #
48+ # First the general kernel 2.6 required versions as per
49+ # Documentation/Changes
50+@@ -158,7 +161,7 @@
51+ #
52+ %define kernel_prereq fileutils, %{kmod}, initscripts >= 8.80, mkinitrd >= 6.0.93, linux-firmware >= 20110601-1
53+
54+-Name: kernel
55++Name: cs-kernel
56+ Group: System Environment/Kernel
57+ License: GPLv2
58+ Version: %{rpmversion}
59+@@ -666,6 +669,10 @@
60+
61+ # END OF PATCH APPLICATIONS
62+
63++# CaitSith
64++tar -zxf %_sourcedir/caitsith-patch-0.2-20170917.tar.gz
65++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
66++patch -sp1 < patches/ccs-patch-4.4-vine-linux-6.diff
67+ cp %{SOURCE10} Documentation/
68+
69+ # put Vine logo
70+@@ -684,6 +691,9 @@
71+ for i in *.config
72+ do
73+ mv $i .config
74++ # CaitSith
75++ cat config.caitsith >> .config
76++ sed -i -e "s/^CONFIG_DEBUG_INFO=.*/# CONFIG_DEBUG_INFO is not set/" -- .config
77+ Arch=`head -1 .config | cut -b 3-`
78+ make ARCH=$Arch oldnoconfig
79+ echo "# $Arch" > configs/$i
80+EOF
81+mv kernel44-vl.spec cs-kernel.spec || die "Can't rename spec file."
82+echo ""
83+echo ""
84+echo ""
85+echo "Edit /tmp/cs-kernel.spec if needed, and run"
86+echo "rpmbuild -bb /tmp/cs-kernel.spec"
87+echo "to build kernel rpm packages."
88+echo ""
89+ARCH=`uname -m`
90+echo "I'll start 'rpmbuild -bb --target $ARCH /tmp/cs-kernel.spec' in 30 seconds. Press Ctrl-C to stop."
91+sleep 30
92+exec rpmbuild -bb --target $ARCH /tmp/cs-kernel.spec
93+exit 0
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
旧リポジトリブラウザで表示