On Wed, 22 Jan 2025 02:37:45 +0000 Gui-Dong Han wrote:
Protect access to fore200e->available_cell_rate with rate_mtx lock to prevent potential data race.
In this case, since the update depends on a prior read, a data race could lead to a wrong fore200e.available_cell_rate value.
The field fore200e.available_cell_rate is generally protected by the lock fore200e.rate_mtx when accessed. In all other read and write cases, this field is consistently protected by the lock, except for this case and during initialization.
Please describe the call paths which interact to cause the race.