diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-27 07:40:14 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-27 08:20:34 +0000 |
commit | 6c65cf1225d2f12ad6219653b7b7aed706f039db (patch) | |
tree | 70b57ec09ee32a77bed82d32b6a5e9de1e26c3bc /main/linux-grsec | |
parent | 048b573fa8749d9d75e765e5ba64065584b442a0 (diff) | |
download | aports-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/APKBUILD | 16 | ||||
-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 85f0a86beb..3a477ac18c 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 28c0f41f7c..e462e33ba7 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 |