From: sashiko-bot@kernel.org
To: "Sean Christopherson" <seanjc@google.com>
Cc: "Marc Zyngier" <maz@kernel.org>,
kvmarm@lists.linux.dev, kvm@vger.kernel.org,
"Oliver Upton" <oupton@kernel.org>
Subject: Re: [PATCH v2 09/12] KVM: selftests: Add KVM syscall wrappers for pthread_{cancel,join}()
Date: Fri, 31 Jul 2026 17:18:08 +0000 [thread overview]
Message-ID: <20260731171808.A51731F00AC4@smtp.kernel.org> (raw)
In-Reply-To: <20260731170619.2620845-10-seanjc@google.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The `kvm_pthread_join` and `kvm_pthread_cancel` wrappers are defined using the `__KVM_SYSCALL_DEFINE` macro, which incorrectly assumes the wrapped function sets the thread-local `errno` variable on failure.
--
--- Patch [9]: [PATCH v2 09/12] KVM: selftests: Add KVM syscall wrappers for pthread_{cancel,join}() ---
commit b9978e67ef4ca95fc0d3b87b0d80bdb48e623a21
Author: Sean Christopherson <seanjc@google.com>
KVM: selftests: Add KVM syscall wrappers for pthread_{cancel,join}()
This commit adds kvm_pthread_join() and kvm_pthread_cancel() wrappers to
KVM selftests. These wrappers automatically assert that the underlying pthread
functions succeed, removing the need for manual error checking across multiple
tests.
> diff --git a/tools/testing/selftests/kvm/include/kvm_syscalls.h b/tools/testing/selftests/kvm/include/kvm_syscalls.h
> index e75be83787798..d6c18e13b9c8b 100644
> --- a/tools/testing/selftests/kvm/include/kvm_syscalls.h
> +++ b/tools/testing/selftests/kvm/include/kvm_syscalls.h
> @@ -101,6 +101,8 @@ __KVM_SYSCALL_DEFINE(sched_setaffinity, 3, pid_t, pid, size_t, cpusetsize, cpu_s
> typedef void *(*pthread_fn_t)(void *);
> __KVM_SYSCALL_DEFINE(pthread_create, 4, pthread_t *, thread,
> const pthread_attr_t *, attr, pthread_fn_t, fn, void *, arg);
> +__KVM_SYSCALL_DEFINE(pthread_join, 2, pthread_t, thread, void **, thread_return);
> +__KVM_SYSCALL_DEFINE(pthread_cancel, 1, pthread_t, thread);
[Severity: Medium]
Will this produce misleading error messages on test failures?
Pthread functions like pthread_join and pthread_cancel return their error
codes directly and do not set the thread-local errno variable.
Since these wrappers use the __KVM_SYSCALL_DEFINE macro, if the underlying
pthread function fails, the __KVM_SYSCALL_ERROR macro will format the
error message using the stale errno instead of the returned error code. This
could result in test assertions printing an incorrect errno (e.g., "Success")
rather than the actual error string.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260731170619.2620845-1-seanjc@google.com?part=9
next prev parent reply other threads:[~2026-07-31 17:18 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-31 17:06 [PATCH v2 00/12] KVM: selftests: Add more syscall wrappers, fix hardware_disable_test Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 01/12] KVM: selftests: Add a KVM syscall wrapper for sched_setaffinity() Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 02/12] KVM: selftests: Set threads CPU affinity before doing work in hardware disable test Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 03/12] KVM: selftests: Pre-set threads affinity in hardware disable test when possible Sean Christopherson
2026-07-31 17:20 ` sashiko-bot
2026-07-31 17:06 ` [PATCH v2 04/12] KVM: selftests: Return the target CPU from pin_task_to_random_cpu() Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 05/12] KVM: selftests: Extract picking of random CPU from cpu_set_t to separate API Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 06/12] KVM: selftests: Affine threads to random CPUs in hardware disable test Sean Christopherson
2026-07-31 17:15 ` sashiko-bot
2026-07-31 17:27 ` Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 07/12] KVM: selftests: Drop unreachable, dead code from " Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 08/12] KVM: selftests: Add KVM syscall wrapper for pthread_create() Sean Christopherson
2026-07-31 17:20 ` sashiko-bot
2026-07-31 17:06 ` [PATCH v2 09/12] KVM: selftests: Add KVM syscall wrappers for pthread_{cancel,join}() Sean Christopherson
2026-07-31 17:18 ` sashiko-bot [this message]
2026-07-31 17:06 ` [PATCH v2 10/12] KVM: selftests: Add helper APIs to cancel+join pthreads Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 11/12] KVM: selftests: Add KVM syscall wrappers for pthread_{g,s}etaffinity_np() Sean Christopherson
2026-07-31 17:06 ` [PATCH v2 12/12] KVM: selftests: Clean up global constants in hardware disable test 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=20260731171808.A51731F00AC4@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=maz@kernel.org \
--cc=oupton@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=seanjc@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox