383268517c
Temporarily disable -Wstringop-overflow due to false positive in gcc-11
83 lines
3.1 KiB
Diff
83 lines
3.1 KiB
Diff
diff --git a/tboot/common/tpm_12.c b/tboot/common/tpm_12.c
|
|
index a62e570..504b874 100644
|
|
--- a/tboot/common/tpm_12.c
|
|
+++ b/tboot/common/tpm_12.c
|
|
@@ -766,6 +766,8 @@ static uint32_t tpm12_osap(uint32_t locality, tpm_entity_type_t ent_type,
|
|
tpm_authhandle_t *hauth, tpm_nonce_t *nonce_even,
|
|
tpm_nonce_t *even_osap)
|
|
{
|
|
+#pragma GCC diagnostic push
|
|
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
|
|
uint32_t ret, offset, out_size;
|
|
|
|
if ( odd_osap == NULL || hauth == NULL ||
|
|
@@ -801,6 +803,7 @@ static uint32_t tpm12_osap(uint32_t locality, tpm_entity_type_t ent_type,
|
|
LOAD_BLOB_TYPE(WRAPPER_OUT_BUF, offset, even_osap);
|
|
|
|
return ret;
|
|
+#pragma GCC diagnostic pop
|
|
}
|
|
|
|
static uint32_t _tpm12_seal(uint32_t locality, tpm_key_handle_t hkey,
|
|
@@ -1044,6 +1047,8 @@ static uint32_t _tpm12_wrap_seal(uint32_t locality,
|
|
static uint32_t _tpm12_wrap_unseal(uint32_t locality, const uint8_t *in_data,
|
|
uint32_t *secret_size, uint8_t *secret)
|
|
{
|
|
+#pragma GCC diagnostic push
|
|
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
|
|
uint32_t ret;
|
|
tpm_nonce_t odd_osap, even_osap;
|
|
tpm_nonce_t nonce_even, nonce_odd, nonce_even_d, nonce_odd_d;
|
|
@@ -1116,6 +1121,7 @@ static uint32_t _tpm12_wrap_unseal(uint32_t locality, const uint8_t *in_data,
|
|
/* skip check for res_auth */
|
|
|
|
return ret;
|
|
+#pragma GCC diagnostic pop
|
|
}
|
|
|
|
static bool init_pcr_info(uint32_t locality,
|
|
@@ -1948,6 +1954,8 @@ static bool tpm12_get_random(struct tpm_if *ti, uint32_t locality,
|
|
|
|
static bool tpm12_cap_pcrs(struct tpm_if *ti, u32 locality, int pcr)
|
|
{
|
|
+#pragma GCC diagnostic push
|
|
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
|
|
bool was_capped[TPM_NR_PCRS] = {false};
|
|
tpm_pcr_value_t cap_val; /* use whatever val is on stack */
|
|
|
|
@@ -1976,6 +1984,7 @@ static bool tpm12_cap_pcrs(struct tpm_if *ti, u32 locality, int pcr)
|
|
|
|
printk(TBOOT_INFO"cap'ed dynamic PCRs\n");
|
|
return true;
|
|
+#pragma GCC diagnostic pop
|
|
}
|
|
|
|
static bool tpm12_check(void)
|
|
diff --git a/tboot/include/rijndael.h b/tboot/include/rijndael.h
|
|
index 2974602..8dbcc7c 100644
|
|
--- a/tboot/include/rijndael.h
|
|
+++ b/tboot/include/rijndael.h
|
|
@@ -52,7 +52,7 @@ void rijndael_encrypt(rijndael_ctx *, const u_char *, u_char *);
|
|
|
|
int rijndaelKeySetupEnc(unsigned int [], const unsigned char [], int);
|
|
int rijndaelKeySetupDec(unsigned int [], const unsigned char [], int);
|
|
-void rijndaelEncrypt(const unsigned int [], int, const unsigned char [],
|
|
- unsigned char []);
|
|
+void rijndaelEncrypt(const unsigned int [], int, const unsigned char [16],
|
|
+ unsigned char [16]);
|
|
|
|
#endif /* __RIJNDAEL_H */
|
|
diff --git a/Config.mk b/Config.mk
|
|
index 6d2fe14..8234edd 100644
|
|
--- a/Config.mk
|
|
+++ b/Config.mk
|
|
@@ -74,6 +74,8 @@ TARGET_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ -e s/i86pc/x86_32/)
|
|
CFLAGS += $(CFLAGS_WARN) -fno-strict-aliasing -std=gnu99
|
|
# due to bug in gcc v4.2,3,?
|
|
CFLAGS += $(call cc-option,$(CC),-Wno-array-bounds,)
|
|
+# Due to a bug in gcc-11
|
|
+CFLAGS += $(call cc-option,$(CC),-Wno-stringop-overflow,)
|
|
|
|
|
|
ifeq ($(debug),y)
|