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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2D06EE49A3 for ; Fri, 25 Aug 2023 20:04:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 587052800E2; Fri, 25 Aug 2023 16:04:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 537042800DF; Fri, 25 Aug 2023 16:04:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3D8492800E2; Fri, 25 Aug 2023 16:04:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2B6612800DF for ; Fri, 25 Aug 2023 16:04:46 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E8D0B1407B9 for ; Fri, 25 Aug 2023 20:04:45 +0000 (UTC) X-FDA: 81163704930.21.A1870D9 Received: from mail-qv1-f46.google.com (mail-qv1-f46.google.com [209.85.219.46]) by imf21.hostedemail.com (Postfix) with ESMTP id BA62E1C001B for ; Fri, 25 Aug 2023 20:04:43 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=2DCP05hs; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of ndesaulniers@google.com designates 209.85.219.46 as permitted sender) smtp.mailfrom=ndesaulniers@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692993884; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bs29xw10SRNGIK+cNNQqN7g2ipvhccnPkcKfeXZtYSs=; b=oiwyWSjcS3VYLXgVA8j0gRD3hTEwH9u4n1uQvGGDlRPlAIWCgDu7jaqaNoMyLdgYogMV+T MunGOH8nduIQITONT3UFJn2ZB1E2w5BbKTSgqjYrziuWKbZIlFGwlkFihhxojZwlhpYbe4 WK6NWRNKFlYtiHBA4c0CzYdY7uBw/OM= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=2DCP05hs; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of ndesaulniers@google.com designates 209.85.219.46 as permitted sender) smtp.mailfrom=ndesaulniers@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692993884; a=rsa-sha256; cv=none; b=PObeb1Vh1IKVV7nslDpODqfbdH5oKEvQ8iQ5VAWXACbNCuqFLvld9mquZG8FEkV0nrgRy7 gyUCMjvt3MgFC/1RiLVyhW94MKgFhFpD5CNCu3LwfiVepL0xyvvA681SO9cNX/HQOmC6cc jABNOxP52mgcF/BRZmRmt/NHQrdPjAc= Received: by mail-qv1-f46.google.com with SMTP id 6a1803df08f44-64f76ffab85so8027066d6.2 for ; Fri, 25 Aug 2023 13:04:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1692993883; x=1693598683; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=bs29xw10SRNGIK+cNNQqN7g2ipvhccnPkcKfeXZtYSs=; b=2DCP05hsG4eQDJywmHXXJnqzuHw9Y/wgrbGd0CVa91cm9CiOWAPFU8JkiRaGUs43sh GRKwTmy6aaVO4Kzpb8C1buCE+VlYi8w5hnIqxHBVCDVWiZvuAyub+atxpJOhNxFTlQbs uGkKPCTe+VmYSGONIjzEklBNeS8wndTpps90TGqxndQ3w2B5FrvaQ5N4kcycPBj8gPsu j/XK7UIhk6+xziFeYCXCPHbsLi0qwk725VFHcHtC/voBttGT7bFoB6drmMuByKZBZb25 Lw3eoRMkcxhIp0bdLmSvcrhMFziuihKKRdJ2eWjKYxxa6RWqk0FDU6GcW35CqEda/n5K vRyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692993883; x=1693598683; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bs29xw10SRNGIK+cNNQqN7g2ipvhccnPkcKfeXZtYSs=; b=WKa5IO+UOhNA1iWb49GlPnlDzfDvbiQq4HMW+SG1Enh8rlVAWiVctx57I9j1HEKqMb 1+rHrpWXALtTg1n5YizLj4ZRJ7Fgk3eQcO8qWHXj0PuRiKP7+Akq7QczY2o/2HecHf3X ajMZYlMHvVma5ZDo2mFUfT+HDp0IYuTm51t9xfFoxQzDwTmX6TCnqFapH9QuP3N+crq4 HR+9PN2Jr+7ov5E7N7879dol1j3DudZAzk6LCmmeXwHjUUTq+7TmLI7dtXOEWhbuARQT Ma2Al4m8UWiyDBAGV3TL61K7ZgMjoj1MY4TZbbYIMe2XO5l4Oaiwm5hmncSNbyvGr/Pj mypQ== X-Gm-Message-State: AOJu0YwHgDajajaW1EPWHEiI8HaOlGSMZHWV2r/abourN4HLRrDONbbc N64YOmVv4CFAZM2tn6o+Hj0QawrTVW24Xve5K4L8dg== X-Google-Smtp-Source: AGHT+IFZ6NuIfRAXBaz7gAFVr7wWN+jiMnVHDzKWRspR3LpMEU/QY+aa/ZtinnL4fwAbN4krsf3cMJQrkYdA6NcETYQ= X-Received: by 2002:a0c:8e83:0:b0:635:e0dd:db4b with SMTP id x3-20020a0c8e83000000b00635e0dddb4bmr18237764qvb.37.1692993883038; Fri, 25 Aug 2023 13:04:43 -0700 (PDT) MIME-Version: 1.0 References: <202308251949.5IiaV0sz-lkp@intel.com> In-Reply-To: From: Nick Desaulniers Date: Fri, 25 Aug 2023 13:04:31 -0700 Message-ID: Subject: Re: [linux-next:master 3581/12910] arch/powerpc/kvm/../../../virt/kvm/vfio.c:89:7: error: attribute declaration must precede definition To: Jason Gunthorpe Cc: Yi Liu , kernel test robot , llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Linux Memory Management List , Alex Williamson , Ard Biesheuvel , Jessica Yu , Kees Cook , Will Deacon , Nathan Chancellor Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: BA62E1C001B X-Stat-Signature: n4x7eg9cng1znsecjd7ejwuz666p46x1 X-HE-Tag: 1692993883-888604 X-HE-Meta: U2FsdGVkX18h68g5lis6yTP3W8FmJ7hx9iZUIwgsYQFkeCNuiSvb5okOnSG7Qme8xAB4kRNnfqlXHhzzy0FDC2PzdQnNJp6kpuLCiX3CA7YqIKkYK+h4XWwZcUcIlA8mt7xzMlqiLhhmzfCbO/Ep2LoUYL57/uQYulrcnRgSuhB5m6f+iWtTfZZwwsyas9Smq4qXBcSWDjCypPzp8z5sFao0jPVOesL0aApwIwgyvij5na0Y/N2us3Q47I4BblDkxb5NqGXrb7ABwHXA8lI1QuHr//ihWQsVj25mdOgLtMELNKhoktLfvBOwYMB/HlACo0TRrBP2BUV9Ne21Er8Z3GVlAYdeWhZ6RByxi6CdCca+8QQSlTDlWMGDTLwnmKz5LFhzON04mrMz3G6pUlCo+4HQBTB+vLAwOEdKyPSyqjVpCpx0o2BeD0x/fYF1dZQZDqfvCxM9GfcVnUirEam380dVLGArsH8ygsHEe1pih7ubmttemmc5d+JrfRQqvSzY02s3NX3mjnbJHpy7zeSkortfKkpiKlsZr4/dpnojVbou9HEO2YUZZ42SEtoCsZgPF/fcu2FEoNg+nX05XpMiZllbKeNLr1VrEE0KUPDbbpao566QTwqAwgZILe+TJRRqHfrYDlQiB8IczAEK42een5ADCpkuFldaSfx/yrIL2rgmVChrpT+fawK84XSKehVY+vUNDPAEjwCpr8OjPq7e3bIfKMxWQLueTXgbz5/SLMhUONDqXNWPd4V7zO8jbtlfb0Zmp0AK3EPMyWgwkFhj+8TwDFbWDUzmeiezID6jEyE5h9EJ+gSzHLZs7zJerLp/AxIKrfoofBFIK2Rj5aGgk+byEiaW1fEW2Rjzn3AAYzKB6JihbQmLL7zXPOm2vzuGFeH2paG4Y5WZCHQTl/zncp1Dlv7q6vgm2SDWKtUao8Q5tceKTI76TLH+L0Z2qqAf6WndwFqTSSgeIELLubr DJcor1bR Txxc/szgjoHPMJv2zSsmAzMLbDCfYXLszwFXG6g3jh/e6TTRAWWdy77yQuuPKuTVcOZTnMIo/eO25R60+oCg+eFMG6OT4WvDOHTha7p5Z4DtfsLGBdy9rGrvRzHAnKFet/aadBB5FLSZq5ehTq+WGRsz7UUp3uGv81lXm43MEdYpeXainYMktNkfuqkEEXlfPlyahiQdRTzTlJKzzdvOZbfSTMGEG9B735Jht7I9T69eqaBordqsHKanpd+hxCfqYIxjOgmgXg7CTOeYlqz/ZYyz6Pzl0qEqrWeVpodkEQVDzCLbjdKNfcBoQPQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Aug 25, 2023 at 12:40=E2=80=AFPM Jason Gunthorpe w= rote: > > On Fri, Aug 25, 2023 at 11:49:53AM -0700, Nick Desaulniers wrote: > > I think this example demonstrates a little clearer what's going on: > > https://godbolt.org/z/9d6scv1hE > > > > So based on the warning, it seems like symbol_get() can only be used > > before the parameter it's passed is defined, otherwise the "weak" and > > "visibility(hidden)" attributes are ignored. These attributes are > > merge-able upon redeclaration up until the first definition. > > No, that doesn't make sense. The macro does: > > #define symbol_get(x) ({ extern typeof(x) x __attribute__((weak,visibilit= y("hidden"))); &(x); }) > > x must be defined for typeof(x) to work. x must be //declared// for typeof(x) to work, but x doesn't need to be //defined//. https://godbolt.org/z/qv6zPWf9K But I think it's kind of moot, given the kconfig discussion below. > > I think the issue is that: > > # CONFIG_VFIO is not set > CONFIG_KVM_VFIO=3Dy > > And > > kvm-$(CONFIG_KVM_VFIO) +=3D $(KVM)/vfio.o > > Which is a combination that doesn't make any sense. > > Looks like CONFIG_KVM_VFIO should probably be called CONFIG_KVM_ARCH_VFIO > > And then > > config KVM_VFIO > bool > depends on KVM_ARCH_VFIO > depends on VFIO > > (or similar) > > So we don't even attempt to compile kvm/vfio.c if we don't have VFIO > support turned on. Do we need to split the Kconfig? ``` diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig index 484d0873061c..e5ebf89de855 100644 --- a/virt/kvm/Kconfig +++ b/virt/kvm/Kconfig @@ -61,6 +61,7 @@ config HAVE_KVM_CPU_RELAX_INTERCEPT config KVM_VFIO bool + depends on VFIO config HAVE_KVM_INVALID_WAKEUPS bool ``` $ ./scripts/config -e VFIO $ make LLVM=3D1 ARCH=3Dpowerpc -j128 olddefconfig arch/powerpc/kvm/../../../virt/kvm/vfio.o # # configuration written to .config # SYNC include/config/auto.conf.cmd CALL scripts/checksyscalls.sh CC arch/powerpc/kvm/../../../virt/kvm/vfio.o $ --=20 Thanks, ~Nick Desaulniers