kirkstone migration: update libubootenv package

Refresh patches so they apply on top of new version 0.3.2

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
Javier Viguera 2022-05-25 14:23:05 +02:00
parent 1f6ece730d
commit 9a596836c9
3 changed files with 23 additions and 35 deletions

View File

@ -1,7 +1,6 @@
From 58977c4d6709f6ce4dc444e844b3665b031c556f Mon Sep 17 00:00:00 2001
From: Gabriel Valcazar <gabriel.valcazar@digi.com> From: Gabriel Valcazar <gabriel.valcazar@digi.com>
Date: Wed, 7 Apr 2021 09:15:07 +0200 Date: Wed, 7 Apr 2021 09:15:07 +0200
Subject: [PATCH 1/3] Implement support for environment encryption by CAAM Subject: [PATCH] Implement support for environment encryption by CAAM
Use the md5sum of HWID words (on the device tree) as key modifier. This is Use the md5sum of HWID words (on the device tree) as key modifier. This is
based on the u-boot-fw-utils implementation of the CAAM encryption support. based on the u-boot-fw-utils implementation of the CAAM encryption support.
@ -29,7 +28,7 @@ Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
create mode 100644 src/md5.h create mode 100644 src/md5.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a04dd11..659594a 100644 index 4b71bc588827..d7e38a12feed 100644
--- a/src/CMakeLists.txt --- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt +++ b/src/CMakeLists.txt
@@ -1,6 +1,8 @@ @@ -1,6 +1,8 @@
@ -43,7 +42,7 @@ index a04dd11..659594a 100644
) )
diff --git a/src/caam_keyblob.h b/src/caam_keyblob.h diff --git a/src/caam_keyblob.h b/src/caam_keyblob.h
new file mode 100644 new file mode 100644
index 0000000..e313e87 index 000000000000..e313e87a3854
--- /dev/null --- /dev/null
+++ b/src/caam_keyblob.h +++ b/src/caam_keyblob.h
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
@ -91,7 +90,7 @@ index 0000000..e313e87
+#endif /* CAAM_KEYBLOB_H */ +#endif /* CAAM_KEYBLOB_H */
diff --git a/src/md5.c b/src/md5.c diff --git a/src/md5.c b/src/md5.c
new file mode 100644 new file mode 100644
index 0000000..47ae8bf index 000000000000..47ae8bf34a4d
--- /dev/null --- /dev/null
+++ b/src/md5.c +++ b/src/md5.c
@@ -0,0 +1,275 @@ @@ -0,0 +1,275 @@
@ -372,7 +371,7 @@ index 0000000..47ae8bf
+} +}
diff --git a/src/md5.h b/src/md5.h diff --git a/src/md5.h b/src/md5.h
new file mode 100644 new file mode 100644
index 0000000..02a9a9d index 000000000000..02a9a9d23e34
--- /dev/null --- /dev/null
+++ b/src/md5.h +++ b/src/md5.h
@@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
@ -401,7 +400,7 @@ index 0000000..02a9a9d
+ +
+#endif /* _MD5_H */ +#endif /* _MD5_H */
diff --git a/src/uboot_env.c b/src/uboot_env.c diff --git a/src/uboot_env.c b/src/uboot_env.c
index c9a900f..53b3576 100644 index 30c39ebf6fa9..2fd08f5a07db 100644
--- a/src/uboot_env.c --- a/src/uboot_env.c
+++ b/src/uboot_env.c +++ b/src/uboot_env.c
@@ -33,11 +33,21 @@ @@ -33,11 +33,21 @@
@ -426,7 +425,7 @@ index c9a900f..53b3576 100644
#define UBI_MAX_VOLUME 128 #define UBI_MAX_VOLUME 128
#define DEVICE_MTD_NAME "/dev/mtd" #define DEVICE_MTD_NAME "/dev/mtd"
@@ -840,6 +850,105 @@ static int set_obsolete_flag(struct uboot_flash_env *dev) @@ -844,6 +854,105 @@ static int set_obsolete_flag(struct uboot_flash_env *dev)
return ret; return ret;
} }
@ -532,7 +531,7 @@ index c9a900f..53b3576 100644
int libuboot_env_store(struct uboot_ctx *ctx) int libuboot_env_store(struct uboot_ctx *ctx)
{ {
struct var_entry *entry; struct var_entry *entry;
@@ -914,6 +1023,15 @@ int libuboot_env_store(struct uboot_ctx *ctx) @@ -919,6 +1028,15 @@ int libuboot_env_store(struct uboot_ctx *ctx)
((struct uboot_env_redund *)image)->flags = flags; ((struct uboot_env_redund *)image)->flags = flags;
} }
@ -548,10 +547,10 @@ index c9a900f..53b3576 100644
*(uint32_t *)image = crc32(0, (uint8_t *)data, ctx->size - offsetdata); *(uint32_t *)image = crc32(0, (uint8_t *)data, ctx->size - offsetdata);
copy = ctx->redundant ? (ctx->current ? 0 : 1) : 0; copy = ctx->redundant ? (ctx->current ? 0 : 1) : 0;
@@ -978,6 +1096,13 @@ static int libuboot_load(struct uboot_ctx *ctx) @@ -984,6 +1102,13 @@ static int libuboot_load(struct uboot_ctx *ctx)
} }
crc = *(uint32_t *)(buf[i] + offsetcrc); crc = *(uint32_t *)(buf[i] + offsetcrc);
dev->crc = crc32(0, (uint8_t *)data, ctx->size - offsetdata); dev->crc = crc32(0, (uint8_t *)data, usable_envsize);
+ if (ctx->encrypted) { + if (ctx->encrypted) {
+ ret = env_caam_crypt((char *)data, ctx->usable_size, 0); + ret = env_caam_crypt((char *)data, ctx->usable_size, 0);
+ if (ret) { + if (ret) {
@ -562,7 +561,7 @@ index c9a900f..53b3576 100644
crcenv[i] = dev->crc == crc; crcenv[i] = dev->crc == crc;
if (ctx->redundant) if (ctx->redundant)
dev->flags = *(uint8_t *)(buf[i] + offsetflags); dev->flags = *(uint8_t *)(buf[i] + offsetflags);
@@ -1258,6 +1383,11 @@ int libuboot_read_config(struct uboot_ctx *ctx, const char *config) @@ -1264,6 +1389,11 @@ int libuboot_read_config(struct uboot_ctx *ctx, const char *config)
break; break;
} }
} }
@ -574,7 +573,7 @@ index c9a900f..53b3576 100644
if (ndev == 0) if (ndev == 0)
retval = -EINVAL; retval = -EINVAL;
@@ -1446,6 +1576,7 @@ int libuboot_initialize(struct uboot_ctx **out, @@ -1461,6 +1591,7 @@ int libuboot_initialize(struct uboot_ctx **out,
return -ENOMEM; return -ENOMEM;
ctx->valid = false; ctx->valid = false;
@ -583,7 +582,7 @@ index c9a900f..53b3576 100644
if (ret < 0) { if (ret < 0) {
diff --git a/src/uboot_private.h b/src/uboot_private.h diff --git a/src/uboot_private.h b/src/uboot_private.h
index 4b7a9f9..22c8c14 100644 index 4b7a9f9602a6..22c8c14ce8cc 100644
--- a/src/uboot_private.h --- a/src/uboot_private.h
+++ b/src/uboot_private.h +++ b/src/uboot_private.h
@@ -111,10 +111,14 @@ LIST_HEAD(vars, var_entry); @@ -111,10 +111,14 @@ LIST_HEAD(vars, var_entry);
@ -601,6 +600,3 @@ index 4b7a9f9..22c8c14 100644
/** devices where environment is stored */ /** devices where environment is stored */
struct uboot_flash_env envdevs[2]; struct uboot_flash_env envdevs[2];
/** Set which device contains the current(last valid) environment */ /** Set which device contains the current(last valid) environment */
--
2.17.1

View File

@ -1,7 +1,6 @@
From 00d0ef9a96cf5480146c800c64557f7c88ac9db4 Mon Sep 17 00:00:00 2001
From: Gabriel Valcazar <gabriel.valcazar@digi.com> From: Gabriel Valcazar <gabriel.valcazar@digi.com>
Date: Wed, 7 Apr 2021 11:35:15 +0200 Date: Wed, 7 Apr 2021 11:35:15 +0200
Subject: [PATCH 2/3] Implement U-Boot environment access functions Subject: [PATCH] Implement U-Boot environment access functions
Keep the same function signatures as u-boot-fw-utils, so that all code making Keep the same function signatures as u-boot-fw-utils, so that all code making
use of this functionality remains compatible. Use the libubootenv use of this functionality remains compatible. Use the libubootenv
@ -19,7 +18,7 @@ Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2 files changed, 119 insertions(+) 2 files changed, 119 insertions(+)
diff --git a/src/libuboot.h b/src/libuboot.h diff --git a/src/libuboot.h b/src/libuboot.h
index bfcaeb1..b15969f 100644 index bfcaeb1d609f..b15969f89174 100644
--- a/src/libuboot.h --- a/src/libuboot.h
+++ b/src/libuboot.h +++ b/src/libuboot.h
@@ -159,6 +159,29 @@ const char *libuboot_getname(void *entry); @@ -159,6 +159,29 @@ const char *libuboot_getname(void *entry);
@ -53,10 +52,10 @@ index bfcaeb1..b15969f 100644
} }
#endif #endif
diff --git a/src/uboot_env.c b/src/uboot_env.c diff --git a/src/uboot_env.c b/src/uboot_env.c
index 53b3576..bcc4af9 100644 index 2fd08f5a07db..87f831b0cdc7 100644
--- a/src/uboot_env.c --- a/src/uboot_env.c
+++ b/src/uboot_env.c +++ b/src/uboot_env.c
@@ -1617,3 +1617,99 @@ void libuboot_close(struct uboot_ctx *ctx) { @@ -1632,3 +1632,99 @@ void libuboot_close(struct uboot_ctx *ctx) {
void libuboot_exit(struct uboot_ctx *ctx) { void libuboot_exit(struct uboot_ctx *ctx) {
free(ctx); free(ctx);
} }
@ -156,6 +155,3 @@ index 53b3576..bcc4af9 100644
+ +
+ return ret ? -1 : 0; + return ret ? -1 : 0;
+} +}
--
2.17.1

View File

@ -1,7 +1,6 @@
From cd5e40f6dbef29a04cdfabec47fd3674d764f74e Mon Sep 17 00:00:00 2001
From: Gabriel Valcazar <gabriel.valcazar@digi.com> From: Gabriel Valcazar <gabriel.valcazar@digi.com>
Date: Wed, 7 Apr 2021 13:47:37 +0200 Date: Wed, 7 Apr 2021 13:47:37 +0200
Subject: [PATCH 3/3] tools: env: add support to set dynamic location of Subject: [PATCH] tools: env: add support to set dynamic location of
environment copies environment copies
A mechanism was added in U-Boot to set the location of environment copies A mechanism was added in U-Boot to set the location of environment copies
@ -28,7 +27,7 @@ Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2 files changed, 90 insertions(+), 2 deletions(-) 2 files changed, 90 insertions(+), 2 deletions(-)
diff --git a/src/uboot_env.c b/src/uboot_env.c diff --git a/src/uboot_env.c b/src/uboot_env.c
index bcc4af9..71fef10 100644 index 87f831b0cdc7..539e22f9a8ac 100644
--- a/src/uboot_env.c --- a/src/uboot_env.c
+++ b/src/uboot_env.c +++ b/src/uboot_env.c
@@ -431,6 +431,73 @@ static int check_env_device(struct uboot_ctx *ctx, struct uboot_flash_env *dev) @@ -431,6 +431,73 @@ static int check_env_device(struct uboot_ctx *ctx, struct uboot_flash_env *dev)
@ -118,7 +117,7 @@ index bcc4af9..71fef10 100644
return true; return true;
} }
@@ -485,7 +558,7 @@ static int fileread(struct uboot_flash_env *dev, void *data) @@ -488,7 +561,7 @@ static int fileread(struct uboot_flash_env *dev, void *data)
return ret; return ret;
} }
@ -127,7 +126,7 @@ index bcc4af9..71fef10 100644
{ {
size_t count; size_t count;
size_t blocksize; size_t blocksize;
@@ -504,6 +577,17 @@ static int mtdread(struct uboot_flash_env *dev, void *data) @@ -507,6 +580,17 @@ static int mtdread(struct uboot_flash_env *dev, void *data)
ret = read(dev->fd, data, dev->envsize); ret = read(dev->fd, data, dev->envsize);
break; break;
case MTD_NANDFLASH: case MTD_NANDFLASH:
@ -145,7 +144,7 @@ index bcc4af9..71fef10 100644
if (dev->offset) if (dev->offset)
if (lseek(dev->fd, dev->offset, SEEK_SET) < 0) { if (lseek(dev->fd, dev->offset, SEEK_SET) < 0) {
ret = -EIO; ret = -EIO;
@@ -579,7 +663,7 @@ static int devread(struct uboot_ctx *ctx, unsigned int copy, void *data) @@ -582,7 +666,7 @@ static int devread(struct uboot_ctx *ctx, unsigned int copy, void *data)
ret = fileread(dev, data); ret = fileread(dev, data);
break; break;
case DEVICE_MTD: case DEVICE_MTD:
@ -155,7 +154,7 @@ index bcc4af9..71fef10 100644
case DEVICE_UBI: case DEVICE_UBI:
ret = ubiread(dev, data); ret = ubiread(dev, data);
diff --git a/src/uboot_private.h b/src/uboot_private.h diff --git a/src/uboot_private.h b/src/uboot_private.h
index 22c8c14..591df20 100644 index 22c8c14ce8cc..591df20d6936 100644
--- a/src/uboot_private.h --- a/src/uboot_private.h
+++ b/src/uboot_private.h +++ b/src/uboot_private.h
@@ -113,10 +113,14 @@ struct uboot_ctx { @@ -113,10 +113,14 @@ struct uboot_ctx {
@ -173,6 +172,3 @@ index 22c8c14..591df20 100644
/** usable environment size */ /** usable environment size */
unsigned int usable_size; unsigned int usable_size;
/** devices where environment is stored */ /** devices where environment is stored */
--
2.17.1