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

From: Dan Carpenter
Date: Mon Sep 02 2024 - 10:39:12 EST


On Mon, Sep 02, 2024 at 04:26:16PM +0200, Thorsten Blum wrote:
> On 26. Aug 2024, at 12:39, Thorsten Blum <thorsten.blum@xxxxxxxxxx> 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@xxxxxxxxxx>
> > ---
> > 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@xxxxxxxxxx/
> > ---
> > 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