linux/arch/powerpc/crypto
Christophe Leroy 7e754aa0da crypto: powerpc: Mark ghashp8-ppc.o as an OBJECT_FILES_NON_STANDARD
[ Upstream commit 1e4d73d06c ]

The following build warning has been reported:

  arch/powerpc/crypto/ghashp8-ppc.o: warning: objtool: .text+0x22c: unannotated intra-function call

This happens due to commit bb7f054f4d ("objtool/powerpc: Add support
for decoding all types of uncond branches")

Disassembly of arch/powerpc/crypto/ghashp8-ppc.o shows:

 arch/powerpc/crypto/ghashp8-ppc.o:     file format elf64-powerpcle

 Disassembly of section .text:

 0000000000000140 <gcm_ghash_p8>:
   140:    f8 ff 00 3c     lis     r0,-8
 ...
   20c:    20 00 80 4e     blr
   210:    00 00 00 00     .long 0x0
   214:    00 0c 14 00     .long 0x140c00
   218:    00 00 04 00     .long 0x40000
   21c:    00 00 00 00     .long 0x0
   220:    47 48 41 53     rlwimi. r1,r26,9,1,3
   224:    48 20 66 6f     xoris   r6,r27,8264
   228:    72 20 50 6f     xoris   r16,r26,8306
   22c:    77 65 72 49     bla     1726574 <gcm_ghash_p8+0x1726434>      <==
 ...

It corresponds to the following code in ghashp8-ppc.o :

 _GLOBAL(gcm_ghash_p8)
    lis    0,0xfff8
 ...
    blr
 .long    0
 .byte    0,12,0x14,0,0,0,4,0
 .long    0
 .size    gcm_ghash_p8,.-gcm_ghash_p8

 .byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
 .align    2
 .align    2

In fact this is raw data that is after the function end and that is
not text so shouldn't be disassembled as text. But ghashp8-ppc.S is
generated by a perl script and should have been marked as
OBJECT_FILES_NON_STANDARD.

Now that 'bla' is understood as a call instruction, that raw data
is mis-interpreted as an infra-function call.

Mark ghashp8-ppc.o as a OBJECT_FILES_NON_STANDARD to avoid this
warning.

Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Closes: https://lore.kernel.org/all/8c4c3fc2-2bd7-4148-af68-2f504d6119e0@linux.ibm.com
Fixes: 109303336a ("crypto: vmx - Move to arch/powerpc/crypto")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Tested-By: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Reviewed-by: Sathvika Vasireddy <sv@linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/7aa7eb73fe6bc95ac210510e22394ca0ae227b69.1741128786.git.christophe.leroy@csgroup.eu
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-04-10 14:39:16 +02:00
..
.gitignore powerpc/crypto: Add generated P8 asm to .gitignore 2024-06-04 17:45:46 +10:00
aes-gcm-p10-glue.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
aes-gcm-p10.S crypto: p10-aes-gcm - An accelerated AES/GCM stitched implementation 2023-03-14 17:06:43 +08:00
aes-spe-core.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-spe-glue.c cyrpto: powerpc/aes - delete the rebundant word "block" in comments 2022-07-22 16:22:04 +08:00
aes-spe-keys.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-spe-modes.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-spe-regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-tab-4k.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes.c crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aes_cbc.c crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aes_ctr.c crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aes_xts.c crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aesp8-ppc.h crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aesp8-ppc.pl crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aesp10-ppc.pl powerpc/crypto: Fix aes-gcm-p10 link errors 2023-05-30 15:50:32 +10:00
chacha-p10-glue.c powerpc/crypto/chacha-p10: Fix failure on non Power10 2024-04-05 00:02:18 +11:00
chacha-p10le-8x.S crypto: chacha20-p10 - An optimized Chacha20 implementation with 8-way unrolling for ppc64le 2023-07-14 18:21:30 +10:00
crc-vpmsum_test.c treewide: use get_random_u32_below() instead of deprecated function 2022-11-18 02:15:15 +01:00
crc32-vpmsum_core.S crypto: powerpc - Use address generation helper for asm 2023-02-10 22:17:36 +11:00
crc32c-vpmsum_asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
crc32c-vpmsum_glue.c crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
crct10dif-vpmsum_asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 136 2019-05-30 11:25:15 -07:00
crct10dif-vpmsum_glue.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
curve25519-ppc64le-core.c crypto: ppc/curve25519 - add missing MODULE_DESCRIPTION() macro 2024-08-02 21:11:20 +08:00
curve25519-ppc64le_asm.S crypto: ppc/curve25519 - Low-level primitives for ppc64le 2024-05-31 17:34:56 +08:00
ghash.c crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
ghashp8-ppc.pl crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
ghashp10-ppc.pl powerpc/crypto: Fix aes-gcm-p10 link errors 2023-05-30 15:50:32 +10:00
Kconfig crypto: powerpc/p10-aes-gcm - Disable CRYPTO_AES_GCM_P10 2024-09-21 17:14:59 +08:00
Makefile crypto: powerpc: Mark ghashp8-ppc.o as an OBJECT_FILES_NON_STANDARD 2025-04-10 14:39:16 +02:00
md5-asm.S powerpc: flexible GPR range save/restore macros 2021-11-29 23:15:20 +11:00
md5-glue.c crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h 2020-05-08 15:32:17 +10:00
poly1305-p10-glue.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
poly1305-p10le_64.S crypto: poly1305-p10 - An optimized Poly1305 implementation with 4-way unrolling for ppc64le 2023-07-14 18:21:31 +10:00
ppc-xlate.pl crypto: p10-aes-gcm - A perl script to process PowerPC assembler source. 2023-03-14 17:06:43 +08:00
sha1-powerpc-asm.S powerpc: flexible GPR range save/restore macros 2021-11-29 23:15:20 +11:00
sha1-spe-asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sha1-spe-glue.c crypto: powerpc/sha - remove duplicate hash init function 2021-12-31 18:10:55 +11:00
sha1.c crypto: powerpc/sha - remove duplicate hash init function 2021-12-31 18:10:55 +11:00
sha256-spe-asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sha256-spe-glue.c crypto: powerpc/sha - remove duplicate hash init function 2021-12-31 18:10:55 +11:00
vmx.c crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00