Re: [PATCH v4 02/24] powerpc/pseries: Fix alignment of PLPKS structures and buffers

From: Segher Boessenkool
Date: Thu Jan 26 2023 - 12:23:51 EST


On Thu, Jan 26, 2023 at 12:09:53AM +1100, Michael Ellerman wrote:
> Andrew Donnellan <ajd@xxxxxxxxxxxxx> writes:
> > A number of structures and buffers passed to PKS hcalls have alignment
> > requirements, which could on occasion cause problems:
> >
> > - Authorisation structures must be 16-byte aligned and must not cross a
> > page boundary
> >
> > - Label structures must not cross page boundaries
> >
> > - Password output buffers must not cross page boundaries
> >
> > Round up the allocations of these structures/buffers to the next power of
> > 2 to make sure this happens.
>
> It's not the *next* power of 2, it's the *nearest* power of 2, including
> the initial value if it's already a power of 2.

It's not the nearest either, the nearest power of two to 65 is 64. You
could say "but, round up" to which I would say "round?" :-P

"Adjust the allocation size to be the smallest power of two greater than
or equal to the given size."

"Pad to a power of two" in shorthand. "Padded to a power of two if
necessary" if you want to emphasise it can be a no-op.


Segher