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;
  }


Reply via email to