Kernel sources for Moto G9 (Play) (Guamp)
Find a file
Nathan Chancellor 17eaba5ce0 UPSTREAM: crypto: arm/curve25519 - Move '.fpu' after '.arch'
Debian's clang carries a patch that makes the default FPU mode
'vfp3-d16' instead of 'neon' for 'armv7-a' to avoid generating NEON
instructions on hardware that does not support them:

5a61ca6f21/debian/patches/clang-arm-default-vfp3-on-armv7a.patch
https://bugs.debian.org/841474
https://bugs.debian.org/842142
https://bugs.debian.org/914268

This results in the following build error when clang's integrated
assembler is used because the '.arch' directive overrides the '.fpu'
directive:

arch/arm/crypto/curve25519-core.S:25:2: error: instruction requires: NEON
 vmov.i32 q0, #1
 ^
arch/arm/crypto/curve25519-core.S:26:2: error: instruction requires: NEON
 vshr.u64 q1, q0, #7
 ^
arch/arm/crypto/curve25519-core.S:27:2: error: instruction requires: NEON
 vshr.u64 q0, q0, #8
 ^
arch/arm/crypto/curve25519-core.S:28:2: error: instruction requires: NEON
 vmov.i32 d4, #19
 ^

Shuffle the order of the '.arch' and '.fpu' directives so that the code
builds regardless of the default FPU mode. This has been tested against
both clang with and without Debian's patch and GCC.

Bug: 254441685
Cc: stable@vger.kernel.org
Fixes: d8f1308a025f ("crypto: arm/curve25519 - wire up NEON implementation")
Link: https://github.com/ClangBuiltLinux/continuous-integration2/issues/118
Reported-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Jessica Clarke <jrtc27@jrtc27.com>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 44200f2d9b8b52389c70e6c7bbe51e0dc6eaf938)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I2a55fa2141daa99e4ee259acd0660f505c3415ce
2023-02-21 11:58:05 +00:00
android ANDROID: Add allowed symbols required from Qualcomm drivers 2022-12-28 05:32:12 +00:00
arch UPSTREAM: crypto: arm/curve25519 - Move '.fpu' after '.arch' 2023-02-21 11:58:05 +00:00
block This is the 4.19.272 stable release 2023-02-06 08:16:47 +01:00
certs certs/blacklist_hashes.c: fix const confusion in certs blacklist 2022-06-25 11:49:16 +02:00
crypto UPSTREAM: crypto: mips/poly1305 - enable for all MIPS processors 2023-02-21 11:58:04 +00:00
Documentation This is the 4.19.272 stable release 2023-02-06 08:16:47 +01:00
drivers UPSTREAM: libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC 2023-02-21 11:58:05 +00:00
firmware
fs This is the 4.19.272 stable release 2023-02-06 08:16:47 +01:00
include This is the 4.19.272 stable release 2023-02-06 08:16:47 +01:00
init This is the 4.19.249 stable release 2022-07-07 21:13:57 +02:00
ipc ipc/sem: Fix dangling sem_array access in semtimedop race 2022-12-08 11:18:35 +01:00
kernel BACKPORT: perf_event_open: switch to copy_struct_from_user() 2023-02-07 02:36:54 +00:00
lib This is the 4.19.270 stable release 2023-01-18 12:02:44 +00:00
LICENSES
mm This is the 4.19.272 stable release 2023-02-06 08:16:47 +01:00
net UPSTREAM: xfrm/compat: Cleanup WARN()s that can be user-triggered 2023-02-21 11:58:05 +00:00
samples This is the 4.19.270 stable release 2023-01-18 12:02:44 +00:00
scripts UPSTREAM: kbuild: do not include include/config/auto.conf from adjust_autoksyms.sh 2023-02-21 11:58:04 +00:00
security This is the 4.19.272 stable release 2023-02-06 08:16:47 +01:00
sound This is the 4.19.270 stable release 2023-01-18 12:02:44 +00:00
tools UPSTREAM: wireguard: selftests: test multiple parallel streams 2023-02-21 11:58:04 +00:00
usr
virt KVM: arm64: vgic: Fix exit condition in scan_its_table() 2022-11-03 23:52:24 +09:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
build.config.aarch64
build.config.allmodconfig
build.config.allmodconfig.aarch64
build.config.allmodconfig.arm
build.config.allmodconfig.x86_64
build.config.arm
build.config.common
build.config.gki
build.config.gki-debug.aarch64
build.config.gki-debug.x86_64
build.config.gki.aarch64
build.config.gki.x86_64
build.config.gki_kasan
build.config.gki_kasan.aarch64
build.config.gki_kasan.x86_64
build.config.gki_kprobes
build.config.gki_kprobes.aarch64
build.config.gki_kprobes.x86_64
build.config.x86_64
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS This is the 4.19.249 stable release 2022-07-07 21:13:57 +02:00
Makefile This is the 4.19.272 stable release 2023-02-06 08:16:47 +01:00
OWNERS
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.