Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

e1000e: Remove unneeded checks

The caller, ethtool_set_eeprom(), already performs the same checks so
these are unnecessary in the driver. This reverts commit
90fb7db49c6d ("e1000e: fix heap overflow in e1000_set_eeprom"), however,
corrections for RCT have been kept.

Link: https://lore.kernel.org/all/db92fcc8-114d-4e85-9d15-7860545bc65e@suse.de/
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20251125223632.1857532-7-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Tony Nguyen and committed by
Jakub Kicinski
954ba97c 8dd72ebc

+1 -5
+1 -5
drivers/net/ethernet/intel/e1000e/ethtool.c
··· 551 551 { 552 552 struct e1000_adapter *adapter = netdev_priv(netdev); 553 553 struct e1000_hw *hw = &adapter->hw; 554 - size_t total_len, max_len; 555 554 u16 *eeprom_buff; 556 555 int ret_val = 0; 556 + size_t max_len; 557 557 int first_word; 558 558 int last_word; 559 559 void *ptr; ··· 570 570 return -EINVAL; 571 571 572 572 max_len = hw->nvm.word_size * 2; 573 - 574 - if (check_add_overflow(eeprom->offset, eeprom->len, &total_len) || 575 - total_len > max_len) 576 - return -EFBIG; 577 573 578 574 first_word = eeprom->offset >> 1; 579 575 last_word = (eeprom->offset + eeprom->len - 1) >> 1;