mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-29 18:27:29 +02:00
Merge pull request #5579 from douzzer/20220911-fixes-re-multi-test
20220911-fixes-re-multi-test
This commit is contained in:
@ -61,9 +61,9 @@ libwolfssl.ko:
|
||||
@mkdir -p linuxkm src wolfcrypt/src wolfcrypt/test
|
||||
@if test ! -h $(SRC_TOP)/Kbuild; then ln -s $(MODULE_TOP)/Kbuild $(SRC_TOP)/Kbuild; fi
|
||||
ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
+$(MAKE) -C $(KERNEL_ROOT) M=$(MODULE_TOP) src=$(SRC_TOP) CC_FLAGS_FTRACE=
|
||||
+$(MAKE) -C $(KERNEL_ROOT) M=$(MODULE_TOP) src=$(SRC_TOP) $(KBUILD_EXTRA_FLAGS) CC_FLAGS_FTRACE=
|
||||
else
|
||||
+$(MAKE) -C $(KERNEL_ROOT) M=$(MODULE_TOP) src=$(SRC_TOP)
|
||||
+$(MAKE) -C $(KERNEL_ROOT) M=$(MODULE_TOP) src=$(SRC_TOP) $(KBUILD_EXTRA_FLAGS)
|
||||
endif
|
||||
|
||||
libwolfssl.ko.signed: libwolfssl.ko
|
||||
|
@ -4352,13 +4352,45 @@ static int _sp_mont_red(sp_int* a, sp_int* m, sp_int_digit mp);
|
||||
*/
|
||||
static void _sp_zero(sp_int* a)
|
||||
{
|
||||
a->used = 0;
|
||||
a->dp[0] = 0;
|
||||
sp_int_minimal* am = (sp_int_minimal *)a;
|
||||
am->used = 0;
|
||||
am->dp[0] = 0;
|
||||
#ifdef WOLFSSL_SP_INT_NEGATIVE
|
||||
a->sign = MP_ZPOS;
|
||||
am->sign = MP_ZPOS;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* Initialize the multi-precision number to be zero with a given max size.
|
||||
*
|
||||
* @param [out] a SP integer.
|
||||
* @param [in] size Number of words to say are available.
|
||||
*
|
||||
* @return MP_OKAY on success.
|
||||
* @return MP_VAL when a is NULL.
|
||||
*/
|
||||
int sp_init_size(sp_int* a, int size)
|
||||
{
|
||||
sp_int_minimal* am = (sp_int_minimal *)a;
|
||||
int err = MP_OKAY;
|
||||
|
||||
if (a == NULL) {
|
||||
err = MP_VAL;
|
||||
}
|
||||
if (err == MP_OKAY) {
|
||||
#ifdef HAVE_WOLF_BIGINT
|
||||
wc_bigint_init(&am->raw);
|
||||
#endif
|
||||
_sp_zero(a);
|
||||
}
|
||||
|
||||
if (err == MP_OKAY) {
|
||||
am->size = size;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
/* Initialize the multi-precision number to be zero.
|
||||
*
|
||||
* @param [out] a SP integer.
|
||||
@ -4368,39 +4400,7 @@ static void _sp_zero(sp_int* a)
|
||||
*/
|
||||
int sp_init(sp_int* a)
|
||||
{
|
||||
int err = MP_OKAY;
|
||||
|
||||
if (a == NULL) {
|
||||
err = MP_VAL;
|
||||
}
|
||||
if (err == MP_OKAY) {
|
||||
#ifdef HAVE_WOLF_BIGINT
|
||||
wc_bigint_init(&a->raw);
|
||||
#endif
|
||||
_sp_zero(a);
|
||||
a->size = SP_INT_DIGITS;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
/* Initialize the multi-precision number to be zero and have a maximum size.
|
||||
*
|
||||
* @param [out] a SP integer.
|
||||
* @param [in] size Number of words to say are available.
|
||||
*
|
||||
* @return MP_OKAY on success.
|
||||
* @return MP_VAL when a is NULL.
|
||||
*/
|
||||
int sp_init_size(sp_int* a, int size)
|
||||
{
|
||||
int err = sp_init(a);
|
||||
|
||||
if (err == MP_OKAY) {
|
||||
a->size = size;
|
||||
}
|
||||
|
||||
return err;
|
||||
return sp_init_size(a, SP_INT_DIGITS);
|
||||
}
|
||||
|
||||
#if !defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(NO_DH) || defined(HAVE_ECC)
|
||||
|
@ -778,6 +778,19 @@ typedef struct sp_int {
|
||||
sp_int_digit dp[SP_INT_DIGITS];
|
||||
} sp_int;
|
||||
|
||||
typedef struct sp_int_minimal {
|
||||
int used;
|
||||
int size;
|
||||
#ifdef WOLFSSL_SP_INT_NEGATIVE
|
||||
int sign;
|
||||
#endif
|
||||
#ifdef HAVE_WOLF_BIGINT
|
||||
struct WC_BIGINT raw;
|
||||
#endif
|
||||
/** First digit of number. */
|
||||
sp_int_digit dp[1];
|
||||
} sp_int_minimal;
|
||||
|
||||
/* Multi-precision integer type is SP integer type. */
|
||||
typedef sp_int mp_int;
|
||||
/* Multi-precision integer digit type is SP integer digit type.
|
||||
|
Reference in New Issue
Block a user