Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4b6b9aa authored by Sami Tolvanen's avatar Sami Tolvanen
Browse files

ANDROID: arch/arm64/crypto: fix CFI in SHA CE



Add C wrappers to allow indirect calls to sha[12]_ce_transform
without tripping CFI.

Bug: 67506682
Change-Id: If872f30095994206bc768eee13670be552b2a247
Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
parent eb409e49
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -29,6 +29,14 @@ struct sha1_ce_state {

asmlinkage void sha1_ce_transform(struct sha1_ce_state *sst, u8 const *src,
				  int blocks);
#ifdef CONFIG_CFI_CLANG
static inline void __cfi_sha1_ce_transform(struct sha1_state *sst,
					   u8 const *src, int blocks)
{
	sha1_ce_transform((struct sha1_ce_state *)sst, src, blocks);
}
#define sha1_ce_transform __cfi_sha1_ce_transform
#endif

const u32 sha1_ce_offsetof_count = offsetof(struct sha1_ce_state, sst.count);
const u32 sha1_ce_offsetof_finalize = offsetof(struct sha1_ce_state, finalize);
+8 −0
Original line number Diff line number Diff line
@@ -29,6 +29,14 @@ struct sha256_ce_state {

asmlinkage void sha2_ce_transform(struct sha256_ce_state *sst, u8 const *src,
				  int blocks);
#ifdef CONFIG_CFI_CLANG
static inline void __cfi_sha2_ce_transform(struct sha256_state *sst,
					   u8 const *src, int blocks)
{
	sha2_ce_transform((struct sha256_ce_state *)sst, src, blocks);
}
#define sha2_ce_transform __cfi_sha2_ce_transform
#endif

const u32 sha256_ce_offsetof_count = offsetof(struct sha256_ce_state,
					      sst.count);