From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 87ABFCCD184 for ; Tue, 21 Oct 2025 16:56:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:Cc:To:From: Subject:Message-ID:References:Mime-Version:In-Reply-To:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=QUj6Jzqtl7pAwgzbknudC50aTFamgZNMeXgKkiBAGZE=; b=qe8zJWoS+5vEuMpIEk4XiuxVc1 arRvYNgpRkuIqOWoriCE0V0veKUXlup6BnFBqrWe1ZpU5wzOL1cdVUB3a4rkZ2G63I751MDZ90bLM LAnPF4IVeajC7vN5UAhT858LBApvO4SdrnJx4zlZEEMq0gu4A/UtWwOttpIGv/RKoyu2m323u1cpu KdraXgE59U0UgnPisw7W1rQwEi7LNUyw5GJngXQVV3OMaQHoc8r+pqLsM7LiYIFW4FGjdF4w5n4ZK gO6QEswBpYqrqiitQumkxIP2eRjUUjq4uUhAr0kM2jsTfgIpC3/hizOmb5VzcCbEXNaI65Rtj78fh 7QsOPKDw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vBFeq-00000000AdX-3lLT; Tue, 21 Oct 2025 16:56:24 +0000 Received: from mail-pg1-x54a.google.com ([2607:f8b0:4864:20::54a]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vBFeo-00000000AcP-3lZH for linux-arm-kernel@lists.infradead.org; Tue, 21 Oct 2025 16:56:23 +0000 Received: by mail-pg1-x54a.google.com with SMTP id 41be03b00d2f7-b6a2409137dso4628189a12.3 for ; Tue, 21 Oct 2025 09:56:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1761065781; x=1761670581; darn=lists.infradead.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=QUj6Jzqtl7pAwgzbknudC50aTFamgZNMeXgKkiBAGZE=; b=M09Ic7L3EXTJomsPutM35QBkir6X7cyP+8irAAyksRHaxK+cRdAYS1HdGVczkSXIim ExhRkrw1QfyHFGUweVcKblhccGB24mBEeb1TVHdfmPWZX547JLAv5axjcru5fk7MjOHA IYGYWjx6CCXLPNI78yOOQ7QIMsK0LZwxIzdoBA8A20LKWylO4aAVHwg4/vKM72PHClVs KEVmfxNoQgo/QjAEftgAmJcYlS+7mW90YfyFne+dglikYs3+3u5XfK/Y/1112giztTm4 viSRjgtNzx+d7gF4lFJdJdjBVoDSl4tdcJDb3FBH+yXbBRnykz/Sm+gj0k049CEd3SQn ZOqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761065781; x=1761670581; 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=QUj6Jzqtl7pAwgzbknudC50aTFamgZNMeXgKkiBAGZE=; b=hNDJlPzQhSATWEZyTBjTaNiOmfG1ygmSc2H4zona+DnB3CLU69j1aCgfd9n3WW7oRO cH0xA1Z0qhEvzXZEVl+1nDzWgFGOG9L0W6/yGSkjszOEuH1L+8O9KK31Es3q/D0/mfun A10ZwoQb58SEx9PTlh+hAGC0Gpc7/k7ysThW9n/vRoo+JcG2KxZ5cmrhiHp6zHlQcLoh tQorhHc6GWTRARYaMTGfqR9JbnwF27yZt1Vi6cQculWRC6nMjpNMyDwAs2o38HriurGD G/eb24CHeyzyhalLCXIGrUKvL1WZ7JBdGieNzHtiilmbBs4KcUuMLZqinxCvw0u8qMGy jTYg== X-Forwarded-Encrypted: i=1; AJvYcCXMxMyCkKed807NKUA9tgu7tdawGpZzWY2VQOzZWKhZEc6fbk6HFNdJRnJ9s5pogskejfs1J5yBMUYbvPA1vifb@lists.infradead.org X-Gm-Message-State: AOJu0YwWLCISz7clpaFk/QXjc6pUn8mKoOEjthJA9T+J7w6Q6BiI/M9d wM4nyJFZIzGqS4j1u/3Xsne92QUosJIfHhuIydECKULMyMN4cUYn7OandNSmjyIxc4TqzE45vWs /iHSw4g== X-Google-Smtp-Source: AGHT+IGOqKmUzCbfjGYr8B2jY/C1mdIZnvxK8+ss+AVkwVotQdjiGEd+3SJ7VfMTaFoQGYSh7+8f99sR5n0= X-Received: from pjre3.prod.google.com ([2002:a17:90a:b383:b0:33b:51fe:1a75]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:e88e:b0:250:1c22:e78 with SMTP id d9443c01a7336-290c9c89c9amr235880025ad.1.1761065780727; Tue, 21 Oct 2025 09:56:20 -0700 (PDT) Date: Tue, 21 Oct 2025 09:56:19 -0700 In-Reply-To: Mime-Version: 1.0 References: <20251017003244.186495-1-seanjc@google.com> <20251017003244.186495-24-seanjc@google.com> Message-ID: Subject: Re: [PATCH v3 23/25] KVM: TDX: Use guard() to acquire kvm->lock in tdx_vm_ioctl() From: Sean Christopherson To: Rick P Edgecombe Cc: "chenhuacai@kernel.org" , "frankja@linux.ibm.com" , "maz@kernel.org" , "borntraeger@linux.ibm.com" , "pjw@kernel.org" , "aou@eecs.berkeley.edu" , "kas@kernel.org" , "maobibo@loongson.cn" , "pbonzini@redhat.com" , "maddy@linux.ibm.com" , "palmer@dabbelt.com" , "imbrenda@linux.ibm.com" , "zhaotianrui@loongson.cn" , "anup@brainfault.org" , "oliver.upton@linux.dev" , "kvm@vger.kernel.org" , "linux-coco@lists.linux.dev" , Kai Huang , Yan Y Zhao , "michael.roth@amd.com" , "linux-kernel@vger.kernel.org" , Ira Weiny , "loongarch@lists.linux.dev" , "binbin.wu@linux.intel.com" , "ackerleytng@google.com" , "kvmarm@lists.linux.dev" , Vishal Annapurve , "kvm-riscv@lists.infradead.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-arm-kernel@lists.infradead.org" , "linux-mips@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "x86@kernel.org" Content-Type: text/plain; charset="us-ascii" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251021_095622_939615_DD408C75 X-CRM114-Status: GOOD ( 11.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Oct 21, 2025, Rick P Edgecombe wrote: > On Thu, 2025-10-16 at 17:32 -0700, Sean Christopherson wrote: > > Use guard() in tdx_vm_ioctl() to tidy up the code a small amount, but more > > importantly to minimize the diff of a future change, which will use > > guard-like semantics to acquire and release multiple locks. > > > > No functional change intended. > > There is a tiny functional change. In the default case it no longer re-copies > the struct back to userspace. No? The default case doesn't copy the struct back even before this patch, it explicitly skips the copy_to_user(). mutex_lock(&kvm->lock); switch (tdx_cmd.id) { case KVM_TDX_CAPABILITIES: r = tdx_get_capabilities(&tdx_cmd); break; case KVM_TDX_INIT_VM: r = tdx_td_init(kvm, &tdx_cmd); break; case KVM_TDX_FINALIZE_VM: r = tdx_td_finalize(kvm, &tdx_cmd); break; default: r = -EINVAL; goto out; <==================== } if (copy_to_user(argp, &tdx_cmd, sizeof(struct kvm_tdx_cmd))) r = -EFAULT; out: mutex_unlock(&kvm->lock); return r;