summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--host/lib/crossystem.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/host/lib/crossystem.c b/host/lib/crossystem.c
index a2c2104a..02443b15 100644
--- a/host/lib/crossystem.c
+++ b/host/lib/crossystem.c
@@ -13,6 +13,7 @@
#include "2common.h"
#include "2nvstorage.h"
#include "2sysincludes.h"
+#include "chromeos_config.h"
#include "crossystem_arch.h"
#include "crossystem.h"
#include "crossystem_vbnv.h"
@@ -490,7 +491,19 @@ int VbGetSystemPropertyInt(const char *name)
const char *VbGetSystemPropertyString(const char *name, char *dest,
size_t size)
{
- /* Check architecture-dependent properties first */
+ /* Check for HWID override via cros_config */
+ if (!strcasecmp(name, "hwid")) {
+ char *hwid_override;
+
+ if (chromeos_config_get_string("/", "hwid-override",
+ &hwid_override) == VB2_SUCCESS) {
+ StrCopy(dest, hwid_override, size);
+ free(hwid_override);
+ return dest;
+ }
+ }
+
+ /* Check architecture-dependent properties */
if (VbGetArchPropertyString(name, dest, size))
return dest;