Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

filelock: use a consume fence in locks_inode_context()

Matches the idiom of storing a pointer with a release fence and safely
getting the content with a consume fence after.

Eliminates an actual fence on some archs.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251203094837.290654-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Mateusz Guzik and committed by
Christian Brauner
1fa4e69a 5854fc63

+4 -1
+4 -1
include/linux/filelock.h
··· 241 241 static inline struct file_lock_context * 242 242 locks_inode_context(const struct inode *inode) 243 243 { 244 - return smp_load_acquire(&inode->i_flctx); 244 + /* 245 + * Paired with the fence in locks_get_lock_context(). 246 + */ 247 + return READ_ONCE(inode->i_flctx); 245 248 } 246 249 247 250 #else /* !CONFIG_FILE_LOCKING */