ukify: do not fail if pefile complains about hardcoded 256MB limit
pefile has an hardcoded limit to 256MB per section: https://github.com/erocarrera/pefile/issues/396 When building an initrd with large firmware files and lots of kernel modules, this limit can be reached. Skip over those warnings.
This commit is contained in:
committed by
Luca Boccassi
parent
9876e88e23
commit
32caed550f
+7
-1
@@ -953,8 +953,14 @@ def pe_add_sections(opts: UkifyConfig, uki: UKI, output: str) -> None:
|
||||
)
|
||||
pe = pefile.PE(data=pe.write(), fast_load=True)
|
||||
|
||||
# pefile has an hardcoded limit of 256MB, which is not enough when building an initrd with large firmware
|
||||
# files and all kernel modules. See: https://github.com/erocarrera/pefile/issues/396
|
||||
warnings = pe.get_warnings()
|
||||
if warnings:
|
||||
for w in warnings:
|
||||
if 'VirtualSize is extremely large' in w:
|
||||
continue
|
||||
if 'VirtualAddress is beyond' in w:
|
||||
continue
|
||||
raise PEError(f'pefile warnings treated as errors: {warnings}')
|
||||
|
||||
# When attaching signatures we are operating on an existing UKI which might be signed
|
||||
|
||||
Reference in New Issue
Block a user