summaryrefslogtreecommitdiff
path: root/kernel/trace/tracing_map.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2024-02-02 03:11:07 -0800
committerAndrew Morton <akpm@linux-foundation.org>2024-02-02 03:11:07 -0800
commit349bd87f6091ac68b8eab368ce30bcaf6d45c50e (patch)
treef3b65442c181a4c2d52a070fcfa22e70ef9b5711 /kernel/trace/tracing_map.c
parent96204e15310c218fd9355bdcacd02fed1d18070e (diff)
parent41bccc98fb7931d63d03f326a746ac4d429c1dd3 (diff)
Merge branch 'master' into mm-hotfixes-stable
Diffstat (limited to 'kernel/trace/tracing_map.c')
-rw-r--r--kernel/trace/tracing_map.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/trace/tracing_map.c b/kernel/trace/tracing_map.c
index c774e560f2f9..a4dcf0f24352 100644
--- a/kernel/trace/tracing_map.c
+++ b/kernel/trace/tracing_map.c
@@ -574,7 +574,12 @@ __tracing_map_insert(struct tracing_map *map, void *key, bool lookup_only)
}
memcpy(elt->key, key, map->key_size);
- entry->val = elt;
+ /*
+ * Ensure the initialization is visible and
+ * publish the elt.
+ */
+ smp_wmb();
+ WRITE_ONCE(entry->val, elt);
atomic64_inc(&map->hits);
return entry->val;