Skip to content

Commit 5a59807

Browse files
authored
Merge pull request #6431 from douzzer/20230521-wolfsentry-mt-usage-fixes
20230521-wolfsentry-mt-usage-fixes
2 parents d8e4c78 + 3e14b34 commit 5a59807

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

wolfssl/test.h

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1684,13 +1684,28 @@ static int wolfsentry_setup(
16841684
{
16851685
struct wolfsentry_route_table *table;
16861686

1687+
#ifdef WOLFSENTRY_THREADSAFE
1688+
ret = WOLFSENTRY_SHARED_EX(*_wolfsentry);
1689+
if (ret < 0) {
1690+
fprintf(stderr, "wolfsentry shared lock op failed: "
1691+
WOLFSENTRY_ERROR_FMT ".\n",
1692+
WOLFSENTRY_ERROR_FMT_ARGS(ret));
1693+
return ret;
1694+
}
1695+
#endif
1696+
16871697
if ((ret = wolfsentry_route_get_main_table(
16881698
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry),
16891699
&table)) < 0)
16901700
{
16911701
fprintf(stderr, "wolfsentry_route_get_main_table() returned "
16921702
WOLFSENTRY_ERROR_FMT "\n",
16931703
WOLFSENTRY_ERROR_FMT_ARGS(ret));
1704+
#ifdef WOLFSENTRY_THREADSAFE
1705+
WOLFSENTRY_WARN_ON_FAILURE(
1706+
wolfsentry_context_unlock(
1707+
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry)));
1708+
#endif
16941709
return ret;
16951710
}
16961711

@@ -1708,6 +1723,11 @@ static int wolfsentry_setup(
17081723
"wolfsentry_route_table_default_policy_set() returned "
17091724
WOLFSENTRY_ERROR_FMT "\n",
17101725
WOLFSENTRY_ERROR_FMT_ARGS(ret));
1726+
#ifdef WOLFSENTRY_THREADSAFE
1727+
WOLFSENTRY_WARN_ON_FAILURE(
1728+
wolfsentry_context_unlock(
1729+
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry)));
1730+
#endif
17111731
return ret;
17121732
}
17131733

@@ -1742,6 +1762,11 @@ static int wolfsentry_setup(
17421762
fprintf(stderr, "wolfsentry_route_insert() returned "
17431763
WOLFSENTRY_ERROR_FMT "\n",
17441764
WOLFSENTRY_ERROR_FMT_ARGS(ret));
1765+
#ifdef WOLFSENTRY_THREADSAFE
1766+
WOLFSENTRY_WARN_ON_FAILURE(
1767+
wolfsentry_context_unlock(
1768+
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry)));
1769+
#endif
17451770
return ret;
17461771
}
17471772
} else if (WOLFSENTRY_MASKIN_BITS(route_flags, WOLFSENTRY_ROUTE_FLAG_DIRECTION_IN)) {
@@ -1757,6 +1782,11 @@ static int wolfsentry_setup(
17571782
"wolfsentry_route_table_default_policy_set() returned "
17581783
WOLFSENTRY_ERROR_FMT "\n",
17591784
WOLFSENTRY_ERROR_FMT_ARGS(ret));
1785+
#ifdef WOLFSENTRY_THREADSAFE
1786+
WOLFSENTRY_WARN_ON_FAILURE(
1787+
wolfsentry_context_unlock(
1788+
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry)));
1789+
#endif
17601790
return ret;
17611791
}
17621792

@@ -1791,9 +1821,19 @@ static int wolfsentry_setup(
17911821
fprintf(stderr, "wolfsentry_route_insert() returned "
17921822
WOLFSENTRY_ERROR_FMT "\n",
17931823
WOLFSENTRY_ERROR_FMT_ARGS(ret));
1824+
#ifdef WOLFSENTRY_THREADSAFE
1825+
WOLFSENTRY_WARN_ON_FAILURE(
1826+
wolfsentry_context_unlock(
1827+
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry)));
1828+
#endif
17941829
return ret;
17951830
}
17961831
}
1832+
#ifdef WOLFSENTRY_THREADSAFE
1833+
WOLFSENTRY_WARN_ON_FAILURE(
1834+
wolfsentry_context_unlock(
1835+
WOLFSENTRY_CONTEXT_ARGS_OUT_EX(*_wolfsentry)));
1836+
#endif
17971837
}
17981838

17991839
#if defined(WOLFSENTRY_THREADSAFE) && defined(HAVE_WOLFSENTRY_API_0v8)

0 commit comments

Comments
 (0)