summaryrefslogtreecommitdiffstats
path: root/main/linux-grsec
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-03-27 07:40:14 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-03-27 08:20:34 +0000
commit6c65cf1225d2f12ad6219653b7b7aed706f039db (patch)
tree70b57ec09ee32a77bed82d32b6a5e9de1e26c3bc /main/linux-grsec
parent048b573fa8749d9d75e765e5ba64065584b442a0 (diff)
downloadaports-6c65cf1225d2f12ad6219653b7b7aed706f039db.tar.bz2
aports-6c65cf1225d2f12ad6219653b7b7aed706f039db.tar.xz
main/linux-grsec: upgrade to 3.14.37
Diffstat (limited to 'main/linux-grsec')
-rw-r--r--main/linux-grsec/APKBUILD16
-rw-r--r--main/linux-grsec/grsecurity-3.1-3.14.37-201503270048.patch (renamed from main/linux-grsec/grsecurity-3.1-3.14.36-201503182218.patch)373
2 files changed, 98 insertions, 291 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 85f0a86be..3a477ac18 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=3.14.36
+pkgver=3.14.37
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=${pkgver};;
@@ -17,7 +17,7 @@ _config=${config:-kernelconfig.${CARCH}}
install=
source="http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$_kernver.tar.xz
http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.xz
- grsecurity-3.1-3.14.36-201503182218.patch
+ grsecurity-3.1-3.14.37-201503270048.patch
fix-memory-map-for-PIE-applications.patch
imx6q-no-unclocked-sleep.patch
@@ -165,24 +165,24 @@ dev() {
}
md5sums="b621207b3f6ecbb67db18b13258f8ea8 linux-3.14.tar.xz
-85d1d459cb9bcedcfbdb03dd9df83d23 patch-3.14.36.xz
-44594b78075024e23fe9b588dd4a7a10 grsecurity-3.1-3.14.36-201503182218.patch
+cbc19671d2c8bab0eaf18bf3afa54f7b patch-3.14.37.xz
+0d1341b1b8588274baa747e40db8df57 grsecurity-3.1-3.14.37-201503270048.patch
c6a4ae7e8ca6159e1631545515805216 fix-memory-map-for-PIE-applications.patch
1a307fc1d63231bf01d22493a4f14378 imx6q-no-unclocked-sleep.patch
4ceaeb8adf2cf3353a8327f927aeea1c kernelconfig.x86
450ca5bae3629c50c0b0485f3a334508 kernelconfig.x86_64
e18158a62b940c4b12bafbacd1e00639 kernelconfig.armhf"
sha256sums="61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa linux-3.14.tar.xz
-af2e5b01b4d771e9818271d6023bdc1ca8668bdb0fe081ab9373ee58c29795bf patch-3.14.36.xz
-2892787071815cf8b1b8cf282c063826e2ab5a3f3df303ad43630f18fb60d292 grsecurity-3.1-3.14.36-201503182218.patch
+ae2c25e7c53bffaf4e6f951a56eaa8ca645e7125cd28f16f870b7dc8aaa66b49 patch-3.14.37.xz
+0e533151c70a94084f6c408c3d77ed2c61e8bf96c347cc29e655a4511382dde7 grsecurity-3.1-3.14.37-201503270048.patch
500f3577310be52e87b9fecdc2e9c4ca43210fd97d69089f9005d484563f74c7 fix-memory-map-for-PIE-applications.patch
21179fbb22a5b74af0a609350ae1a170e232908572b201d02e791d2ce0a685d3 imx6q-no-unclocked-sleep.patch
1c6eca9c7fef842280bbf4705c01c4535d8fde92e00887e52d2a62a0aefe5f94 kernelconfig.x86
30cdfc33bf00d1d9a79ea2bc46dfc6a69c2317e05a84ec16b79a4c8015f70ead kernelconfig.x86_64
655e230d216896c769ec184cb7ec4f95aea3a13326251ffdf35c17426687d1b9 kernelconfig.armhf"
sha512sums="5730d83a7a81134c1e77c0bf89e42dee4f8251ad56c1ac2be20c59e26fdfaa7bea55f277e7af156b637f22e1584914a46089af85039177cb43485089c74ac26e linux-3.14.tar.xz
-971273437b29810db5931ccc58db7dbcad23895a8907b01dd3aca0fa3a3beb889c9e916cb3e5214a8753165ed952d79267b6923d4442837dfb66d53d1884e5c2 patch-3.14.36.xz
-4243784e6db8902667605f8681b9e710d26c142459721331bfa109135f530c095a1b0532bd7e916ab10f23b07041f35c0eec821d382b5aa801c2573b394773d5 grsecurity-3.1-3.14.36-201503182218.patch
+40439c1262331ffd594a110bab6c2da04abd7718fb3f79661de46e0c7cd99d4d8e003bb412be2348df843d7d9abe310caf1e3cc1ec5343e4b92f0769b9cfada4 patch-3.14.37.xz
+139ed90ebf47aeb7f0bfd4c64a3e8c1b387641500f9ec4a972ec1ed2b9583b4b4e9618502b025dc83bbe08ab12735d78e1998c22c682c04b322ccd01db616bc5 grsecurity-3.1-3.14.37-201503270048.patch
4665c56ae1bbac311f9205d64918e84ee8b01d47d6e2396ff6b8adfb10aada7f7254531ce62e31edbb65c2a54a830f09ad05d314dfcd75d6272f4068945ad7c7 fix-memory-map-for-PIE-applications.patch
87d1ad59732f265a5b0db54490dc1762c14ea4b868e7eb1aedc3ce57b48046de7bbc08cf5cfcf6f1380fa84063b0edb16ba3d5e3c5670be9bbb229275c88b221 imx6q-no-unclocked-sleep.patch
8479492c9c3f9bb08e7f04379bb69574fcf59b63db24392797fa6c73c992aa9d8415b97e96151f20bf5d117d5abc430da08bae4e5fb99ad6d4635bc0fadab85c kernelconfig.x86
diff --git a/main/linux-grsec/grsecurity-3.1-3.14.36-201503182218.patch b/main/linux-grsec/grsecurity-3.1-3.14.37-201503270048.patch
index 28c0f41f7..e462e33ba 100644
--- a/main/linux-grsec/grsecurity-3.1-3.14.36-201503182218.patch
+++ b/main/linux-grsec/grsecurity-3.1-3.14.37-201503270048.patch
@@ -292,7 +292,7 @@ index 5d91ba1..935a4e7 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index 4e6537b..ce0ac5f 100644
+index c24acc0..eab5b13 100644
--- a/Makefile
+++ b/Makefile
@@ -244,8 +244,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -10309,7 +10309,7 @@ index 510baec..9ff2607 100644
} while (++count < 16);
printk("\n");
diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c
-index c6f7113..9299700 100644
+index 1a79d68..84423a6 100644
--- a/arch/sparc/kernel/process_64.c
+++ b/arch/sparc/kernel/process_64.c
@@ -161,7 +161,7 @@ static void show_regwindow(struct pt_regs *regs)
@@ -10465,7 +10465,7 @@ index 3a8d184..49498a8 100644
info.flags = 0;
info.length = len;
diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc_64.c
-index beb0b5a..5a153f7 100644
+index 25db14a..70162eb 100644
--- a/arch/sparc/kernel/sys_sparc_64.c
+++ b/arch/sparc/kernel/sys_sparc_64.c
@@ -88,13 +88,14 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsi
@@ -16770,7 +16770,7 @@ index d3d7469..677ef72 100644
};
diff --git a/arch/x86/include/asm/fpu-internal.h b/arch/x86/include/asm/fpu-internal.h
-index cea1c76..6c0d79b 100644
+index 1ac1c00..58f8e36 100644
--- a/arch/x86/include/asm/fpu-internal.h
+++ b/arch/x86/include/asm/fpu-internal.h
@@ -124,8 +124,11 @@ static inline void sanitize_i387_state(struct task_struct *tsk)
@@ -28601,7 +28601,7 @@ index e48b674..a451dd9 100644
.read = native_io_apic_read,
.write = native_io_apic_write,
diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c
-index dd50e26..6e07dc3 100644
+index 7a09aca..cc2e713 100644
--- a/arch/x86/kernel/xsave.c
+++ b/arch/x86/kernel/xsave.c
@@ -164,18 +164,18 @@ static inline int save_xstate_epilog(void __user *buf, int ia32_frame)
@@ -33739,7 +33739,7 @@ index fed892d..e380153 100644
static int
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
-index 6574388..87e9bef 100644
+index 65743885..87e9bef 100644
--- a/arch/x86/mm/pat.c
+++ b/arch/x86/mm/pat.c
@@ -376,7 +376,7 @@ int free_memtype(u64 start, u64 end)
@@ -39840,10 +39840,10 @@ index 59f7cb2..bac8b6d 100644
return 0;
}
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
-index 6928d09..ff6abe8 100644
+index b08eadb..2de41c5 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
-@@ -684,7 +684,7 @@ static ssize_t fill_readbuf(struct port *port, char *out_buf, size_t out_count,
+@@ -685,7 +685,7 @@ static ssize_t fill_readbuf(struct port *port, char *out_buf, size_t out_count,
if (to_user) {
ssize_t ret;
@@ -39852,7 +39852,7 @@ index 6928d09..ff6abe8 100644
if (ret)
return -EFAULT;
} else {
-@@ -787,7 +787,7 @@ static ssize_t port_fops_read(struct file *filp, char __user *ubuf,
+@@ -788,7 +788,7 @@ static ssize_t port_fops_read(struct file *filp, char __user *ubuf,
if (!port_has_data(port) && !port->host_connected)
return 0;
@@ -47801,10 +47801,10 @@ index 9e7d95d..d447b88 100644
Say Y here if you want to support for Freescale FlexCAN.
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
-index 1468c46..1f8e748 100644
+index 84ad2b4..23cb983 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
-@@ -760,7 +760,7 @@ static int can_newlink(struct net *src_net, struct net_device *dev,
+@@ -768,7 +768,7 @@ static int can_newlink(struct net *src_net, struct net_device *dev,
return -EOPNOTSUPP;
}
@@ -50639,10 +50639,10 @@ index 84419af..268ede8 100644
&dev_attr_energy_uj.attr;
}
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
-index b798404..cd11618 100644
+index 5d8d2dc..99fd3db 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -3368,7 +3368,7 @@ regulator_register(const struct regulator_desc *regulator_desc,
+@@ -3372,7 +3372,7 @@ regulator_register(const struct regulator_desc *regulator_desc,
{
const struct regulation_constraints *constraints = NULL;
const struct regulator_init_data *init_data;
@@ -50651,7 +50651,7 @@ index b798404..cd11618 100644
struct regulator_dev *rdev;
struct device *dev;
int ret, i;
-@@ -3438,7 +3438,7 @@ regulator_register(const struct regulator_desc *regulator_desc,
+@@ -3442,7 +3442,7 @@ regulator_register(const struct regulator_desc *regulator_desc,
rdev->dev.of_node = config->of_node;
rdev->dev.parent = dev;
dev_set_name(&rdev->dev, "regulator.%d",
@@ -52804,7 +52804,7 @@ index 24884ca..26c8220 100644
login->tgt_agt = sbp_target_agent_register(login);
if (IS_ERR(login->tgt_agt)) {
diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
-index 26ae688..ca12181 100644
+index 093b8cb..9f07935 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -1526,7 +1526,7 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name)
@@ -52817,7 +52817,7 @@ index 26ae688..ca12181 100644
spin_lock_init(&dev->t10_wwn.t10_vpd_lock);
INIT_LIST_HEAD(&dev->t10_pr.registration_list);
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
-index e6463ef..357ef0a 100644
+index 9e54c0f..9c8d784 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1154,7 +1154,7 @@ transport_check_alloc_task_attr(struct se_cmd *cmd)
@@ -59758,34 +59758,6 @@ index f70119f..ab5894d 100644
delayed_root->nodes = 0;
spin_lock_init(&delayed_root->lock);
init_waitqueue_head(&delayed_root->wait);
-diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
-index 0b72006..264c7de 100644
---- a/fs/btrfs/ioctl.c
-+++ b/fs/btrfs/ioctl.c
-@@ -3494,9 +3494,12 @@ static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
- for (i = 0; i < num_types; i++) {
- struct btrfs_space_info *tmp;
-
-+ /* Don't copy in more than we allocated */
- if (!slot_count)
- break;
-
-+ slot_count--;
-+
- info = NULL;
- rcu_read_lock();
- list_for_each_entry_rcu(tmp, &root->fs_info->space_info,
-@@ -3518,10 +3521,7 @@ static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
- memcpy(dest, &space, sizeof(space));
- dest++;
- space_args.total_spaces++;
-- slot_count--;
- }
-- if (!slot_count)
-- break;
- }
- up_read(&info->groups_sem);
- }
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index d04db81..96e54f1 100644
--- a/fs/btrfs/super.c
@@ -64044,7 +64016,7 @@ index b96a49b..9bfdc47 100644
cuse_class = class_create(THIS_MODULE, "cuse");
if (IS_ERR(cuse_class))
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
-index 6eb13c6..4389620 100644
+index 499155c..3eee098 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -1323,7 +1323,7 @@ static ssize_t fuse_dev_splice_read(struct file *in, loff_t *ppos,
@@ -67483,7 +67455,7 @@ index dbd0272..3cd5915 100644
seq_printf(p, "softirq %llu", (unsigned long long)sum_softirq);
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
-index c4b2646..84f0d7b 100644
+index c254671..c09368e 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -13,12 +13,19 @@
@@ -67650,7 +67622,7 @@ index c4b2646..84f0d7b 100644
mss.resident >> 10,
(unsigned long)(mss.pss >> (10 + PSS_SHIFT)),
mss.shared_clean >> 10,
-@@ -1388,6 +1439,13 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
+@@ -1391,6 +1442,13 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
char buffer[64];
int nid;
@@ -67664,7 +67636,7 @@ index c4b2646..84f0d7b 100644
if (!mm)
return 0;
-@@ -1405,11 +1463,15 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
+@@ -1408,11 +1466,15 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
mpol_to_str(buffer, sizeof(buffer), pol);
mpol_cond_put(pol);
@@ -91258,7 +91230,7 @@ index 18ff0b9..40b0eab 100644
/* Don't allow clients that don't understand the native
diff --git a/kernel/kmod.c b/kernel/kmod.c
-index 6b375af..eaff670 100644
+index 6b375af..c1c119c 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -75,7 +75,7 @@ static void free_modprobe_argv(struct subprocess_info *info)
@@ -91386,7 +91358,7 @@ index 6b375af..eaff670 100644
EXPORT_SYMBOL(__request_module);
#endif /* CONFIG_MODULES */
-@@ -218,6 +271,20 @@ static int ____call_usermodehelper(void *data)
+@@ -218,6 +271,21 @@ static int ____call_usermodehelper(void *data)
*/
set_user_nice(current, 0);
@@ -91397,6 +91369,7 @@ index 6b375af..eaff670 100644
+ */
+ if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) &&
+ strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) &&
++ strncmp(sub_info->path, "/usr/libexec/", 13) &&
+ strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) {
+ printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of /sbin and system library paths\n", sub_info->path);
+ retval = -EPERM;
@@ -91407,7 +91380,7 @@ index 6b375af..eaff670 100644
retval = -ENOMEM;
new = prepare_kernel_cred(current);
if (!new)
-@@ -240,8 +307,8 @@ static int ____call_usermodehelper(void *data)
+@@ -240,8 +308,8 @@ static int ____call_usermodehelper(void *data)
commit_creds(new);
retval = do_execve(getname_kernel(sub_info->path),
@@ -91418,7 +91391,7 @@ index 6b375af..eaff670 100644
if (!retval)
return 0;
-@@ -260,6 +327,10 @@ static int call_helper(void *data)
+@@ -260,6 +328,10 @@ static int call_helper(void *data)
static void call_usermodehelper_freeinfo(struct subprocess_info *info)
{
@@ -91429,7 +91402,7 @@ index 6b375af..eaff670 100644
if (info->cleanup)
(*info->cleanup)(info);
kfree(info);
-@@ -303,7 +374,7 @@ static int wait_for_helper(void *data)
+@@ -303,7 +375,7 @@ static int wait_for_helper(void *data)
*
* Thus the __user pointer cast is valid here.
*/
@@ -91438,7 +91411,7 @@ index 6b375af..eaff670 100644
/*
* If ret is 0, either ____call_usermodehelper failed and the
-@@ -542,7 +613,12 @@ struct subprocess_info *call_usermodehelper_setup(char *path, char **argv,
+@@ -542,7 +614,12 @@ struct subprocess_info *call_usermodehelper_setup(char *path, char **argv,
goto out;
INIT_WORK(&sub_info->work, __call_usermodehelper);
@@ -91451,7 +91424,7 @@ index 6b375af..eaff670 100644
sub_info->argv = argv;
sub_info->envp = envp;
-@@ -650,7 +726,7 @@ EXPORT_SYMBOL(call_usermodehelper);
+@@ -650,7 +727,7 @@ EXPORT_SYMBOL(call_usermodehelper);
static int proc_cap_handler(struct ctl_table *table, int write,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
@@ -93016,21 +92989,8 @@ index f1fe7ec..7d4e641 100644
break;
if (pm_wakeup_pending()) {
-diff --git a/kernel/printk/console_cmdline.h b/kernel/printk/console_cmdline.h
-index cbd69d8..2ca4a8b 100644
---- a/kernel/printk/console_cmdline.h
-+++ b/kernel/printk/console_cmdline.h
-@@ -3,7 +3,7 @@
-
- struct console_cmdline
- {
-- char name[8]; /* Name of the driver */
-+ char name[16]; /* Name of the driver */
- int index; /* Minor dev. to use */
- char *options; /* Options for the driver */
- #ifdef CONFIG_A11Y_BRAILLE_CONSOLE
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 8c086e6..bf7e534 100644
+index a755ad7..bf7e534 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -385,6 +385,11 @@ static int check_syslog_permissions(int type, bool from_file)
@@ -93045,14 +93005,6 @@ index 8c086e6..bf7e534 100644
if (syslog_action_restricted(type)) {
if (capable(CAP_SYSLOG))
return 0;
-@@ -2280,6 +2285,7 @@ void register_console(struct console *newcon)
- for (i = 0, c = console_cmdline;
- i < MAX_CMDLINECONSOLES && c->name[0];
- i++, c++) {
-+ BUILD_BUG_ON(sizeof(c->name) != sizeof(newcon->name));
- if (strcmp(c->name, newcon->name) != 0)
- continue;
- if (newcon->index >= 0 &&
diff --git a/kernel/profile.c b/kernel/profile.c
index ebdd9c1..612ee05 100644
--- a/kernel/profile.c
@@ -95795,10 +95747,10 @@ index c9b6f01..37781d9 100644
.thread_should_run = watchdog_should_run,
.thread_fn = watchdog,
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index f6f31d8..bbe30db 100644
+index 423c9e3..67fa411 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
-@@ -4687,7 +4687,7 @@ static void rebind_workers(struct worker_pool *pool)
+@@ -4735,7 +4735,7 @@ static void rebind_workers(struct worker_pool *pool)
WARN_ON_ONCE(!(worker_flags & WORKER_UNBOUND));
worker_flags |= WORKER_REBOUND;
worker_flags &= ~WORKER_UNBOUND;
@@ -96745,6 +96697,18 @@ index 0862816..2e3a043 100644
select PROC_PAGE_MONITOR
config NOMMU_INITIAL_TRIM_EXCESS
+diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug
+index 4b24432..63a3e5e 100644
+--- a/mm/Kconfig.debug
++++ b/mm/Kconfig.debug
+@@ -1,6 +1,7 @@
+ config DEBUG_PAGEALLOC
+ bool "Debug page memory allocations"
+ depends on DEBUG_KERNEL
++ depends on !PAX_MEMORY_SANITIZE
+ depends on !HIBERNATION || ARCH_SUPPORTS_DEBUG_PAGEALLOC && !PPC && !SPARC
+ depends on !KMEMCHECK
+ select PAGE_POISONING if !ARCH_SUPPORTS_DEBUG_PAGEALLOC
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 09d9591..165bb75 100644
--- a/mm/backing-dev.c
@@ -102509,10 +102473,10 @@ index 4589ff67..46d6b8f 100644
.priv_size = sizeof(struct chnl_net),
.setup = ipcaif_net_setup,
diff --git a/net/can/af_can.c b/net/can/af_can.c
-index a27f8aa..67174a3 100644
+index 5e9a227..92270b3 100644
--- a/net/can/af_can.c
+++ b/net/can/af_can.c
-@@ -863,7 +863,7 @@ static const struct net_proto_family can_family_ops = {
+@@ -866,7 +866,7 @@ static const struct net_proto_family can_family_ops = {
};
/* notifier block for netdevice event */
@@ -102601,11 +102565,11 @@ index 2e87eec..6301eb0 100644
switch (ss->ss_family) {
diff --git a/net/compat.c b/net/compat.c
-index 275af79..859a46f 100644
+index d125290..e86e034 100644
--- a/net/compat.c
+++ b/net/compat.c
-@@ -73,9 +73,9 @@ int get_compat_msghdr(struct msghdr *kmsg, struct compat_msghdr __user *umsg)
- return -EFAULT;
+@@ -80,9 +80,9 @@ int get_compat_msghdr(struct msghdr *kmsg, struct compat_msghdr __user *umsg)
+
if (kmsg->msg_namelen > sizeof(struct sockaddr_storage))
kmsg->msg_namelen = sizeof(struct sockaddr_storage);
- kmsg->msg_name = compat_ptr(tmp1);
@@ -102617,7 +102581,7 @@ index 275af79..859a46f 100644
return 0;
}
-@@ -87,7 +87,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -94,7 +94,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
if (kern_msg->msg_name && kern_msg->msg_namelen) {
if (mode == VERIFY_READ) {
@@ -102626,7 +102590,7 @@ index 275af79..859a46f 100644
kern_msg->msg_namelen,
kern_address);
if (err < 0)
-@@ -100,7 +100,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -107,7 +107,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
}
tot_len = iov_from_user_compat_to_kern(kern_iov,
@@ -102635,7 +102599,7 @@ index 275af79..859a46f 100644
kern_msg->msg_iovlen);
if (tot_len >= 0)
kern_msg->msg_iov = kern_iov;
-@@ -120,20 +120,20 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -127,20 +127,20 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
#define CMSG_COMPAT_FIRSTHDR(msg) \
(((msg)->msg_controllen) >= sizeof(struct compat_cmsghdr) ? \
@@ -102659,7 +102623,7 @@ index 275af79..859a46f 100644
msg->msg_controllen)
return NULL;
return (struct compat_cmsghdr __user *)ptr;
-@@ -223,7 +223,7 @@ Efault:
+@@ -230,7 +230,7 @@ Efault:
int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *data)
{
@@ -102668,7 +102632,7 @@ index 275af79..859a46f 100644
struct compat_cmsghdr cmhdr;
struct compat_timeval ctv;
struct compat_timespec cts[3];
-@@ -279,7 +279,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
+@@ -286,7 +286,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm)
{
@@ -102677,7 +102641,7 @@ index 275af79..859a46f 100644
int fdmax = (kmsg->msg_controllen - sizeof(struct compat_cmsghdr)) / sizeof(int);
int fdnum = scm->fp->count;
struct file **fp = scm->fp->fp;
-@@ -367,7 +367,7 @@ static int do_set_sock_timeout(struct socket *sock, int level,
+@@ -374,7 +374,7 @@ static int do_set_sock_timeout(struct socket *sock, int level,
return -EFAULT;
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -102686,7 +102650,7 @@ index 275af79..859a46f 100644
set_fs(old_fs);
return err;
-@@ -428,7 +428,7 @@ static int do_get_sock_timeout(struct socket *sock, int level, int optname,
+@@ -435,7 +435,7 @@ static int do_get_sock_timeout(struct socket *sock, int level, int optname,
len = sizeof(ktime);
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -102695,7 +102659,7 @@ index 275af79..859a46f 100644
set_fs(old_fs);
if (!err) {
-@@ -571,7 +571,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -578,7 +578,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
case MCAST_JOIN_GROUP:
case MCAST_LEAVE_GROUP:
{
@@ -102704,7 +102668,7 @@ index 275af79..859a46f 100644
struct group_req __user *kgr =
compat_alloc_user_space(sizeof(struct group_req));
u32 interface;
-@@ -592,7 +592,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -599,7 +599,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
case MCAST_BLOCK_SOURCE:
case MCAST_UNBLOCK_SOURCE:
{
@@ -102713,7 +102677,7 @@ index 275af79..859a46f 100644
struct group_source_req __user *kgsr = compat_alloc_user_space(
sizeof(struct group_source_req));
u32 interface;
-@@ -613,7 +613,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -620,7 +620,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
}
case MCAST_MSFILTER:
{
@@ -102722,7 +102686,7 @@ index 275af79..859a46f 100644
struct group_filter __user *kgf;
u32 interface, fmode, numsrc;
-@@ -651,7 +651,7 @@ int compat_mc_getsockopt(struct sock *sock, int level, int optname,
+@@ -658,7 +658,7 @@ int compat_mc_getsockopt(struct sock *sock, int level, int optname,
char __user *optval, int __user *optlen,
int (*getsockopt)(struct sock *, int, int, char __user *, int __user *))
{
@@ -102731,7 +102695,7 @@ index 275af79..859a46f 100644
struct group_filter __user *kgf;
int __user *koptlen;
u32 interface, fmode, numsrc;
-@@ -795,7 +795,7 @@ asmlinkage long compat_sys_socketcall(int call, u32 __user *args)
+@@ -802,7 +802,7 @@ asmlinkage long compat_sys_socketcall(int call, u32 __user *args)
if (call < SYS_SOCKET || call > SYS_SENDMMSG)
return -EINVAL;
@@ -103534,19 +103498,10 @@ index c38e7a2..773e3d7 100644
}
EXPORT_SYMBOL_GPL(sock_diag_unregister);
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
-index cf9cd13..26d07e0 100644
+index e731c96..26d07e0 100644
--- a/net/core/sysctl_net_core.c
+++ b/net/core/sysctl_net_core.c
-@@ -25,6 +25,8 @@
- static int zero = 0;
- static int one = 1;
- static int ushort_max = USHRT_MAX;
-+static int min_sndbuf = SOCK_MIN_SNDBUF;
-+static int min_rcvbuf = SOCK_MIN_RCVBUF;
-
- #ifdef CONFIG_RPS
- static int rps_sock_flow_sysctl(struct ctl_table *table, int write,
-@@ -32,7 +34,7 @@ static int rps_sock_flow_sysctl(struct ctl_table *table, int write,
+@@ -34,7 +34,7 @@ static int rps_sock_flow_sysctl(struct ctl_table *table, int write,
{
unsigned int orig_size, size;
int ret, i;
@@ -103555,7 +103510,7 @@ index cf9cd13..26d07e0 100644
.data = &size,
.maxlen = sizeof(size),
.mode = table->mode
-@@ -200,7 +202,7 @@ static int set_default_qdisc(struct ctl_table *table, int write,
+@@ -202,7 +202,7 @@ static int set_default_qdisc(struct ctl_table *table, int write,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
char id[IFNAMSIZ];
@@ -103564,43 +103519,7 @@ index cf9cd13..26d07e0 100644
.data = id,
.maxlen = IFNAMSIZ,
};
-@@ -223,7 +225,7 @@ static struct ctl_table net_core_table[] = {
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = proc_dointvec_minmax,
-- .extra1 = &one,
-+ .extra1 = &min_sndbuf,
- },
- {
- .procname = "rmem_max",
-@@ -231,7 +233,7 @@ static struct ctl_table net_core_table[] = {
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = proc_dointvec_minmax,
-- .extra1 = &one,
-+ .extra1 = &min_rcvbuf,
- },
- {
- .procname = "wmem_default",
-@@ -239,7 +241,7 @@ static struct ctl_table net_core_table[] = {
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = proc_dointvec_minmax,
-- .extra1 = &one,
-+ .extra1 = &min_sndbuf,
- },
- {
- .procname = "rmem_default",
-@@ -247,7 +249,7 @@ static struct ctl_table net_core_table[] = {
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = proc_dointvec_minmax,
-- .extra1 = &one,
-+ .extra1 = &min_rcvbuf,
- },
- {
- .procname = "dev_weight",
-@@ -379,13 +381,12 @@ static struct ctl_table netns_core_table[] = {
+@@ -381,13 +381,12 @@ static struct ctl_table netns_core_table[] = {
static __net_init int sysctl_core_net_init(struct net *net)
{
@@ -103616,7 +103535,7 @@ index cf9cd13..26d07e0 100644
if (tbl == NULL)
goto err_dup;
-@@ -395,17 +396,16 @@ static __net_init int sysctl_core_net_init(struct net *net)
+@@ -397,17 +396,16 @@ static __net_init int sysctl_core_net_init(struct net *net)
if (net->user_ns != &init_user_ns) {
tbl[0].procname = NULL;
}
@@ -103638,7 +103557,7 @@ index cf9cd13..26d07e0 100644
err_dup:
return -ENOMEM;
}
-@@ -420,7 +420,7 @@ static __net_exit void sysctl_core_net_exit(struct net *net)
+@@ -422,7 +420,7 @@ static __net_exit void sysctl_core_net_exit(struct net *net)
kfree(tbl);
}
@@ -103931,42 +103850,6 @@ index 0d1e2cb..4501a2c 100644
EXPORT_SYMBOL(sysctl_local_reserved_ports);
void inet_get_local_port_range(struct net *net, int *low, int *high)
-diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
-index e34dccb..4eeba4e 100644
---- a/net/ipv4/inet_diag.c
-+++ b/net/ipv4/inet_diag.c
-@@ -71,6 +71,20 @@ static inline void inet_diag_unlock_handler(
- mutex_unlock(&inet_diag_table_mutex);
- }
-
-+static size_t inet_sk_attr_size(void)
-+{
-+ return nla_total_size(sizeof(struct tcp_info))
-+ + nla_total_size(1) /* INET_DIAG_SHUTDOWN */
-+ + nla_total_size(1) /* INET_DIAG_TOS */
-+ + nla_total_size(1) /* INET_DIAG_TCLASS */
-+ + nla_total_size(sizeof(struct inet_diag_meminfo))
-+ + nla_total_size(sizeof(struct inet_diag_msg))
-+ + nla_total_size(SK_MEMINFO_VARS * sizeof(u32))
-+ + nla_total_size(TCP_CA_NAME_MAX)
-+ + nla_total_size(sizeof(struct tcpvegas_info))
-+ + 64;
-+}
-+
- int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk,
- struct sk_buff *skb, struct inet_diag_req_v2 *req,
- struct user_namespace *user_ns,
-@@ -324,9 +338,7 @@ int inet_diag_dump_one_icsk(struct inet_hashinfo *hashinfo, struct sk_buff *in_s
- if (err)
- goto out;
-
-- rep = nlmsg_new(sizeof(struct inet_diag_msg) +
-- sizeof(struct inet_diag_meminfo) +
-- sizeof(struct tcp_info) + 64, GFP_KERNEL);
-+ rep = nlmsg_new(inet_sk_attr_size(), GFP_KERNEL);
- if (!rep) {
- err = -ENOMEM;
- goto out;
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c
index 8b9cf27..9c17cab 100644
--- a/net/ipv4/inet_hashtables.c
@@ -106499,7 +106382,7 @@ index 610e19c..08d0c3f 100644
if (!todrop_rate[i]) return 0;
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
-index 27d3f40..f95d8d0 100644
+index 847d2a2..4dc8ae3 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -567,7 +567,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
@@ -106511,7 +106394,7 @@ index 27d3f40..f95d8d0 100644
ip_vs_conn_put(cp);
return ret;
}
-@@ -1711,7 +1711,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
+@@ -1722,7 +1722,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
if (cp->flags & IP_VS_CONN_F_ONE_PACKET)
pkts = sysctl_sync_threshold(ipvs);
else
@@ -106623,7 +106506,7 @@ index 3f21a2f..a112e85 100644
.procname = "lblcr_expiration",
.data = NULL,
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
-index db80126..ef7110e 100644
+index a8027e7..f5521e7 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/net/netfilter/ipvs/ip_vs_sync.c
@@ -609,7 +609,7 @@ static void ip_vs_sync_conn_v0(struct net *net, struct ip_vs_conn *cp,
@@ -106644,7 +106527,7 @@ index db80126..ef7110e 100644
else
pkts = sysctl_sync_threshold(ipvs);
goto sloop;
-@@ -895,7 +895,7 @@ static void ip_vs_proc_conn(struct net *net, struct ip_vs_conn_param *param,
+@@ -897,7 +897,7 @@ static void ip_vs_proc_conn(struct net *net, struct ip_vs_conn_param *param,
if (opt)
memcpy(&cp->in_seq, opt, sizeof(*opt));
@@ -106885,7 +106768,7 @@ index 6ff12a1..d1815b6 100644
if (data_len) {
diff --git a/net/netfilter/nft_compat.c b/net/netfilter/nft_compat.c
-index ad97961..a312654 100644
+index 7350723..c58f861 100644
--- a/net/netfilter/nft_compat.c
+++ b/net/netfilter/nft_compat.c
@@ -216,7 +216,7 @@ target_dump_info(struct sk_buff *skb, const struct xt_target *t, const void *in)
@@ -107264,94 +107147,6 @@ index a91e1db..cf3053f 100644
#else
ic->i_ack_next = 0;
#endif
-diff --git a/net/rds/iw_rdma.c b/net/rds/iw_rdma.c
-index a817705..dba8d08 100644
---- a/net/rds/iw_rdma.c
-+++ b/net/rds/iw_rdma.c
-@@ -88,7 +88,9 @@ static unsigned int rds_iw_unmap_fastreg_list(struct rds_iw_mr_pool *pool,
- int *unpinned);
- static void rds_iw_destroy_fastreg(struct rds_iw_mr_pool *pool, struct rds_iw_mr *ibmr);
-
--static int rds_iw_get_device(struct rds_sock *rs, struct rds_iw_device **rds_iwdev, struct rdma_cm_id **cm_id)
-+static int rds_iw_get_device(struct sockaddr_in *src, struct sockaddr_in *dst,
-+ struct rds_iw_device **rds_iwdev,
-+ struct rdma_cm_id **cm_id)
- {
- struct rds_iw_device *iwdev;
- struct rds_iw_cm_id *i_cm_id;
-@@ -112,15 +114,15 @@ static int rds_iw_get_device(struct rds_sock *rs, struct rds_iw_device **rds_iwd
- src_addr->sin_port,
- dst_addr->sin_addr.s_addr,
- dst_addr->sin_port,
-- rs->rs_bound_addr,
-- rs->rs_bound_port,
-- rs->rs_conn_addr,
-- rs->rs_conn_port);
-+ src->sin_addr.s_addr,
-+ src->sin_port,
-+ dst->sin_addr.s_addr,
-+ dst->sin_port);
- #ifdef WORKING_TUPLE_DETECTION
-- if (src_addr->sin_addr.s_addr == rs->rs_bound_addr &&
-- src_addr->sin_port == rs->rs_bound_port &&
-- dst_addr->sin_addr.s_addr == rs->rs_conn_addr &&
-- dst_addr->sin_port == rs->rs_conn_port) {
-+ if (src_addr->sin_addr.s_addr == src->sin_addr.s_addr &&
-+ src_addr->sin_port == src->sin_port &&
-+ dst_addr->sin_addr.s_addr == dst->sin_addr.s_addr &&
-+ dst_addr->sin_port == dst->sin_port) {
- #else
- /* FIXME - needs to compare the local and remote
- * ipaddr/port tuple, but the ipaddr is the only
-@@ -128,7 +130,7 @@ static int rds_iw_get_device(struct rds_sock *rs, struct rds_iw_device **rds_iwd
- * zero'ed. It doesn't appear to be properly populated
- * during connection setup...
- */
-- if (src_addr->sin_addr.s_addr == rs->rs_bound_addr) {
-+ if (src_addr->sin_addr.s_addr == src->sin_addr.s_addr) {
- #endif
- spin_unlock_irq(&iwdev->spinlock);
- *rds_iwdev = iwdev;
-@@ -180,19 +182,13 @@ int rds_iw_update_cm_id(struct rds_iw_device *rds_iwdev, struct rdma_cm_id *cm_i
- {
- struct sockaddr_in *src_addr, *dst_addr;
- struct rds_iw_device *rds_iwdev_old;
-- struct rds_sock rs;
- struct rdma_cm_id *pcm_id;
- int rc;
-
- src_addr = (struct sockaddr_in *)&cm_id->route.addr.src_addr;
- dst_addr = (struct sockaddr_in *)&cm_id->route.addr.dst_addr;
-
-- rs.rs_bound_addr = src_addr->sin_addr.s_addr;
-- rs.rs_bound_port = src_addr->sin_port;
-- rs.rs_conn_addr = dst_addr->sin_addr.s_addr;
-- rs.rs_conn_port = dst_addr->sin_port;
--
-- rc = rds_iw_get_device(&rs, &rds_iwdev_old, &pcm_id);
-+ rc = rds_iw_get_device(src_addr, dst_addr, &rds_iwdev_old, &pcm_id);
- if (rc)
- rds_iw_remove_cm_id(rds_iwdev, cm_id);
-
-@@ -598,9 +594,17 @@ void *rds_iw_get_mr(struct scatterlist *sg, unsigned long nents,
- struct rds_iw_device *rds_iwdev;
- struct rds_iw_mr *ibmr = NULL;
- struct rdma_cm_id *cm_id;
-+ struct sockaddr_in src = {
-+ .sin_addr.s_addr = rs->rs_bound_addr,
-+ .sin_port = rs->rs_bound_port,
-+ };
-+ struct sockaddr_in dst = {
-+ .sin_addr.s_addr = rs->rs_conn_addr,
-+ .sin_port = rs->rs_conn_port,
-+ };
- int ret;
-
-- ret = rds_iw_get_device(rs, &rds_iwdev, &cm_id);
-+ ret = rds_iw_get_device(&src, &dst, &rds_iwdev, &cm_id);
- if (ret || !cm_id) {
- ret = -ENODEV;
- goto out;
diff --git a/net/rds/iw_recv.c b/net/rds/iw_recv.c
index 4503335..db566b4 100644
--- a/net/rds/iw_recv.c
@@ -120006,10 +119801,10 @@ index 0000000..4378111
+}
diff --git a/tools/gcc/size_overflow_plugin/size_overflow_hash.data b/tools/gcc/size_overflow_plugin/size_overflow_hash.data
new file mode 100644
-index 0000000..f084dc7
+index 0000000..f48651d
--- /dev/null
+++ b/tools/gcc/size_overflow_plugin/size_overflow_hash.data
-@@ -0,0 +1,6045 @@
+@@ -0,0 +1,6057 @@
+intel_fake_agp_alloc_by_type_1 intel_fake_agp_alloc_by_type 1 1 NULL
+ocfs2_get_refcount_tree_3 ocfs2_get_refcount_tree 0 3 NULL
+storvsc_connect_to_vsp_22 storvsc_connect_to_vsp 2 22 NULL
@@ -120220,6 +120015,7 @@ index 0000000..f084dc7
+xfs_buf_map_from_irec_2368 xfs_buf_map_from_irec 5-0 2368 NULL nohasharray
+rose_recvmsg_2368 rose_recvmsg 4 2368 &xfs_buf_map_from_irec_2368
+il_dbgfs_sensitivity_read_2370 il_dbgfs_sensitivity_read 3 2370 NULL
++rts51x_read_ppbuf_2389 rts51x_read_ppbuf 3 2389 NULL
+rxpipe_rx_prep_beacon_drop_read_2403 rxpipe_rx_prep_beacon_drop_read 3 2403 NULL
+isdn_v110_open_2418 isdn_v110_open 3 2418 NULL
+raid1_size_2419 raid1_size 0-2 2419 NULL
@@ -120583,7 +120379,8 @@ index 0000000..f084dc7
+mpeg_read_6708 mpeg_read 3 6708 NULL
+ibmpex_query_sensor_count_6709 ibmpex_query_sensor_count 0 6709 NULL
+video_proc_write_6724 video_proc_write 3 6724 NULL
-+posix_acl_xattr_count_6725 posix_acl_xattr_count 0-1 6725 NULL
++posix_acl_xattr_count_6725 posix_acl_xattr_count 0-1 6725 NULL nohasharray
++rts51x_transfer_data_rcc_6725 rts51x_transfer_data_rcc 4 6725 &posix_acl_xattr_count_6725
+kobject_add_varg_6781 kobject_add_varg 0 6781 NULL
+iwl_dbgfs_channels_read_6784 iwl_dbgfs_channels_read 3 6784 NULL
+ieee80211_if_read_6785 ieee80211_if_read 3 6785 NULL
@@ -120686,6 +120483,7 @@ index 0000000..f084dc7
+config_desc_7878 config_desc 0 7878 NULL
+gfs2_permission_7884 gfs2_permission 0 7884 NULL
+dvb_dmxdev_read_sec_7892 dvb_dmxdev_read_sec 4 7892 NULL
++xd_read_data_from_ppb_7897 xd_read_data_from_ppb 4 7897 NULL
+xfs_trans_get_efi_7898 xfs_trans_get_efi 2 7898 NULL
+libfc_host_alloc_7917 libfc_host_alloc 2 7917 NULL
+f_hidg_write_7932 f_hidg_write 3 7932 NULL
@@ -121054,7 +120852,8 @@ index 0000000..f084dc7
+xfs_rtcheck_alloc_range_11553 xfs_rtcheck_alloc_range 0 11553 NULL
+radix_tree_extend_11555 radix_tree_extend 0 11555 NULL
+skb_cow_data_11565 skb_cow_data 0 11565 NULL
-+lpfc_idiag_ctlacc_write_11576 lpfc_idiag_ctlacc_write 3 11576 NULL
++lpfc_idiag_ctlacc_write_11576 lpfc_idiag_ctlacc_write 3 11576 NULL nohasharray
++rts51x_write_ppbuf_11576 rts51x_write_ppbuf 3 11576 &lpfc_idiag_ctlacc_write_11576
+oprofilefs_ulong_to_user_11582 oprofilefs_ulong_to_user 3 11582 NULL
+batadv_iv_ogm_orig_add_if_11586 batadv_iv_ogm_orig_add_if 2 11586 NULL
+snd_pcm_action_11589 snd_pcm_action 0 11589 NULL
@@ -121734,6 +121533,7 @@ index 0000000..f084dc7
+SyS_lsetxattr_18776 SyS_lsetxattr 4 18776 NULL
+alloc_fcdev_18780 alloc_fcdev 1 18780 NULL
+prealloc_18800 prealloc 0 18800 NULL
++sd_write_data_18803 sd_write_data 9 18803 NULL
+dm_stats_print_18815 dm_stats_print 7 18815 NULL
+sys_modify_ldt_18824 sys_modify_ldt 3 18824 NULL
+mtf_test_write_18844 mtf_test_write 3 18844 NULL
@@ -122486,6 +122286,7 @@ index 0000000..f084dc7
+tipc_conn_sendmsg_26867 tipc_conn_sendmsg 5 26867 NULL
+ath6kl_create_qos_write_26879 ath6kl_create_qos_write 3 26879 NULL
+svc_print_xprts_26881 svc_print_xprts 0 26881 NULL
++ms_read_bytes_26894 ms_read_bytes 6 26894 NULL
+skb_zerocopy_headlen_26910 skb_zerocopy_headlen 0 26910 NULL
+hhf_zalloc_26912 hhf_zalloc 1 26912 NULL
+cfg80211_process_auth_26916 cfg80211_process_auth 3 26916 NULL
@@ -123317,7 +123118,7 @@ index 0000000..f084dc7
+sctp_tsnmap_mark_35929 sctp_tsnmap_mark 2 35929 NULL
+rx_defrag_init_called_read_35935 rx_defrag_init_called_read 3 35935 NULL
+put_cmsg_compat_35937 put_cmsg_compat 4 35937 NULL
-+ext_rts51x_sd_execute_write_data_35971 ext_rts51x_sd_execute_write_data 9 35971 NULL
++ext_rts51x_sd_execute_write_data_35971 ext_rts51x_sd_execute_write_data 9-11 35971 NULL
+ceph_buffer_new_35974 ceph_buffer_new 1 35974 NULL nohasharray
+generic_ocp_read_35974 generic_ocp_read 3 35974 &ceph_buffer_new_35974
+acl_alloc_35979 acl_alloc 1 35979 NULL
@@ -124879,6 +124680,7 @@ index 0000000..f084dc7
+nvme_queue_extra_52661 nvme_queue_extra 0-1 52661 NULL
+SYSC_gethostname_52677 SYSC_gethostname 2 52677 NULL
+nvd0_disp_pioc_create__52693 nvd0_disp_pioc_create_ 5 52693 NULL
++ms_transfer_data_52705 ms_transfer_data 9 52705 NULL
+nouveau_client_create__52715 nouveau_client_create_ 5 52715 NULL
+__dm_stat_bio_52722 __dm_stat_bio 3 52722 NULL
+cx25840_ir_rx_read_52724 cx25840_ir_rx_read 3 52724 NULL
@@ -125005,6 +124807,7 @@ index 0000000..f084dc7
+memcpy_toiovec_54166 memcpy_toiovec 3 54166 NULL
+nouveau_falcon_create__54169 nouveau_falcon_create_ 8 54169 NULL
+p9_client_prepare_req_54175 p9_client_prepare_req 3 54175 NULL
++sd_read_data_54207 sd_read_data 9 54207 NULL
+do_sys_poll_54221 do_sys_poll 2 54221 NULL
+__register_chrdev_54223 __register_chrdev 2-3 54223 NULL
+pi_read_regr_54231 pi_read_regr 0 54231 NULL
@@ -125043,6 +124846,7 @@ index 0000000..f084dc7
+setsockopt_54539 setsockopt 5 54539 NULL
+lbs_lowsnr_write_54549 lbs_lowsnr_write 3 54549 NULL
+SYSC_setsockopt_54561 SYSC_setsockopt 5 54561 NULL
++rts51x_seq_read_register_54567 rts51x_seq_read_register 3 54567 NULL
+nfsd_vfs_write_54577 nfsd_vfs_write 6 54577 NULL
+fw_iso_buffer_init_54582 fw_iso_buffer_init 3 54582 NULL
+nvme_npages_54601 nvme_npages 0-1 54601 NULL
@@ -125119,7 +124923,8 @@ index 0000000..f084dc7
+memcpy_fromiovec_55247 memcpy_fromiovec 3 55247 NULL
+lbs_failcount_write_55276 lbs_failcount_write 3 55276 NULL
+persistent_ram_new_55286 persistent_ram_new 2-1 55286 NULL
-+rx_streaming_interval_read_55291 rx_streaming_interval_read 3 55291 NULL
++rx_streaming_interval_read_55291 rx_streaming_interval_read 3 55291 NULL nohasharray
++xd_read_cis_55291 xd_read_cis 4 55291 &rx_streaming_interval_read_55291
+lov_get_stripecnt_55297 lov_get_stripecnt 0-3 55297 NULL
+gsm_control_modem_55303 gsm_control_modem 3 55303 NULL
+wimax_msg_len_55304 wimax_msg_len 0 55304 NULL
@@ -125129,6 +124934,7 @@ index 0000000..f084dc7
+vme_user_read_55338 vme_user_read 3 55338 NULL
+__wa_xfer_setup_sizes_55342 __wa_xfer_setup_sizes 0 55342 NULL nohasharray
+sctp_datamsg_from_user_55342 sctp_datamsg_from_user 4 55342 &__wa_xfer_setup_sizes_55342
++rts51x_seq_write_register_55345 rts51x_seq_write_register 3 55345 NULL
+tipc_send2name_55373 tipc_send2name 5 55373 NULL
+cw1200_sdio_align_size_55391 cw1200_sdio_align_size 2 55391 NULL
+iwl_dbgfs_plcp_delta_read_55407 iwl_dbgfs_plcp_delta_read 3 55407 NULL
@@ -125793,7 +125599,7 @@ index 0000000..f084dc7
+set_ssp_62411 set_ssp 4 62411 NULL
+udf_expand_file_adinicb_62470 udf_expand_file_adinicb 0 62470 NULL
+persistent_ram_new_62493 persistent_ram_new 1-2 62493 NULL
-+ext_rts51x_sd_execute_read_data_62501 ext_rts51x_sd_execute_read_data 9 62501 NULL
++ext_rts51x_sd_execute_read_data_62501 ext_rts51x_sd_execute_read_data 9-11 62501 NULL
+pep_sendmsg_62524 pep_sendmsg 4 62524 NULL
+test_iso_queue_62534 test_iso_queue 5 62534 NULL
+debugfs_read_62535 debugfs_read 3 62535 NULL
@@ -126036,6 +125842,7 @@ index 0000000..f084dc7
+get_var_len_65304 get_var_len 0 65304 NULL
+unpack_array_65318 unpack_array 0 65318 NULL
+pci_vpd_find_tag_65325 pci_vpd_find_tag 0-2 65325 NULL
++rts51x_get_rsp_65334 rts51x_get_rsp 2 65334 NULL
+dccp_setsockopt_service_65336 dccp_setsockopt_service 4 65336 NULL
+dma_rx_requested_read_65354 dma_rx_requested_read 3 65354 NULL
+alloc_cpu_rmap_65363 alloc_cpu_rmap 1 65363 NULL