linuxkm/linuxkm_wc_port.h and linuxkm/module_hooks.c: remove WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES gate around setup for wolfssl_linuxkm_pie_redirect_table.dump_stack.
linuxkm/module_hooks.c: in wc_linuxkm_relax_long_loop(), use cpu_relax() as a fallback when non-preemptible.
This commit is contained in:
@@ -1072,9 +1072,7 @@
|
||||
|
||||
#endif /* !WOLFCRYPT_ONLY && !NO_CERTS */
|
||||
|
||||
#ifdef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
|
||||
typeof(dump_stack) *dump_stack;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
#ifndef CONFIG_ARCH_TEGRA
|
||||
@@ -1345,9 +1343,7 @@
|
||||
|
||||
#endif /* !WOLFCRYPT_ONLY && !NO_CERTS */
|
||||
|
||||
#ifdef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
|
||||
#define dump_stack WC_PIE_INDIRECT_SYM(dump_stack)
|
||||
#endif
|
||||
|
||||
#undef preempt_count /* just in case -- not a macro on x86. */
|
||||
#define preempt_count WC_PIE_INDIRECT_SYM(preempt_count)
|
||||
@@ -1729,4 +1725,13 @@
|
||||
#error unexpected BITS_PER_LONG value.
|
||||
#endif
|
||||
|
||||
/* WC_DUMP_BACKTRACE_NONDEBUG is intended to dump a backtrace only if it hasn't
|
||||
* already been dumped by the called function.
|
||||
*/
|
||||
#if defined(WOLFSSL_DEBUG_TRACE_ERROR_CODES) && defined(WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES)
|
||||
#define WC_DUMP_BACKTRACE_NONDEBUG WC_DO_NOTHING
|
||||
#else
|
||||
#define WC_DUMP_BACKTRACE_NONDEBUG dump_stack()
|
||||
#endif
|
||||
|
||||
#endif /* LINUXKM_WC_PORT_H */
|
||||
|
||||
@@ -297,8 +297,10 @@ void wc_linuxkm_relax_long_loop(void) {
|
||||
*/
|
||||
}
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
cpu_relax();
|
||||
}
|
||||
|
||||
#if defined(WC_LINUXKM_WOLFENTROPY_IN_GLUE_LAYER)
|
||||
@@ -1475,9 +1477,7 @@ static int set_up_wolfssl_linuxkm_pie_redirect_table(void) {
|
||||
#endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */
|
||||
#endif /* !WOLFCRYPT_ONLY && !NO_CERTS */
|
||||
|
||||
#ifdef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
|
||||
wolfssl_linuxkm_pie_redirect_table.dump_stack = dump_stack;
|
||||
#endif
|
||||
|
||||
wolfssl_linuxkm_pie_redirect_table.preempt_count = my_preempt_count;
|
||||
#ifndef _raw_spin_lock_irqsave
|
||||
|
||||
Reference in New Issue
Block a user