[U-Boot] [PATCH v2 06/18] autoboot: Drop #ifdef for CONFIG_AUTOBOOT_ENCRYPTION

Simon Glass sjg at chromium.org
Sun Jul 21 02:51:16 UTC 2019


Use if() instead for this option, renaming the two different
passwd_abort() functions to indicate their purpose.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v2: None

 common/autoboot.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/common/autoboot.c b/common/autoboot.c
index e3086e3828..5a0dac8d79 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -10,6 +10,7 @@
 #include <cli.h>
 #include <console.h>
 #include <fdtdec.h>
+#include <hash.h>
 #include <menu.h>
 #include <post.h>
 #include <u-boot/sha256.h>
@@ -35,7 +36,6 @@ static int stored_bootdelay;
 #endif
 
 #if defined(CONFIG_AUTOBOOT_KEYED)
-#if defined(CONFIG_AUTOBOOT_STOP_STR_SHA256)
 
 /*
  * Use a "constant-length" time compare function for this
@@ -54,7 +54,7 @@ static int slow_equals(u8 *a, u8 *b, int len)
 	return diff == 0;
 }
 
-static int passwd_abort(uint64_t etime)
+static int passwd_abort_sha256(uint64_t etime)
 {
 	const char *sha_env_str = env_get("bootstopkeysha256");
 	u8 sha_env[SHA256_SUM_LEN];
@@ -105,8 +105,8 @@ static int passwd_abort(uint64_t etime)
 
 	return abort;
 }
-#else
-static int passwd_abort(uint64_t etime)
+
+static int passwd_abort_key(uint64_t etime)
 {
 	int abort = 0;
 	struct {
@@ -182,7 +182,6 @@ static int passwd_abort(uint64_t etime)
 
 	return abort;
 }
-#endif
 
 /***************************************************************************
  * Watch for 'delay' seconds for autoboot stop or autoboot delay string.
@@ -201,7 +200,10 @@ static int __abortboot(int bootdelay)
 	printf(CONFIG_AUTOBOOT_PROMPT, bootdelay);
 #  endif
 
-	abort = passwd_abort(etime);
+	if (IS_ENABLED(CONFIG_AUTOBOOT_ENCRYPTION))
+		abort = passwd_abort_sha256(etime);
+	else
+		abort = passwd_abort_key(etime);
 	if (!abort)
 		debug_bootkeys("key timeout\n");
 
-- 
2.22.0.657.g960e92d24f-goog



More information about the U-Boot mailing list