mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
To: Peter Zijlstra <peterz@infradead.org>,
	herbert@gondor.apana.org.au, linux-kernel@vger.kernel.org,
	Josh Poimboeuf <jpoimboe@redhat.com>
Cc: x86@kernel.org
Subject: Re: [RFC] crypto/sm4: Fix objtool/libelf warning
Date: Thu, 14 Oct 2021 18:29:55 +0800	[thread overview]
Message-ID: <8e35ba6d-f876-4726-a8e7-a0d80b0186f2@linux.alibaba.com> (raw)
In-Reply-To: <20211007202204.GT174703@worktop.programming.kicks-ass.net>

Hi Peter,

On 10/8/21 4:22 AM, Peter Zijlstra wrote:
> Hi,
> 
> objtool is yielding the obscure libelf warning:
> 
>    vmlinux.o: warning: objtool: elf_update: invalid section entry size
> 
> Which I tracked down to section:
> 
>    [3023] .rodata.cst164    PROGBITS        0000000000000000 1ab501e0 000154 a4  AM  0   0 16
> 
> Which has a section size of 0x154 (340) and an entry size of 0xa4 (164).
> An obvious mis-match.
> 
>  From there, git-grep quickly yields:
> 
>    arch/x86/crypto/sm4-aesni-avx-asm_64.S:.section .rodata.cst164, "aM", @progbits, 164
>    arch/x86/crypto/sm4-aesni-avx2-asm_64.S:.section        .rodata.cst164, "aM", @progbits, 164
> 
> So those files create this .rodata section with an explicit entry size,
> but then don't respect it themselves. Removing the entry size makes the
> warning go away, but I can't tell if that's right or not, given there is
> zero clue as to why that entry size was specified to begin with.
> 
> Please explain...
> 
> ---
> diff --git a/arch/x86/crypto/sm4-aesni-avx-asm_64.S b/arch/x86/crypto/sm4-aesni-avx-asm_64.S
> index 18d2f5199194..d089cccf4db7 100644
> --- a/arch/x86/crypto/sm4-aesni-avx-asm_64.S
> +++ b/arch/x86/crypto/sm4-aesni-avx-asm_64.S
> @@ -78,7 +78,7 @@
>   	vpxor tmp0, x, x;
>   
>   
> -.section	.rodata.cst164, "aM", @progbits, 164
> +.section	.rodata.cst164, "aM", @progbits
>   .align 16
>   
>   /*
> diff --git a/arch/x86/crypto/sm4-aesni-avx2-asm_64.S b/arch/x86/crypto/sm4-aesni-avx2-asm_64.S
> index d2ffd7f76ee2..a0f7541c2246 100644
> --- a/arch/x86/crypto/sm4-aesni-avx2-asm_64.S
> +++ b/arch/x86/crypto/sm4-aesni-avx2-asm_64.S
> @@ -93,7 +93,7 @@
>   	vpxor tmp0, x, x;
>   
>   
> -.section	.rodata.cst164, "aM", @progbits, 164
> +.section	.rodata.cst164, "aM", @progbits
>   .align 16
>   
>   /*
> 

Thanks for pointing it out, We have also reproduced this error. If the M 
flag is specified, the entry_size argument is required. We also need to 
consider the clang compiler. This requires a more thorough method to fix 
it. I will post another patch later.

Best regards,
Tianjia

  reply	other threads:[~2021-10-14 10:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-07 20:22 Peter Zijlstra
2021-10-14 10:29 ` Tianjia Zhang [this message]
2021-10-14 14:56   ` Peter Zijlstra
2021-10-15  3:12     ` Tianjia Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8e35ba6d-f876-4726-a8e7-a0d80b0186f2@linux.alibaba.com \
    --to=tianjia.zhang@linux.alibaba.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®