import tboot-1.10.5-1.el8
This commit is contained in:
parent
fde1a0c515
commit
ffc6293928
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/tboot-1.10.2.tar.gz
|
SOURCES/tboot-1.10.5.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
f11ed63c38588fe17ac6674efc115122dd2fc737 SOURCES/tboot-1.10.2.tar.gz
|
687bb5c0453b0256d64c8b1aa538a49703f9737a SOURCES/tboot-1.10.5.tar.gz
|
||||||
|
20
SOURCES/0001-fix-typo-in-lcp2_crtpollist-manpage.patch
Normal file
20
SOURCES/0001-fix-typo-in-lcp2_crtpollist-manpage.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Pawel Randzio <pawel.randzio@intel.com>
|
||||||
|
# Date 1646837604 -3600
|
||||||
|
# Wed Mar 09 15:53:24 2022 +0100
|
||||||
|
# Node ID 9cda8c127b0a7bb11561befbaa9ecf1130763fcf
|
||||||
|
# Parent 5941842afb661f0e78085cb1317781d362583a38
|
||||||
|
Fixed a typo in man page for lcp2_crtpollist
|
||||||
|
|
||||||
|
diff -r 5941842afb66 -r 9cda8c127b0a docs/man/lcp2_crtpollist.8
|
||||||
|
--- a/docs/man/lcp2_crtpollist.8 Fri Mar 04 11:14:35 2022 +0100
|
||||||
|
+++ b/docs/man/lcp2_crtpollist.8 Wed Mar 09 15:53:24 2022 +0100
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
support rsapss and ecdsa.
|
||||||
|
.TP \w'\fB--hashalg\ \fI<sha1|sha256|sha384|sha512|sm2>\fP'u+1n
|
||||||
|
\fB--hashalg\ \fI<sha1|sha256|sha384|sha512|sm2>\fP
|
||||||
|
-Hash algorightm used for signing a list. Lists version 0x100 only support SHA1.
|
||||||
|
+Hash algorithm used for signing a list. Lists version 0x100 only support SHA1.
|
||||||
|
.TP
|
||||||
|
\fB--pub\ \fIfile\fP
|
||||||
|
Public key to use, must be in PEM format.
|
133
SOURCES/0002-check-for-client-server-match.patch
Normal file
133
SOURCES/0002-check-for-client-server-match.patch
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Timo Lindfors <timo.lindfors@iki.fi>
|
||||||
|
# Date 1646900891 -7200
|
||||||
|
# Thu Mar 10 10:28:11 2022 +0200
|
||||||
|
# Node ID 9c625ab2035bae1fc38787025f74d2937600223b
|
||||||
|
# Parent 9cda8c127b0a7bb11561befbaa9ecf1130763fcf
|
||||||
|
txt-acminfo: Map TXT heap using mmap
|
||||||
|
Without this patch
|
||||||
|
|
||||||
|
txt-acminfo 5th_gen_i5_i7_SINIT_79.BIN
|
||||||
|
|
||||||
|
segfaults. This issue was introduced in
|
||||||
|
|
||||||
|
o changeset: 627:d8a8e17f6d41
|
||||||
|
| user: Lukasz Hawrylko <lukas...@in...>
|
||||||
|
| date: Thu May 13 16:04:27 2021 +0200
|
||||||
|
| summary: Check for client/server match when selecting SINIT
|
||||||
|
|
||||||
|
Signed-off-by: Timo Lindfors <timo.lindfors@iki.fi>
|
||||||
|
|
||||||
|
diff -r 9cda8c127b0a -r 9c625ab2035b tboot/common/loader.c
|
||||||
|
--- a/tboot/common/loader.c Wed Mar 09 15:53:24 2022 +0100
|
||||||
|
+++ b/tboot/common/loader.c Thu Mar 10 10:28:11 2022 +0200
|
||||||
|
@@ -1792,7 +1792,7 @@
|
||||||
|
void *base2 = (void *)m->mod_start;
|
||||||
|
uint32_t size2 = m->mod_end - (unsigned long)(base2);
|
||||||
|
if ( is_racm_acmod(base2, size2, false) &&
|
||||||
|
- does_acmod_match_platform((acm_hdr_t *)base2) ) {
|
||||||
|
+ does_acmod_match_platform((acm_hdr_t *)base2, NULL) ) {
|
||||||
|
if ( base != NULL )
|
||||||
|
*base = base2;
|
||||||
|
if ( size != NULL )
|
||||||
|
@@ -1837,7 +1837,7 @@
|
||||||
|
void *base2 = (void *)m->mod_start;
|
||||||
|
uint32_t size2 = m->mod_end - (unsigned long)(base2);
|
||||||
|
if ( is_sinit_acmod(base2, size2, false) &&
|
||||||
|
- does_acmod_match_platform((acm_hdr_t *)base2) ) {
|
||||||
|
+ does_acmod_match_platform((acm_hdr_t *)base2, NULL) ) {
|
||||||
|
if ( base != NULL )
|
||||||
|
*base = base2;
|
||||||
|
if ( size != NULL )
|
||||||
|
diff -r 9cda8c127b0a -r 9c625ab2035b tboot/include/txt/acmod.h
|
||||||
|
--- a/tboot/include/txt/acmod.h Wed Mar 09 15:53:24 2022 +0100
|
||||||
|
+++ b/tboot/include/txt/acmod.h Thu Mar 10 10:28:11 2022 +0200
|
||||||
|
@@ -37,6 +37,8 @@
|
||||||
|
#ifndef __TXT_ACMOD_H__
|
||||||
|
#define __TXT_ACMOD_H__
|
||||||
|
|
||||||
|
+typedef void txt_heap_t;
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* authenticated code (AC) module header (ver 0.0)
|
||||||
|
*/
|
||||||
|
@@ -179,7 +181,7 @@
|
||||||
|
extern acm_hdr_t *copy_racm(const acm_hdr_t *racm);
|
||||||
|
extern bool verify_racm(const acm_hdr_t *acm_hdr);
|
||||||
|
extern bool is_sinit_acmod(const void *acmod_base, uint32_t acmod_size, bool quiet);
|
||||||
|
-extern bool does_acmod_match_platform(const acm_hdr_t* hdr);
|
||||||
|
+extern bool does_acmod_match_platform(const acm_hdr_t* hdr, const txt_heap_t* txt_heap);
|
||||||
|
extern acm_hdr_t *copy_sinit(const acm_hdr_t *sinit);
|
||||||
|
extern bool verify_acmod(const acm_hdr_t *acm_hdr);
|
||||||
|
extern uint32_t get_supported_os_sinit_data_ver(const acm_hdr_t* hdr);
|
||||||
|
diff -r 9cda8c127b0a -r 9c625ab2035b tboot/txt/acmod.c
|
||||||
|
--- a/tboot/txt/acmod.c Wed Mar 09 15:53:24 2022 +0100
|
||||||
|
+++ b/tboot/txt/acmod.c Thu Mar 10 10:28:11 2022 +0200
|
||||||
|
@@ -576,7 +576,7 @@
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
-bool does_acmod_match_platform(const acm_hdr_t* hdr)
|
||||||
|
+bool does_acmod_match_platform(const acm_hdr_t* hdr, const txt_heap_t *txt_heap)
|
||||||
|
{
|
||||||
|
/* used to ensure we don't print chipset/proc info for each module */
|
||||||
|
static bool printed_host_info;
|
||||||
|
@@ -587,7 +587,8 @@
|
||||||
|
return false;
|
||||||
|
|
||||||
|
/* verify client/server platform match */
|
||||||
|
- txt_heap_t *txt_heap = get_txt_heap();
|
||||||
|
+ if (txt_heap == NULL)
|
||||||
|
+ txt_heap = get_txt_heap();
|
||||||
|
bios_data_t *bios_data = get_bios_data_start(txt_heap);
|
||||||
|
if (info_table->version >= 5 && bios_data->version >= 6) {
|
||||||
|
uint32_t bios_type = bios_data->flags.bits.mle.platform_type;
|
||||||
|
@@ -713,7 +714,7 @@
|
||||||
|
|
||||||
|
/* is it a valid SINIT module? */
|
||||||
|
if ( !is_sinit_acmod(sinit_region_base, bios_data->bios_sinit_size, false) ||
|
||||||
|
- !does_acmod_match_platform((acm_hdr_t *)sinit_region_base) )
|
||||||
|
+ !does_acmod_match_platform((acm_hdr_t *)sinit_region_base, NULL) )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return (acm_hdr_t *)sinit_region_base;
|
||||||
|
diff -r 9cda8c127b0a -r 9c625ab2035b utils/txt-acminfo.c
|
||||||
|
--- a/utils/txt-acminfo.c Wed Mar 09 15:53:24 2022 +0100
|
||||||
|
+++ b/utils/txt-acminfo.c Thu Mar 10 10:28:11 2022 +0200
|
||||||
|
@@ -203,15 +203,31 @@
|
||||||
|
close(fd_mem);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
- else {
|
||||||
|
- if ( does_acmod_match_platform(hdr) )
|
||||||
|
- printf("ACM matches platform\n");
|
||||||
|
- else
|
||||||
|
- printf("ACM does not match platform\n");
|
||||||
|
|
||||||
|
+ uint64_t txt_heap_size = *(volatile uint64_t *)(pub_config_base + TXTCR_HEAP_SIZE);
|
||||||
|
+ if (txt_heap_size == 0) {
|
||||||
|
+ printf("ERROR: No TXT heap is available\n");
|
||||||
|
munmap(pub_config_base, TXT_CONFIG_REGS_SIZE);
|
||||||
|
+ close(fd_mem);
|
||||||
|
+ return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ uint64_t txt_heap_base = *(volatile uint64_t *)(pub_config_base + TXTCR_HEAP_BASE);
|
||||||
|
+ txt_heap_t *txt_heap = mmap(NULL, txt_heap_size, PROT_READ, MAP_PRIVATE,
|
||||||
|
+ fd_mem, txt_heap_base);
|
||||||
|
+ if ( txt_heap == MAP_FAILED ) {
|
||||||
|
+ printf("ERROR: cannot map TXT heap by mmap()\n");
|
||||||
|
+ munmap(pub_config_base, TXT_CONFIG_REGS_SIZE);
|
||||||
|
+ close(fd_mem);
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+ if ( does_acmod_match_platform(hdr, txt_heap) )
|
||||||
|
+ printf("ACM matches platform\n");
|
||||||
|
+ else
|
||||||
|
+ printf("ACM does not match platform\n");
|
||||||
|
+
|
||||||
|
+ munmap(txt_heap, txt_heap_size);
|
||||||
|
+ munmap(pub_config_base, TXT_CONFIG_REGS_SIZE);
|
||||||
|
close(fd_mem);
|
||||||
|
return true;
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
Summary: Performs a verified launch using Intel TXT
|
Summary: Performs a verified launch using Intel TXT
|
||||||
Name: tboot
|
Name: tboot
|
||||||
Version: 1.10.2
|
Version: 1.10.5
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
|
|
||||||
@ -9,10 +9,13 @@ License: BSD
|
|||||||
URL: http://sourceforge.net/projects/tboot/
|
URL: http://sourceforge.net/projects/tboot/
|
||||||
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
BuildRequires: grub2-efi-x64-modules
|
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: perl
|
BuildRequires: perl
|
||||||
ExclusiveArch: %{ix86} x86_64
|
ExclusiveArch: %{ix86} x86_64
|
||||||
|
Requires: grub2-efi-x64-modules
|
||||||
|
|
||||||
|
Patch01: 0001-fix-typo-in-lcp2_crtpollist-manpage.patch
|
||||||
|
Patch02: 0002-check-for-client-server-match.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses
|
Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses
|
||||||
@ -30,6 +33,17 @@ CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
|
|||||||
LDFLAGS="$RPM_LD_FLAGS"; export LDFLAGS
|
LDFLAGS="$RPM_LD_FLAGS"; export LDFLAGS
|
||||||
make debug=y %{?_smp_mflags}
|
make debug=y %{?_smp_mflags}
|
||||||
|
|
||||||
|
%post
|
||||||
|
efidir=$(find /boot -type d -name EFI)
|
||||||
|
if [ -n "$efidir" ]; then
|
||||||
|
echo "EFI detected .."
|
||||||
|
mkdir -pv /boot/efi/EFI/redhat/x86_64-efi
|
||||||
|
cp -vf /usr/lib/grub/x86_64-efi/relocator.mod /boot/efi/EFI/redhat/x86_64-efi/
|
||||||
|
cp -vf /usr/lib/grub/x86_64-efi/multiboot2.mod /boot/efi/EFI/redhat/x86_64-efi/
|
||||||
|
gcfg=$(find /boot -name grub.cfg -print -quit)
|
||||||
|
[ -n "$gcfg" ] && grub2-mkconfig -o "$gcfg"
|
||||||
|
fi
|
||||||
|
|
||||||
%install
|
%install
|
||||||
echo "installing tboot"
|
echo "installing tboot"
|
||||||
make debug=y DISTDIR=$RPM_BUILD_ROOT install
|
make debug=y DISTDIR=$RPM_BUILD_ROOT install
|
||||||
@ -58,6 +72,13 @@ make debug=y DISTDIR=$RPM_BUILD_ROOT install
|
|||||||
/boot/tboot-syms
|
/boot/tboot-syms
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 20 2022 Tony Camuso <tcamuso@redhat.com> - 1:1.10.5-1
|
||||||
|
Upgrade to tboot-1.10.5-1 for fixes and updates.
|
||||||
|
Added a scriptlet to the tboot.spec file to automatically install
|
||||||
|
grub2-efi-x64-modules and move them to the correct directory.
|
||||||
|
Resolves: rhbz#2040082
|
||||||
|
Resolves: rhbz#2041759
|
||||||
|
|
||||||
* Thu Jun 10 2021 Tony Camuso <tcamuso@redhat.com> - 1:1.10.1-1
|
* Thu Jun 10 2021 Tony Camuso <tcamuso@redhat.com> - 1:1.10.1-1
|
||||||
Upgrade to tboot-1.10.2-1 provides some bug fixes and updates.
|
Upgrade to tboot-1.10.2-1 provides some bug fixes and updates.
|
||||||
Remove 0001-Do-not-install-man-pages-for-deprecated-tools.patch
|
Remove 0001-Do-not-install-man-pages-for-deprecated-tools.patch
|
||||||
|
Loading…
Reference in New Issue
Block a user