You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.5 KiB
50 lines
1.5 KiB
4 years ago
|
From 6edef3777f9b9a26e63168bb81c8d4f4ddb17017 Mon Sep 17 00:00:00 2001
|
||
|
From: Jerry Snitselaar <jsnitsel@redhat.com>
|
||
|
Date: Wed, 5 Jun 2019 11:51:33 -0700
|
||
|
Subject: [PATCH 2/2] trousers: don't use __no_optimize
|
||
|
|
||
|
The trousers is failing annocheck hardened check due to
|
||
|
__no_optimize being used for __tspi_memset(). Instead of
|
||
|
__no_optimize use a asm memory barrier.
|
||
|
|
||
|
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
|
||
|
Signed-off-by: Debora Velarde Babb <debora@linux.ibm.com>
|
||
|
---
|
||
|
src/include/spi_utils.h | 2 +-
|
||
|
src/tspi/tsp_context_mem.c | 6 ++++--
|
||
|
2 files changed, 5 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/include/spi_utils.h b/src/include/spi_utils.h
|
||
|
index 11255b20a21d..6ef21ce0cc83 100644
|
||
|
--- a/src/include/spi_utils.h
|
||
|
+++ b/src/include/spi_utils.h
|
||
|
@@ -53,7 +53,7 @@ MUTEX_DECLARE_EXTERN(mem_cache_lock);
|
||
|
void *calloc_tspi(TSS_HCONTEXT, UINT32);
|
||
|
TSS_RESULT free_tspi(TSS_HCONTEXT, void *);
|
||
|
TSS_RESULT __tspi_add_mem_entry(TSS_HCONTEXT, void *);
|
||
|
-void * __no_optimize __tspi_memset(void *, int, size_t);
|
||
|
+void * __tspi_memset(void *, int, size_t);
|
||
|
|
||
|
/* secrets.c */
|
||
|
|
||
|
diff --git a/src/tspi/tsp_context_mem.c b/src/tspi/tsp_context_mem.c
|
||
|
index 2982df9fed06..2769af3662b9 100644
|
||
|
--- a/src/tspi/tsp_context_mem.c
|
||
|
+++ b/src/tspi/tsp_context_mem.c
|
||
|
@@ -258,8 +258,10 @@ free_tspi(TSS_HCONTEXT tspContext, void *memPointer)
|
||
|
}
|
||
|
|
||
|
/* definition for a memset that cannot be optimized away */
|
||
|
-void * __no_optimize
|
||
|
+void *
|
||
|
__tspi_memset(void *s, int c, size_t n)
|
||
|
{
|
||
|
- return memset(s, c, n);
|
||
|
+ memset(s, c, n);
|
||
|
+ asm volatile("" ::: "memory");
|
||
|
+ return s;
|
||
|
}
|
||
|
--
|
||
|
2.27.0
|
||
|
|