crypto: x86/sm4 - Fix invalid section entry size
authorTianjia Zhang <tianjia.zhang@linux.alibaba.com>
Fri, 15 Oct 2021 03:47:33 +0000 (11:47 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 22 Oct 2021 12:23:01 +0000 (20:23 +0800)
This fixes the following warning:

  vmlinux.o: warning: objtool: elf_update: invalid section entry size

The size of the rodata section is 164 bytes, directly using the
entry_size of 164 bytes will cause errors in some versions of the
gcc compiler, while using 16 bytes directly will cause errors in
the clang compiler. This patch correct it by filling the size of
rodata to a 16-byte boundary.

Fixes: a7ee22ee1445 ("crypto: x86/sm4 - add AES-NI/AVX/x86_64 implementation")
Fixes: 5b2efa2bb865 ("crypto: x86/sm4 - add AES-NI/AVX2/x86_64 implementation")
Reported-by: Peter Zijlstra <peterz@infradead.org>
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Tested-by: Heyuan Shi <heyuan@linux.alibaba.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/sm4-aesni-avx-asm_64.S
arch/x86/crypto/sm4-aesni-avx2-asm_64.S

index 18d2f51..1cc72b4 100644 (file)
@@ -78,7 +78,7 @@
        vpxor tmp0, x, x;
 
 
-.section       .rodata.cst164, "aM", @progbits, 164
+.section       .rodata.cst16, "aM", @progbits, 16
 .align 16
 
 /*
 .L0f0f0f0f:
        .long 0x0f0f0f0f
 
+/* 12 bytes, only for padding */
+.Lpadding_deadbeef:
+       .long 0xdeadbeef, 0xdeadbeef, 0xdeadbeef
+
 
 .text
 .align 16
index d2ffd7f..9c5d3f3 100644 (file)
@@ -93,7 +93,7 @@
        vpxor tmp0, x, x;
 
 
-.section       .rodata.cst164, "aM", @progbits, 164
+.section       .rodata.cst16, "aM", @progbits, 16
 .align 16
 
 /*
 .L0f0f0f0f:
        .long 0x0f0f0f0f
 
+/* 12 bytes, only for padding */
+.Lpadding_deadbeef:
+       .long 0xdeadbeef, 0xdeadbeef, 0xdeadbeef
+
 .text
 .align 16