mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-31 11:17: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
|
@mkdir -p linuxkm src wolfcrypt/src wolfcrypt/test
|
||||||
@if test ! -h $(SRC_TOP)/Kbuild; then ln -s $(MODULE_TOP)/Kbuild $(SRC_TOP)/Kbuild; fi
|
@if test ! -h $(SRC_TOP)/Kbuild; then ln -s $(MODULE_TOP)/Kbuild $(SRC_TOP)/Kbuild; fi
|
||||||
ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
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
|
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
|
endif
|
||||||
|
|
||||||
libwolfssl.ko.signed: libwolfssl.ko
|
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)
|
static void _sp_zero(sp_int* a)
|
||||||
{
|
{
|
||||||
a->used = 0;
|
sp_int_minimal* am = (sp_int_minimal *)a;
|
||||||
a->dp[0] = 0;
|
am->used = 0;
|
||||||
|
am->dp[0] = 0;
|
||||||
#ifdef WOLFSSL_SP_INT_NEGATIVE
|
#ifdef WOLFSSL_SP_INT_NEGATIVE
|
||||||
a->sign = MP_ZPOS;
|
am->sign = MP_ZPOS;
|
||||||
#endif
|
#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.
|
/* Initialize the multi-precision number to be zero.
|
||||||
*
|
*
|
||||||
* @param [out] a SP integer.
|
* @param [out] a SP integer.
|
||||||
@ -4368,39 +4400,7 @@ static void _sp_zero(sp_int* a)
|
|||||||
*/
|
*/
|
||||||
int sp_init(sp_int* a)
|
int sp_init(sp_int* a)
|
||||||
{
|
{
|
||||||
int err = MP_OKAY;
|
return sp_init_size(a, SP_INT_DIGITS);
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(NO_DH) || defined(HAVE_ECC)
|
#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_digit dp[SP_INT_DIGITS];
|
||||||
} sp_int;
|
} 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. */
|
/* Multi-precision integer type is SP integer type. */
|
||||||
typedef sp_int mp_int;
|
typedef sp_int mp_int;
|
||||||
/* Multi-precision integer digit type is SP integer digit type.
|
/* Multi-precision integer digit type is SP integer digit type.
|
||||||
|
Reference in New Issue
Block a user