Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp889964pxb; Wed, 29 Sep 2021 11:49:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxATp68uEh/S1gnw1BzB2dmqXEzk/b1URVJei2mxav3rU5BpMRgbZiB97dhw07vcBRfMPsN X-Received: by 2002:a50:d7de:: with SMTP id m30mr1775284edj.167.1632941391861; Wed, 29 Sep 2021 11:49:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632941391; cv=none; d=google.com; s=arc-20160816; b=dT5TO7KXc38MGm4pbDJ9gjJbYt+xbu/2sbVlyrewiyy9VEHPqpc+JeyUAP3VdjzrnY xedWIgYLBvXwY9FD1FdV4b7bshIuhHUJoUh0VnbZHiEd2nPOQ3EaN+n3GdAcwr/m/QkO E6Om0uPY+Enhh63KO0Y6Qtj1/sa1v+2o2T1o2RhGXUbony8EjQRapMbJlxnI4Eu78L2h IqECV39gatmMOGv4JDwApWZSn+SbpvOLGL7T2BY+PG67bX+YVbpMG5Hwb8hIt10vUzuF fKOzg4kJzSJHHQrFujr4e/XLGx9DQXvfJUA7MtWrpQ4h7Y8ql1cL2OF3mycjHAsA/uuq Z4Aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=0gh0/D+JLfsfJlqH0a917kdEGhqFFQged7ZchtYxclU=; b=NLRr64jLwgYfvsZOYSe6xkbwKS2RWzxLdNVoc1l5jAR2BaPBnCgnXAmvcYC/Rm+HbP nFsBTYuDpy7fFEdPZvbO5LihdBK3gOfJHFEFvfOe2G95DC3klM4rFFrpj/ncn/JSPpTd Pqth1ApRthk5EhNN60raR9/X1Vtmy0ehKbAD94ZyptKiVNsK857aLBXeNz34Ku0KDGPw Vmv1dtErVByqifXmordT6rjd8/EXV/y7yUGWoPIJzb0ZcV5ywZS1fqIvv712kC/Nnr9G Z9nZEfMVsVEoK+cTNpyMmaXrGDk54wZEhSaq6iYFZUNmGmBMxyUQzXEHY2J1ZaRBb85r LN9g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f24si858987edv.585.2021.09.29.11.49.18; Wed, 29 Sep 2021 11:49:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346244AbhI2StN (ORCPT + 99 others); Wed, 29 Sep 2021 14:49:13 -0400 Received: from mail-ot1-f44.google.com ([209.85.210.44]:39922 "EHLO mail-ot1-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235814AbhI2StH (ORCPT ); Wed, 29 Sep 2021 14:49:07 -0400 Received: by mail-ot1-f44.google.com with SMTP id j11-20020a9d190b000000b00546fac94456so4103610ota.6; Wed, 29 Sep 2021 11:47:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0gh0/D+JLfsfJlqH0a917kdEGhqFFQged7ZchtYxclU=; b=xCtQUXGy4FV2eInUnDP7rXdgijsd9XUPGj4SjMQM0Abmz9o/POO0ishbCsGPehLCu5 Lin22uDj/LGRt3dog3Jzqywmb5vVjf1ehqU9EErSpm6kv3DFPP80g7RAU6pbnY6KtTiD n+0LFQ1bsC15EjFyWFDQNqUi7816zzvLdsPrQlObm1zinSaVSL6X7PWJCpVsgUMyVO/M MnK21Nr5MA7JQEMu9FVt7EJbe6cSDgdg4VrqLLQ1W+zI77iuaIZnzSdbZKjdATFlwFgA sG01JuUmQR9lYhTI7zKAHFlh2lXJK4F/JsQ+ZNSAh4BuUThpmmKZHFgJ0TIr9bC+TOCp DhxQ== X-Gm-Message-State: AOAM531bOqT0N5hWdNFH4rylYPZK+ZTsaOkyCsOGCPuHwAXohOwj7qj2 bCuEBa4qR2PkvGJBsWrIkYWdTvEESc8wUpoAqHSkC1Au X-Received: by 2002:a05:6830:165a:: with SMTP id h26mr1348976otr.301.1632941245560; Wed, 29 Sep 2021 11:47:25 -0700 (PDT) MIME-Version: 1.0 References: <20210927121338.938994-1-arnd@kernel.org> In-Reply-To: <20210927121338.938994-1-arnd@kernel.org> From: "Rafael J. Wysocki" Date: Wed, 29 Sep 2021 20:47:14 +0200 Message-ID: Subject: Re: [PATCH] ACPI: avoid NULL pointer arithmetic To: Arnd Bergmann Cc: "Rafael J. Wysocki" , Len Brown , Robert Moore , Arnd Bergmann , "Rafael J. Wysocki" , Nathan Chancellor , Nick Desaulniers , Erik Kaneda , ACPI Devel Maling List , "open list:ACPI COMPONENT ARCHITECTURE (ACPICA)" , Linux Kernel Mailing List , llvm@lists.linux.dev Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 27, 2021 at 2:13 PM Arnd Bergmann wrote: > > From: Arnd Bergmann > > There are some very old macros for doing an open-coded offsetof() and > cast between pointer and integer in ACPI headers. clang-14 now complains > about these: > > drivers/acpi/acpica/tbfadt.c:86:3: error: performing pointer subtraction with a null pointer has undefined behavior [-Werror,-Wnull-pointer-subtraction] > ACPI_FADT_OFFSET(pm_timer_block), > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/acpi/actbl.h:376:47: note: expanded from macro 'ACPI_FADT_OFFSET' > #define ACPI_FADT_OFFSET(f) (u16) ACPI_OFFSET (struct acpi_table_fadt, f) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/acpi/actypes.h:511:41: note: expanded from macro 'ACPI_OFFSET' > #define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/acpi/actypes.h:505:79: note: expanded from macro 'ACPI_PTR_DIFF' > #define ACPI_PTR_DIFF(a, b) ((acpi_size) (ACPI_CAST_PTR (u8, (a)) - ACPI_CAST_PTR (u8, (b)))) > ^ ~~~~~~~~~~~~~~~~~~~~~~~ > Convert them to the modern equivalents. > > Signed-off-by: Arnd Bergmann > --- > include/acpi/actypes.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h > index 92c71dfce0d5..285bc7b73de3 100644 > --- a/include/acpi/actypes.h > +++ b/include/acpi/actypes.h > @@ -507,8 +507,8 @@ typedef u64 acpi_integer; > /* Pointer/Integer type conversions */ > > #define ACPI_TO_POINTER(i) ACPI_CAST_PTR (void, (acpi_size) (i)) > -#define ACPI_TO_INTEGER(p) ACPI_PTR_DIFF (p, (void *) 0) > -#define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0) > +#define ACPI_TO_INTEGER(p) ((uintptr_t)(p)) > +#define ACPI_OFFSET(d, f) offsetof(d, f) > #define ACPI_PHYSADDR_TO_PTR(i) ACPI_TO_POINTER(i) > #define ACPI_PTR_TO_PHYSADDR(i) ACPI_TO_INTEGER(i) > > -- Queued up as 5.16 material, converted into an upstream ACPICA pull request and submitted, thanks!