[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5118edd7f1f445afa1812d2b9b62dd4f@AcuMS.aculab.com>
Date: Thu, 26 Jan 2023 17:31:09 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Segher Boessenkool' <segher@...nel.crashing.org>,
Michael Ellerman <mpe@...erman.id.au>
CC: "gjoyce@...ux.ibm.com" <gjoyce@...ux.ibm.com>,
Andrew Donnellan <ajd@...ux.ibm.com>,
"erichte@...ux.ibm.com" <erichte@...ux.ibm.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"nayna@...ux.ibm.com" <nayna@...ux.ibm.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"zohar@...ux.ibm.com" <zohar@...ux.ibm.com>,
"sudhakar@...ux.ibm.com" <sudhakar@...ux.ibm.com>,
"ruscur@...sell.cc" <ruscur@...sell.cc>,
"joel@....id.au" <joel@....id.au>,
"bgray@...ux.ibm.com" <bgray@...ux.ibm.com>,
"linux-integrity@...r.kernel.org" <linux-integrity@...r.kernel.org>,
"gcwilson@...ux.ibm.com" <gcwilson@...ux.ibm.com>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>
Subject: RE: [PATCH v4 02/24] powerpc/pseries: Fix alignment of PLPKS
structures and buffers
From: Segher Boessenkool
> Sent: 26 January 2023 17:19
>
> On Thu, Jan 26, 2023 at 12:09:53AM +1100, Michael Ellerman wrote:
> > Andrew Donnellan <ajd@...ux.ibm.com> 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.
Changing the size to kzalloc() doesn't help.
The alignment depends on the allocator and is only required to have
a relatively small alignment (ARCH_MINALIGN?) regardless of the size.
IIRC one of the allocators adds a small header to every item.
It won't return 16 byte aligned items at all.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists