diff options
author | David S. Miller <davem@davemloft.net> | 2015-07-13 20:28:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-07-13 20:28:09 -0400 |
commit | 638d3c63811e31b2745f7fdd568b38c8abcffe03 (patch) | |
tree | 606426ab4de84e59c5f50e1e3cce6e24819d45af /lib | |
parent | 74fe61f17e999a458d5f64ca2aa9a0282ca32198 (diff) | |
parent | f760b87f8f12eb262f14603e65042996fe03720e (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.debug | 5 | ||||
-rw-r--r-- | lib/Kconfig.kasan | 4 | ||||
-rw-r--r-- | lib/Makefile | 3 | ||||
-rw-r--r-- | lib/crc-t10dif.c | 12 | ||||
-rw-r--r-- | lib/debug_info.c | 27 | ||||
-rw-r--r-- | lib/rhashtable.c | 4 |
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 | ||
844 | config SCHED_INFO | ||
845 | bool | ||
846 | default n | ||
847 | |||
844 | config SCHEDSTATS | 848 | config 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 | ||
21 | config KASAN_SHADOW_OFFSET | ||
22 | hex | ||
23 | default 0xdffffc0000000000 if X86_64 | ||
24 | |||
25 | choice | 21 | choice |
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 | |||
45 | CFLAGS_kobject_uevent.o += -DDEBUG | 45 | CFLAGS_kobject_uevent.o += -DDEBUG |
46 | endif | 46 | endif |
47 | 47 | ||
48 | obj-$(CONFIG_DEBUG_INFO_REDUCED) += debug_info.o | ||
49 | CFLAGS_debug_info.o += $(call cc-option, -femit-struct-debug-detailed=any) | ||
50 | |||
48 | obj-$(CONFIG_GENERIC_IOMAP) += iomap.o | 51 | obj-$(CONFIG_GENERIC_IOMAP) += iomap.o |
49 | obj-$(CONFIG_GENERIC_PCI_IOMAP) += pci_iomap.o | 52 | obj-$(CONFIG_GENERIC_PCI_IOMAP) += pci_iomap.o |
50 | obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o | 53 | obj-$(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 @@ | |||
19 | static struct crypto_shash *crct10dif_tfm; | 19 | static struct crypto_shash *crct10dif_tfm; |
20 | static struct static_key crct10dif_fallback __read_mostly; | 20 | static 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 | } |
42 | EXPORT_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 | } | ||
42 | EXPORT_SYMBOL(crc_t10dif); | 48 | EXPORT_SYMBOL(crc_t10dif); |
43 | 49 | ||
44 | static int __init crc_t10dif_mod_init(void) | 50 | static 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 | } |
627 | EXPORT_SYMBOL_GPL(rhashtable_walk_next); | 627 | EXPORT_SYMBOL_GPL(rhashtable_walk_next); |