[PATCH v2] fs/ntfs3: Use swap() to improve code

Thorsten Blum posted 1 patch 1 year, 3 months ago
fs/ntfs3/lib/lzx_decompress.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[PATCH v2] fs/ntfs3: Use swap() to improve code
Posted by Thorsten Blum 1 year, 3 months ago
Use the swap() macro to simplify the code and improve its readability.

Fixes the following Coccinelle/coccicheck warning reported by
swap.cocci:

  WARNING opportunity for swap()

Compile-tested only.

Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
---
Changes in v2:
- Address kernel test robot feedback and assign match_offset as before
- Link to v1: https://lore.kernel.org/linux-kernel/20240731135403.80805-2-thorsten.blum@toblux.com/
---
 fs/ntfs3/lib/lzx_decompress.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/ntfs3/lib/lzx_decompress.c b/fs/ntfs3/lib/lzx_decompress.c
index 6b16f07073c1..4d5701024f83 100644
--- a/fs/ntfs3/lib/lzx_decompress.c
+++ b/fs/ntfs3/lib/lzx_decompress.c
@@ -512,8 +512,7 @@ static int lzx_decompress_block(const struct lzx_decompressor *d,
 			 * the same code.  (For R0, the swap is a no-op.)
 			 */
 			match_offset = recent_offsets[offset_slot];
-			recent_offsets[offset_slot] = recent_offsets[0];
-			recent_offsets[0] = match_offset;
+			swap(recent_offsets[offset_slot], recent_offsets[0]);
 		} else {
 			/* Explicit offset  */
 
-- 
2.46.0
Re: [PATCH v2] fs/ntfs3: Use swap() to improve code
Posted by Thorsten Blum 1 year, 3 months ago
On 26. Aug 2024, at 12:39, Thorsten Blum <thorsten.blum@toblux.com> wrote:
> 
> Use the swap() macro to simplify the code and improve its readability.
> 
> Fixes the following Coccinelle/coccicheck warning reported by
> swap.cocci:
> 
>  WARNING opportunity for swap()
> 
> Compile-tested only.
> 
> Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
> ---
> Changes in v2:
> - Address kernel test robot feedback and assign match_offset as before
> - Link to v1: https://lore.kernel.org/linux-kernel/20240731135403.80805-2-thorsten.blum@toblux.com/
> ---
> fs/ntfs3/lib/lzx_decompress.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/fs/ntfs3/lib/lzx_decompress.c b/fs/ntfs3/lib/lzx_decompress.c
> index 6b16f07073c1..4d5701024f83 100644
> --- a/fs/ntfs3/lib/lzx_decompress.c
> +++ b/fs/ntfs3/lib/lzx_decompress.c
> @@ -512,8 +512,7 @@ static int lzx_decompress_block(const struct lzx_decompressor *d,
> * the same code.  (For R0, the swap is a no-op.)
> */
> match_offset = recent_offsets[offset_slot];
> - recent_offsets[offset_slot] = recent_offsets[0];
> - recent_offsets[0] = match_offset;
> + swap(recent_offsets[offset_slot], recent_offsets[0]);
> } else {
> /* Explicit offset  */
> 
> -- 
> 2.46.0
> 

Hi Konstantin,

I just noticed that v1 of this patch is already in next (commit 
7495ce846bbe4f38d7ea5e023e44ad864b6348ad), but v2 fixes a possible bug 
reported by kernel test robot (match_offset is still used later).

Could you take another look at it and apply v2 if possible?

Thanks,
Thorsten
Re: [PATCH v2] fs/ntfs3: Use swap() to improve code
Posted by Dan Carpenter 1 year, 3 months ago
On Mon, Sep 02, 2024 at 04:26:16PM +0200, Thorsten Blum wrote:
> On 26. Aug 2024, at 12:39, Thorsten Blum <thorsten.blum@toblux.com> wrote:
> > 
> > Use the swap() macro to simplify the code and improve its readability.
> > 
> > Fixes the following Coccinelle/coccicheck warning reported by
> > swap.cocci:
> > 
> >  WARNING opportunity for swap()
> > 
> > Compile-tested only.
> > 
> > Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
> > ---
> > Changes in v2:
> > - Address kernel test robot feedback and assign match_offset as before
> > - Link to v1: https://lore.kernel.org/linux-kernel/20240731135403.80805-2-thorsten.blum@toblux.com/
> > ---
> > fs/ntfs3/lib/lzx_decompress.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/fs/ntfs3/lib/lzx_decompress.c b/fs/ntfs3/lib/lzx_decompress.c
> > index 6b16f07073c1..4d5701024f83 100644
> > --- a/fs/ntfs3/lib/lzx_decompress.c
> > +++ b/fs/ntfs3/lib/lzx_decompress.c
> > @@ -512,8 +512,7 @@ static int lzx_decompress_block(const struct lzx_decompressor *d,
> > * the same code.  (For R0, the swap is a no-op.)
> > */
> > match_offset = recent_offsets[offset_slot];
> > - recent_offsets[offset_slot] = recent_offsets[0];
> > - recent_offsets[0] = match_offset;
> > + swap(recent_offsets[offset_slot], recent_offsets[0]);
> > } else {
> > /* Explicit offset  */
> > 
> > -- 
> > 2.46.0
> > 
> 
> Hi Konstantin,
> 
> I just noticed that v1 of this patch is already in next (commit 
> 7495ce846bbe4f38d7ea5e023e44ad864b6348ad), but v2 fixes a possible bug 
> reported by kernel test robot (match_offset is still used later).
> 
> Could you take another look at it and apply v2 if possible?

The kbuild-bot only complained after the code was already merged.  Here is the
bug report:

https://lore.kernel.org/all/38752402-3a41-45f0-97ba-4f208d17337b@stanley.mountain/

I don't know if ntfs3 git tree rebases, but generally the advice we would give
would be to assume it isn't and write a Fixes commit which can be applied on
top instead of a v2.  If it's a rebase tree, the maintainer will know how to
fold the two patches together.

Thanks for following up on this.

regards,
dan carpenter