Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1451274ybg; Thu, 11 Jun 2020 10:08:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyfS1DczAM4Uj9SWOhaboybwqwscFokRXwV4uBXHJ97PlnVCYl8dciQ0j8o75FNlk3LG7YE X-Received: by 2002:aa7:dc57:: with SMTP id g23mr7578790edu.352.1591895335582; Thu, 11 Jun 2020 10:08:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591895335; cv=none; d=google.com; s=arc-20160816; b=oD5lAmNWMb3cSwO9TYuLbB+AuUFcZ/vpCqFFoH4y2L7OBfc76Z8b2WmWjh3jXNW2Yp RNdyePQP3GoTM+iuCSrKY9tE2rNiIZhg55u5KvPbU9AFJiKNBekFz+JSU4pxV18gXFkZ lo/ZURXWrCiOHfxe5scaneRVOn9AyppnUtxuQtRJ1BquIn4GSLaOsmWHpTI7rpBvhwnD 8OAv7OhDg4saAKFUnXcGVsjqOik7vJlidQ8/1+gFXczrsWr0aYA+PiZ0x9NKvR5Qb7x3 k8tIv6h8ejxwlgSh2ihG2ApjbzsfvAtYj59oM7aIPM0C5x58o0q5GsfwuSXk+tCu56DE YDVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=pI2G9x8XySR9DruVGRJidO1nAqjYW7jZcLJ0jduQuLM=; b=J6tajI5wA5ZO0aX0lV7JH302eU8jJ+m7J5R29Y5kWX1cnOKggnet0QG2BepCFNpYMZ 2n4qS4DAf1ORuVJyovFtz+/6Q6io9MPNXRd5pNWpdEgxYSf/kQPcSG9ve+BJhrNaTVSy M8tc/fgbYIobwVHnq/4n82D1Ntq/p7fikWXZ/FHxzSBLX8BSgVE7UGXaQWsAqhjCT8iF lXPVK2JsIBUbl/R8AisgezeyrgGqg25f28EkOSO9g2ThM6ycPYSRAQQDVCUkBkod9pt4 rKaNd7wK2ntQyom8VgztB7GmckCQBgX9GPuz7ReHk1K860h3GxtgnbCMJOug2FcY5AUy 5adA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="NqEJ5GA/"; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u15si2015250edq.598.2020.06.11.10.08.31; Thu, 11 Jun 2020 10:08:55 -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; dkim=pass header.i=@google.com header.s=20161025 header.b="NqEJ5GA/"; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726700AbgFKRGb (ORCPT + 99 others); Thu, 11 Jun 2020 13:06:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726379AbgFKRGb (ORCPT ); Thu, 11 Jun 2020 13:06:31 -0400 Received: from mail-pg1-x543.google.com (mail-pg1-x543.google.com [IPv6:2607:f8b0:4864:20::543]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7FCCBC08C5C1 for ; Thu, 11 Jun 2020 10:06:30 -0700 (PDT) Received: by mail-pg1-x543.google.com with SMTP id b5so1833528pgm.8 for ; Thu, 11 Jun 2020 10:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pI2G9x8XySR9DruVGRJidO1nAqjYW7jZcLJ0jduQuLM=; b=NqEJ5GA/ehM6UXoHjGGuPNm3B3rfMC1cOHvni2EJcnW9zfClcUy4MFwL3d6X4Umn1G gf95qNdFanqgDq/iJc7qrRLil0x0D2wngwpf5nyMmOSpv1Miw+RLTpCnQCyf6U6A9UgB BIjwZ5q8ylSnAuU3U7wqC1G+YIOYg5ZQMEwwIqa27NlLx4wfBto6cqvEmfhOoIkAQg2D OcPRn7du2QLzn0LYY7+6DIXok09q0JSmnm0eTyfsKq7lCxHphLZiuK/LRFrgjljjDgV4 ztCU39IhEGgwqTb3durCnfrOGlFCcAyCoaR7e4UepPjSEK/zT+pqQFMs2xMPU5fiE7jk MPbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pI2G9x8XySR9DruVGRJidO1nAqjYW7jZcLJ0jduQuLM=; b=kx+kJzfb+D454nt7MhuM5Pg/JcADHmNvWWVqkJpAghlhuj7RKrA0CY/TgG2+j81n4h 9q3nwh1y7obXu7y0HQITuZM2Yllx7v6tfb9Nf60ANlJ10oi6+KFib2uiGfXkyTr9Z+xK 8671+GOGe6c8yzEsBBW4bJv/rbJadh3WSTOkTh25Atz1h3ilbtBDeErNsjQvo20u2N4y EM1uhKNm7TVymvWN4EY96rvvAkRAbk4aqtf12KLnJ4g82zkZ7hi54XfcsyqWlasHxWKc dMxscaMUKXA0smJNyidc36/C/lmexxYxV1Jy1ZndStXskc4fLu14vsE78n+MCaszS6RW x9Mw== X-Gm-Message-State: AOAM5326gIdSXS2OypfRfDiDUun3IsJI2IOt34WDB1To5o8MH/l1jLuk 15Y1GXlBZcFWlOLML6wLDd+wyr94psp1agWuDzvlTQ== X-Received: by 2002:a62:7e95:: with SMTP id z143mr8049365pfc.108.1591895189671; Thu, 11 Jun 2020 10:06:29 -0700 (PDT) MIME-Version: 1.0 References: <20200601231805.207441-1-ndesaulniers@google.com> <9f4322a5-eea6-fb65-449c-90f3d85f753e@FreeBSD.org> In-Reply-To: From: Nick Desaulniers Date: Thu, 11 Jun 2020 10:06:19 -0700 Message-ID: Subject: Re: [Devel] Re: [PATCH] ACPICA: fix UBSAN warning using __builtin_offsetof To: "Kaneda, Erik" Cc: Jung-uk Kim , "Wysocki, Rafael J" , Ard Biesheuvel , "dvyukov@google.com" , "glider@google.com" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "lorenzo.pieralisi@arm.com" , "mark.rutland@arm.com" , "pcc@google.com" , "rjw@rjwysocki.net" , "will@kernel.org" , "stable@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "devel@acpica.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 11, 2020 at 9:45 AM Kaneda, Erik wrote: > > > From: Jung-uk Kim > > > > Actually, I think we should let platform-specific acfoo.h decide what to > > do here, i.e., > > That's a better solution. For Linux, it would look something like this: > > --- a/include/acpi/actypes.h > +++ b/include/acpi/actypes.h > @@ -508,10 +508,15 @@ typedef u64 acpi_integer; > > #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_PHYSADDR_TO_PTR(i) ACPI_TO_POINTER(i) > #define ACPI_PTR_TO_PHYSADDR(i) ACPI_TO_INTEGER(i) > > +/* Platforms may want to define their own ACPI_OFFSET */ > + > +#ifndef ACPI_OFFSET > +#define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0) > +#endif > + > /* Optimizations for 4-character (32-bit) acpi_name manipulation */ > > #ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED > diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h > index 987e2af7c335..5d1ca6015fce 100644 > --- a/include/acpi/platform/aclinux.h > +++ b/include/acpi/platform/aclinux.h > @@ -71,6 +71,11 @@ > #undef ACPI_DEBUG_DEFAULT > #define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR) > > +/* Use gcc's builtin offset instead of the default */ > + > +#undef ACPI_OFFSET > +#define ACPI_OFFSET(a,b) __builtin_offsetof(a,b) > + > #ifndef CONFIG_ACPI > Looks good at first glance. Wouldn't actypes.h need to include platform/acenv.h first though? Otherwise you put some header inclusion order dependency on folks who include actypes.h to first include acenv.h otherwise we're not getting the definition in terms of __builtin_offsetof. -- Thanks, ~Nick Desaulniers