[PATCH] ubifs: Fix uninitialized use of err in ubifs_jnl_write_inode()

Zhihao Cheng chengzhihao1 at huawei.com
Fri Nov 15 17:57:54 PST 2024


在 2024/11/16 0:10, Nathan Chancellor 写道:
> Clang warns (or errors with CONFIG_WERROR=y):
> 
>    fs/ubifs/journal.c:986:20: error: variable 'err' is uninitialized when used here [-Werror,-Wuninitialized]
>      986 |                 ubifs_ro_mode(c, err);
>          |                                  ^~~
> 
> Set err to -EPERM before the call to ubifs_ro_mode() and reuse it in the
> return statement to resolve the warning.
> 
> Fixes: 957e1c4e1779 ("ubifs: ubifs_jnl_write_inode: Only check once for the limitation of xattr count")
> Signed-off-by: Nathan Chancellor <nathan at kernel.org>
> ---
>   fs/ubifs/journal.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)

My mistake, thanks for fixing it.

Reviewed-by: Zhihao Cheng <chengzhihao1 at huawei.com>
> 
> diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c
> index 8e98be64237154105cd6f7cb62cf0338ac26d3e9..36ba79fbd2ff80ff3d5c1f0bf965e439d8c55ab2 100644
> --- a/fs/ubifs/journal.c
> +++ b/fs/ubifs/journal.c
> @@ -983,8 +983,9 @@ int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
>   
>   	if (kill_xattrs && ui->xattr_cnt > ubifs_xattr_max_cnt(c)) {
>   		ubifs_err(c, "Cannot delete inode, it has too much xattrs!");
> +		err = -EPERM;
>   		ubifs_ro_mode(c, err);
> -		return -EPERM;
> +		return err;
>   	}
>   
>   	/*
> 
> ---
> base-commit: fe051552f5078fa02d593847529a3884305a6ffe
> change-id: 20241115-ubifs-fix-uninitialized-err-96ba6a1e756c
> 
> Best regards,
> 




More information about the linux-mtd mailing list