Re: [PATCH v6 01/10] mm: add missing smp read barrier on getting memcg kmem_cache pointer

From: Johannes Weiner
Date: Wed Jun 05 2019 - 12:46:33 EST


On Tue, Jun 04, 2019 at 07:44:45PM -0700, Roman Gushchin wrote:
> Johannes noticed that reading the memcg kmem_cache pointer in
> cache_from_memcg_idx() is performed using READ_ONCE() macro,
> which doesn't implement a SMP barrier, which is required
> by the logic.
>
> Add a proper smp_rmb() to be paired with smp_wmb() in
> memcg_create_kmem_cache().
>
> The same applies to memcg_create_kmem_cache() itself,
> which reads the same value without barriers and READ_ONCE().
>
> Suggested-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> Signed-off-by: Roman Gushchin <guro@xxxxxx>

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>