Message ID | 20230106-fix-kvm-rseq-build-v1-1-b704d9831d02@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: selftests: Fix build of rseq test | expand |
On Fri, Jan 06, 2023 at 07:24:19PM +0000, Mark Brown wrote: > The KVM rseq test is failing to build in -next due to a commit merged > from the tip tree which adds a wrapper for sys_getcpu() to the rseq > kselftests, conflicting with the wrapper already included in the KVM > selftest: Any thoughts on this? The KVM tests are still failing to build in -next: rseq_test.c:48:13: error: conflicting types for ‘sys_getcpu’ 48 | static void sys_getcpu(unsigned *cpu) | ^~~~~~~~~~ In file included from rseq_test.c:23: ../rseq/rseq.c:82:12: note: previous definition of ‘sys_getcpu’ was here 82 | static int sys_getcpu(unsigned *cpu, unsigned *node) | ^~~~~~~~~~ https://storage.kernelci.org/next/master/next-20230118/arm64/defconfig/gcc-10/logs/kselftest.log
On 2023-01-18 08:37, Mark Brown wrote: > On Fri, Jan 06, 2023 at 07:24:19PM +0000, Mark Brown wrote: > >> The KVM rseq test is failing to build in -next due to a commit merged >> from the tip tree which adds a wrapper for sys_getcpu() to the rseq >> kselftests, conflicting with the wrapper already included in the KVM >> selftest: > > Any thoughts on this? The KVM tests are still failing to build > in -next: I'm OK with the fix you submitted in this email thread. Should it be routed through -tip ? Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Thanks, Mathieu > > rseq_test.c:48:13: error: conflicting types for ‘sys_getcpu’ > 48 | static void sys_getcpu(unsigned *cpu) > | ^~~~~~~~~~ > In file included from rseq_test.c:23: > ../rseq/rseq.c:82:12: note: previous definition of ‘sys_getcpu’ was here > 82 | static int sys_getcpu(unsigned *cpu, unsigned *node) > | ^~~~~~~~~~ > > https://storage.kernelci.org/next/master/next-20230118/arm64/defconfig/gcc-10/logs/kselftest.log
On Wed, Jan 18, 2023 at 09:30:01AM -0500, Mathieu Desnoyers wrote: > On 2023-01-18 08:37, Mark Brown wrote: > > On Fri, Jan 06, 2023 at 07:24:19PM +0000, Mark Brown wrote: > > > The KVM rseq test is failing to build in -next due to a commit merged > > > from the tip tree which adds a wrapper for sys_getcpu() to the rseq > > > kselftests, conflicting with the wrapper already included in the KVM > > > selftest: > > Any thoughts on this? The KVM tests are still failing to build > > in -next: > I'm OK with the fix you submitted in this email thread. Should it be routed > through -tip ? I think so, it'll need to go along with the patch that introduced the new wrapper. > Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Thanks.
On 2023-01-18 09:44, Mark Brown wrote: > On Wed, Jan 18, 2023 at 09:30:01AM -0500, Mathieu Desnoyers wrote: >> On 2023-01-18 08:37, Mark Brown wrote: >>> On Fri, Jan 06, 2023 at 07:24:19PM +0000, Mark Brown wrote: > >>>> The KVM rseq test is failing to build in -next due to a commit merged >>>> from the tip tree which adds a wrapper for sys_getcpu() to the rseq >>>> kselftests, conflicting with the wrapper already included in the KVM >>>> selftest: > >>> Any thoughts on this? The KVM tests are still failing to build >>> in -next: > >> I'm OK with the fix you submitted in this email thread. Should it be routed >> through -tip ? > > I think so, it'll need to go along with the patch that introduced > the new wrapper. > >> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Peter, can you pick up this patch through tip ? https://lore.kernel.org/r/20230106-fix-kvm-rseq-build-v1-1-b704d9831d02@kernel.org Thanks, Mathieu > > Thanks.
diff --git a/tools/testing/selftests/kvm/rseq_test.c b/tools/testing/selftests/kvm/rseq_test.c index 3045fdf9bdf5..f74e76d03b7e 100644 --- a/tools/testing/selftests/kvm/rseq_test.c +++ b/tools/testing/selftests/kvm/rseq_test.c @@ -41,18 +41,6 @@ static void guest_code(void) GUEST_SYNC(0); } -/* - * We have to perform direct system call for getcpu() because it's - * not available until glic 2.29. - */ -static void sys_getcpu(unsigned *cpu) -{ - int r; - - r = syscall(__NR_getcpu, cpu, NULL, NULL); - TEST_ASSERT(!r, "getcpu failed, errno = %d (%s)", errno, strerror(errno)); -} - static int next_cpu(int cpu) { /* @@ -249,7 +237,9 @@ int main(int argc, char *argv[]) * across the seq_cnt reads. */ smp_rmb(); - sys_getcpu(&cpu); + r = sys_getcpu(&cpu, NULL); + TEST_ASSERT(!r, "getcpu failed, errno = %d (%s)", + errno, strerror(errno)); rseq_cpu = rseq_current_cpu_raw(); smp_rmb(); } while (snapshot != atomic_read(&seq_cnt));
The KVM rseq test is failing to build in -next due to a commit merged from the tip tree which adds a wrapper for sys_getcpu() to the rseq kselftests, conflicting with the wrapper already included in the KVM selftest: rseq_test.c:48:13: error: conflicting types for 'sys_getcpu' 48 | static void sys_getcpu(unsigned *cpu) | ^~~~~~~~~~ In file included from rseq_test.c:23: ../rseq/rseq.c:82:12: note: previous definition of 'sys_getcpu' was here 82 | static int sys_getcpu(unsigned *cpu, unsigned *node) | ^~~~~~~~~~ Fix this by removing the local wrapper and moving the result check up to the caller. Fixes: 99babd04b250 ("selftests/rseq: Implement rseq numa node id field selftest") Signed-off-by: Mark Brown <broonie@kernel.org> --- This will need to go via the tip tree due to the breaking change being there. --- tools/testing/selftests/kvm/rseq_test.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) --- base-commit: 469a89fd3bb73bb2eea628da2b3e0f695f80b7ce change-id: 20230106-fix-kvm-rseq-build-41ac58ba1d27 Best regards,