From: "Michael S. Tsirkin" <mst@redhat.com>
To: Sean Christopherson <seanjc@google.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Paolo Bonzini <pbonzini@redhat.com>,
Jason Wang <jasowang@redhat.com>,
kvm@vger.kernel.org, virtualization@lists.linux.dev,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/3] vhost_task: Fix a bug where KVM wakes an exited task
Date: Mon, 15 Sep 2025 18:23:41 -0400 [thread overview]
Message-ID: <20250915182232-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <aK-f45qszH2VEzV7@google.com>
On Wed, Aug 27, 2025 at 05:16:35PM -0700, Sean Christopherson wrote:
> On Wed, Aug 27, 2025, Sebastian Andrzej Siewior wrote:
> > On 2025-08-27 12:41:04 [-0700], Sean Christopherson wrote:
> > > Michael,
> >
> > Sean,
> >
> > would the bellow work by chance? It is a quick shot but it looks
> > symmetrical…
>
> Gah, sorry, I flagged your earlier mail and then forgot to circle back to it
> (for whatever reason, I didn't entirely grok what you were suggesting).
>
> > diff --git a/kernel/vhost_task.c b/kernel/vhost_task.c
> > index bc738fa90c1d6..27107dcc1cbfe 100644
> > --- a/kernel/vhost_task.c
> > +++ b/kernel/vhost_task.c
> > @@ -100,6 +100,7 @@ void vhost_task_stop(struct vhost_task *vtsk)
> > * freeing it below.
> > */
> > wait_for_completion(&vtsk->exited);
> > + put_task_struct(vtsk->task);
> > kfree(vtsk);
> > }
> > EXPORT_SYMBOL_GPL(vhost_task_stop);
> > @@ -148,7 +149,7 @@ struct vhost_task *vhost_task_create(bool (*fn)(void *),
> > return ERR_CAST(tsk);
> > }
> >
> > - vtsk->task = tsk;
> > + vtsk->task = get_task_struct(tsk);
> > return vtsk;
> > }
> > EXPORT_SYMBOL_GPL(vhost_task_create);
>
> Nice! This fixes things too. Either solution works for me. Or maybe do both?
> Attempting to wake a task that vhost_task knows has exited (is exiting?) is a
> bit gross, but even with that hardening, guarding against UAF is very nice to
> have too.
>
> Tested-by: Sean Christopherson <seanjc@google.com>
Sure let's do both.
--
MST
next prev parent reply other threads:[~2025-09-15 22:23 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-27 19:41 [PATCH v2 0/3] vhost_task: Fix a bug where KVM wakes an exited task Sean Christopherson
2025-08-27 19:41 ` [PATCH v2 1/3] vhost_task: Don't wake KVM x86's recovery thread if vhost task was killed Sean Christopherson
2025-08-27 19:41 ` [PATCH v2 2/3] vhost_task: Allow caller to omit handle_sigkill() callback Sean Christopherson
2025-08-27 19:41 ` [PATCH v2 3/3] KVM: x86/mmu: Don't register a sigkill callback for NX hugepage recovery tasks Sean Christopherson
2025-08-27 20:10 ` [PATCH v2 0/3] vhost_task: Fix a bug where KVM wakes an exited task Sebastian Andrzej Siewior
2025-08-28 0:16 ` Sean Christopherson
2025-08-28 6:48 ` Sebastian Andrzej Siewior
2025-09-15 22:23 ` Michael S. Tsirkin [this message]
2025-08-28 2:42 ` Lei Yang
2025-09-18 15:09 ` Michael S. Tsirkin
2025-09-18 15:48 ` Sebastian Andrzej Siewior
2025-09-18 16:04 ` Sean Christopherson
2025-09-18 16:08 ` Michael S. Tsirkin
2025-09-18 16:52 ` Sean Christopherson
2025-09-18 17:40 ` Michael S. Tsirkin
2025-09-18 17:58 ` Sean Christopherson
2025-09-18 16:06 ` Michael S. Tsirkin
2025-09-18 18:11 ` [PATCH] vhost: Take a reference on the task that is reference in struct vhost_task Sebastian Andrzej Siewior
2025-09-19 21:15 ` Sean Christopherson
2025-09-21 20:56 ` Michael S. Tsirkin
2025-09-21 21:40 ` Michael S. Tsirkin
2025-09-15 21:03 ` [PATCH v2 0/3] vhost_task: Fix a bug where KVM wakes an exited task Sean Christopherson
2025-09-15 22:20 ` Michael S. Tsirkin
2025-09-15 22:22 ` Sean Christopherson
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=20250915182232-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=bigeasy@linutronix.de \
--cc=jasowang@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=virtualization@lists.linux.dev \
/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.