This patch forces type conversion from __le32 to u32 to prevent sparse
warnings like:
warning: restricted __le32 degrades to integer
dir.c:
fscrypt_fname_disk_to_usr takes a hash of type u32 as it's second arg
but de->hash_code is of type __le32.
node.c
NULL_ADDR is of type u32 but block_addr is of type __le32.
Signed-off-by: Bharath Vedartham <[email protected]>
---
fs/f2fs/dir.c | 2 +-
fs/f2fs/node.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
index 59bc460..4f39872 100644
--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -828,7 +828,7 @@ int f2fs_fill_dentries(struct dir_context *ctx, struct f2fs_dentry_ptr *d,
int save_len = fstr->len;
err = fscrypt_fname_disk_to_usr(d->inode,
- (u32)de->hash_code, 0,
+ (__force u32)de->hash_code, 0,
&de_name, fstr);
if (err)
goto out;
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 3f99ab2..9e333a5 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -2706,7 +2706,7 @@ static void __update_nat_bits(struct f2fs_sb_info *sbi, nid_t start_nid,
i = 1;
}
for (; i < NAT_ENTRY_PER_BLOCK; i++) {
- if (nat_blk->entries[i].block_addr != NULL_ADDR)
+ if ((__force u32)nat_blk->entries[i].block_addr != NULL_ADDR)
valid++;
}
if (valid == 0) {
--
2.7.4
On 2019/4/18 15:35, Bharath Vedartham wrote:
> This patch forces type conversion from __le32 to u32 to prevent sparse
> warnings like:
> warning: restricted __le32 degrades to integer
>
> dir.c:
> fscrypt_fname_disk_to_usr takes a hash of type u32 as it's second arg
> but de->hash_code is of type __le32.
>
> node.c
> NULL_ADDR is of type u32 but block_addr is of type __le32.
>
> Signed-off-by: Bharath Vedartham <[email protected]>
> ---
> fs/f2fs/dir.c | 2 +-
> fs/f2fs/node.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
> index 59bc460..4f39872 100644
> --- a/fs/f2fs/dir.c
> +++ b/fs/f2fs/dir.c
> @@ -828,7 +828,7 @@ int f2fs_fill_dentries(struct dir_context *ctx, struct f2fs_dentry_ptr *d,
> int save_len = fstr->len;
>
> err = fscrypt_fname_disk_to_usr(d->inode,
> - (u32)de->hash_code, 0,
le32_to_cpu(de->hash_code)
> + (__force u32)de->hash_code, 0,
> &de_name, fstr);
> if (err)
> goto out;
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index 3f99ab2..9e333a5 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -2706,7 +2706,7 @@ static void __update_nat_bits(struct f2fs_sb_info *sbi, nid_t start_nid,
> i = 1;
> }
> for (; i < NAT_ENTRY_PER_BLOCK; i++) {
> - if (nat_blk->entries[i].block_addr != NULL_ADDR)
> + if ((__force u32)nat_blk->entries[i].block_addr != NULL_ADDR)
block_t blkaddr = le32_to_cpu(nat_blk->entries[i].block_addr);
if (blkaddr != NULL_ADDR)
Thanks,
> valid++;
> }
> if (valid == 0) {
>