diff options
| author | Yilin Chen <1479826151@qq.com> | 2026-09-14 14:09:00 +0000 |
|---|---|---|
| committer | Andreas Hindborg <a.hindborg@kernel.org> | 2026-09-28 16:46:50 +0200 |
| commit | ec27f3b700010d2ebae1cde2df0246197689d159 (patch) | |
| tree | c264eb1a5526daf86831d70dd413960c0150765c /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | 17ca0bc06bb246d9488556f3f16ad6f37a4fc5ad (diff) | |
| download | linux-ec27f3b700010d2ebae1cde2df0246197689d159.tar.gz linux-ec27f3b700010d2ebae1cde2df0246197689d159.zip | |
rust: configfs: require thread-safe callback data
The Rust configfs abstractions do not fully constrain callback data for
cross-thread use. Add the missing `Send` and `Sync` requirements.
Specifically, make the following changes:
1. Require `Data: Send` when implementing `Send` for `Subsystem<Data>`,
since the subsystem stores its data by value.
2. Make `GroupOperations` a `Sync` supertrait because `make_group` and
`drop_item` receive `&self` from foreign threads. Require `Child: Send`
because configfs may release child groups on an arbitrary thread.
3. Require `AttributeOperations::Data: Sync` because its callbacks receive
`&Data` from foreign threads.
4. Update the safety comments in FFI callbacks that call `get_group_data`
to cite these bounds as justification for sharing the returned
references with the callback thread.
5. Remove redundant `Child: 'static` bounds from `GroupOperationsVTable`
and `new_with_child_ctor`.
Fixes: 446cafc295bf ("rust: configfs: introduce rust support for configfs")
Link: https://rust-for-linux.zulipchat.com/#narrow/channel/288089-General/topic/Should.20add.20Data.3A.20Send.2FSync.20bounds.20in.20configfs.3A.3ASubsystem.3F/with/623719979
Assisted-by: Gpt-5.6 Sol
Signed-off-by: Yilin Chen <1479826151@qq.com>
Link: https://msgid.link/tencent_5449081195EDDF5726C709CF648DD4044A08@qq.com
[ Andreas: Add Send/Sync bounds for `Group<Data>`, add `Send` bounds to
`GroupOperationsVTable`, `ItemOperationsVTable` and `ItemType` macro
implementation. ]
Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
