[PATCH 8/8] cmd: tlv_eeprom: fix accessing invalid parameter

Raymond Mao raymondmaoca at gmail.com
Fri Jun 12 22:19:01 CEST 2026


From: Guodong Xu <guodong at riscstar.com>

=> tlv_eeprom dev
Unhandled exception: Load access fault
EPC: 000000007ffb351a RA: 000000007ff7c302 TVAL: 0000000000000000
EPC: 000000000024b51a RA: 0000000000214302 reloc adjusted

SP:  000000007ef3ec90 GP:  000000007ef48e40 TP:  0000000000000000
T0:  000000007ef3eda0 T1:  0000000000000000 T2:  0000000000000000
S0:  0000000000000002 S1:  000000007f05c0a0 A0:  0000000000000000
A1:  0000000000000000 A2:  0000000000000000 A3:  00000000d4017000
A4:  0000000000000002 A5:  00000000d4017000 A6:  0000000000000001
A7:  0000000000000000 S2:  0000000000000001 S3:  000000007f05c0a0
S4:  0000000000000002 S5:  000000007fffbbec S6:  0000000000000000
S7:  000000007f05c080 S8:  000000007f05c0a0 S9:  0000000000000000
S10: 0000000000000000 S11: 000000007f05afa0 T3:  0000000000000005
T4:  0000000000000009 T5:  0000000000000006 T6:  000000007ef3ed80

Code: 0007 3513 0015 70a2 7402 64e2 6145 8082 (4683 0005)

Command "tlv_eeprom dev" should not access argv[2]. argv[2] should be
only accessed by command "tlv_eeprom dev [dev]" command.

So add a guard to prevent this invalid access.

Signed-off-by: Guodong Xu <guodong at riscstar.com>
Signed-off-by: Raymond Mao <raymond.mao at riscstar.com>
---
 cmd/tlv_eeprom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c
index 3127660dd9e..b2b0b5a6fab 100644
--- a/cmd/tlv_eeprom.c
+++ b/cmd/tlv_eeprom.c
@@ -450,7 +450,7 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 	cmd = argv[1][0];
 
 	// select device
-	if (cmd == 'd') {
+	if (cmd == 'd' && argc > 2) {
 		 /* 'dev' command */
 		unsigned int devnum;
 
-- 
2.25.1



More information about the U-Boot mailing list