All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis Henriques <luis@igalia.com>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: mszeredi@redhat.com, fuse-devel@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	Matt Harvey <mharvey@jumptrading.com>,
	kernel-dev@igalia.com, stable@vger.kernel.org
Subject: Re: [PATCH] fuse: fix 'inval_wq' parameter setting during module initialisation
Date: Fri, 6 Nov 2026 12:29:55 +0000	[thread overview]
Message-ID: <au3IQ_tZrpCZ__Pl@igalia.com> (raw)
In-Reply-To: <CAJfpegsXsZS7CaA-=kAB4_oiyPWeZ8ULpG+kxBNHczM-XHbqng@mail.gmail.com>

On Fri, Nov 06, 2026 at 12:33:50PM +0100, Miklos Szeredi wrote:
> On Mon, 19 Oct 2026 at 14:52, Luis Henriques <luis@igalia.com> wrote:
> 
> > @@ -62,11 +61,14 @@ static int inval_wq_set(const char *val, const struct kernel_param *kp)
> >
> >         *((unsigned int *)kp->arg) = num;
> >
> > -       if (num && !old)
> > -               schedule_delayed_work(&dentry_tree_work,
> > -                                     secs_to_jiffies(num));
> > -       else if (!num && old)
> > -               cancel_delayed_work_sync(&dentry_tree_work);
> > +       /* Only start/stop workqueue if we're past module initialisation */
> > +       if (!module_is_coming(kp->mod)) {
> 
> See sashiko review:

*sigh*
I keep forgetting to check sashiko website.  Sorry about that :-/

> - kp->mod might be NULL which will Oops module_is_coming()

Hmm... I guess this should be fixable by adding a '!kp->mod' to the
condition:

	if (!kp->mod || !module_is_coming(kp->mod)) ...

> - it's still racy against fuse_dentry_tree_init

This one is a bit trickier indeed.  I could try to play a bit with the
modules notifiers (register_module_notifier).  But I haven't used that
before, so not sure it can be used, for example, kicking off the worker
later when the module has been initialised.

> 
> My question is: does the inval_wq_set() even need to work before the
> module is initialized?  Can't it just return an error and it wouldn't
> need to deal with the race.

That's probably the simplest option, but that would prevent us from, for
example, setting inval_wq as a kernel parameter, right?  Or doing:

  # modprobe fuse inval_wq=10

Do you think that's acceptable?

Cheers,
--
Luis

      reply	other threads:[~2026-11-06 12:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-19 12:53 [PATCH] fuse: fix 'inval_wq' parameter setting during module initialisation Luis Henriques
2026-11-06 10:18 ` Luis Henriques
2026-11-06 11:33 ` Miklos Szeredi
2026-11-06 12:29   ` Luis Henriques [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=au3IQ_tZrpCZ__Pl@igalia.com \
    --to=luis@igalia.com \
    --cc=fuse-devel@lists.linux.dev \
    --cc=kernel-dev@igalia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mharvey@jumptrading.com \
    --cc=miklos@szeredi.hu \
    --cc=mszeredi@redhat.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.