[PATCH] system certificates: specify byte alignment

Giuliano Procida posted 1 patch 2 weeks, 6 days ago
certs/system_certificates.S | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[PATCH] system certificates: specify byte alignment
Posted by Giuliano Procida 2 weeks, 6 days ago
The .align macro is architecture dependent. On arm64 it behaves as
.p2align. The various alignments in this file are all bytes.

So use the .balign macro to avoid unnecessary padding due to
over-alignment.

Signed-off-by: Giuliano Procida <gprocida@google.com>
---
 certs/system_certificates.S | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/certs/system_certificates.S b/certs/system_certificates.S
index 003e25d4a17e..ea6984b427c9 100644
--- a/certs/system_certificates.S
+++ b/certs/system_certificates.S
@@ -4,7 +4,7 @@
 
 	__INITRODATA
 
-	.align 8
+	.balign 8
 	.globl system_certificate_list
 system_certificate_list:
 __cert_list_start:
@@ -20,14 +20,14 @@ __cert_list_end:
 system_extra_cert:
 	.fill CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE, 1, 0
 
-	.align 4
+	.balign 4
 	.globl system_extra_cert_used
 system_extra_cert_used:
 	.int 0
 
 #endif /* CONFIG_SYSTEM_EXTRA_CERTIFICATE */
 
-	.align 8
+	.balign 8
 	.globl system_certificate_list_size
 system_certificate_list_size:
 #ifdef CONFIG_64BIT
@@ -36,7 +36,7 @@ system_certificate_list_size:
 	.long __cert_list_end - __cert_list_start
 #endif
 
-	.align 8
+	.balign 8
 	.globl module_cert_size
 module_cert_size:
 #ifdef CONFIG_64BIT
-- 
2.51.0.384.g4c02a37b29-goog
Re: [PATCH] system certificates: specify byte alignment
Posted by Will Deacon 1 week, 3 days ago
On Fri, Sep 12, 2025 at 11:00:15AM +0100, Giuliano Procida wrote:
> The .align macro is architecture dependent. On arm64 it behaves as
> .p2align. The various alignments in this file are all bytes.
> 
> So use the .balign macro to avoid unnecessary padding due to
> over-alignment.
> 
> Signed-off-by: Giuliano Procida <gprocida@google.com>
> ---
>  certs/system_certificates.S | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Does certs/revocation_certificates.S need fixing as well?

Will
Re: [PATCH] system certificates: specify byte alignment
Posted by Giuliano Procida 1 week, 2 days ago
On Mon, 22 Sept 2025 at 17:38, Will Deacon <will@kernel.org> wrote:
>
> On Fri, Sep 12, 2025 at 11:00:15AM +0100, Giuliano Procida wrote:
> > The .align macro is architecture dependent. On arm64 it behaves as
> > .p2align. The various alignments in this file are all bytes.
> >
> > So use the .balign macro to avoid unnecessary padding due to
> > over-alignment.
> >
> > Signed-off-by: Giuliano Procida <gprocida@google.com>
> > ---
> >  certs/system_certificates.S | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
>
> Does certs/revocation_certificates.S need fixing as well?

Yes. I will post a v2.

> Will
[PATCH v2] certs: specify byte alignment
Posted by Giuliano Procida 1 week, 2 days ago
The alignments specified in system_certificates.S and
revocation_certificates.S are intended to be byte quantities.

However, the .align macro is architecture dependent and on arm64 it
behaves as .p2align. So use the .balign macro to avoid unnecessary
padding due to over-alignment.

Signed-off-by: Giuliano Procida <gprocida@google.com>
---
 certs/revocation_certificates.S | 4 ++--
 certs/system_certificates.S     | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/certs/revocation_certificates.S b/certs/revocation_certificates.S
index f21aae8a8f0e..a53b49d49931 100644
--- a/certs/revocation_certificates.S
+++ b/certs/revocation_certificates.S
@@ -4,14 +4,14 @@
 
 	__INITRODATA
 
-	.align 8
+	.balign 8
 	.globl revocation_certificate_list
 revocation_certificate_list:
 __revocation_list_start:
 	.incbin "certs/x509_revocation_list"
 __revocation_list_end:
 
-	.align 8
+	.balign 8
 	.globl revocation_certificate_list_size
 revocation_certificate_list_size:
 #ifdef CONFIG_64BIT
diff --git a/certs/system_certificates.S b/certs/system_certificates.S
index 003e25d4a17e..ea6984b427c9 100644
--- a/certs/system_certificates.S
+++ b/certs/system_certificates.S
@@ -4,7 +4,7 @@
 
 	__INITRODATA
 
-	.align 8
+	.balign 8
 	.globl system_certificate_list
 system_certificate_list:
 __cert_list_start:
@@ -20,14 +20,14 @@ __cert_list_end:
 system_extra_cert:
 	.fill CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE, 1, 0
 
-	.align 4
+	.balign 4
 	.globl system_extra_cert_used
 system_extra_cert_used:
 	.int 0
 
 #endif /* CONFIG_SYSTEM_EXTRA_CERTIFICATE */
 
-	.align 8
+	.balign 8
 	.globl system_certificate_list_size
 system_certificate_list_size:
 #ifdef CONFIG_64BIT
@@ -36,7 +36,7 @@ system_certificate_list_size:
 	.long __cert_list_end - __cert_list_start
 #endif
 
-	.align 8
+	.balign 8
 	.globl module_cert_size
 module_cert_size:
 #ifdef CONFIG_64BIT
-- 
2.51.0.534.gc79095c0ca-goog
Re: [PATCH v2] certs: specify byte alignment
Posted by Will Deacon 1 week, 2 days ago
On Tue, Sep 23, 2025 at 09:13:42AM +0100, Giuliano Procida wrote:
> The alignments specified in system_certificates.S and
> revocation_certificates.S are intended to be byte quantities.
> 
> However, the .align macro is architecture dependent and on arm64 it
> behaves as .p2align. So use the .balign macro to avoid unnecessary
> padding due to over-alignment.
> 
> Signed-off-by: Giuliano Procida <gprocida@google.com>
> ---
>  certs/revocation_certificates.S | 4 ++--
>  certs/system_certificates.S     | 8 ++++----
>  2 files changed, 6 insertions(+), 6 deletions(-)

Acked-by: Will Deacon <will@kernel.org>

Will