From: Christian Göttsche Date: Mon, 2 Feb 2026 13:48:03 +0000 (+0100) Subject: selinux: annotate intentional data race in inode_doinit_with_dentry() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8dc51459ef702bcc0ef5fb26bb4d362b38aa56c2;p=thirdparty%2Fkernel%2Flinux.git selinux: annotate intentional data race in inode_doinit_with_dentry() Like other `isec->initialized == LABEL_INITIALIZED` checks annotate the check in inode_doinit_with_dentry() with data_race to please KCSAN. The value is rechecked next with lock held. Reported-by: syzbot+9ab96b38b76bec93939a@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=9ab96b38b76bec93939a Signed-off-by: Christian Göttsche Signed-off-by: Paul Moore --- diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index d8224ea113d1a..6ef9c1aade65f 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -1436,7 +1436,8 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent struct dentry *dentry; int rc = 0; - if (isec->initialized == LABEL_INITIALIZED) + /* check below is racy, but we will recheck with lock held */ + if (data_race(isec->initialized == LABEL_INITIALIZED)) return 0; spin_lock(&isec->lock);