aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Kconfig.debug20
-rw-r--r--lib/digsig.c6
-rw-r--r--lib/flex_proportions.c2
3 files changed, 23 insertions, 5 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 2403a63b5da5..35c4565ee8fa 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -452,7 +452,8 @@ config SLUB_STATS
452config DEBUG_KMEMLEAK 452config DEBUG_KMEMLEAK
453 bool "Kernel memory leak detector" 453 bool "Kernel memory leak detector"
454 depends on DEBUG_KERNEL && EXPERIMENTAL && \ 454 depends on DEBUG_KERNEL && EXPERIMENTAL && \
455 (X86 || ARM || PPC || MIPS || S390 || SPARC64 || SUPERH || MICROBLAZE || TILE) 455 (X86 || ARM || PPC || MIPS || S390 || SPARC64 || SUPERH || \
456 MICROBLAZE || TILE || ARM64)
456 457
457 select DEBUG_FS 458 select DEBUG_FS
458 select STACKTRACE if STACKTRACE_SUPPORT 459 select STACKTRACE if STACKTRACE_SUPPORT
@@ -629,6 +630,20 @@ config PROVE_RCU_REPEATEDLY
629 630
630 Say N if you are unsure. 631 Say N if you are unsure.
631 632
633config PROVE_RCU_DELAY
634 bool "RCU debugging: preemptible RCU race provocation"
635 depends on DEBUG_KERNEL && PREEMPT_RCU
636 default n
637 help
638 There is a class of races that involve an unlikely preemption
639 of __rcu_read_unlock() just after ->rcu_read_lock_nesting has
640 been set to INT_MIN. This feature inserts a delay at that
641 point to increase the probability of these races.
642
643 Say Y to increase probability of preemption of __rcu_read_unlock().
644
645 Say N if you are unsure.
646
632config SPARSE_RCU_POINTER 647config SPARSE_RCU_POINTER
633 bool "RCU debugging: sparse-based checks for pointer usage" 648 bool "RCU debugging: sparse-based checks for pointer usage"
634 default n 649 default n
@@ -739,7 +754,8 @@ config DEBUG_BUGVERBOSE
739 bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT 754 bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT
740 depends on BUG 755 depends on BUG
741 depends on ARM || AVR32 || M32R || M68K || SPARC32 || SPARC64 || \ 756 depends on ARM || AVR32 || M32R || M68K || SPARC32 || SPARC64 || \
742 FRV || SUPERH || GENERIC_BUG || BLACKFIN || MN10300 || TILE 757 FRV || SUPERH || GENERIC_BUG || BLACKFIN || MN10300 || \
758 TILE || ARM64
743 default y 759 default y
744 help 760 help
745 Say Y here to make BUG() panics output the file name and line number 761 Say Y here to make BUG() panics output the file name and line number
diff --git a/lib/digsig.c b/lib/digsig.c
index 286d558033e2..8c0e62975c88 100644
--- a/lib/digsig.c
+++ b/lib/digsig.c
@@ -163,9 +163,11 @@ static int digsig_verify_rsa(struct key *key,
163 memcpy(out1 + head, p, l); 163 memcpy(out1 + head, p, l);
164 164
165 err = pkcs_1_v1_5_decode_emsa(out1, len, mblen, out2, &len); 165 err = pkcs_1_v1_5_decode_emsa(out1, len, mblen, out2, &len);
166 if (err)
167 goto err;
166 168
167 if (!err && len == hlen) 169 if (len != hlen || memcmp(out2, h, hlen))
168 err = memcmp(out2, h, hlen); 170 err = -EINVAL;
169 171
170err: 172err:
171 mpi_free(in); 173 mpi_free(in);
diff --git a/lib/flex_proportions.c b/lib/flex_proportions.c
index c785554f9523..ebf3bac460b0 100644
--- a/lib/flex_proportions.c
+++ b/lib/flex_proportions.c
@@ -62,7 +62,7 @@ void fprop_global_destroy(struct fprop_global *p)
62 */ 62 */
63bool fprop_new_period(struct fprop_global *p, int periods) 63bool fprop_new_period(struct fprop_global *p, int periods)
64{ 64{
65 u64 events; 65 s64 events;
66 unsigned long flags; 66 unsigned long flags;
67 67
68 local_irq_save(flags); 68 local_irq_save(flags);