[Intel-wired-lan] [REPORT] net: e100: possible data races

Jia-Ju Bai baijiaju1990 at gmail.com
Wed Oct 3 13:03:38 UTC 2018


CPU0:
e100_set_multicast_list
   e100_exec_cb
     line 854: spin_lock_irqsave()
     line 866: e100_configure (function pointer)
       line 1114: nic->flags [READ]
       line 1123: nic->flags [READ]

CPU1:
e100_watchdog
   line 1731: nic->flags [WRITE]
   line 1733: nic->flags [WRITE]

As for nic->flags, the WRITE operations in CPU0 are performed
with holding a spinlock, but the READ operations in CPU1 are performed
without holding this spinlock, so there may exist data races.

These possible races are detected by a runtime testing.
I do not find a good way to fix these races, so I only report them.


Best wishes,
Jia-Ju Bai


More information about the Intel-wired-lan mailing list