From: Vitaly Kuznetsov <vkuzn...@redhat.com> Date: Thu, 20 Oct 2016 10:51:04 +0200
> Stephen Hemminger <sthem...@microsoft.com> writes: > >> Do we need ACCESS_ONCE() here to avoid check/use issues? >> > > I think we don't: this is the only place in the function where we read > the variable so we'll get normal read. We're not trying to syncronize > with netvsc_init_buf() as that would require locking, if we read stale > NULL value after it was already updated on a different CPU we're fine, > we'll just return -EAGAIN. The concern is if we race with netvsc_destroy_buf() and this pointer becomes NULL after the test you are adding.