diff --git a/tboot-gcc11.patch b/tboot-gcc11.patch new file mode 100644 index 0000000..10b0331 --- /dev/null +++ b/tboot-gcc11.patch @@ -0,0 +1,55 @@ +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.spec b/tboot.spec index f81ccb2..af4b2a0 100644 --- a/tboot.spec +++ b/tboot.spec @@ -1,7 +1,7 @@ Summary: Performs a verified launch using Intel TXT Name: tboot Version: 1.9.11 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 License: BSD @@ -9,6 +9,7 @@ URL: http://sourceforge.net/projects/tboot/ Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Patch0: disable-address-of-packed-member-warning.patch +Patch1: tboot-gcc11.patch BuildRequires: gcc BuildRequires: trousers-devel @@ -65,6 +66,10 @@ make debug=y DISTDIR=$RPM_BUILD_ROOT install /boot/tboot-syms %changelog +* Wed Jul 29 2020 Jeff Law - 1:1.9.11-3 +- Explicitly allow uninitialized variables in a few places that do it +- on purpose + * Wed Jul 29 2020 Fedora Release Engineering - 1:1.9.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild