All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.