From nobody Mon Feb 9 20:10:15 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1713195808; cv=none; d=zohomail.com; s=zohoarc; b=m5U8ULCt2G6yFXZV3Fj2wFWgESWMN83cr1lsZRj83upcsWlOZxMSPymd3exZp6ORu2uY4NUuqyMze83oh8YfuzejqLp3zmAT4UYs3qxYdyo1k5e+Frtanit3u5GisnCjsnMVc1MBS/YMDLvYOGKjwUbabO3M4qhpAldrel9ft7c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1713195808; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KwG/SvK+aur9Ak8+5b+UV8UOo2svZqs0RzBYX+mlEmk=; b=UksEy+E8nnswyvrMxvMiflqKM3fErAQJdm1KWZpPmQWdFhAmFFgrSZlv5uH952yehPg7HB4Zq2H5YO0eWwxtWoGn6QMm/b8fZKlqyFq6uAl8e+8+v+DUqWPgunPydiLAZ/a4M0HiQNg0Ljijd4DRCI/j+MkkBd5ejbSO/UU1kRE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1713195808121967.8169171098222; Mon, 15 Apr 2024 08:43:28 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.706353.1103481 (Exim 4.92) (envelope-from ) id 1rwOU6-00012z-Eo; Mon, 15 Apr 2024 15:43:06 +0000 Received: by outflank-mailman (output) from mailman id 706353.1103481; Mon, 15 Apr 2024 15:43:06 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rwOU6-00011k-7Y; Mon, 15 Apr 2024 15:43:06 +0000 Received: by outflank-mailman (input) for mailman id 706353; Mon, 15 Apr 2024 15:43:04 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rwOU4-0000Nb-FT for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 15:43:04 +0000 Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [2a00:1450:4864:20::636]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id d816c462-fb3e-11ee-94a3-07e782e9044d; Mon, 15 Apr 2024 17:43:02 +0200 (CEST) Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-a51a1c8d931so433377066b.0 for ; Mon, 15 Apr 2024 08:43:02 -0700 (PDT) Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk. [46.102.197.194]) by smtp.gmail.com with ESMTPSA id jz1-20020a17090775e100b00a526457fc84sm1987261ejc.57.2024.04.15.08.43.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 08:43:01 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: d816c462-fb3e-11ee-94a3-07e782e9044d DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1713195782; x=1713800582; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KwG/SvK+aur9Ak8+5b+UV8UOo2svZqs0RzBYX+mlEmk=; b=cSap+eBzM4wuLz1xzGg2b6LMSWdzJ6spEEbH7O38LUPvurWI7dwaWJXPfrRbwYo+wd NjsrsAm2/Hdg0MToTM7zMYNmM9KPLqq9x6xzHWhEvBAoxwp5aFpBUU6YfS9ZlFLklv3S /GZ7RsIm+UO69br4eUW6ar6tHsqjlw6Cj2exQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713195782; x=1713800582; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KwG/SvK+aur9Ak8+5b+UV8UOo2svZqs0RzBYX+mlEmk=; b=wJxvUGhAe8zzxI++kVQp2MdnphLWRgG9RJTarKQSqnoZLQ8IamEbUYtKJiJX032j+D YdcKq5jlWQWifqk2Q7uD35TTUcTzp9ri06n5YacKPemBBKx25/HFxqFhgukBi096SFw9 Sjl96iLgbt3SGU6YxsRYRKVJDpT4v5b9k9ZEzbemPaVmsYG/qi8Y8odopYrBjXaoSQG5 YJgisLd7OgA/ft0MayWijEZAWB156jqC0ChfF0ONBA+a5EyQTpvmWUq/XJyUrLavGoSC oL+b8sv5nvVFGj/9NwcDTmbiMafTqGm0KEfdrSN0nLMTcwv/hjpP/yKQNiodSSMqnVq+ +8kA== X-Gm-Message-State: AOJu0YwAzuLMDhSZlRJL3IiVxUhVwUveieo2kKn2SAqHi+9sZOtKzdIS XZ+5wVCxVwPDr2B1/347VddB4Pie9Cpa4XPq47cN/LLGC+cFMiDi9MXMAizd6DRkDj3u0SiPewR wBlo= X-Google-Smtp-Source: AGHT+IFMRTgoBO75/F6759VTwv2svqgv1NIVz46T3NVo7ac4Ptoecbeo+nDmHrqX5jUOSMk/mP+cCw== X-Received: by 2002:a17:907:d2a:b0:a52:2f19:f1d7 with SMTP id gn42-20020a1709070d2a00b00a522f19f1d7mr7217919ejc.53.1713195781801; Mon, 15 Apr 2024 08:43:01 -0700 (PDT) From: Andrew Cooper To: Xen-devel Cc: Andrew Cooper , George Dunlap , Jan Beulich , Stefano Stabellini , Julien Grall Subject: [PATCH 4/4] xen/public: Use -Wpadding for public headers Date: Mon, 15 Apr 2024 16:41:55 +0100 Message-Id: <20240415154155.2718064-5-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240415154155.2718064-1-andrew.cooper3@citrix.com> References: <20240415154155.2718064-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1713195810159100001 Content-Type: text/plain; charset="utf-8" RFC. In theory this is a great way to avoid some of the spiketraps involved with C being the official representation. However, this doesn't build. gnttab_transfer has a layout that requires a CONFIG_COMPAT if we want to satisfy -Wpadding for both forms of the structu= re. Thoughts on whether this cross-check is worthwhile-enough to warrant the ifdefary? ~Andrew --- CC: George Dunlap CC: Jan Beulich CC: Stefano Stabellini CC: Julien Grall --- xen/common/Makefile | 1 + xen/common/hdr-chk.c | 13 +++++++++++++ xen/include/public/grant_table.h | 7 +++++++ 3 files changed, 21 insertions(+) create mode 100644 xen/common/hdr-chk.c diff --git a/xen/common/Makefile b/xen/common/Makefile index d512cad5243f..dbbda70829f1 100644 --- a/xen/common/Makefile +++ b/xen/common/Makefile @@ -15,6 +15,7 @@ obj-y +=3D event_fifo.o obj-$(CONFIG_GRANT_TABLE) +=3D grant_table.o obj-y +=3D guestcopy.o obj-y +=3D gzip/ +obj-y +=3D hdr-chk.o obj-$(CONFIG_HYPFS) +=3D hypfs.o obj-$(CONFIG_IOREQ_SERVER) +=3D ioreq.o obj-y +=3D irq.o diff --git a/xen/common/hdr-chk.c b/xen/common/hdr-chk.c new file mode 100644 index 000000000000..1c7a509dcd06 --- /dev/null +++ b/xen/common/hdr-chk.c @@ -0,0 +1,13 @@ +#include + +#include + +#pragma GCC diagnostic error "-Wpadded" + +#include + +#ifdef CONFIG_COMPAT + +#include + +#endif /* CONFIG_COMPAT */ diff --git a/xen/include/public/grant_table.h b/xen/include/public/grant_ta= ble.h index 1dfa17a6d02a..a66c77d0166c 100644 --- a/xen/include/public/grant_table.h +++ b/xen/include/public/grant_table.h @@ -355,6 +355,7 @@ struct gnttab_unmap_grant_ref { grant_handle_t handle; /* OUT parameters. */ int16_t status; /* =3D> enum grant_status */ + uint16_t _pad0; }; typedef struct gnttab_unmap_grant_ref gnttab_unmap_grant_ref_t; DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t); @@ -371,6 +372,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t); struct gnttab_setup_table { /* IN parameters. */ domid_t dom; + uint16_t _pad0; uint32_t nr_frames; /* OUT parameters. */ int16_t status; /* =3D> enum grant_status */ @@ -409,9 +411,12 @@ struct gnttab_transfer { /* IN parameters. */ xen_pfn_t mfn; domid_t domid; + uint16_t _pad0; grant_ref_t ref; /* OUT parameters. */ int16_t status; + uint16_t _pad1; + /* XXX compat-dependent padding. */ }; typedef struct gnttab_transfer gnttab_transfer_t; DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_t); @@ -468,10 +473,12 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_copy_t); struct gnttab_query_size { /* IN parameters. */ domid_t dom; + uint16_t _ign1; /* OUT parameters. */ uint32_t nr_frames; uint32_t max_nr_frames; int16_t status; /* =3D> enum grant_status */ + uint16_t _ign2; }; typedef struct gnttab_query_size gnttab_query_size_t; DEFINE_XEN_GUEST_HANDLE(gnttab_query_size_t); --=20 2.30.2