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 X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 355D6C2D0DE for ; Tue, 31 Dec 2019 20:34:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 06EFA206E4 for ; Tue, 31 Dec 2019 20:34:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727134AbfLaUeS (ORCPT ); Tue, 31 Dec 2019 15:34:18 -0500 Received: from mga11.intel.com ([192.55.52.93]:38711 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726961AbfLaUeR (ORCPT ); Tue, 31 Dec 2019 15:34:17 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Dec 2019 12:34:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,380,1571727600"; d="scan'208";a="213730197" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by orsmga008.jf.intel.com with ESMTP; 31 Dec 2019 12:34:13 -0800 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1imODV-000CJY-3T; Wed, 01 Jan 2020 04:34:13 +0800 Date: Wed, 1 Jan 2020 04:33:29 +0800 From: kbuild test robot To: Yang Weijiang Cc: kbuild-all@lists.01.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, pbonzini@redhat.com, jmattson@google.com, sean.j.christopherson@intel.com, yu.c.zhang@linux.intel.com, alazar@bitdefender.com, edwin.zhai@intel.com, Yang Weijiang Subject: Re: [PATCH v10 06/10] vmx: spp: Set up SPP paging table at vmentry/vmexit Message-ID: <202001010334.Qs5puXxe%lkp@intel.com> References: <20191231065043.2209-7-weijiang.yang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191231065043.2209-7-weijiang.yang@intel.com> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Yang, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on kvm/linux-next] [also build test WARNING on vhost/linux-next tip/auto-latest linux/master linus/master v5.5-rc4 next-20191219] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Yang-Weijiang/Enable-Sub-Page-Write-Protection-Support/20191231-145254 base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next reproduce: # apt-get install sparse # sparse version: v0.6.1-129-g341daf20-dirty make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag Reported-by: kbuild test robot sparse warnings: (new ones prefixed by >>) >> arch/x86/kvm/mmu/spp.c:202:5: sparse: sparse: symbol 'kvm_spp_level_pages' was not declared. Should it be static? >> arch/x86/kvm/mmu/spp.c:419:6: sparse: sparse: symbol 'kvm_spp_flush_rmap' was not declared. Should it be static? arch/x86/kvm/mmu/mmu.c:4807:57: sparse: sparse: cast truncates bits from constant value (ffffff33 becomes 33) arch/x86/kvm/mmu/mmu.c:4809:56: sparse: sparse: cast truncates bits from constant value (ffffff0f becomes f) arch/x86/kvm/mmu/mmu.c:4811:57: sparse: sparse: cast truncates bits from constant value (ffffff55 becomes 55) -- >> arch/x86/kvm/vmx/../mmu/spp.h:16:27: sparse: sparse: marked inline, but without a definition arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (110011 becomes 11) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (110011 becomes 11) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100110 becomes 110) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100490 becomes 490) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100310 becomes 310) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100510 becomes 510) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100410 becomes 410) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100490 becomes 490) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100310 becomes 310) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100510 becomes 510) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100410 becomes 410) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (30203 becomes 203) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (30203 becomes 203) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (30283 becomes 283) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (30283 becomes 283) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1b019b becomes 19b) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1b021b becomes 21b) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1b029b becomes 29b) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1b031b becomes 31b) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1b041b becomes 41b) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (80c88 becomes c88) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (110311 becomes 311) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a081a becomes 81a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a081a becomes 81a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a081a becomes 81a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120912 becomes 912) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120912 becomes 912) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120912 becomes 912) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (110311 becomes 311) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120992 becomes 992) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120992 becomes 992) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100610 becomes 610) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100690 becomes 690) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100590 becomes 590) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (80408 becomes 408) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a039a becomes 39a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a041a becomes 41a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120a92 becomes a92) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a099a becomes 99a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a091a becomes 91a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a048a becomes 48a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a039a becomes 39a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a041a becomes 41a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120a92 becomes a92) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a099a becomes 99a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a091a becomes 91a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a048a becomes 48a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a010a becomes 10a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a050a becomes 50a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a071a becomes 71a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a079a becomes 79a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a009a becomes 9a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a081a becomes 81a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a081a becomes 81a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a011a becomes 11a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (180198 becomes 198) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a011a becomes 11a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a051a becomes 51a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120392 becomes 392) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120892 becomes 892) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a081a becomes 81a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a081a becomes 81a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a011a becomes 11a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a011a becomes 11a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100490 becomes 490) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100490 becomes 490) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120892 becomes 892) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120892 becomes 892) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100490 becomes 490) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a001a becomes 1a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a011a becomes 11a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a028a becomes 28a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a030a becomes 30a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a038a becomes 38a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a040a becomes 40a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a028a becomes 28a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a030a becomes 30a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a038a becomes 38a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (a040a becomes 40a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100090 becomes 90) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100090 becomes 90) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (180118 becomes 118) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a001a becomes 1a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (80688 becomes 688) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a009a becomes 9a) >> arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (80c08 becomes c08) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100790 becomes 790) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (100790 becomes 790) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (180198 becomes 198) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a011a becomes 11a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120492 becomes 492) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a061a becomes 61a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120492 becomes 492) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a061a becomes 61a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120412 becomes 412) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a059a becomes 59a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (120412 becomes 412) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: cast truncates bits from constant value (1a059a becomes 59a) arch/x86/kvm/vmx/evmcs.h:80:30: sparse: sparse: too many warnings Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation