[bug report] fs/ntfs3: Add attrib operations

Dan Carpenter
2026-04-10T10:15:30Z

Commit be71b5cba2e6 ("fs/ntfs3: Add attrib operations") from Aug 13,
2021 (linux-next), leads to the following Smatch static checker
warning:

fs/ntfs3/attrib.c:176 attr_allocate_clusters()
error: we previously assumed 'pre_alloc' could be null (see line 167)

fs/ntfs3/attrib.c
160 int attr_allocate_clusters(struct ntfs_sb_info *sbi, struct runs_tree *run,
161 struct runs_tree *run_da, CLST vcn, CLST lcn,
162 CLST len, CLST *pre_alloc, enum ALLOCATE_OPT opt,
163 CLST *alen, const size_t fr, CLST *new_lcn,
164 CLST *new_len)
165 {
166 int err;
167 CLST flen, vcn0 = vcn, pre = pre_alloc ? *pre_alloc : 0;
168 size_t cnt = run->count;
169
170 for (;;) {
171 err = ntfs_look_for_free_space(sbi, lcn, len + pre, &lcn, &flen,
172 opt);
173
174 if (err == -ENOSPC && pre) {
175 pre = 0;
--> 176 if (*pre_alloc)

I'm not sure why warnings from 2021 are showing up as new warnings but
presumably this should be:

if (pre_alloc)
*pre_alloc = 0;

177 *pre_alloc = 0;
178 continue;
179 }
180
181 if (err == -ENOSPC && new_len && vcn - vcn0) {
182 /* Keep already allocated clusters. */
183 *alen = vcn - vcn0;

This email is a free service from the Smatch-CI project [smatch.sf.net].