On Wed, Mar 6, 2024 at 10:05 AM Jorge Ramirez-Ortiz, Foundries jorge@foundries.io wrote:
That looked strange as there should be support for 4 GP but this code kind of convinced me of the opposite.
if (idata->rpmb) { /* Support multiple RPMB partitions */ target_part = idata->rpmb->part_index; target_part |= EXT_CSD_PART_CONFIG_ACC_RPMB; }
So if we apply the fix that you propose, how are multiple RPMB partitions (ie, 4) going to be identified as RPMB? Unless there can't be more than 3?
As far as I can tell there can only be one RPMB partition per device.
The v5.1A spec says (section 6.2.1):
"Two Boot Area Partitions, (...)" "One RPMB Partition accessed through a trusted mechanism, (...)" "Four General Purpose Area Partitions (...)"
implying there can be only one RPMB.
Also I have never seen more than one in practice.
I paged in Jens Wiklander and Tomas Winkler who used it much more than I have, to confirm.
I think my linked list of RPMB partitions is a case of overdesign and could be simplified. I blame the fact that I didn't have the (non-public) spec at the time.
Yours, Linus Walleij