* [linux-next:master 11978/13093] fs/ntfs/iomap.c:150 ntfs_read_iomap_begin_resident() warn: inconsistent returns '&base_ni->mrec_lock'.
@ 2026-08-05 20:55 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-05 20:55 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Hyeontae Lee <wonju345@naver.com>
CC: Namjae Jeon <linkinjeon@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 1701fda2f58e345c050f4309971bdc07cd6146ba
commit: 9cf6ac617e8e9d95fd71081fe12a77c381520bda [11978/13093] ntfs: serialize resident iomap reads with mrec_lock
:::::: branch date: 5 hours ago
:::::: commit date: 30 hours ago
config: i386-randconfig-141-20260805 (https://download.01.org/0day-ci/archive/20260806/202608060449.0hsSZtkQ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9187-g5189e3fb
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202608060449.0hsSZtkQ-lkp@intel.com/
smatch warnings:
fs/ntfs/iomap.c:150 ntfs_read_iomap_begin_resident() warn: inconsistent returns '&base_ni->mrec_lock'.
vim +150 fs/ntfs/iomap.c
b041ca562526b3 Namjae Jeon 2026-02-13 82
b041ca562526b3 Namjae Jeon 2026-02-13 83 static int ntfs_read_iomap_begin_resident(struct inode *inode, loff_t offset, loff_t length,
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 84 unsigned int flags, struct iomap *iomap, bool keep_mrec_lock)
b041ca562526b3 Namjae Jeon 2026-02-13 85 {
b041ca562526b3 Namjae Jeon 2026-02-13 86 struct ntfs_inode *base_ni, *ni = NTFS_I(inode);
b041ca562526b3 Namjae Jeon 2026-02-13 87 struct ntfs_attr_search_ctx *ctx;
b041ca562526b3 Namjae Jeon 2026-02-13 88 loff_t i_size;
b041ca562526b3 Namjae Jeon 2026-02-13 89 u32 attr_len;
b041ca562526b3 Namjae Jeon 2026-02-13 90 int err = 0;
b041ca562526b3 Namjae Jeon 2026-02-13 91 char *kattr;
b041ca562526b3 Namjae Jeon 2026-02-13 92
b041ca562526b3 Namjae Jeon 2026-02-13 93 if (NInoAttr(ni))
b041ca562526b3 Namjae Jeon 2026-02-13 94 base_ni = ni->ext.base_ntfs_ino;
b041ca562526b3 Namjae Jeon 2026-02-13 95 else
b041ca562526b3 Namjae Jeon 2026-02-13 96 base_ni = ni;
b041ca562526b3 Namjae Jeon 2026-02-13 97
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 98 mutex_lock(&base_ni->mrec_lock);
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 99
b041ca562526b3 Namjae Jeon 2026-02-13 100 ctx = ntfs_attr_get_search_ctx(base_ni, NULL);
b041ca562526b3 Namjae Jeon 2026-02-13 101 if (!ctx) {
b041ca562526b3 Namjae Jeon 2026-02-13 102 err = -ENOMEM;
b041ca562526b3 Namjae Jeon 2026-02-13 103 goto out;
b041ca562526b3 Namjae Jeon 2026-02-13 104 }
b041ca562526b3 Namjae Jeon 2026-02-13 105
b041ca562526b3 Namjae Jeon 2026-02-13 106 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len,
b041ca562526b3 Namjae Jeon 2026-02-13 107 CASE_SENSITIVE, 0, NULL, 0, ctx);
b041ca562526b3 Namjae Jeon 2026-02-13 108 if (unlikely(err))
b041ca562526b3 Namjae Jeon 2026-02-13 109 goto out;
b041ca562526b3 Namjae Jeon 2026-02-13 110
b041ca562526b3 Namjae Jeon 2026-02-13 111 attr_len = le32_to_cpu(ctx->attr->data.resident.value_length);
b041ca562526b3 Namjae Jeon 2026-02-13 112 if (unlikely(attr_len > ni->initialized_size))
b041ca562526b3 Namjae Jeon 2026-02-13 113 attr_len = ni->initialized_size;
b041ca562526b3 Namjae Jeon 2026-02-13 114 i_size = i_size_read(inode);
b041ca562526b3 Namjae Jeon 2026-02-13 115
b041ca562526b3 Namjae Jeon 2026-02-13 116 if (unlikely(attr_len > i_size)) {
b041ca562526b3 Namjae Jeon 2026-02-13 117 /* Race with shrinking truncate. */
b041ca562526b3 Namjae Jeon 2026-02-13 118 attr_len = i_size;
b041ca562526b3 Namjae Jeon 2026-02-13 119 }
b041ca562526b3 Namjae Jeon 2026-02-13 120
b041ca562526b3 Namjae Jeon 2026-02-13 121 if (offset >= attr_len) {
b041ca562526b3 Namjae Jeon 2026-02-13 122 if (flags & IOMAP_REPORT)
b041ca562526b3 Namjae Jeon 2026-02-13 123 err = -ENOENT;
b041ca562526b3 Namjae Jeon 2026-02-13 124 else {
b041ca562526b3 Namjae Jeon 2026-02-13 125 iomap->type = IOMAP_HOLE;
b041ca562526b3 Namjae Jeon 2026-02-13 126 iomap->offset = offset;
b041ca562526b3 Namjae Jeon 2026-02-13 127 iomap->length = length;
b041ca562526b3 Namjae Jeon 2026-02-13 128 }
b041ca562526b3 Namjae Jeon 2026-02-13 129 goto out;
b041ca562526b3 Namjae Jeon 2026-02-13 130 }
b041ca562526b3 Namjae Jeon 2026-02-13 131
b041ca562526b3 Namjae Jeon 2026-02-13 132 kattr = (u8 *)ctx->attr + le16_to_cpu(ctx->attr->data.resident.value_offset);
b041ca562526b3 Namjae Jeon 2026-02-13 133
b041ca562526b3 Namjae Jeon 2026-02-13 134 iomap->type = IOMAP_INLINE;
5aec1efb11ab2a Namjae Jeon 2026-06-09 135 iomap->inline_data = kattr;
b041ca562526b3 Namjae Jeon 2026-02-13 136 iomap->offset = 0;
b041ca562526b3 Namjae Jeon 2026-02-13 137 iomap->length = attr_len;
b041ca562526b3 Namjae Jeon 2026-02-13 138
b041ca562526b3 Namjae Jeon 2026-02-13 139 out:
b041ca562526b3 Namjae Jeon 2026-02-13 140 if (ctx)
b041ca562526b3 Namjae Jeon 2026-02-13 141 ntfs_attr_put_search_ctx(ctx);
b041ca562526b3 Namjae Jeon 2026-02-13 142
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 143 if (!err && keep_mrec_lock && iomap->type == IOMAP_INLINE) {
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 144 iomap->private = base_ni;
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 145 return 0;
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 146 }
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 147
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 148 mutex_unlock(&base_ni->mrec_lock);
9cf6ac617e8e9d Hyeontae Lee 2026-07-31 149
b041ca562526b3 Namjae Jeon 2026-02-13 @150 return err;
b041ca562526b3 Namjae Jeon 2026-02-13 151 }
b041ca562526b3 Namjae Jeon 2026-02-13 152
:::::: The code at line 150 was first introduced by commit
:::::: b041ca562526b3c4a71b41b80ba5e520eac636ad ntfs: update iomap and address space operations
:::::: TO: Namjae Jeon <linkinjeon@kernel.org>
:::::: CC: Namjae Jeon <linkinjeon@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-05 20:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-05 20:55 [linux-next:master 11978/13093] fs/ntfs/iomap.c:150 ntfs_read_iomap_begin_resident() warn: inconsistent returns '&base_ni->mrec_lock' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.