All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@linaro.org>
To: Jan Kara <jack@suse.cz>
Cc: linux-fsdevel@vger.kernel.org
Subject: [bug report] writeback: Avoid contention on wb->list_lock when switching inodes
Date: Thu, 18 Sep 2025 12:52:54 +0300	[thread overview]
Message-ID: <aMvWdo1EjHoPA-BH@stanley.mountain> (raw)

Hello Jan Kara,

Commit 67c312b4e9bf ("writeback: Avoid contention on wb->list_lock
when switching inodes") from Sep 12, 2025 (linux-next), leads to the
following Smatch static checker warning:

	fs/fs-writeback.c:730 cleanup_offline_cgwb()
	error: uninitialized symbol 'new_wb'.

fs/fs-writeback.c
    709 bool cleanup_offline_cgwb(struct bdi_writeback *wb)
    710 {
    711         struct cgroup_subsys_state *memcg_css;
    712         struct inode_switch_wbs_context *isw;
    713         struct bdi_writeback *new_wb;
    714         int nr;
    715         bool restart = false;
    716 
    717         isw = kzalloc(struct_size(isw, inodes, WB_MAX_INODES_PER_ISW),
    718                       GFP_KERNEL);
    719         if (!isw)
    720                 return restart;
    721 
    722         atomic_inc(&isw_nr_in_flight);
    723 
    724         for (memcg_css = wb->memcg_css->parent; memcg_css;
    725              memcg_css = memcg_css->parent) {

The concern here is that do we know for sure that we enter the loop?

    726                 new_wb = wb_get_create(wb->bdi, memcg_css, GFP_KERNEL);
    727                 if (new_wb)
    728                         break;
    729         }
--> 730         if (unlikely(!new_wb))
                              ^^^^^^
These are a common source of false positives, but I just wanted to be
sure.  Thanks!

    731                 new_wb = &wb->bdi->wb; /* wb_get() is noop for bdi's wb */
    732 
    733         nr = 0;

regards,
dan carpenter

             reply	other threads:[~2025-09-18  9:52 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-18  9:52 Dan Carpenter [this message]
2025-09-18 10:31 ` [bug report] writeback: Avoid contention on wb->list_lock when switching inodes Jan Kara

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=aMvWdo1EjHoPA-BH@stanley.mountain \
    --to=dan.carpenter@linaro.org \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@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.