diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Kconfig.debug | 20 | ||||
| -rw-r--r-- | lib/digsig.c | 6 | ||||
| -rw-r--r-- | lib/flex_proportions.c | 2 |
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 | |||
| 452 | config DEBUG_KMEMLEAK | 452 | config 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 | ||
| 633 | config 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 | |||
| 632 | config SPARSE_RCU_POINTER | 647 | config 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 | ||
| 170 | err: | 172 | err: |
| 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 | */ |
| 63 | bool fprop_new_period(struct fprop_global *p, int periods) | 63 | bool 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); |
