Message ID | tencent_C699E9540505523424F11A9BD3D21B86840A@qq.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 04172043bd218dbbfc0c13bd4630142eb3f027cb |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: ethernet: mtk_eth_soc: Reuse value using READ_ONCE instead of re-rereading it | expand |
Hello: This patch was applied to netdev/net-next.git (main) by Paolo Abeni <pabeni@redhat.com>: On Wed, 3 Apr 2024 10:54:00 +0800 you wrote: > In mtk_flow_entry_update_l2, the hwe->ib1 is read using READ_ONCE at the > beginning of the function, checked, and then re-read from hwe->ib1, > may void all guarantees of the checks. Reuse the value that was read by > READ_ONCE to ensure the consistency of the ib1 throughout the function. > > Signed-off-by: linke li <lilinke99@qq.com> > > [...] Here is the summary with links: - net: ethernet: mtk_eth_soc: Reuse value using READ_ONCE instead of re-rereading it https://git.kernel.org/netdev/net-next/c/04172043bd21 You are awesome, thank you!
diff --git a/drivers/net/ethernet/mediatek/mtk_ppe.c b/drivers/net/ethernet/mediatek/mtk_ppe.c index b2a5d9c3733d..8b3cdfc4d407 100644 --- a/drivers/net/ethernet/mediatek/mtk_ppe.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe.c @@ -580,7 +580,7 @@ mtk_flow_entry_update_l2(struct mtk_ppe *ppe, struct mtk_flow_entry *entry) idle = cur_idle; entry->data.ib1 &= ~ib1_ts_mask; - entry->data.ib1 |= hwe->ib1 & ib1_ts_mask; + entry->data.ib1 |= ib1 & ib1_ts_mask; } }
In mtk_flow_entry_update_l2, the hwe->ib1 is read using READ_ONCE at the beginning of the function, checked, and then re-read from hwe->ib1, may void all guarantees of the checks. Reuse the value that was read by READ_ONCE to ensure the consistency of the ib1 throughout the function. Signed-off-by: linke li <lilinke99@qq.com> --- drivers/net/ethernet/mediatek/mtk_ppe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)