From: Greg KH <greg@kroah.com>
To: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Cc: stable@vger.kernel.org
Subject: Re: Patch "nilfs2: make superblock data array index computation sparse friendly" has been added to the 6.9-stable tree
Date: Mon, 27 May 2024 20:28:23 +0200 [thread overview]
Message-ID: <2024052714-dislocate-evoke-e2de@gregkh> (raw)
In-Reply-To: <CAKFNMo=kyzbvfLrTv8JhuY=e7-fkjtpL3DvcQ1r+RUPPeC4S9A@mail.gmail.com>
On Mon, May 27, 2024 at 09:53:45AM +0900, Ryusuke Konishi wrote:
> On Mon, May 27, 2024 at 2:21 AM Sasha Levin wrote:
> >
> > This is a note to let you know that I've just added the patch titled
> >
> > nilfs2: make superblock data array index computation sparse friendly
> >
> > to the 6.9-stable tree which can be found at:
> > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> >
> > The filename of the patch is:
> > nilfs2-make-superblock-data-array-index-computation-.patch
> > and it can be found in the queue-6.9 subdirectory.
> >
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@vger.kernel.org> know about it.
> >
> >
> >
> > commit 5017482ff3b29550015cce7f81279dc69aefd6fe
> > Author: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> > Date: Tue Apr 30 17:00:19 2024 +0900
> >
> > nilfs2: make superblock data array index computation sparse friendly
> >
> > [ Upstream commit 91d743a9c8299de1fc1b47428d8bb4c85face00f ]
> >
> > Upon running sparse, "warning: dubious: x & !y" is output at an array
> > index calculation within nilfs_load_super_block().
> >
> > The calculation is not wrong, but to eliminate the sparse warning, replace
> > it with an equivalent calculation.
> >
> > Also, add a comment to make it easier to understand what the unintuitive
> > array index calculation is doing and whether it's correct.
> >
> > Link: https://lkml.kernel.org/r/20240430080019.4242-3-konishi.ryusuke@gmail.com
> > Fixes: e339ad31f599 ("nilfs2: introduce secondary super block")
> > Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> > Cc: Bart Van Assche <bvanassche@acm.org>
> > Cc: Jens Axboe <axboe@kernel.dk>
> > Cc: kernel test robot <lkp@intel.com>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > Signed-off-by: Sasha Levin <sashal@kernel.org>
> >
> > diff --git a/fs/nilfs2/the_nilfs.c b/fs/nilfs2/the_nilfs.c
> > index 2ae2c1bbf6d17..adbc6e87471ab 100644
> > --- a/fs/nilfs2/the_nilfs.c
> > +++ b/fs/nilfs2/the_nilfs.c
> > @@ -592,7 +592,7 @@ static int nilfs_load_super_block(struct the_nilfs *nilfs,
> > struct nilfs_super_block **sbp = nilfs->ns_sbp;
> > struct buffer_head **sbh = nilfs->ns_sbh;
> > u64 sb2off, devsize = bdev_nr_bytes(nilfs->ns_bdev);
> > - int valid[2], swp = 0;
> > + int valid[2], swp = 0, older;
> >
> > if (devsize < NILFS_SEG_MIN_BLOCKS * NILFS_MIN_BLOCK_SIZE + 4096) {
> > nilfs_err(sb, "device size too small");
> > @@ -648,9 +648,25 @@ static int nilfs_load_super_block(struct the_nilfs *nilfs,
> > if (swp)
> > nilfs_swap_super_block(nilfs);
> >
> > + /*
> > + * Calculate the array index of the older superblock data.
> > + * If one has been dropped, set index 0 pointing to the remaining one,
> > + * otherwise set index 1 pointing to the old one (including if both
> > + * are the same).
> > + *
> > + * Divided case valid[0] valid[1] swp -> older
> > + * -------------------------------------------------------------
> > + * Both SBs are invalid 0 0 N/A (Error)
> > + * SB1 is invalid 0 1 1 0
> > + * SB2 is invalid 1 0 0 0
> > + * SB2 is newer 1 1 1 0
> > + * SB2 is older or the same 1 1 0 1
> > + */
> > + older = valid[1] ^ swp;
> > +
> > nilfs->ns_sbwcount = 0;
> > nilfs->ns_sbwtime = le64_to_cpu(sbp[0]->s_wtime);
> > - nilfs->ns_prot_seq = le64_to_cpu(sbp[valid[1] & !swp]->s_last_seq);
> > + nilfs->ns_prot_seq = le64_to_cpu(sbp[older]->s_last_seq);
> > *sbpp = sbp[0];
> > return 0;
> > }
>
> This commit fixes the sparse warning output by build "make C=1" with
> the sparse check, but does not fix any operational bugs.
>
> Therefore, if fixing a harmless sparse warning does not meet the
> requirements for backporting to stable trees (I assume it does),
> please drop it as it is a false positive pickup. Sorry if the
> "Fixes:" tag is confusing.
>
> The same goes for the same patch queued to other stable-trees.
Now dropped, thanks!
greg k-h
prev parent reply other threads:[~2024-05-27 18:28 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20240526172110.3470368-1-sashal@kernel.org>
2024-05-27 0:53 ` Patch "nilfs2: make superblock data array index computation sparse friendly" has been added to the 6.9-stable tree Ryusuke Konishi
2024-05-27 18:28 ` Greg KH [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2024052714-dislocate-evoke-e2de@gregkh \
--to=greg@kroah.com \
--cc=konishi.ryusuke@gmail.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.