Roman Gushchin f785a8f21a mm: memcg: use READ_ONCE()/WRITE_ONCE() to access stock->cached
A memcg pointer in the percpu stock can be accessed by drain_all_stock()
from another cpu in a lockless way.  In theory it might lead to an issue,
similar to the one which has been discovered with stock->cached_objcg,
where the pointer was zeroed between the check for being NULL and
dereferencing.  In this case the issue is unlikely a real problem, but to
make it bulletproof and similar to stock->cached_objcg, let's annotate all
accesses to stock->cached with READ_ONCE()/WTRITE_ONCE().

Link: https://lkml.kernel.org/r/20230502160839.361544-2-roman.gushchin@linux.dev
Signed-off-by: Roman Gushchin <roman.gushchin@linux.dev>
Acked-by: Shakeel Butt <shakeelb@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Yosry Ahmed <yosryahmed@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-06-09 16:25:13 -07:00
..
2023-05-06 10:33:38 -07:00
2023-01-18 17:12:57 -08:00
2023-04-30 13:00:38 -07:00
2023-04-12 17:36:23 -07:00
2023-04-18 16:29:42 -07:00
2022-10-03 14:02:43 -07:00
2022-09-26 19:46:09 -07:00
2021-05-07 00:26:35 -07:00
2023-04-12 17:36:23 -07:00
2023-04-08 13:45:37 -07:00
2023-04-05 20:03:01 -07:00
2023-01-18 17:12:57 -08:00
2022-12-11 18:12:10 -08:00
2023-05-17 15:24:33 -07:00