All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] quota: avoid printing an uninitialized blk number
@ 2024-02-13 10:17 Arnd Bergmann
  2024-02-13 10:21 ` Jan Kara
  0 siblings, 1 reply; 3+ messages in thread
From: Arnd Bergmann @ 2024-02-13 10:17 UTC (permalink / raw)
  To: Jan Kara; +Cc: Arnd Bergmann, linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

The error path of find_tree_dqentry() now prints a variable that is
never initialized:

fs/quota/quota_tree.c:674:8: error: variable 'blk' is uninitialized when used here [-Werror,-Wuninitialized]
                            blk);
                            ^~~
include/linux/quotaops.h:34:41: note: expanded from macro 'quota_error'
        __quota_error((sb), __func__, fmt , ## args)
                                               ^~~~

Move the calculation of the block number slightly up to make it
show a sensible number.

Fixes: 223bfb57631b ("quota: Detect loops in quota tree")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 fs/quota/quota_tree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/quota/quota_tree.c b/fs/quota/quota_tree.c
index afceef3ddfaa..05ae39f9b1ac 100644
--- a/fs/quota/quota_tree.c
+++ b/fs/quota/quota_tree.c
@@ -669,13 +669,13 @@ static loff_t find_tree_dqentry(struct qtree_mem_dqinfo *info,
 	if (!buf)
 		return -ENOMEM;
 	ret = read_blk(info, blks[depth], buf);
+	blk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]);
 	if (ret < 0) {
 		quota_error(dquot->dq_sb, "Can't read quota tree block %u",
 			    blks[depth]);
 		goto out_buf;
 	}
 	ret = 0;
-	blk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]);
 	if (!blk)	/* No reference? */
 		goto out_buf;
 	ret = do_check_range(dquot->dq_sb, "block", blk, QT_TREEOFF,
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] quota: avoid printing an uninitialized blk number
  2024-02-13 10:17 [PATCH] quota: avoid printing an uninitialized blk number Arnd Bergmann
@ 2024-02-13 10:21 ` Jan Kara
  2024-02-13 10:26   ` Arnd Bergmann
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kara @ 2024-02-13 10:21 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Jan Kara, Arnd Bergmann, linux-kernel

On Tue 13-02-24 11:17:28, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The error path of find_tree_dqentry() now prints a variable that is
> never initialized:
> 
> fs/quota/quota_tree.c:674:8: error: variable 'blk' is uninitialized when used here [-Werror,-Wuninitialized]
>                             blk);
>                             ^~~
> include/linux/quotaops.h:34:41: note: expanded from macro 'quota_error'
>         __quota_error((sb), __func__, fmt , ## args)
>                                                ^~~~
> 
> Move the calculation of the block number slightly up to make it
> show a sensible number.
> 
> Fixes: 223bfb57631b ("quota: Detect loops in quota tree")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Arnd, this should be fixed in my tree as of yesterday and I can see that
you've even based your patch on a fixed kernel :)

								Honza

> ---
>  fs/quota/quota_tree.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/quota/quota_tree.c b/fs/quota/quota_tree.c
> index afceef3ddfaa..05ae39f9b1ac 100644
> --- a/fs/quota/quota_tree.c
> +++ b/fs/quota/quota_tree.c
> @@ -669,13 +669,13 @@ static loff_t find_tree_dqentry(struct qtree_mem_dqinfo *info,
>  	if (!buf)
>  		return -ENOMEM;
>  	ret = read_blk(info, blks[depth], buf);
> +	blk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]);
>  	if (ret < 0) {
>  		quota_error(dquot->dq_sb, "Can't read quota tree block %u",
>  			    blks[depth]);
>  		goto out_buf;
>  	}
>  	ret = 0;
> -	blk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]);
>  	if (!blk)	/* No reference? */
>  		goto out_buf;
>  	ret = do_check_range(dquot->dq_sb, "block", blk, QT_TREEOFF,
> -- 
> 2.39.2
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] quota: avoid printing an uninitialized blk number
  2024-02-13 10:21 ` Jan Kara
@ 2024-02-13 10:26   ` Arnd Bergmann
  0 siblings, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2024-02-13 10:26 UTC (permalink / raw)
  To: Jan Kara, Arnd Bergmann; +Cc: Jan Kara, linux-kernel

On Tue, Feb 13, 2024, at 11:21, Jan Kara wrote:
> On Tue 13-02-24 11:17:28, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>> 
>> The error path of find_tree_dqentry() now prints a variable that is
>> never initialized:
>> 
>> fs/quota/quota_tree.c:674:8: error: variable 'blk' is uninitialized when used here [-Werror,-Wuninitialized]
>>                             blk);
>>                             ^~~
>> include/linux/quotaops.h:34:41: note: expanded from macro 'quota_error'
>>         __quota_error((sb), __func__, fmt , ## args)
>>                                                ^~~~
>> 
>> Move the calculation of the block number slightly up to make it
>> show a sensible number.
>> 
>> Fixes: 223bfb57631b ("quota: Detect loops in quota tree")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> Arnd, this should be fixed in my tree as of yesterday and I can see that
> you've even based your patch on a fixed kernel :)

Right, sorry about that. I did a lot of fixes yesterday and
sent them out after making sure they did not cause any new
failures in an overnight test build, but did not check carefully
during rebasing.

     Arnd

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-02-13 10:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-13 10:17 [PATCH] quota: avoid printing an uninitialized blk number Arnd Bergmann
2024-02-13 10:21 ` Jan Kara
2024-02-13 10:26   ` Arnd Bergmann

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.