From nobody Fri Dec 19 20:36:42 2025 Received: from mail-il1-f199.google.com (mail-il1-f199.google.com [209.85.166.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 223132877F2 for ; Tue, 14 Oct 2025 11:02:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.199 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760439749; cv=none; b=MGEa4lIUiMfWl38MfE9Z/HtNPD+6bAQ6p56YL4CZEuvmMb9ApbLgkJzgTRtK3LRv0fvJWX0o1QUkXxwMnkXyPx3ovahjWVNLENxjLNUIWu04Eurc7/9J9YiETcfb/vNommliHcL8O6w1qYgidgS+oYYJRURhjC/262TV+NC9dzw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760439749; c=relaxed/simple; bh=tZ2LOnCKIM5AGsDTXUmH4H14TGQWt9d4lBEBiIkRt4I=; h=MIME-Version:Date:In-Reply-To:Message-ID:Subject:From:To: Content-Type; b=YOAoVs6NrbGip4Tbid7n/S1kMF4d8a3J1gmHDuffRvna+YgQRTlMUTFYi/VV/8mYiJ8hPggVToHEEs85YUqRYK4acmuVzaep7qT2LxpvAVEbtMULvofLR6F89N9meX24RTcdJ+K3Wf9J2gxSDUAKMbwfhbKWGRkybW2Eg6bM95I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.199 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com Received: by mail-il1-f199.google.com with SMTP id e9e14a558f8ab-43095c446dfso21308405ab.0 for ; Tue, 14 Oct 2025 04:02:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760439746; x=1761044546; h=to:from:subject:message-id:in-reply-to:date:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uX2jWFsdTD/h5vYL6pb2IaDViets6NfKjzKtZzds+8Q=; b=sdPiLma84I8Rs7z7uaK98RNOb6f/FAC7gfwDPOS66MMY6/QIIkFHkKZz7XKaT4SG0Q cSV61vHDC0tWSu6kgfCJV1MCMKIuI/zepUZGYfedvq/i8tsrgK3oKWpVyLITUd3FYItf jv2pQfSpsLuya7g9vFwzn+9PITvX4mDn2Upotf8PVi1dI6Vs83XRvSHy1n5yQysdir19 nTb4LanXoN108UsOnTDcmNCycgmr6wpkqu4bPfUQqpkSyg9i/qF6zL3sNmB9R4r3ZYN5 ejNxzEPiwt16DZZkp1Zq9JgG6IUWoWzJD8EZANj4TwCplARNfF97bQh2G70+euFA5wTk QlJg== X-Gm-Message-State: AOJu0YxPvAhhYvo35nqADd80pAIKm4F5ZUpnRj2KzFhkZD8UCmaQT+Jy 1dDpDLjc5bQ6SXLeF971EuC/LOJ4gpVHdp2q/KCOSf1xtbnT0fSjv4U2gPaPPXmIkc0Wnhl/x+T kVQf4ATjV4O4Jpde+ZKQQfNlPoIQEov0ZYi/6gYB1j9VzIlQDg5YqZlP/dE0= X-Google-Smtp-Source: AGHT+IH6zAY1IJJcnu3w5pIvgTmsnxrhuLsO7j3HV89sKTTNXGWtAYsA7QWpHG8Ag/Ezx9FqcXASBQwYPPtfMTLRu/Qz+6FLfu8K Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Received: by 2002:a92:ca47:0:b0:430:a53c:a221 with SMTP id e9e14a558f8ab-430a53ca43amr10752375ab.14.1760439746151; Tue, 14 Oct 2025 04:02:26 -0700 (PDT) Date: Tue, 14 Oct 2025 04:02:26 -0700 In-Reply-To: <68ed7606.a70a0220.b3ac9.001f.GAE@google.com> X-Google-Appengine-App-Id: s~syzkaller X-Google-Appengine-App-Id-Alias: syzkaller Message-ID: <68ee2dc2.050a0220.91a22.0207.GAE@google.com> Subject: Forwarded: [PATCH] ntfs3: add debug warnings for run_lock initialization From: syzbot To: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For archival purposes, forwarding an incoming command email to linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com. *** Subject: [PATCH] ntfs3: add debug warnings for run_lock initialization Author: kartikey406@gmail.com #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git= master Add debug messages to track when run_lock is initialized for regular files to help diagnose lockdep warnings. Signed-off-by: Deepanshu Kartikey --- fs/ntfs3/file.c | 1 + fs/ntfs3/inode.c | 83 +++++++++++++++++++++++++++++++++--------------- 2 files changed, 58 insertions(+), 26 deletions(-) diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c index 4c90ec2fa2ea..0eb218a2b999 100644 --- a/fs/ntfs3/file.c +++ b/fs/ntfs3/file.c @@ -773,6 +773,7 @@ static long ntfs_fallocate(struct file *file, int mode,= loff_t vbo, loff_t len) int ntfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, struct iattr *attr) { + printk(KERN_WARNING "ntfs_setattr: testing by deepanshu \n"); struct inode *inode =3D d_inode(dentry); struct ntfs_inode *ni =3D ntfs_i(inode); u32 ia_valid =3D attr->ia_valid; diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c index 3959f23c487a..222c97f7f299 100644 --- a/fs/ntfs3/inode.c +++ b/fs/ntfs3/inode.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// Created regular file inode// SPDX-License-Identifier: GPL-2.0 /* * * Copyright (C) 2019-2021 Paragon Software GmbH, All rights reserved. @@ -50,7 +50,10 @@ static struct inode *ntfs_read_mft(struct inode *inode, /* Setup 'uid' and 'gid' */ inode->i_uid =3D sbi->options->fs_uid; inode->i_gid =3D sbi->options->fs_gid; - + if (ino =3D=3D 25) { + ntfs_warn(sb, "DEBUG: ntfs_read_mft ENTERED for inode 25"); + //dump_stack(); + } err =3D mi_init(&ni->mi, sbi, ino); if (err) goto out; @@ -462,7 +465,11 @@ static struct inode *ntfs_read_mft(struct inode *inode, inode->i_mapping->a_ops =3D is_compressed(ni) ? &ntfs_aops_cmpr : &ntfs_aops; if (ino !=3D MFT_REC_MFT) + { + ntfs_warn(sb, "DEBUG: deepanshu Read inode %lu, S_ISREG=3D%d, run_lock= _init=3D%d", + ino, S_ISREG(mode), (ino !=3D MFT_REC_MFT)); init_rwsem(&ni->file.run_lock); + } } else if (S_ISCHR(mode) || S_ISBLK(mode) || S_ISFIFO(mode) || S_ISSOCK(mode)) { inode->i_op =3D &ntfs_special_inode_operations; @@ -527,33 +534,52 @@ static int ntfs_set_inode(struct inode *inode, void *= data) } =20 struct inode *ntfs_iget5(struct super_block *sb, const struct MFT_REF *ref, - const struct cpu_str *name) + const struct cpu_str *name) { - struct inode *inode; - - inode =3D iget5_locked(sb, ino_get(ref), ntfs_test_inode, ntfs_set_inode, - (void *)ref); - if (unlikely(!inode)) - return ERR_PTR(-ENOMEM); - - /* If this is a freshly allocated inode, need to read it now. */ - if (inode->i_state & I_NEW) - inode =3D ntfs_read_mft(inode, name, ref); - else if (ref->seq !=3D ntfs_i(inode)->mi.mrec->seq) { - /* - * Sequence number is not expected. - * Looks like inode was reused but caller uses the old reference - */ - iput(inode); - inode =3D ERR_PTR(-ESTALE); - } - - if (IS_ERR(inode)) - ntfs_set_state(sb->s_fs_info, NTFS_DIRTY_ERROR); - - return inode; + struct inode *inode; + unsigned long ino =3D ino_get(ref); + =20 + if (ino =3D=3D 25) { + printk(KERN_ERR "DEEPANSHU: ntfs_iget5 START for inode 25\n"); + //dump_stack(); + } + =20 + inode =3D iget5_locked(sb, ino, ntfs_test_inode, ntfs_set_inode, + (void *)ref); + =20 + if (unlikely(!inode)) + return ERR_PTR(-ENOMEM); + =20 + if (inode->i_ino =3D=3D 25) { + printk(KERN_ERR "DEEPANSHU: After iget5_locked for inode 25, I_NEW= =3D%d, i_state=3D0x%x\n",=20 + !!(inode->i_state & I_NEW), inode->i_state); + //dump_stack(); + } + =20 + /* If this is a freshly allocated inode, need to read it now. */ + if (inode->i_state & I_NEW) { + if (inode->i_ino =3D=3D 25) + printk(KERN_ERR "DEEPANSHU: Calling ntfs_read_mft for inode 25= \n"); + inode =3D ntfs_read_mft(inode, name, ref); + if (inode->i_ino =3D=3D 25 && IS_ERR(inode)) + printk(KERN_ERR "DEEPANSHU: ntfs_read_mft FAILED for inode 25\= n"); + } else if (ref->seq !=3D ntfs_i(inode)->mi.mrec->seq) { + if (inode->i_ino =3D=3D 25) + printk(KERN_ERR "DEEPANSHU: inode 25 seq mismatch\n"); + iput(inode); + inode =3D ERR_PTR(-ESTALE); + } else if (inode->i_ino =3D=3D 25) { + printk(KERN_ERR "DEEPANSHU: inode 25 found in CACHE, skipping ntfs= _read_mft!\n"); + //dump_stack(); + } + + if (IS_ERR(inode)) + ntfs_set_state(sb->s_fs_info, NTFS_DIRTY_ERROR); + + return inode; } =20 + enum get_block_ctx { GET_BLOCK_GENERAL =3D 0, GET_BLOCK_WRITE_BEGIN =3D 1, @@ -1180,6 +1206,8 @@ int ntfs_create_inode(struct mnt_idmap *idmap, struct= inode *dir, umode_t mode, dev_t dev, const char *symname, u32 size, struct ntfs_fnd *fnd) { + printk(KERN_WARNING "GET THE MESSAGE deepanshu \n"); + //ntfs_warn(sb, "DEBUG: In inodde function"); int err; struct super_block *sb =3D dir->i_sb; struct ntfs_sb_info *sbi =3D sb->s_fs_info; @@ -1597,6 +1625,7 @@ int ntfs_create_inode(struct mnt_idmap *idmap, struct= inode *dir, inode->i_size =3D size; inode_nohighmem(inode); } else if (S_ISREG(mode)) { + ntfs_warn(dir->i_sb, "DEBUG: Setting up regular file inode %lu", inode->= i_ino); inode->i_op =3D &ntfs_file_inode_operations; inode->i_fop =3D unlikely(is_legacy_ntfs(sb)) ? &ntfs_legacy_file_operations : @@ -1604,6 +1633,8 @@ int ntfs_create_inode(struct mnt_idmap *idmap, struct= inode *dir, inode->i_mapping->a_ops =3D is_compressed(ni) ? &ntfs_aops_cmpr : &ntfs_aops; init_rwsem(&ni->file.run_lock); + ntfs_warn(sb, "DEBUG: Created regular file inode %lu, run_lock initializ= ed",=20 + inode->i_ino); } else { inode->i_op =3D &ntfs_special_inode_operations; init_special_inode(inode, mode, dev); --=20 2.43.0