Re: Re: [V4 PATCH 3/4] kexec: Fix race between panic() and crash_kexec() called directly

From: Peter Zijlstra
Date: Wed Sep 30 2015 - 07:53:58 EST


On Mon, Sep 28, 2015 at 07:08:19AM +0000, æåèå / KAWAIïHIDEHIRO wrote:
> > >> kernel/kexec_core.c:899:3: note: in expansion of macro 'atomic_xchg'
> > atomic_xchg(&panic_cpu, -1);
> > ^
>
> I changed to use atomic_xchg() instead of atomic_set() in V3
> because atomic_set() doesn't mean memory barrier. However,
> I thought again and there is no need of barrier; there is no
> problem if a competitor sees old value of panic_cpu or new one.
> So, atomic_set() is sufficient and using it will remove this warning.
>
> I will resend the fixed version later.

So if you rely on the memory barrier; you should have also put a comment
on explaining the ordering requirements.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/