forked from pool/tboot
Matthias Gerstner
d464f59886
address above tboot (bsc#1207833). This fixes a broken boot situation in some configurations stopping with log line "TBOOT: loader context was moved from 0x<address> to 0x<address>". this patch syncs the Factory package with the SLE package. For some reason I forgot to add the patch to Factory first. Also upstream did not react to the patch, that I posted to their mailing list, so it's not contained in the upstream tarball. OBS-URL: https://build.opensuse.org/package/show/security/tboot?expand=0&rev=118
25 lines
753 B
Diff
25 lines
753 B
Diff
--- tboot-1.10.2/tboot/common/loader.c.orig 2023-05-31 01:49:45.935321582 -0500
|
|
+++ tboot-1.10.2/tboot/common/loader.c 2023-05-31 01:57:27.914405762 -0500
|
|
@@ -1099,11 +1099,17 @@ move_modules(loader_ctx *lctx)
|
|
|
|
if ( below_tboot(lowest) )
|
|
from = lowest;
|
|
- else
|
|
- if ( below_tboot((unsigned long)lctx->addr) )
|
|
+
|
|
+ /*
|
|
+ * if MBI is below tboot & the lowest module, make sure it gets
|
|
+ * copied, too!
|
|
+ */
|
|
+ if ( below_tboot((unsigned long)lctx->addr) &&
|
|
+ (unsigned long)lctx->addr < lowest )
|
|
from = (unsigned long)lctx->addr;
|
|
- else
|
|
- return;
|
|
+
|
|
+ if (from == 0)
|
|
+ return;
|
|
|
|
unsigned long highest = get_highest_mod_end(lctx);
|
|
unsigned long to = PAGE_UP(highest);
|