Transfer List Checksum Correction and Impact on Bloblist
Harrison Mutai
harrison.mutai at arm.com
Tue Sep 30 12:53:22 CEST 2025
On 29/09/2025 19:11, Tom Rini wrote:
> On Fri, Sep 26, 2025 at 05:09:53PM +0100, Harrison Mutai wrote:
>> Hi all,
>>
>> We recently applied changes to the transfer list library [1] to correct the
>> checksum calculation. Previously, we used a simple byte-sum approach.
>> However, we later realized this contradicts the Firmware Handoff
>> specification, which states:
>>
>>> The checksum is set to a value such that the XOR over every byte in the
>>> {tl_base_pa, …, tl_base_pa + used_size - 1} address range is equal to 0.
>>
>> This discrepancy creates problems when interoperating with Bloblist.
>> Should Bloblist’s checksum calculation be updated to follow the same
>> XOR-based method?
>>
>> [1]
>> https://review.trustedfirmware.org/c/shared/transfer-list-library/+/42548
>
> Erm, since this has been out in the wild so to speak, we can't just
> change the algorithm without bumping some cardinal. Or are there yet
> other implementations that were doing what the spec said?
>
Raymond; Thanks for setting up the handoff tests. The next release for
TF-A is planned for mid-November [1].
We’ve run into an issue where TF-A requires specific tags from the
transfer list library, but we can’t consume them due to the recent
checksum changes.
Tom; As it stands, ours is the only implementation currently using the
updated checksum algorithm. There are two other consumers - OP-TEE and
EDK2. OP-TEE already has a patch in upstream review to move to the new
algorithm [2].
I’ve also reached out to the author of the EDK2 implementation to make
them aware of the change.
[1]
https://trustedfirmware-a.readthedocs.io/en/latest/about/release-information.html
[2] https://github.com/OP-TEE/optee_os/pull/7531
More information about the U-Boot
mailing list