tboot/tboot-gcc11.patch
DistroBaker 41a025ef5d Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/tboot.git#f2bc8403f417e08982495461e83baaefc5811aab
2020-10-30 16:23:32 +00:00

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/tboot/common/loader.c b/tboot/common/loader.c
index cbb7def..6169564 100644
--- a/tboot/common/loader.c
+++ b/tboot/common/loader.c
@@ -59,7 +59,7 @@
#include <tpm.h>
/* copy of kernel/VMM command line so that can append 'tboot=0x1234' */
-static char *new_cmdline = (char *)TBOOT_KERNEL_CMDLINE_ADDR;
+static char * volatile new_cmdline = (char *)TBOOT_KERNEL_CMDLINE_ADDR;
/* MLE/kernel shared data page (in boot.S) */
extern tboot_shared_t _tboot_shared;