aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2015-07-13 20:28:09 -0400
committerDavid S. Miller <davem@davemloft.net>2015-07-13 20:28:09 -0400
commit638d3c63811e31b2745f7fdd568b38c8abcffe03 (patch)
tree606426ab4de84e59c5f50e1e3cce6e24819d45af /lib
parent74fe61f17e999a458d5f64ca2aa9a0282ca32198 (diff)
parentf760b87f8f12eb262f14603e65042996fe03720e (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: net/bridge/br_mdb.c Minor conflict in br_mdb.c, in 'net' we added a memset of the on-stack 'ip' variable whereas in 'net-next' we assign a new member 'vid'. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib')
-rw-r--r--lib/Kconfig.debug5
-rw-r--r--lib/Kconfig.kasan4
-rw-r--r--lib/Makefile3
-rw-r--r--lib/crc-t10dif.c12
-rw-r--r--lib/debug_info.c27
-rw-r--r--lib/rhashtable.c4
6 files changed, 46 insertions, 9 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index b908048f8d6a..e2894b23efb6 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -841,9 +841,14 @@ config SCHED_DEBUG
841 that can help debug the scheduler. The runtime overhead of this 841 that can help debug the scheduler. The runtime overhead of this
842 option is minimal. 842 option is minimal.
843 843
844config SCHED_INFO
845 bool
846 default n
847
844config SCHEDSTATS 848config SCHEDSTATS
845 bool "Collect scheduler statistics" 849 bool "Collect scheduler statistics"
846 depends on DEBUG_KERNEL && PROC_FS 850 depends on DEBUG_KERNEL && PROC_FS
851 select SCHED_INFO
847 help 852 help
848 If you say Y here, additional code will be inserted into the 853 If you say Y here, additional code will be inserted into the
849 scheduler and related routines to collect statistics about 854 scheduler and related routines to collect statistics about
diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index 777eda7d1ab4..39f24d6721e5 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -18,10 +18,6 @@ config KASAN
18 For better error detection enable CONFIG_STACKTRACE, 18 For better error detection enable CONFIG_STACKTRACE,
19 and add slub_debug=U to boot cmdline. 19 and add slub_debug=U to boot cmdline.
20 20
21config KASAN_SHADOW_OFFSET
22 hex
23 default 0xdffffc0000000000 if X86_64
24
25choice 21choice
26 prompt "Instrumentation type" 22 prompt "Instrumentation type"
27 depends on KASAN 23 depends on KASAN
diff --git a/lib/Makefile b/lib/Makefile
index ff37c8c2f7b2..6897b527581a 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -45,6 +45,9 @@ CFLAGS_kobject.o += -DDEBUG
45CFLAGS_kobject_uevent.o += -DDEBUG 45CFLAGS_kobject_uevent.o += -DDEBUG
46endif 46endif
47 47
48obj-$(CONFIG_DEBUG_INFO_REDUCED) += debug_info.o
49CFLAGS_debug_info.o += $(call cc-option, -femit-struct-debug-detailed=any)
50
48obj-$(CONFIG_GENERIC_IOMAP) += iomap.o 51obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
49obj-$(CONFIG_GENERIC_PCI_IOMAP) += pci_iomap.o 52obj-$(CONFIG_GENERIC_PCI_IOMAP) += pci_iomap.o
50obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o 53obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
diff --git a/lib/crc-t10dif.c b/lib/crc-t10dif.c
index dfe6ec17c0a5..1ad33e555805 100644
--- a/lib/crc-t10dif.c
+++ b/lib/crc-t10dif.c
@@ -19,7 +19,7 @@
19static struct crypto_shash *crct10dif_tfm; 19static struct crypto_shash *crct10dif_tfm;
20static struct static_key crct10dif_fallback __read_mostly; 20static struct static_key crct10dif_fallback __read_mostly;
21 21
22__u16 crc_t10dif(const unsigned char *buffer, size_t len) 22__u16 crc_t10dif_update(__u16 crc, const unsigned char *buffer, size_t len)
23{ 23{
24 struct { 24 struct {
25 struct shash_desc shash; 25 struct shash_desc shash;
@@ -28,17 +28,23 @@ __u16 crc_t10dif(const unsigned char *buffer, size_t len)
28 int err; 28 int err;
29 29
30 if (static_key_false(&crct10dif_fallback)) 30 if (static_key_false(&crct10dif_fallback))
31 return crc_t10dif_generic(0, buffer, len); 31 return crc_t10dif_generic(crc, buffer, len);
32 32
33 desc.shash.tfm = crct10dif_tfm; 33 desc.shash.tfm = crct10dif_tfm;
34 desc.shash.flags = 0; 34 desc.shash.flags = 0;
35 *(__u16 *)desc.ctx = 0; 35 *(__u16 *)desc.ctx = crc;
36 36
37 err = crypto_shash_update(&desc.shash, buffer, len); 37 err = crypto_shash_update(&desc.shash, buffer, len);
38 BUG_ON(err); 38 BUG_ON(err);
39 39
40 return *(__u16 *)desc.ctx; 40 return *(__u16 *)desc.ctx;
41} 41}
42EXPORT_SYMBOL(crc_t10dif_update);
43
44__u16 crc_t10dif(const unsigned char *buffer, size_t len)
45{
46 return crc_t10dif_update(0, buffer, len);
47}
42EXPORT_SYMBOL(crc_t10dif); 48EXPORT_SYMBOL(crc_t10dif);
43 49
44static int __init crc_t10dif_mod_init(void) 50static int __init crc_t10dif_mod_init(void)
diff --git a/lib/debug_info.c b/lib/debug_info.c
new file mode 100644
index 000000000000..2edbe27517ed
--- /dev/null
+++ b/lib/debug_info.c
@@ -0,0 +1,27 @@
1/*
2 * This file exists solely to ensure debug information for some core
3 * data structures is included in the final image even for
4 * CONFIG_DEBUG_INFO_REDUCED. Please do not add actual code. However,
5 * adding appropriate #includes is fine.
6 */
7#include <stdarg.h>
8
9#include <linux/cred.h>
10#include <linux/crypto.h>
11#include <linux/dcache.h>
12#include <linux/device.h>
13#include <linux/fs.h>
14#include <linux/fscache-cache.h>
15#include <linux/io.h>
16#include <linux/kallsyms.h>
17#include <linux/kernel.h>
18#include <linux/kobject.h>
19#include <linux/mm.h>
20#include <linux/module.h>
21#include <linux/net.h>
22#include <linux/sched.h>
23#include <linux/slab.h>
24#include <linux/types.h>
25#include <net/addrconf.h>
26#include <net/sock.h>
27#include <net/tcp.h>
diff --git a/lib/rhashtable.c b/lib/rhashtable.c
index a60a6d335a91..cc0c69710dcf 100644
--- a/lib/rhashtable.c
+++ b/lib/rhashtable.c
@@ -610,6 +610,8 @@ next:
610 iter->skip = 0; 610 iter->skip = 0;
611 } 611 }
612 612
613 iter->p = NULL;
614
613 /* Ensure we see any new tables. */ 615 /* Ensure we see any new tables. */
614 smp_rmb(); 616 smp_rmb();
615 617
@@ -620,8 +622,6 @@ next:
620 return ERR_PTR(-EAGAIN); 622 return ERR_PTR(-EAGAIN);
621 } 623 }
622 624
623 iter->p = NULL;
624
625 return NULL; 625 return NULL;
626} 626}
627EXPORT_SYMBOL_GPL(rhashtable_walk_next); 627EXPORT_SYMBOL_GPL(rhashtable_walk_next);