From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F044397AFF for ; Tue, 12 May 2026 13:52:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778593938; cv=none; b=s5yG8aYNjlcyNsT8a79DjPOeqxjwoeiTcHot9CnQUyvZkSrnTsX5sTM01S5Ky3K15yfLQ5/N5AR1y4XIuu56gg5RUBAxr+nmFvibvoQhTqhDkW/SKYLfKDrfjmipaYdhY0i5fn7acQdb10sWYUT3sq1XNAl3ZfKx8wEiviaJVRc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778593938; c=relaxed/simple; bh=uL93vXpHpqKCsIGgq9Bj+K9slRWvqHY4YGtrj7e579Y=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=FIQpGyMmdKFdJ/wupCQazkrONEAy5GX4999om3fGkLfX7/YVeAC+pt5lPu82d2S2MhosapYtmHwvJhJwqX6H5O98LlYb5YXtaXZOYfRN9hMUAfZZj0X4u/Hl3uyXq4zP/qD3y2Z5C8AVptYTIvl2V7FwKB1mDQfcICbBZiWQuok= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=W996ew54; arc=none smtp.client-ip=209.85.214.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="W996ew54" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2b4654f9bb6so60274135ad.2 for ; Tue, 12 May 2026 06:52:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1778593935; x=1779198735; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Xp2eTULm+es8Wu3cc+9ip/4cUy4gWIHFr5oWFmkPRoM=; b=W996ew54WeD7stfdGjMyZpdT7Z6GX/3jyMeK9paaKEocEjIbAseULStIf8HhB/j7dJ Q6VWif9N9CWf4Vg7QB3NFdtcn409GzwArpfqGyWYC/CwTqAmPAKu8wRe7k+FUvNdkDgb CfOqKCE6cRKQmCUlDZF0v1pR7MQI96Bgg5W6DoVeoXoM9frJ4UmX8B0EhqUzhu4Ro53f c+v5KrVnflafnnIP3knzY/RgBaM0t8SUfUoPD94woJojySSd5Dn8a5ZyhN8ZPrt20K/x 1aJMyrwc+BJAIcBs5EgELW3PNzyUb7kmhDpVfmyltzquTr+wri6Je9DNzoScMbs1fkOs ZLCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778593935; x=1779198735; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Xp2eTULm+es8Wu3cc+9ip/4cUy4gWIHFr5oWFmkPRoM=; b=CGvExsGT1s5d/F5Q+QaSj14t35PNPVCmH6kv67YHC8S4Qcw6cWqefWgeOyAPfZ1kJ8 E3GktIxV5xIUel19S0cbYAUK3b9eUMKyIPyZ3s0ejKCcw25+inXQO64v6xyl4q8w5gPh G8rDUo8YSinUnhReczFHJnYPNUwE72lR59zbns0Y4uPYcfY8iSQbCZlDMxqbYjUNoLWk Rm0FS6XJIOYh5ebMtJNchgMOWpUJ8vA1FoPvXu1LrRfAp6om4nu9WgBDtT1TkQMEYC4I kfW/nEuRjbUDqm79lLBI5x5LPswnx5Oqql8eD1FsbV2u3PbAy6F9dTg15VHwOPipsoPg BfRA== X-Forwarded-Encrypted: i=1; AFNElJ+UZ++g9LirjGoUtlovHvA7tlVVTK6hhpjj2OFICraLKnRJSMWGvbO/K2rpDIk0+lGqBloj+UVGG04GkXM=@vger.kernel.org X-Gm-Message-State: AOJu0Yxa0Ruk2rrn2rrPJ/eW1HX6xDFgclFo6qi4gCK1SjQY37tuWDSm n7vKq+9bZsY8GVMLZHfB8dT6kZlIKpVcGC023f17t0gon0N4oSnb75q85MGNlh3AQIsiTUO3kHa VxBW5FQ== X-Received: from pjbsl3.prod.google.com ([2002:a17:90b:2e03:b0:368:4cf0:fd0]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2e0f:b0:368:9da3:c496 with SMTP id 98e67ed59e1d1-3689da3c65dmr6116340a91.24.1778593935072; Tue, 12 May 2026 06:52:15 -0700 (PDT) Date: Tue, 12 May 2026 06:52:14 -0700 In-Reply-To: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260511143426.1242013-1-piotr.zarycki@gmail.com> Message-ID: Subject: Re: [PATCH] KVM: selftests: sync_regs_test: use KVM_SYNC_X86_VALID_FIELDS From: Sean Christopherson To: Piotr Zarycki Cc: pbonzini@redhat.com, shuah@kernel.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="us-ascii" On Mon, May 11, 2026, Piotr Zarycki wrote: > On Mon, May 11, 2026 at 07:56:50AM -0700, Sean Christopherson wrote: > > On Mon, May 11, 2026, Piotr Zarycki wrote: > > > Use KVM_SYNC_X86_VALID_FIELDS instead of open-coding the same three > > > flags, ensuring the test stays in sync with any future additions. > > > > > > Signed-off-by: Piotr Zarycki > > > --- > > > tools/testing/selftests/kvm/x86/sync_regs_test.c | 3 +-- > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > diff --git a/tools/testing/selftests/kvm/x86/sync_regs_test.c b/tools/testing/selftests/kvm/x86/sync_regs_test.c > > > index e0c52321f87c..8f9239f9d357 100644 > > > --- a/tools/testing/selftests/kvm/x86/sync_regs_test.c > > > +++ b/tools/testing/selftests/kvm/x86/sync_regs_test.c > > > @@ -79,7 +79,7 @@ static void compare_vcpu_events(struct kvm_vcpu_events *left, > > > { > > > } > > > > > > -#define TEST_SYNC_FIELDS (KVM_SYNC_X86_REGS|KVM_SYNC_X86_SREGS|KVM_SYNC_X86_EVENTS) > > > +#define TEST_SYNC_FIELDS KVM_SYNC_X86_VALID_FIELDS > > > > Explicitly defining the set of fields to test is very deliberate. (a) we want > > to detect ABI breakage, e.g. if KVM removes a valid field. (b) if a field is > > added in the future, the test likely needs to be updated, i.e. would break if > > KVM extends KVM_SYNC_X86_VALID_FIELDS. (c) KVM_SYNC_X86_VALID_FIELDS probably > > shouldn't be defined in a uapi header; for all intents and purposes it's a KVM- > > internal details. > > > > > #define INVALID_SYNC_FIELD 0x80000000 > > > > > > /* > > > @@ -255,7 +255,6 @@ KVM_ONE_VCPU_TEST(sync_regs_test, req_and_verify_all_valid, guest_code) > > > struct kvm_regs regs; > > > > > > /* Request and verify all valid register sets. */ > > > - /* TODO: BUILD TIME CHECK: TEST_ASSERT(KVM_SYNC_X86_NUM_FIELDS != 3); */ > > > run->kvm_valid_regs = TEST_SYNC_FIELDS; > > > vcpu_run(vcpu); > > > TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO); > > > -- > > > 2.54.0 > > > > > Thanks for the explanation. What's the preferred way to implement the > build-time check mentioned in the TODO? Honestly? Just delete it. It should be quite obvious if someone updates the test to add more fields, without actually adding coverage for the new field(s).