Linux Kernel Spinlocks and Data Races