[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