* [bug report] fs/ntfs3: Add initialization of super block
@ 2021-08-24 7:58 Dan Carpenter
2021-08-24 10:33 ` Kari Argillander
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2021-08-24 7:58 UTC (permalink / raw)
To: almaz.alexandrovich; +Cc: ntfs3
Hello Konstantin Komarov,
The patch 82cae269cfa9: "fs/ntfs3: Add initialization of super block"
from Aug 13, 2021, leads to the following
Smatch static checker warning:
fs/ntfs3/index.c:238 bmp_buf_get()
warn: 'bh' could be an error pointer
fs/ntfs3/index.c
229 data_size = le64_to_cpu(b->nres.data_size);
230 if (WARN_ON(off >= data_size)) {
231 /* looks like filesystem error */
232 return -EINVAL;
233 }
234
235 valid_size = le64_to_cpu(b->nres.valid_size);
236
237 bh = ntfs_bread_run(sbi, &indx->bitmap_run, off);
--> 238 if (!bh)
239 return -EIO;
240
241 if (IS_ERR(bh))
This is not a bug, but it is wrong style. When a function returns both
error pointers and NULL then the NULL return is means the feature is
disabled. It's not an error. Just that the feature is turned off
deliberately in the Kconfig or whatever. Don't print an error message,
just continue with the feature disabled as the admin has requested.
But here NULL is just an error. The ntfs_bread_run() should do:
bh = ntfs_bread();
if (!bh)
return ERR_PTR(-EIO);
return bh;
242 return PTR_ERR(bh);
243
244 bbuf->bh = bh;
245
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [bug report] fs/ntfs3: Add initialization of super block
2021-08-24 7:58 [bug report] fs/ntfs3: Add initialization of super block Dan Carpenter
@ 2021-08-24 10:33 ` Kari Argillander
0 siblings, 0 replies; 2+ messages in thread
From: Kari Argillander @ 2021-08-24 10:33 UTC (permalink / raw)
To: Dan Carpenter; +Cc: almaz.alexandrovich, ntfs3
On Tue, Aug 24, 2021 at 10:58:19AM +0300, Dan Carpenter wrote:
> Hello Konstantin Komarov,
>
> The patch 82cae269cfa9: "fs/ntfs3: Add initialization of super block"
> from Aug 13, 2021, leads to the following
> Smatch static checker warning:
>
> fs/ntfs3/index.c:238 bmp_buf_get()
> warn: 'bh' could be an error pointer
>
> fs/ntfs3/index.c
> 229 data_size = le64_to_cpu(b->nres.data_size);
> 230 if (WARN_ON(off >= data_size)) {
> 231 /* looks like filesystem error */
> 232 return -EINVAL;
> 233 }
> 234
> 235 valid_size = le64_to_cpu(b->nres.valid_size);
> 236
> 237 bh = ntfs_bread_run(sbi, &indx->bitmap_run, off);
> --> 238 if (!bh)
> 239 return -EIO;
> 240
> 241 if (IS_ERR(bh))
>
> This is not a bug, but it is wrong style. When a function returns both
> error pointers and NULL then the NULL return is means the feature is
> disabled. It's not an error. Just that the feature is turned off
> deliberately in the Kconfig or whatever. Don't print an error message,
> just continue with the feature disabled as the admin has requested.
>
> But here NULL is just an error. The ntfs_bread_run() should do:
Agreed.
>
> bh = ntfs_bread();
> if (!bh)
> return ERR_PTR(-EIO);
> return bh;
Can also be like below but probably your version is more readable.
return ntfs_bread(sb, lbo >> sb->s_blocksize_bits) ? : ERR_PTR(-EIO);
>
> 242 return PTR_ERR(bh);
> 243
> 244 bbuf->bh = bh;
> 245
>
> regards,
> dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-08-24 10:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-24 7:58 [bug report] fs/ntfs3: Add initialization of super block Dan Carpenter
2021-08-24 10:33 ` Kari Argillander
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.