mirror of
https://github.com/dynup/kpatch
synced 2024-12-26 15:22:03 +00:00
testing: rebase patches for CentOS 7.4 kernel-3.10.0-693.el7
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
This commit is contained in:
parent
10b37a16a4
commit
2f8170e962
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/proc/proc_sysctl.c src/fs/proc/proc_sysctl.c
|
||||
--- src.orig/fs/proc/proc_sysctl.c 2016-11-30 19:51:03.949178250 +0000
|
||||
+++ src/fs/proc/proc_sysctl.c 2016-11-30 19:51:04.736178250 +0000
|
||||
--- src.orig/fs/proc/proc_sysctl.c 2017-09-22 15:27:21.698056175 -0400
|
||||
+++ src/fs/proc/proc_sysctl.c 2017-09-22 15:27:21.769056469 -0400
|
||||
@@ -266,6 +266,8 @@ void sysctl_head_put(struct ctl_table_he
|
||||
|
||||
static struct ctl_table_header *sysctl_head_grab(struct ctl_table_header *head)
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/proc/cmdline.c src/fs/proc/cmdline.c
|
||||
--- src.orig/fs/proc/cmdline.c 2016-11-30 19:51:03.947178250 +0000
|
||||
+++ src/fs/proc/cmdline.c 2016-11-30 19:51:07.116178250 +0000
|
||||
--- src.orig/fs/proc/cmdline.c 2017-09-22 15:27:21.698056175 -0400
|
||||
+++ src/fs/proc/cmdline.c 2017-09-22 15:27:22.955061380 -0400
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
static int cmdline_proc_show(struct seq_file *m, void *v)
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
--- src.orig/fs/proc/meminfo.c 2016-11-30 19:51:03.948178250 +0000
|
||||
+++ src/fs/proc/meminfo.c 2016-11-30 19:51:11.642178250 +0000
|
||||
--- src.orig/fs/proc/meminfo.c 2017-09-22 15:27:21.699056179 -0400
|
||||
+++ src/fs/proc/meminfo.c 2017-09-22 15:27:24.102066130 -0400
|
||||
@@ -20,6 +20,8 @@ void __attribute__((weak)) arch_report_m
|
||||
{
|
||||
}
|
||||
@ -10,7 +10,7 @@ diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
static int meminfo_proc_show(struct seq_file *m, void *v)
|
||||
{
|
||||
struct sysinfo i;
|
||||
@@ -138,6 +140,7 @@ static int meminfo_proc_show(struct seq_
|
||||
@@ -106,6 +108,7 @@ static int meminfo_proc_show(struct seq_
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
"AnonHugePages: %8lu kB\n"
|
||||
#endif
|
||||
@ -18,7 +18,7 @@ diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
,
|
||||
K(i.totalram),
|
||||
K(i.freeram),
|
||||
@@ -199,6 +202,7 @@ static int meminfo_proc_show(struct seq_
|
||||
@@ -167,6 +170,7 @@ static int meminfo_proc_show(struct seq_
|
||||
,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
|
||||
HPAGE_PMD_NR)
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/net/core/dev.c src/net/core/dev.c
|
||||
--- src.orig/net/core/dev.c 2016-11-30 19:51:04.367178250 +0000
|
||||
+++ src/net/core/dev.c 2016-11-30 19:51:13.914178250 +0000
|
||||
@@ -3547,6 +3547,7 @@ ncls:
|
||||
--- src.orig/net/core/dev.c 2017-09-22 15:27:21.759056428 -0400
|
||||
+++ src/net/core/dev.c 2017-09-22 15:27:25.244070859 -0400
|
||||
@@ -4012,6 +4012,7 @@ ncls:
|
||||
case RX_HANDLER_PASS:
|
||||
break;
|
||||
default:
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/readdir.c src/fs/readdir.c
|
||||
--- src.orig/fs/readdir.c 2016-11-30 19:51:03.953178250 +0000
|
||||
+++ src/fs/readdir.c 2016-11-30 19:51:16.235178250 +0000
|
||||
--- src.orig/fs/readdir.c 2017-09-22 15:27:21.658056010 -0400
|
||||
+++ src/fs/readdir.c 2017-09-22 15:27:26.378075555 -0400
|
||||
@@ -166,6 +166,8 @@ static int filldir(void * __buf, const c
|
||||
goto efault;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/kernel/time/timekeeping.c src/kernel/time/timekeeping.c
|
||||
--- src.orig/kernel/time/timekeeping.c 2016-11-30 19:51:04.308178250 +0000
|
||||
+++ src/kernel/time/timekeeping.c 2016-11-30 19:51:18.583178250 +0000
|
||||
@@ -521,6 +521,9 @@ void do_gettimeofday(struct timeval *tv)
|
||||
--- src.orig/kernel/time/timekeeping.c 2017-09-22 15:27:21.602055778 -0400
|
||||
+++ src/kernel/time/timekeeping.c 2017-09-22 15:27:27.522080292 -0400
|
||||
@@ -877,6 +877,9 @@ void do_gettimeofday(struct timeval *tv)
|
||||
{
|
||||
struct timespec64 now;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/proc/proc_sysctl.c src/fs/proc/proc_sysctl.c
|
||||
--- src.orig/fs/proc/proc_sysctl.c 2016-11-30 19:51:03.949178250 +0000
|
||||
+++ src/fs/proc/proc_sysctl.c 2016-11-30 19:51:20.930178250 +0000
|
||||
--- src.orig/fs/proc/proc_sysctl.c 2017-09-22 15:27:21.698056175 -0400
|
||||
+++ src/fs/proc/proc_sysctl.c 2017-09-22 15:27:28.670085046 -0400
|
||||
@@ -24,6 +24,7 @@ void proc_sys_poll_notify(struct ctl_tab
|
||||
if (!poll)
|
||||
return;
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/mm/slub.c src/mm/slub.c
|
||||
--- src.orig/mm/slub.c 2016-11-30 20:10:24.857178250 +0000
|
||||
+++ src/mm/slub.c 2016-11-30 20:19:01.073178250 +0000
|
||||
@@ -5298,6 +5298,9 @@ void get_slabinfo(struct kmem_cache *s,
|
||||
--- src.orig/mm/slub.c 2017-09-22 15:27:21.618055844 -0400
|
||||
+++ src/mm/slub.c 2017-09-22 15:27:29.830089850 -0400
|
||||
@@ -5528,6 +5528,9 @@ void get_slabinfo(struct kmem_cache *s,
|
||||
unsigned long nr_free = 0;
|
||||
int node;
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
diff -Nupr src.orig/mm/mmap.c src/mm/mmap.c
|
||||
--- src.orig/mm/mmap.c 2016-11-30 19:51:04.337178250 +0000
|
||||
+++ src/mm/mmap.c 2016-11-30 19:51:23.348178250 +0000
|
||||
@@ -1481,6 +1481,7 @@ static inline int accountable_mapping(st
|
||||
--- src.orig/mm/mmap.c 2017-09-22 15:27:21.618055844 -0400
|
||||
+++ src/mm/mmap.c 2017-09-22 15:27:31.024094794 -0400
|
||||
@@ -1677,6 +1677,7 @@ static inline int accountable_mapping(st
|
||||
return (vm_flags & (VM_NORESERVE | VM_SHARED | VM_WRITE)) == VM_WRITE;
|
||||
}
|
||||
|
||||
+#include "kpatch-macros.h"
|
||||
unsigned long mmap_region(struct file *file, unsigned long addr,
|
||||
unsigned long len, vm_flags_t vm_flags, unsigned long pgoff)
|
||||
{
|
||||
@@ -1492,6 +1493,9 @@ unsigned long mmap_region(struct file *f
|
||||
unsigned long len, vm_flags_t vm_flags, unsigned long pgoff,
|
||||
struct list_head *uf)
|
||||
@@ -1687,6 +1688,9 @@ unsigned long mmap_region(struct file *f
|
||||
struct rb_node **rb_link, *rb_parent;
|
||||
unsigned long charged = 0;
|
||||
struct inode *inode = file ? file_inode(file) : NULL;
|
||||
|
||||
+ if (!jiffies)
|
||||
+ printk("kpatch mmap foo\n");
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/kernel/sys.c src/kernel/sys.c
|
||||
--- src.orig/kernel/sys.c 2016-11-30 20:10:24.820178250 +0000
|
||||
+++ src/kernel/sys.c 2016-11-30 20:20:28.184178250 +0000
|
||||
@@ -548,8 +548,15 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
|
||||
--- src.orig/kernel/sys.c 2017-09-22 15:27:21.601055773 -0400
|
||||
+++ src/kernel/sys.c 2017-09-22 15:27:32.170099540 -0400
|
||||
@@ -554,8 +554,15 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/aio.c src/fs/aio.c
|
||||
--- src.orig/fs/aio.c 2016-11-30 19:51:03.826178250 +0000
|
||||
+++ src/fs/aio.c 2016-11-30 19:52:53.149178250 +0000
|
||||
--- src.orig/fs/aio.c 2017-09-22 15:27:21.702056192 -0400
|
||||
+++ src/fs/aio.c 2017-09-22 15:27:33.299104215 -0400
|
||||
@@ -219,9 +219,16 @@ static int __init aio_setup(void)
|
||||
}
|
||||
__initcall(aio_setup);
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/kernel/audit.c src/kernel/audit.c
|
||||
--- src.orig/kernel/audit.c 2016-11-30 19:51:04.288178250 +0000
|
||||
+++ src/kernel/audit.c 2016-11-30 19:52:55.338178250 +0000
|
||||
@@ -206,6 +206,12 @@ void audit_panic(const char *message)
|
||||
--- src.orig/kernel/audit.c 2017-09-22 15:27:21.602055778 -0400
|
||||
+++ src/kernel/audit.c 2017-09-22 15:27:34.429108894 -0400
|
||||
@@ -205,6 +205,12 @@ void audit_panic(const char *message)
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@ diff -Nupr src.orig/kernel/audit.c src/kernel/audit.c
|
||||
static inline int audit_rate_check(void)
|
||||
{
|
||||
static unsigned long last_check = 0;
|
||||
@@ -216,6 +222,7 @@ static inline int audit_rate_check(void)
|
||||
@@ -215,6 +221,7 @@ static inline int audit_rate_check(void)
|
||||
unsigned long elapsed;
|
||||
int retval = 0;
|
||||
|
||||
@ -22,7 +22,7 @@ diff -Nupr src.orig/kernel/audit.c src/kernel/audit.c
|
||||
if (!audit_rate_limit) return 1;
|
||||
|
||||
spin_lock_irqsave(&lock, flags);
|
||||
@@ -235,6 +242,11 @@ static inline int audit_rate_check(void)
|
||||
@@ -234,6 +241,11 @@ static inline int audit_rate_check(void)
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ diff -Nupr src.orig/kernel/audit.c src/kernel/audit.c
|
||||
/**
|
||||
* audit_log_lost - conditionally log lost audit message event
|
||||
* @message: the message stating reason for lost audit message
|
||||
@@ -283,6 +295,8 @@ static int audit_log_config_change(char
|
||||
@@ -282,6 +294,8 @@ static int audit_log_config_change(char
|
||||
struct audit_buffer *ab;
|
||||
int rc = 0;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/arch/x86/kernel/ldt.c src/arch/x86/kernel/ldt.c
|
||||
--- src.orig/arch/x86/kernel/ldt.c 2016-11-30 19:51:01.968178250 +0000
|
||||
+++ src/arch/x86/kernel/ldt.c 2016-11-30 19:52:57.597178250 +0000
|
||||
--- src.orig/arch/x86/kernel/ldt.c 2017-09-22 15:27:20.847052651 -0400
|
||||
+++ src/arch/x86/kernel/ldt.c 2017-09-22 15:27:35.573113632 -0400
|
||||
@@ -98,6 +98,12 @@ static inline int copy_ldt(mm_context_t
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/fs/aio.c src/fs/aio.c
|
||||
--- src.orig/fs/aio.c 2016-11-30 19:51:03.826178250 +0000
|
||||
+++ src/fs/aio.c 2016-11-30 19:52:59.946178250 +0000
|
||||
@@ -1675,6 +1675,20 @@ SYSCALL_DEFINE3(io_cancel, aio_context_t
|
||||
--- src.orig/fs/aio.c 2017-09-22 15:27:21.702056192 -0400
|
||||
+++ src/fs/aio.c 2017-09-22 15:27:36.703118311 -0400
|
||||
@@ -1683,6 +1683,20 @@ SYSCALL_DEFINE3(io_cancel, aio_context_t
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/net/ipv4/fib_frontend.c src/net/ipv4/fib_frontend.c
|
||||
--- src.orig/net/ipv4/fib_frontend.c 2016-11-30 20:10:24.893178250 +0000
|
||||
+++ src/net/ipv4/fib_frontend.c 2016-11-30 20:22:25.183178250 +0000
|
||||
@@ -623,6 +623,7 @@ errout:
|
||||
--- src.orig/net/ipv4/fib_frontend.c 2017-09-22 16:52:10.646110299 -0400
|
||||
+++ src/net/ipv4/fib_frontend.c 2017-09-22 16:55:14.395870305 -0400
|
||||
@@ -633,6 +633,7 @@ errout:
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -9,18 +9,18 @@ diff -Nupr src.orig/net/ipv4/fib_frontend.c src/net/ipv4/fib_frontend.c
|
||||
static int inet_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
{
|
||||
struct net *net = sock_net(skb->sk);
|
||||
@@ -641,6 +642,7 @@ static int inet_rtm_newroute(struct sk_b
|
||||
@@ -651,6 +652,7 @@ static int inet_rtm_newroute(struct sk_b
|
||||
}
|
||||
|
||||
err = fib_table_insert(tb, &cfg);
|
||||
err = fib_table_insert(net, tb, &cfg);
|
||||
+ KPATCH_PRINTK("[inet_rtm_newroute]: err is %d\n", err);
|
||||
errout:
|
||||
return err;
|
||||
}
|
||||
diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
--- src.orig/net/ipv4/fib_semantics.c 2016-11-30 20:10:24.893178250 +0000
|
||||
+++ src/net/ipv4/fib_semantics.c 2016-11-30 20:28:53.154178250 +0000
|
||||
@@ -798,6 +798,7 @@ fib_convert_metrics(struct fib_info *fi,
|
||||
--- src.orig/net/ipv4/fib_semantics.c 2017-09-22 16:52:10.645110295 -0400
|
||||
+++ src/net/ipv4/fib_semantics.c 2017-09-22 16:54:05.175584004 -0400
|
||||
@@ -925,6 +925,7 @@ fib_convert_metrics(struct fib_info *fi,
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
struct fib_info *fib_create_info(struct fib_config *cfg)
|
||||
{
|
||||
int err;
|
||||
@@ -822,6 +823,7 @@ struct fib_info *fib_create_info(struct
|
||||
@@ -949,6 +950,7 @@ struct fib_info *fib_create_info(struct
|
||||
#endif
|
||||
|
||||
err = -ENOBUFS;
|
||||
@ -36,7 +36,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
if (fib_info_cnt >= fib_info_hash_size) {
|
||||
unsigned int new_size = fib_info_hash_size << 1;
|
||||
struct hlist_head *new_info_hash;
|
||||
@@ -842,6 +844,7 @@ struct fib_info *fib_create_info(struct
|
||||
@@ -969,6 +971,7 @@ struct fib_info *fib_create_info(struct
|
||||
if (!fib_info_hash_size)
|
||||
goto failure;
|
||||
}
|
||||
@ -44,7 +44,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
|
||||
fi = kzalloc(sizeof(*fi)+nhs*sizeof(struct fib_nh), GFP_KERNEL);
|
||||
if (fi == NULL)
|
||||
@@ -853,6 +856,7 @@ struct fib_info *fib_create_info(struct
|
||||
@@ -980,6 +983,7 @@ struct fib_info *fib_create_info(struct
|
||||
} else
|
||||
fi->fib_metrics = (u32 *) dst_default_metrics;
|
||||
fib_info_cnt++;
|
||||
@ -52,7 +52,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
|
||||
fi->fib_net = net;
|
||||
fi->fib_protocol = cfg->fc_protocol;
|
||||
@@ -869,8 +873,10 @@ struct fib_info *fib_create_info(struct
|
||||
@@ -996,8 +1000,10 @@ struct fib_info *fib_create_info(struct
|
||||
if (!nexthop_nh->nh_pcpu_rth_output)
|
||||
goto failure;
|
||||
} endfor_nexthops(fi)
|
||||
@ -63,7 +63,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
if (err)
|
||||
goto failure;
|
||||
|
||||
@@ -905,6 +911,7 @@ struct fib_info *fib_create_info(struct
|
||||
@@ -1048,6 +1054,7 @@ struct fib_info *fib_create_info(struct
|
||||
nh->nh_weight = 1;
|
||||
#endif
|
||||
}
|
||||
@ -71,7 +71,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
|
||||
if (fib_props[cfg->fc_type].error) {
|
||||
if (cfg->fc_gw || cfg->fc_oif || cfg->fc_mp)
|
||||
@@ -922,6 +929,7 @@ struct fib_info *fib_create_info(struct
|
||||
@@ -1065,6 +1072,7 @@ struct fib_info *fib_create_info(struct
|
||||
goto err_inval;
|
||||
}
|
||||
}
|
||||
@ -79,7 +79,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
|
||||
if (cfg->fc_scope > RT_SCOPE_HOST)
|
||||
goto err_inval;
|
||||
@@ -944,6 +952,7 @@ struct fib_info *fib_create_info(struct
|
||||
@@ -1087,6 +1095,7 @@ struct fib_info *fib_create_info(struct
|
||||
goto failure;
|
||||
} endfor_nexthops(fi)
|
||||
}
|
||||
@ -87,15 +87,15 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
|
||||
if (fi->fib_prefsrc) {
|
||||
if (cfg->fc_type != RTN_LOCAL || !cfg->fc_dst ||
|
||||
@@ -955,6 +964,7 @@ struct fib_info *fib_create_info(struct
|
||||
change_nexthops(fi) {
|
||||
@@ -1099,6 +1108,7 @@ struct fib_info *fib_create_info(struct
|
||||
fib_info_update_nh_saddr(net, nexthop_nh);
|
||||
fib_add_weight(fi, nexthop_nh);
|
||||
} endfor_nexthops(fi)
|
||||
+ KPATCH_PRINTK("[fib_create_info]: 9 create error err is %d\n",err);
|
||||
|
||||
link_it:
|
||||
ofi = fib_find_info(fi);
|
||||
@@ -964,6 +974,7 @@ link_it:
|
||||
fib_rebalance(fi);
|
||||
|
||||
@@ -1110,6 +1120,7 @@ link_it:
|
||||
ofi->fib_treeref++;
|
||||
return ofi;
|
||||
}
|
||||
@ -103,7 +103,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
|
||||
fi->fib_treeref++;
|
||||
atomic_inc(&fi->fib_clntref);
|
||||
@@ -987,6 +998,7 @@ link_it:
|
||||
@@ -1133,6 +1144,7 @@ link_it:
|
||||
hlist_add_head(&nexthop_nh->nh_hash, head);
|
||||
} endfor_nexthops(fi)
|
||||
spin_unlock_bh(&fib_info_lock);
|
||||
@ -111,7 +111,7 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
return fi;
|
||||
|
||||
err_inval:
|
||||
@@ -997,6 +1009,7 @@ failure:
|
||||
@@ -1143,6 +1155,7 @@ failure:
|
||||
fi->fib_dead = 1;
|
||||
free_fib_info(fi);
|
||||
}
|
||||
@ -120,17 +120,17 @@ diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
diff -Nupr src.orig/net/ipv4/fib_trie.c src/net/ipv4/fib_trie.c
|
||||
--- src.orig/net/ipv4/fib_trie.c 2016-11-30 20:10:24.893178250 +0000
|
||||
+++ src/net/ipv4/fib_trie.c 2016-11-30 20:30:19.709178250 +0000
|
||||
@@ -1065,6 +1065,7 @@ static int fib_insert_alias(struct trie
|
||||
--- src.orig/net/ipv4/fib_trie.c 2017-09-22 16:52:10.645110295 -0400
|
||||
+++ src/net/ipv4/fib_trie.c 2017-09-22 16:55:39.940975963 -0400
|
||||
@@ -1191,6 +1191,7 @@ static int fib_insert_alias(struct trie
|
||||
}
|
||||
|
||||
/* Caller must hold RTNL. */
|
||||
+#include "kpatch-macros.h"
|
||||
int fib_table_insert(struct fib_table *tb, struct fib_config *cfg)
|
||||
int fib_table_insert(struct net *net, struct fib_table *tb,
|
||||
struct fib_config *cfg)
|
||||
{
|
||||
struct trie *t = (struct trie *)tb->tb_data;
|
||||
@@ -1087,11 +1088,14 @@ int fib_table_insert(struct fib_table *t
|
||||
@@ -1216,11 +1217,14 @@ int fib_table_insert(struct net *net, st
|
||||
if ((plen < KEYLENGTH) && (key << plen))
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/proc/cmdline.c src/fs/proc/cmdline.c
|
||||
--- src.orig/fs/proc/cmdline.c 2016-11-30 19:51:03.947178250 +0000
|
||||
+++ src/fs/proc/cmdline.c 2016-11-30 19:53:02.330178250 +0000
|
||||
--- src.orig/fs/proc/cmdline.c 2017-09-22 15:27:21.698056175 -0400
|
||||
+++ src/fs/proc/cmdline.c 2017-09-22 15:27:37.842123028 -0400
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
static int cmdline_proc_show(struct seq_file *m, void *v)
|
||||
@ -11,9 +11,9 @@ diff -Nupr src.orig/fs/proc/cmdline.c src/fs/proc/cmdline.c
|
||||
}
|
||||
|
||||
diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
--- src.orig/fs/proc/meminfo.c 2016-11-30 19:51:03.948178250 +0000
|
||||
+++ src/fs/proc/meminfo.c 2016-11-30 19:53:02.330178250 +0000
|
||||
@@ -131,7 +131,7 @@ static int meminfo_proc_show(struct seq_
|
||||
--- src.orig/fs/proc/meminfo.c 2017-09-22 15:27:21.699056179 -0400
|
||||
+++ src/fs/proc/meminfo.c 2017-09-22 15:27:37.843123032 -0400
|
||||
@@ -99,7 +99,7 @@ static int meminfo_proc_show(struct seq_
|
||||
"Committed_AS: %8lu kB\n"
|
||||
"VmallocTotal: %8lu kB\n"
|
||||
"VmallocUsed: %8lu kB\n"
|
||||
@ -23,8 +23,8 @@ diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
"HardwareCorrupted: %5lu kB\n"
|
||||
#endif
|
||||
diff -Nupr src.orig/include/linux/kernel.h src/include/linux/kernel.h
|
||||
--- src.orig/include/linux/kernel.h 2016-11-30 19:51:04.048178250 +0000
|
||||
+++ src/include/linux/kernel.h 2016-11-30 19:53:02.331178250 +0000
|
||||
--- src.orig/include/linux/kernel.h 2017-09-22 15:27:20.379050713 -0400
|
||||
+++ src/include/linux/kernel.h 2017-09-22 15:27:37.843123032 -0400
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _LINUX_KERNEL_H
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
--- src.orig/fs/proc/meminfo.c 2016-11-30 19:51:03.948178250 +0000
|
||||
+++ src/fs/proc/meminfo.c 2016-11-30 19:53:07.136178250 +0000
|
||||
@@ -223,6 +223,7 @@ static const struct file_operations memi
|
||||
--- src.orig/fs/proc/meminfo.c 2017-09-22 15:27:21.699056179 -0400
|
||||
+++ src/fs/proc/meminfo.c 2017-09-22 15:27:40.130132502 -0400
|
||||
@@ -191,6 +191,7 @@ static const struct file_operations memi
|
||||
|
||||
static int __init proc_meminfo_init(void)
|
||||
{
|
||||
|
@ -1,15 +1,15 @@
|
||||
diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
--- src.orig/fs/proc/meminfo.c 2016-11-30 19:51:03.948178250 +0000
|
||||
+++ src/fs/proc/meminfo.c 2016-11-30 19:53:04.679178250 +0000
|
||||
@@ -33,6 +33,7 @@ static int meminfo_proc_show(struct seq_
|
||||
struct zone *zone;
|
||||
--- src.orig/fs/proc/meminfo.c 2017-09-22 15:27:21.699056179 -0400
|
||||
+++ src/fs/proc/meminfo.c 2017-09-22 15:27:38.972127707 -0400
|
||||
@@ -30,6 +30,7 @@ static int meminfo_proc_show(struct seq_
|
||||
unsigned long pages[NR_LRU_LISTS];
|
||||
int lru;
|
||||
|
||||
+ printk("a\n");
|
||||
/*
|
||||
* display in kilobytes.
|
||||
*/
|
||||
@@ -223,6 +224,7 @@ static const struct file_operations memi
|
||||
@@ -191,6 +192,7 @@ static const struct file_operations memi
|
||||
|
||||
static int __init proc_meminfo_init(void)
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
--- src.orig/fs/proc/meminfo.c 2016-11-30 19:51:03.948178250 +0000
|
||||
+++ src/fs/proc/meminfo.c 2016-11-30 19:53:09.537178250 +0000
|
||||
@@ -131,7 +131,7 @@ static int meminfo_proc_show(struct seq_
|
||||
--- src.orig/fs/proc/meminfo.c 2017-09-22 15:27:21.699056179 -0400
|
||||
+++ src/fs/proc/meminfo.c 2017-09-22 15:27:41.274137239 -0400
|
||||
@@ -99,7 +99,7 @@ static int meminfo_proc_show(struct seq_
|
||||
"Committed_AS: %8lu kB\n"
|
||||
"VmallocTotal: %8lu kB\n"
|
||||
"VmallocUsed: %8lu kB\n"
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/fs/nfsd/export.c src/fs/nfsd/export.c
|
||||
--- src.orig/fs/nfsd/export.c 2016-11-30 19:51:03.914178250 +0000
|
||||
+++ src/fs/nfsd/export.c 2016-11-30 19:53:11.864178250 +0000
|
||||
@@ -1251,6 +1251,8 @@ static void exp_flags(struct seq_file *m
|
||||
--- src.orig/fs/nfsd/export.c 2017-09-22 15:27:21.705056204 -0400
|
||||
+++ src/fs/nfsd/export.c 2017-09-22 15:27:42.411141948 -0400
|
||||
@@ -1184,6 +1184,8 @@ static void exp_flags(struct seq_file *m
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ diff -Nupr src.orig/fs/nfsd/export.c src/fs/nfsd/export.c
|
||||
static int e_show(struct seq_file *m, void *p)
|
||||
{
|
||||
struct cache_head *cp = p;
|
||||
@@ -1260,6 +1262,7 @@ static int e_show(struct seq_file *m, vo
|
||||
@@ -1193,6 +1195,7 @@ static int e_show(struct seq_file *m, vo
|
||||
if (p == SEQ_START_TOKEN) {
|
||||
seq_puts(m, "# Version 1.1\n");
|
||||
seq_puts(m, "# Path Client(Flags) # IPs\n");
|
||||
@ -19,9 +19,9 @@ diff -Nupr src.orig/fs/nfsd/export.c src/fs/nfsd/export.c
|
||||
}
|
||||
|
||||
diff -Nupr src.orig/net/netlink/af_netlink.c src/net/netlink/af_netlink.c
|
||||
--- src.orig/net/netlink/af_netlink.c 2016-11-30 19:51:04.435178250 +0000
|
||||
+++ src/net/netlink/af_netlink.c 2016-11-30 19:53:11.866178250 +0000
|
||||
@@ -3206,4 +3206,9 @@ panic:
|
||||
--- src.orig/net/netlink/af_netlink.c 2017-09-22 15:27:21.754056407 -0400
|
||||
+++ src/net/netlink/af_netlink.c 2017-09-22 15:27:42.412141952 -0400
|
||||
@@ -3260,4 +3260,9 @@ panic:
|
||||
panic("netlink_init: Cannot allocate nl_table\n");
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/arch/x86/kvm/vmx.c src/arch/x86/kvm/vmx.c
|
||||
--- src.orig/arch/x86/kvm/vmx.c 2016-11-30 19:51:01.978178250 +0000
|
||||
+++ src/arch/x86/kvm/vmx.c 2016-11-30 19:53:14.216178250 +0000
|
||||
@@ -9719,6 +9719,8 @@ static int vmx_check_intercept(struct kv
|
||||
--- src.orig/arch/x86/kvm/vmx.c 2017-09-22 15:27:20.853052676 -0400
|
||||
+++ src/arch/x86/kvm/vmx.c 2017-09-22 15:27:43.583146801 -0400
|
||||
@@ -10597,6 +10597,8 @@ static int vmx_check_intercept(struct kv
|
||||
struct x86_instruction_info *info,
|
||||
enum x86_intercept_stage stage)
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/arch/x86/kvm/vmx.c src/arch/x86/kvm/vmx.c
|
||||
--- src.orig/arch/x86/kvm/vmx.c 2016-11-30 19:51:01.978178250 +0000
|
||||
+++ src/arch/x86/kvm/vmx.c 2016-11-30 19:53:16.539178250 +0000
|
||||
@@ -9703,10 +9703,20 @@ static void vmx_leave_nested(struct kvm_
|
||||
--- src.orig/arch/x86/kvm/vmx.c 2017-09-22 15:27:20.853052676 -0400
|
||||
+++ src/arch/x86/kvm/vmx.c 2017-09-22 15:27:44.742151601 -0400
|
||||
@@ -10581,10 +10581,20 @@ static void vmx_leave_nested(struct kvm_
|
||||
* It should only be called before L2 actually succeeded to run, and when
|
||||
* vmcs01 is current (it doesn't leave_guest_mode() or switch vmcss).
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/drivers/tty/n_tty.c src/drivers/tty/n_tty.c
|
||||
--- src.orig/drivers/tty/n_tty.c 2016-11-30 19:51:03.562178250 +0000
|
||||
+++ src/drivers/tty/n_tty.c 2016-11-30 19:53:18.852178250 +0000
|
||||
--- src.orig/drivers/tty/n_tty.c 2017-09-22 15:27:21.084053633 -0400
|
||||
+++ src/drivers/tty/n_tty.c 2017-09-22 15:27:45.888156346 -0400
|
||||
@@ -2016,7 +2016,7 @@ do_it_again:
|
||||
* lock themselves)
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/fs/proc/cmdline.c src/fs/proc/cmdline.c
|
||||
--- src.orig/fs/proc/cmdline.c 2016-11-30 20:10:24.498178250 +0000
|
||||
+++ src/fs/proc/cmdline.c 2016-11-30 20:31:53.195178250 +0000
|
||||
--- src.orig/fs/proc/cmdline.c 2017-09-22 15:27:21.698056175 -0400
|
||||
+++ src/fs/proc/cmdline.c 2017-09-22 15:27:47.028161067 -0400
|
||||
@@ -27,3 +27,10 @@ static int __init proc_cmdline_init(void
|
||||
return 0;
|
||||
}
|
||||
@ -13,8 +13,8 @@ diff -Nupr src.orig/fs/proc/cmdline.c src/fs/proc/cmdline.c
|
||||
+ printk("hello there!\n");
|
||||
+}
|
||||
diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
--- src.orig/fs/proc/meminfo.c 2016-11-30 20:10:24.499178250 +0000
|
||||
+++ src/fs/proc/meminfo.c 2016-11-30 20:32:38.308178250 +0000
|
||||
--- src.orig/fs/proc/meminfo.c 2017-09-22 15:27:21.699056179 -0400
|
||||
+++ src/fs/proc/meminfo.c 2017-09-22 15:27:47.029161071 -0400
|
||||
@@ -16,6 +16,8 @@
|
||||
#include <asm/pgtable.h>
|
||||
#include "internal.h"
|
||||
@ -24,7 +24,7 @@ diff -Nupr src.orig/fs/proc/meminfo.c src/fs/proc/meminfo.c
|
||||
void __attribute__((weak)) arch_report_meminfo(struct seq_file *m)
|
||||
{
|
||||
}
|
||||
@@ -85,6 +87,7 @@ static int meminfo_proc_show(struct seq_
|
||||
@@ -53,6 +55,7 @@ static int meminfo_proc_show(struct seq_
|
||||
/*
|
||||
* Tagged format, for easy grepping and expansion.
|
||||
*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/fs/proc/generic.c src/fs/proc/generic.c
|
||||
--- src.orig/fs/proc/generic.c 2016-11-30 19:51:03.948178250 +0000
|
||||
+++ src/fs/proc/generic.c 2016-11-30 19:53:21.229178250 +0000
|
||||
@@ -133,6 +133,7 @@ int proc_alloc_inum(unsigned int *inum)
|
||||
--- src.orig/fs/proc/generic.c 2017-09-22 15:27:21.698056175 -0400
|
||||
+++ src/fs/proc/generic.c 2017-09-22 15:27:48.190165879 -0400
|
||||
@@ -194,6 +194,7 @@ int proc_alloc_inum(unsigned int *inum)
|
||||
unsigned int i;
|
||||
int error;
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
diff -Nupr src.orig/arch/x86/kvm/x86.c src/arch/x86/kvm/x86.c
|
||||
--- src.orig/arch/x86/kvm/x86.c 2016-11-30 19:51:01.978178250 +0000
|
||||
+++ src/arch/x86/kvm/x86.c 2016-11-30 19:53:23.573178250 +0000
|
||||
@@ -222,6 +222,8 @@ static void shared_msr_update(unsigned s
|
||||
--- src.orig/arch/x86/kvm/x86.c 2017-09-22 15:27:20.852052672 -0400
|
||||
+++ src/arch/x86/kvm/x86.c 2017-09-22 15:27:49.362170732 -0400
|
||||
@@ -248,6 +248,8 @@ static void shared_msr_update(unsigned s
|
||||
|
||||
void kvm_define_shared_msr(unsigned slot, u32 msr)
|
||||
{
|
||||
+ if (!jiffies)
|
||||
+ printk("kpatch kvm define shared msr\n");
|
||||
BUG_ON(slot >= KVM_NR_SHARED_MSRS);
|
||||
shared_msrs_global.msrs[slot] = msr;
|
||||
if (slot >= shared_msrs_global.nr)
|
||||
shared_msrs_global.nr = slot + 1;
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/fs/proc/array.c src/fs/proc/array.c
|
||||
--- src.orig/fs/proc/array.c 2016-11-30 20:10:24.498178250 +0000
|
||||
+++ src/fs/proc/array.c 2016-11-30 20:38:11.599178250 +0000
|
||||
@@ -337,13 +337,20 @@ static inline void task_seccomp(struct s
|
||||
--- src.orig/fs/proc/array.c 2017-09-22 16:52:10.597110096 -0400
|
||||
+++ src/fs/proc/array.c 2017-09-22 16:59:40.799972178 -0400
|
||||
@@ -359,13 +359,20 @@ static inline void task_seccomp(struct s
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -23,9 +23,9 @@ diff -Nupr src.orig/fs/proc/array.c src/fs/proc/array.c
|
||||
|
||||
static void task_cpus_allowed(struct seq_file *m, struct task_struct *task)
|
||||
diff -Nupr src.orig/kernel/exit.c src/kernel/exit.c
|
||||
--- src.orig/kernel/exit.c 2016-11-30 20:10:24.806178250 +0000
|
||||
+++ src/kernel/exit.c 2016-11-30 20:38:11.600178250 +0000
|
||||
@@ -706,6 +706,7 @@ static void check_stack_usage(void)
|
||||
--- src.orig/kernel/exit.c 2017-09-22 16:52:10.506109720 -0400
|
||||
+++ src/kernel/exit.c 2017-09-22 16:59:40.799972178 -0400
|
||||
@@ -715,6 +715,7 @@ static void check_stack_usage(void)
|
||||
static inline void check_stack_usage(void) {}
|
||||
#endif
|
||||
|
||||
@ -33,7 +33,7 @@ diff -Nupr src.orig/kernel/exit.c src/kernel/exit.c
|
||||
void do_exit(long code)
|
||||
{
|
||||
struct task_struct *tsk = current;
|
||||
@@ -801,6 +802,8 @@ void do_exit(long code)
|
||||
@@ -812,6 +813,8 @@ void do_exit(long code)
|
||||
check_stack_usage();
|
||||
exit_thread();
|
||||
|
||||
@ -43,9 +43,9 @@ diff -Nupr src.orig/kernel/exit.c src/kernel/exit.c
|
||||
* Flush inherited counters to the parent - before the parent
|
||||
* gets woken up by child-exit notifications.
|
||||
diff -Nupr src.orig/kernel/fork.c src/kernel/fork.c
|
||||
--- src.orig/kernel/fork.c 2016-11-30 20:10:24.806178250 +0000
|
||||
+++ src/kernel/fork.c 2016-11-30 20:41:16.098178250 +0000
|
||||
@@ -1585,6 +1585,7 @@ struct task_struct *fork_idle(int cpu)
|
||||
--- src.orig/kernel/fork.c 2017-09-22 16:52:10.504109711 -0400
|
||||
+++ src/kernel/fork.c 2017-09-22 17:00:44.938237460 -0400
|
||||
@@ -1700,6 +1700,7 @@ struct task_struct *fork_idle(int cpu)
|
||||
* It copies the process, and if successful kick-starts
|
||||
* it and waits for it to finish using the VM if required.
|
||||
*/
|
||||
@ -53,10 +53,10 @@ diff -Nupr src.orig/kernel/fork.c src/kernel/fork.c
|
||||
long do_fork(unsigned long clone_flags,
|
||||
unsigned long stack_start,
|
||||
unsigned long stack_size,
|
||||
@@ -1621,6 +1622,13 @@ long do_fork(unsigned long clone_flags,
|
||||
*/
|
||||
@@ -1737,6 +1738,13 @@ long do_fork(unsigned long clone_flags,
|
||||
if (!IS_ERR(p)) {
|
||||
struct completion vfork;
|
||||
struct pid *pid;
|
||||
+ int *newpid;
|
||||
+ static int ctr = 0;
|
||||
+
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/drivers/tty/tty_buffer.c src/drivers/tty/tty_buffer.c
|
||||
--- src.orig/drivers/tty/tty_buffer.c 2016-11-30 20:10:24.201178250 +0000
|
||||
+++ src/drivers/tty/tty_buffer.c 2016-11-30 20:45:50.356178250 +0000
|
||||
--- src.orig/drivers/tty/tty_buffer.c 2017-09-22 15:27:21.077053604 -0400
|
||||
+++ src/drivers/tty/tty_buffer.c 2017-09-22 15:27:50.542175618 -0400
|
||||
@@ -217,6 +217,10 @@ int tty_buffer_request_room(struct tty_p
|
||||
/* OPTIMISATION: We could keep a per tty "zero" sized buffer to
|
||||
remove this conditional if its worth it. This would be invisible
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/arch/x86/kvm/x86.c src/arch/x86/kvm/x86.c
|
||||
--- src.orig/arch/x86/kvm/x86.c 2016-11-30 19:51:01.978178250 +0000
|
||||
+++ src/arch/x86/kvm/x86.c 2016-11-30 19:53:25.926178250 +0000
|
||||
@@ -2189,12 +2189,20 @@ static void record_steal_time(struct kvm
|
||||
--- src.orig/arch/x86/kvm/x86.c 2017-09-22 15:27:20.852052672 -0400
|
||||
+++ src/arch/x86/kvm/x86.c 2017-09-22 15:27:51.744180596 -0400
|
||||
@@ -2093,12 +2093,20 @@ static void record_steal_time(struct kvm
|
||||
&vcpu->arch.st.steal, sizeof(struct kvm_steal_time));
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -Nupr src.orig/kernel/fork.c src/kernel/fork.c
|
||||
--- src.orig/kernel/fork.c 2016-11-30 19:51:04.293178250 +0000
|
||||
+++ src/kernel/fork.c 2016-11-30 19:53:28.288178250 +0000
|
||||
@@ -1033,10 +1033,18 @@ static void posix_cpu_timers_init_group(
|
||||
--- src.orig/kernel/fork.c 2017-09-22 15:27:21.600055769 -0400
|
||||
+++ src/kernel/fork.c 2017-09-22 15:27:53.052186012 -0400
|
||||
@@ -1129,10 +1129,18 @@ static void posix_cpu_timers_init_group(
|
||||
INIT_LIST_HEAD(&sig->cpu_timers[2]);
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/kernel/timer.c src/kernel/timer.c
|
||||
--- src.orig/kernel/timer.c 2016-11-30 20:10:24.823178250 +0000
|
||||
+++ src/kernel/timer.c 2016-11-30 20:14:03.481178250 +0000
|
||||
--- src.orig/kernel/timer.c 2017-09-22 15:27:21.600055769 -0400
|
||||
+++ src/kernel/timer.c 2017-09-22 15:27:54.288191131 -0400
|
||||
@@ -1390,6 +1390,9 @@ static void run_timer_softirq(struct sof
|
||||
{
|
||||
struct tvec_base *base = __this_cpu_read(tvec_bases);
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -Nupr src.orig/arch/x86/kvm/x86.c src/arch/x86/kvm/x86.c
|
||||
--- src.orig/arch/x86/kvm/x86.c 2016-11-30 19:51:01.978178250 +0000
|
||||
+++ src/arch/x86/kvm/x86.c 2016-11-30 19:53:36.592178250 +0000
|
||||
--- src.orig/arch/x86/kvm/x86.c 2017-09-22 15:27:20.852052672 -0400
|
||||
+++ src/arch/x86/kvm/x86.c 2017-09-22 15:27:55.489196104 -0400
|
||||
@@ -1,3 +1,4 @@
|
||||
+
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user