On Wed, Jun 5, 2019 at 10:14 AM Roman Gushchin <guro@xxxxxx> wrote: > > On Tue, Jun 04, 2019 at 09:35:02PM -0700, Shakeel Butt wrote: > > On Tue, Jun 4, 2019 at 7:45 PM Roman Gushchin <guro@xxxxxx> 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> > > > > Reviewed-by: Shakeel Butt <shakeelb@xxxxxxxxxx> > > > > This seems like independent to the series. Shouldn't this be Cc'ed stable? > > It is independent, but let's keep it here to avoid merge conflicts. > > It has been so for a long time, and nobody complained, so I'm not sure > if we really need a stable backport. Do you have a different opinion? > Nah, it's fine as it is.