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 /* 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;