summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorJoanne Koong <joannelkoong@gmail.com>2026-07-16 11:31:43 -0700
committerMiklos Szeredi <mszeredi@redhat.com>2026-07-17 13:06:35 +0200
commit4ef7c8cc9894fccc7aa5fdaf6b39faa45c58c23e (patch)
tree26c040d624ec6f51025990c3d64b42de34ee3d0d /tools/perf/scripts/python/stackcollapse.py
parentedb310bc27f0ad83e7fd558a3caf1a94ca511654 (diff)
fuse: use release/acquire for fch->initialized
fuse_chan_set_initialized() sets values for the connection state and then sets fch->initialized to true, but lockless readers read fch->initialized and if true, go to read the connection state values, without using any barriers. There are a few instances where this happens (fuse_uring_cmd() before dispatching register / commit-and-fetch cmds, fuse_dev_do_wriite() for handling notify retrieves, etc). To make this as simple as possible, use release/acquire semantics for writing/reading fch->initialized. Add the missing read barriers. This is not marked for stable as these are not realistically reachable on a well-behaved server, and buggy/malicious servers who trigger this path fail benignly rather than crash or deadlock the kernel. Signed-off-by: Joanne Koong <joannelkoong@gmail.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions