]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ksmbd: annotate oplock list traversals under m_lock
authorRunyu Xiao <runyu.xiao@seu.edu.cn>
Fri, 26 Jun 2026 15:31:53 +0000 (00:31 +0900)
committerSteve French <stfrench@microsoft.com>
Wed, 1 Jul 2026 02:29:46 +0000 (21:29 -0500)
commit684a00c291fbde2d42b6692c75855df7ff8894ee
tree24f043689807e9984566d8bf41a394c173e7a461
parent4a0b7826615a01c47924334a2e8a9dbd84a598b2
ksmbd: annotate oplock list traversals under m_lock

session_fd_check() and ksmbd_reopen_durable_fd() walk ci->m_op_list with
list_for_each_entry_rcu() while holding ci->m_lock for write. That is
the local inode/oplock serializer, but the RCU-list iterator does not
currently tell lockdep about it.

Pass lockdep_is_held(&ci->m_lock) to these iterators so
CONFIG_PROVE_RCU_LIST can see the rwsem protection already in place.

This was found by our static analysis tool and then manually reviewed
against the current tree. The dynamic triage evidence is a
target-matched CONFIG_PROVE_RCU_LIST warning; the change is limited
to documenting the existing protection contract.

This is a lockdep annotation cleanup. It does not change oplock list
lifetime or durable-handle behavior.

Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/vfs_cache.c