diff options
author | 2025-05-09 10:25:54 +0800 | |
---|---|---|
committer | 2025-06-10 21:43:24 +0200 | |
commit | d3db1ce9bf8f4a8e03d3bd19000b32290bca7d74 (patch) | |
tree | 61b93aa2e84ee4e3b9dbc5d60809ebc1f053fa68 /rust/pin-init/internal/src | |
parent | Merge tag 'hid-for-linus-2025060301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid (diff) | |
download | wireguard-linux-d3db1ce9bf8f4a8e03d3bd19000b32290bca7d74.tar.xz wireguard-linux-d3db1ce9bf8f4a8e03d3bd19000b32290bca7d74.zip |
HID: debug: Use the __set_current_state()
When detecting an invalid list->hdev, the process needs to manually set
its state to TASK_RUNNING and exit. In the original code,
set_current_state() (which includes a memory barrier) is used here, but
it is immediately followed by a mutex_unlock() call. Since
mutex_unlock() internally includes a memory barrier, this ensures that
all modifications within the critical section (including the process
state) are visible to other CPUs. Therefore, replacing it with
__set_current_state() (without an implicit barrier) avoids redundant
memory barriers.
Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'rust/pin-init/internal/src')
0 files changed, 0 insertions, 0 deletions