[PATCH 0/6] Miscellaneous FWU fixes

Michal Simek michal.simek at amd.com
Wed Sep 4 10:15:10 CEST 2024



On 8/30/24 13:40, Sughosh Ganu wrote:
> 
> The following set of patches are miscellaneous fixes and some
> hardening of the FWU update logic.
> 
> Sughosh Ganu (6):
>    fwu: v2: perform some checks before reading metadata
>    fwu: v2: try reading both copies of metadata
>    fwu: v1: do a version check for the metadata
>    fwu: check all images for transitioning out of Trial State
>    fwu: add dependency checks for selecting FWU metadata version
>    fwu: do not allow capsule processing on exceeding Trial Counter
>      threshold
> 
>   include/fwu.h            | 11 ++++++
>   lib/fwu_updates/Kconfig  |  1 +
>   lib/fwu_updates/fwu.c    | 31 +++++++++++++++-
>   lib/fwu_updates/fwu_v1.c | 18 +++++++--
>   lib/fwu_updates/fwu_v2.c | 80 ++++++++++++++++++++++------------------
>   5 files changed, 99 insertions(+), 42 deletions(-)
> 

I think there is still issue with returning values.
Take a look at my log. I am in trial state - I accepted both images already 
that's why fwu has everything accepted. But I can still apply empty capsules 
which are passing.
1. if they are accepted status should be reflected and visible via fwu
2. if they are not accepted error from command should be returned.

Thanks,
Michal

ZynqMP> fwu
	FWU Metadata
crc32: 0x12fd554e
version: 0x2
size: 0xda
active_index: 0x0
previous_active_index: 0x1
bank_state[0]: 0xfc
bank_state[1]: 0xfc
bank_state[2]: 0xff
bank_state[3]: 0xff
	Image Info

Image Type Guid: DE6066E8-0256-4FAD-8238-E406E274C4CF
Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223
Image Guid:  F64A0548-2CCE-ED11-8F66-7BC4531CFE6B
Image Acceptance: yes
Image Guid:  3E9C814B-2CCE-ED11-BEC8-23DE4C6D2CF2
Image Acceptance: yes

Image Type Guid: CF9ECFD4-938B-41C5-8551-1F883AB7DC18
Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223
Image Guid:  52DA04FB-9D0E-EE11-A57F-637805837C3F
Image Acceptance: yes
Image Guid:  46926007-9E0E-EE11-A23A-A38980B779A1
Image Acceptance: yes
Custom fields covered by CRC 0x12
CUSTOM 00000000: 31 32 33 34 35 36 37 38 64 65 61 64 62 65 65 66  12345678deadbeef
CUSTOM 00000010: 0a 0b                                            ..
0xffd80050 = 0xb002c001
0xffd80054 = 0xb0020ff0
0xffd80058 = 0x1d000048
0xffd8005c = 0x0
ZynqMP>   tftpboot 0x100000 192.168.0.105:capsule1-revert.bin && efidebug 
capsule update -v 0x100000
Set rate id 48/125000000
Using ethernet at ff0e0000 device
TFTP from server 192.168.0.105; our IP address is 192.168.0.155
Filename 'capsule1-revert.bin'.
Load address: 0x100000
Loading: #
	 3.9 KiB/s
done
Bytes transferred = 28 (1c hex)
Capsule guid: acd58b4b-c0e8-475f-99b5-6b3f7e07aaf0
Capsule flags: 0x0
Capsule header size: 0x1c
Capsule image size: 0x1c
ZynqMP> echo $?
0
ZynqMP> fwu
	FWU Metadata
crc32: 0x4aef4913
version: 0x2
size: 0xda
active_index: 0x1
previous_active_index: 0x0
bank_state[0]: 0xfc
bank_state[1]: 0xfc
bank_state[2]: 0xff
bank_state[3]: 0xff
	Image Info

Image Type Guid: DE6066E8-0256-4FAD-8238-E406E274C4CF
Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223
Image Guid:  F64A0548-2CCE-ED11-8F66-7BC4531CFE6B
Image Acceptance: yes
Image Guid:  3E9C814B-2CCE-ED11-BEC8-23DE4C6D2CF2
Image Acceptance: yes

Image Type Guid: CF9ECFD4-938B-41C5-8551-1F883AB7DC18
Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223
Image Guid:  52DA04FB-9D0E-EE11-A57F-637805837C3F
Image Acceptance: yes
Image Guid:  46926007-9E0E-EE11-A23A-A38980B779A1
Image Acceptance: yes
Custom fields covered by CRC 0x12
CUSTOM 00000000: 31 32 33 34 35 36 37 38 64 65 61 64 62 65 65 66  12345678deadbeef
CUSTOM 00000010: 0a 0b                                            ..
0xffd80050 = 0xb002c001
0xffd80054 = 0xb0020ff0
0xffd80058 = 0x1d000048
0xffd8005c = 0x0
ZynqMP>   tftpboot 0x100000 192.168.0.105:capsule2-accept.bin && efidebug 
capsule update -v 0x100000
Set rate id 48/125000000
Using ethernet at ff0e0000 device
TFTP from server 192.168.0.105; our IP address is 192.168.0.155
Filename 'capsule2-accept.bin'.
Load address: 0x100000
Loading: #
	 5.9 KiB/s
done
Bytes transferred = 44 (2c hex)
Capsule guid: 0c996046-bcc0-4d04-85ec-e1fcedf1c6f8
Capsule flags: 0x0
Capsule header size: 0x1c
Capsule image size: 0x2c
ZynqMP> echo $?
0
ZynqMP> fwu
	FWU Metadata
crc32: 0x4aef4913
version: 0x2
size: 0xda
active_index: 0x1
previous_active_index: 0x0
bank_state[0]: 0xfc
bank_state[1]: 0xfc
bank_state[2]: 0xff
bank_state[3]: 0xff
	Image Info

Image Type Guid: DE6066E8-0256-4FAD-8238-E406E274C4CF
Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223
Image Guid:  F64A0548-2CCE-ED11-8F66-7BC4531CFE6B
Image Acceptance: yes
Image Guid:  3E9C814B-2CCE-ED11-BEC8-23DE4C6D2CF2
Image Acceptance: yes

Image Type Guid: CF9ECFD4-938B-41C5-8551-1F883AB7DC18
Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223
Image Guid:  52DA04FB-9D0E-EE11-A57F-637805837C3F
Image Acceptance: yes
Image Guid:  46926007-9E0E-EE11-A23A-A38980B779A1
Image Acceptance: yes
Custom fields covered by CRC 0x12
CUSTOM 00000000: 31 32 33 34 35 36 37 38 64 65 61 64 62 65 65 66  12345678deadbeef
CUSTOM 00000010: 0a 0b                                            ..
0xffd80050 = 0xb002c001
0xffd80054 = 0xb0020ff0
0xffd80058 = 0x1d000048
0xffd8005c = 0x0
ZynqMP>



More information about the U-Boot mailing list