From nobody Sat Feb 7 06:21:42 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1171B2FDC22 for ; Mon, 22 Dec 2025 21:24:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766438673; cv=none; b=SWtKhPOpCCTTj6ie5PgC25eyE0Myuen3dsAH1DlB4VdKhof0v2BbSbvghiCx83E6vvRMBvKmkIY+N7/Q01OKbZ+yVJ7Atjb6mDOU0z8u2yBhK2Yvg4vVDu9x+m1O3POHKOHcoPvoe1kLE2L2/fVQ2byN4HTed8TojKnh8oxAoHg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766438673; c=relaxed/simple; bh=6G/rureTs/LIq0vCbBX7RFmJGZEJeM/iqvCu5gGIK38=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=cmxB24nwpJw69QUW2TIrGiBOKTbXi4/lqk/XpvtqQzAOY1LB3VC605gVBLogb5glcBNiUxTvNruGk51W/tUNA2Hni0ZtMirfOuVsWrS8B3ovI1dKL9tiQaVRN1JUBL79UK9hkNQX88rDG78Vne72287MeZEBYLWOaOjOhSw21PE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=WtG6sKD7; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=KbKTBFup; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="WtG6sKD7"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="KbKTBFup" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1766438671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=NTwD9UMpmb1CpesXI2JDuqyrvxD7xQACIpug7Oxl9n4=; b=WtG6sKD75NbMsrBDNR6wjYe01Zc9iw5YhkJEEGFP3gXSwPAwg1Sni22z6+3BVGJy5g2FQ1 Omj5bB9EfseYg3l538z1kHLj599K7mCvwWQF9uvfmv4ftAuMs7MIQQHziR08NEipr9ZaZM l9E1Kv/EiOdGbBGfNxOZ9zStpP+xo+A= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-627-CJp7DK5EPjCZhZldOwrayg-1; Mon, 22 Dec 2025 16:24:29 -0500 X-MC-Unique: CJp7DK5EPjCZhZldOwrayg-1 X-Mimecast-MFC-AGG-ID: CJp7DK5EPjCZhZldOwrayg_1766438669 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-477bf8c1413so23504725e9.1 for ; Mon, 22 Dec 2025 13:24:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1766438668; x=1767043468; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=NTwD9UMpmb1CpesXI2JDuqyrvxD7xQACIpug7Oxl9n4=; b=KbKTBFupoEcCETUhLAzRLnoulKQbGfTxX93FmoQ9zRJYCiI21WzCnkyTSTwGwR3CYl 6TnnCN7/PDd2vKvs/+of8vDv+cGrpQnA/CMqVPLg62YlY+sJeYGXspBvn3Pn3LdOon91 3YeX1w3Jj8TXduPZnpayAcYSC3zmWS4D9KL5Xb/o43yOkYT7luUIysMvIls6NUn3aAJW O3g2rD8NluZfD1ibenWle6NxIsOBK2RWZADEspFEkopUgQVCHXT02qjQGBuIDH6DUblu I+hA/HHmTyqsjTJHaHlNYzt31faYPigebHWtgTAtqqUwgY+5pcfUWKWmyxoodI7RtzYr 36Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766438668; x=1767043468; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NTwD9UMpmb1CpesXI2JDuqyrvxD7xQACIpug7Oxl9n4=; b=mtVHDmkPshQz/XHeFkPSFzfcNDppvuPu68pfkqso0dFjtJap5j/ZBbmSUJGlsq5ihw W/M6OcWrVuXcw2M3tZZ6cVtO1CecV+/ElDiN3KfDTzTYTZqYC30+4FwDJ3vpFrkz381W tgrZEMLP5v0F1K03WholBWyDMHm2NPmaXvgjDxTvpVq+jUY6kedY+NIrWPTG32yVx5KP Creb6ijYPI5DXvCFBKWk6hYrwfafSwE1MPM5kURMcgDl4GjrazuTHv9YI4tUn0h/hNEr 5k8qthFyzwZ7w1vb6pxepRDPge1u7zPccLE7ffsvJrYDfh2//19NchhRBFf82OJzTnPv oNNQ== X-Gm-Message-State: AOJu0YxP+MA/ezAFsuu8pkW1zhhEF966T3F81Tf+C0c2hREwLc/jXtpv f9siAy6hjh4nbcdJuVlmMtEkGpU7+YdPmfXE1IE3q4h+wID8RsV5aUHAr4IGYTyRe9LCBQH0yT7 K1dqwhuuM871DPud0/5MhsrKCOt1LJuLa5CX5lJgl4AThOMazwQL4tf5PPg4eHNzTq5//foDE/k rXFvmmnq/oqOffcBTONXGVXqlmkN7t61kImujRtanEmTApbdk/7Q== X-Gm-Gg: AY/fxX5VBPbQ6vRcZ0vgjDKosC6pJlYrBBuM+1mm826newkm8FovdHabcB+QsXI73wJ o1SHtXgKKOeg7mQWFlOgwYYyrUo21nKYRdRm9UFdDIFgvaphUkzpQtT/43hW2p1gwJ158uw0I8J iiAlJy8pDvYdI2c53AdPg/BLVD55G5g4lMxdaei4mvF+AHYeD9UrfKgZLH0HjH/KgZDPyL3DUOE ReVswl+J34iljeC2Cpb5okWXkR4J3jo735lYga9YxPkeqqEchPUzk1J7G5fyaY01gkFa8ZCyku8 2DEX1nXMQBu+/MQzNoe56d3ABGliII7EKN8OUt5khgvLhSEp9AbG6rOTv6KqooSAB41lg1AtxNW 121JkiySwRCFqSzBeiZXi1KI8+oEBzGQuPgAoLEz0m4twqYDjanTUr4As6Xi3gy9yBpyqgkxVLB E492cUM2fIoYWhEBw= X-Received: by 2002:a05:600c:3489:b0:479:2a09:9262 with SMTP id 5b1f17b1804b1-47d1953dabamr129873525e9.9.1766438668073; Mon, 22 Dec 2025 13:24:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IHSvoVw1UeQgqipe3BnueWIKEomrH/EsAPO1d+tieW2DQB9Osd2BqZ+h7A/qPKJsr17yTIOng== X-Received: by 2002:a05:600c:3489:b0:479:2a09:9262 with SMTP id 5b1f17b1804b1-47d1953dabamr129873395e9.9.1766438667630; Mon, 22 Dec 2025 13:24:27 -0800 (PST) Received: from [192.168.10.48] ([151.95.145.106]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47be2724fe8sm311947015e9.1.2025.12.22.13.24.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Dec 2025 13:24:27 -0800 (PST) From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: x86@kernel.org Subject: [PATCH] x86, fpu: check for consistency after loading fpregs Date: Mon, 22 Dec 2025 22:24:26 +0100 Message-ID: <20251222212426.834058-1-pbonzini@redhat.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" fpregs_assert_state_consistent() does nothing if TIF_NEED_FPU_LOAD is set. But in that case the FPU *will* be loaded very soon; move the checks after the load, thus ensuring that they are performed. Signed-off-by: Paolo Bonzini --- arch/x86/kernel/fpu/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c index c802321acb5d..28d1d25f62d4 100644 --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c @@ -860,10 +860,10 @@ void fpregs_lock_and_load(void) =20 fpregs_lock(); =20 - fpregs_assert_state_consistent(); - if (test_thread_flag(TIF_NEED_FPU_LOAD)) fpregs_restore_userregs(); + + fpregs_assert_state_consistent(); } =20 void fpu_load_guest_fpstate(struct fpu_guest *gfpu) --=20 2.52.0