Re: [PATCH] mmc: part_switch: fixes switch on gp3 partition

From: Linus Walleij
Date: Wed Mar 06 2024 - 08:19:12 EST


On Wed, Mar 6, 2024 at 10:05 AM Jorge Ramirez-Ortiz, Foundries
<jorge@xxxxxxxxxxxx> 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