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;