On Tue, 12 Aug 2025 00:12:39 GMT, Valerie Peng <valer...@openjdk.org> wrote:

> The current `getNativeKeyInfo(...)` method impl inside SunPKCS11 provider's 
> p11_keymgmt.c queries key attributes and pack the resulting data into a blob 
> which is later passed to the `createNativeKey(...)` method to create a native 
> key handle. Some of these attributes have type CK_ULONG values and this may 
> lead to SIGBUS errors on Solaris sparc when these attrbute values aren't 
> 64-bit aligned.
> 
> In order to ensure the proper alignment, one way to fix this is to re-order 
> the attributes in the template by their value types starting with those 
> requiring alignments. Also ordered attributes with the same value types 
> alphabetically.
> 
> Thanks in advance for the review~

Thanks for working on this Valerie. The re-organizing of the attribute fields 
so that CK_ULONG atts are first makes sense and should help alleviate issues on 
architectures where reading such data on non 64-bit aligned addresses induces a 
performance hit (or SIGBUS, something I've seen on Solaris in JDK 11)

-------------

Marked as reviewed by coffeys (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/26735#pullrequestreview-3114770057

Reply via email to