Skip to content

Commit 05c4955

Browse files
committed
linuxkm: add support for WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES using dump_stack().
1 parent 0da78a7 commit 05c4955

3 files changed

Lines changed: 21 additions & 0 deletions

File tree

linuxkm/linuxkm_wc_port.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,10 @@
632632
#endif
633633
#endif
634634

635+
#ifdef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
636+
typeof(dump_stack) *dump_stack;
637+
#endif
638+
635639
const void *_last_slot;
636640
};
637641

@@ -777,6 +781,10 @@
777781
#endif
778782
#endif
779783

784+
#ifdef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
785+
#define dump_stack (wolfssl_linuxkm_get_pie_redirect_table()->dump_stack)
786+
#endif
787+
780788
#endif /* __PIE__ */
781789

782790
#endif /* USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE */

linuxkm/module_hooks.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,10 @@ static int set_up_wolfssl_linuxkm_pie_redirect_table(void) {
580580
#endif
581581
#endif
582582

583+
#ifdef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
584+
wolfssl_linuxkm_pie_redirect_table.dump_stack = dump_stack;
585+
#endif
586+
583587
/* runtime assert that the table has no null slots after initialization. */
584588
{
585589
unsigned long *i;

wolfcrypt/src/logging.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,14 @@ void WOLFSSL_ERROR_MSG(const char* msg)
17211721

17221722
#ifdef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
17231723

1724+
#ifdef WOLFSSL_LINUXKM
1725+
1726+
void wc_backtrace_render(void) {
1727+
dump_stack();
1728+
}
1729+
1730+
#else /* !WOLFSSL_LINUXKM */
1731+
17241732
#include <backtrace-supported.h>
17251733

17261734
#if BACKTRACE_SUPPORTED != 1
@@ -1848,5 +1856,6 @@ void wc_backtrace_render(void) {
18481856

18491857
wc_UnLockMutex(&backtrace_mutex);
18501858
}
1859+
#endif /* !WOLFSSL_LINUXKM */
18511860

18521861
#endif /* WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES */

0 commit comments

Comments
 (0)