On 2026/07/21 20:11, Laurent Vivier wrote:
Same issue as e1000e: rx_desc_len is migrated from the stream but
can be computed from the register state. Recalculate it in post_load
to prevent a crafted migration stream from setting an invalid value.
igb actually doesn't use the register state. igb_calc_rxdesclen() calls
igb_rx_use_legacy_descriptor() to determine the value, but
igb_rx_use_legacy_descriptor() is currently a stub and returns false.
The change itself is fine.
Regards,
Akihiko Odaki
Cc: [email protected]
Signed-off-by: Laurent Vivier <[email protected]>
---
hw/net/igb_core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
index 45d8fd795b84..2a4883907353 100644
--- a/hw/net/igb_core.c
+++ b/hw/net/igb_core.c
@@ -4548,5 +4548,7 @@ igb_core_post_load(IGBCore *core)
igb_intrmgr_resume(core);
igb_autoneg_resume(core);
+ igb_calc_rxdesclen(core);
+
return 0;
}