718-v6.0-net-ethernet-mtk_eth_soc-check-max-allowed-value-in-.patch 1.0 KB

12345678910111213141516171819202122232425262728
  1. From 4253e6e2b795a18ab534adcd5c313d3fc4150975 Mon Sep 17 00:00:00 2001
  2. Message-Id: <4253e6e2b795a18ab534adcd5c313d3fc4150975.1662332102.git.lorenzo@kernel.org>
  3. In-Reply-To: <2a60545635c2705312299384f4e9fec2f2a3acd6.1662332102.git.lorenzo@kernel.org>
  4. References: <2a60545635c2705312299384f4e9fec2f2a3acd6.1662332102.git.lorenzo@kernel.org>
  5. From: Lorenzo Bianconi <[email protected]>
  6. Date: Mon, 5 Sep 2022 00:48:52 +0200
  7. Subject: [PATCH net-next 3/6] net: ethernet: mtk_eth_soc: check max allowed
  8. value in mtk_ppe_check_skb
  9. Check theoretical OOB accesses in mtk_ppe_check_skb routine
  10. Signed-off-by: Lorenzo Bianconi <[email protected]>
  11. ---
  12. drivers/net/ethernet/mediatek/mtk_ppe.h | 3 +++
  13. 1 file changed, 3 insertions(+)
  14. --- a/drivers/net/ethernet/mediatek/mtk_ppe.h
  15. +++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
  16. @@ -294,6 +294,9 @@ mtk_ppe_check_skb(struct mtk_ppe *ppe, s
  17. if (!ppe)
  18. return;
  19. + if (hash > MTK_PPE_HASH_MASK)
  20. + return;
  21. +
  22. now = (u16)jiffies;
  23. diff = now - ppe->foe_check_time[hash];
  24. if (diff < HZ / 10)