2021-12-23 12:21:06

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] fs/ntfs3: Remove a useless test

'new_free' has just been allocated by kmalloc() and is known to be not
NULL.
So this pointer can't be equal to a previous memory allocation, or there
would be trouble in paradise.

Axe the always true test and make the code more readable.

Signed-off-by: Christophe JAILLET <[email protected]>
---
fs/ntfs3/bitmap.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/ntfs3/bitmap.c b/fs/ntfs3/bitmap.c
index aa184407520f..e3b5680fd516 100644
--- a/fs/ntfs3/bitmap.c
+++ b/fs/ntfs3/bitmap.c
@@ -1333,9 +1333,7 @@ int wnd_extend(struct wnd_bitmap *wnd, size_t new_bits)
if (!new_free)
return -ENOMEM;

- if (new_free != wnd->free_bits)
- memcpy(new_free, wnd->free_bits,
- wnd->nwnd * sizeof(short));
+ memcpy(new_free, wnd->free_bits, wnd->nwnd * sizeof(short));
memset(new_free + wnd->nwnd, 0,
(new_wnd - wnd->nwnd) * sizeof(short));
kfree(wnd->free_bits);
--
2.32.0



2022-06-08 01:28:57

by Konstantin Komarov

[permalink] [raw]
Subject: Re: [PATCH] fs/ntfs3: Remove a useless test



On 12/23/21 15:20, Christophe JAILLET wrote:
> 'new_free' has just been allocated by kmalloc() and is known to be not
> NULL.
> So this pointer can't be equal to a previous memory allocation, or there
> would be trouble in paradise.
>
> Axe the always true test and make the code more readable.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> fs/ntfs3/bitmap.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/fs/ntfs3/bitmap.c b/fs/ntfs3/bitmap.c
> index aa184407520f..e3b5680fd516 100644
> --- a/fs/ntfs3/bitmap.c
> +++ b/fs/ntfs3/bitmap.c
> @@ -1333,9 +1333,7 @@ int wnd_extend(struct wnd_bitmap *wnd, size_t new_bits)
> if (!new_free)
> return -ENOMEM;
>
> - if (new_free != wnd->free_bits)
> - memcpy(new_free, wnd->free_bits,
> - wnd->nwnd * sizeof(short));
> + memcpy(new_free, wnd->free_bits, wnd->nwnd * sizeof(short));
> memset(new_free + wnd->nwnd, 0,
> (new_wnd - wnd->nwnd) * sizeof(short));
> kfree(wnd->free_bits);

Thanks for patch, applied!