Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7546679rwb; Tue, 6 Dec 2022 07:07:10 -0800 (PST) X-Google-Smtp-Source: AA0mqf4T4E78TbnRf/YS2UiE+6CJKhOq44QbmIerX2A0GgFl6pJNAbkm3hKBWiz99VyhVnWViI7P X-Received: by 2002:a17:90a:2dc8:b0:219:baef:3ba with SMTP id q8-20020a17090a2dc800b00219baef03bamr14740912pjm.6.1670339230452; Tue, 06 Dec 2022 07:07:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670339230; cv=none; d=google.com; s=arc-20160816; b=gkwitybONttTp5FwzBfE5m9Gc9c7PvUbejYY/alW11aXQbCwwlKFHlhdMrgQVxs+qL QTrs9DDqRDyuZt90mu3Bq/BJeljKaVWEY8PVkWUv/gqAiehExlwbnXY/o3r6TSE8G4ga FOPO/5K9pmxWzLl0IvhIgU/ZBWOHwsXHeFKW98kKNE+h0SrfRaOJdyMVo/YwV0p0cMEj pGjNtakrW9gDZIgZ8I4md9lbSsul70qkr+sGTkTcIPFBscCkvnXEfPcmx0TajOKB0ZVN x3DIVc+7ZEsJP9B90lSAfA6vIMk/xiNBNqI0JxwDCkY1M9RHR0m+z4NyN3Oc3RkNhx3m 4mlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:dkim-signature; bh=3ECE0g7YbfMnTJuWIRmn1xP32SqigQ6zugR1ek2C/cw=; b=sY1fks6XHTyZSx2amEIb6Fen65AmmrR3oD0v4LTBAJZ1m+RUDXemFZCg0FFxJiq5La xgNbgXVNvgMWJ1x8MD+btXhzt7KyskY/pMIziHr613sUDHUM9fSaNeuG0QyYEFMxhl2m /8pUw4hCfB8U2MlEiuUSQ2tr1deoTwRpmYE7alURU3kvAgm6Mk8V1+WDcptgpe76LzvM kAnUuvtkyy3vWiuWnH9ibX0lDMDfJ1yKNQ6ubp6Uu/Pyoyilb9HXDi2OE9EXSOVPFyjV M4SrJ/I/nwS0k8OFmGtTMcllUN5bPgQhb/rv6PhJrhG8o6VnGZRPPJ86rV2xwxZ1trTZ iBHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=c89Gb1+C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 195-20020a6304cc000000b00476e8fca287si18239918pge.335.2022.12.06.07.06.58; Tue, 06 Dec 2022 07:07:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=c89Gb1+C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231287AbiLFNyL (ORCPT + 79 others); Tue, 6 Dec 2022 08:54:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233495AbiLFNyJ (ORCPT ); Tue, 6 Dec 2022 08:54:09 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C2F7D2B608 for ; Tue, 6 Dec 2022 05:53:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1670334789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=3ECE0g7YbfMnTJuWIRmn1xP32SqigQ6zugR1ek2C/cw=; b=c89Gb1+CI+5sMv+0HGEy8NJDxQwbNdtxWcgzmEHedSECkW61wy1Ap28PyhuD3rck6eLPTZ XMZCFbdlljs9LLCecXD6pPHxh9mDhIZBgdjh+aLIwmxbfR/TdfTtwfmUzSNoRTwd341EQr qFMA1tJ5eLqx8c0oU7ZtpFeXbXE9aWk= 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_128_GCM_SHA256) id us-mta-542-7IVfiazxODSYWQeI1UbTCQ-1; Tue, 06 Dec 2022 08:53:07 -0500 X-MC-Unique: 7IVfiazxODSYWQeI1UbTCQ-1 Received: by mail-wm1-f70.google.com with SMTP id i203-20020a1c3bd4000000b003d0f49bc21bso4397404wma.6 for ; Tue, 06 Dec 2022 05:53:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3ECE0g7YbfMnTJuWIRmn1xP32SqigQ6zugR1ek2C/cw=; b=2+GwuXCo/Xq1fLqhMSXfhWv6UZork1yyBS4AureXC7sP1TzGerSQTRG2yNUFpRkb1c rowsf0vTGxI0T3OApatnwZVaxi0swIvOhaQpbaDtpWoW1GscAjYxV7UP+zc+h25Byxy0 /TeGc81kdZcBiR9lkAusYHAh+nL1SN57riwLnZjkWoWqsEZBRbyVEcqJPdoyghKp3bXD sFQxb9UEpYxJYRg3JQmOklxuTtudR9lJTgmpwyKsURarPeK7lwDK+T/XRaitHyTHjyOR My14phhiXQ31LzZxfJCIfosCRUKkGxPSfYBk/lsPrl6cuBI1rR9uGB/Fg3V0bYFbHF6a uLVA== X-Gm-Message-State: ANoB5pkEAoassQLsX5lJHU+cmgF4lKDyXvVIMZKhoPpeMnSOx9hnnNFc uBS+3qvjZU8rIVFmlVMDzel0M0RtEWLEA26mVWnD3F813PGDoySrzR4qPtri9ZC19aVc28lGMmG Xc+RvMYm/Z5ZUI3J4rnYUMqMgBaGI8pX3fEmsX0Z7h9vhRLMZkQa9OntsBMfnUg+P574NBZdxSf c3 X-Received: by 2002:a7b:c315:0:b0:3cf:ca62:7ab with SMTP id k21-20020a7bc315000000b003cfca6207abmr334264wmj.23.1670334786666; Tue, 06 Dec 2022 05:53:06 -0800 (PST) X-Received: by 2002:a7b:c315:0:b0:3cf:ca62:7ab with SMTP id k21-20020a7bc315000000b003cfca6207abmr334256wmj.23.1670334786383; Tue, 06 Dec 2022 05:53:06 -0800 (PST) Received: from ovpn-194-152.brq.redhat.com (nat-2.ign.cz. [91.219.240.2]) by smtp.gmail.com with ESMTPSA id j4-20020a05600c410400b003cfbbd54178sm2937311wmi.2.2022.12.06.05.53.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Dec 2022 05:53:05 -0800 (PST) From: Vitaly Kuznetsov To: Sean Christopherson Cc: kvm@vger.kernel.org, Paolo Bonzini , Wanpeng Li , Jim Mattson , Maxim Levitsky , coverity-bot , linux-kernel@vger.kernel.org Subject: Re: [PATCH] KVM: x86: hyper-v: Fix 'using uninitialized value' Coverity warning In-Reply-To: References: <20221202105856.434886-1-vkuznets@redhat.com> Date: Tue, 06 Dec 2022 14:53:04 +0100 Message-ID: <87pmcwd4fz.fsf@ovpn-194-152.brq.redhat.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Sean Christopherson writes: > On Fri, Dec 02, 2022, Vitaly Kuznetsov wrote: >> In kvm_hv_flush_tlb(), 'data_offset' and 'consumed_xmm_halves' variables >> are used in a mutually exclusive way: in 'hc->fast' we count in 'XMM >> halves' and increase 'data_offset' otherwise. Coverity discovered, that in >> one case both variables are incremented unconditionally. This doesn't seem >> to cause any issues as the only user of 'data_offset'/'consumed_xmm_halves' >> data is kvm_hv_get_tlb_flush_entries() -> kvm_hv_get_hc_data() which also >> takes into account 'hc->fast' but is still worth fixing. > > If those calls aren't inlined, then 32-bit Hyper-V will be "consuming" uninitialized > data when pushing parameters onto the stack. It won't cause real problems, but > checkers might complain. > > What about shoving this metadata into "struct kvm_hv_hcall" as a union? That'd > help convey that the two are mutually exclusive, would provide a place to document > said exclusion, and would yield a nice cleanup too by eliminating multiple params > from various functions. "struct kvm_hv_hcall" used to hold raw data from the guest and 'consumed_xmm_halves'/ 'data_offset' are rather our implementation details, how we consume these data. I don't see why we can't re-purpose it a little bit to hold both, let me try that in v2. -- Vitaly