Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1626758ybh; Tue, 14 Jul 2020 03:01:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxpo0R6OAmVwDpbA53H/hk1nnpGaTACEreHmwvom6rzc8ybT9AAA2h3s1upJfHQGZN6JMsc X-Received: by 2002:a17:906:c44c:: with SMTP id ck12mr3845504ejb.145.1594720884479; Tue, 14 Jul 2020 03:01:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594720884; cv=none; d=google.com; s=arc-20160816; b=v39JknU/ZTuicTbXqjaWrxX9QAX7p+m38FyYZQYJCS3S3WUH28WP5pFrtYnr4yfHFv uhknpiLkGdwUySVLxgEa5PwI7tWPqb4IIGtSCvnVLzn6BdsFWvwDicyT7o0oTXlpchDs Nr62YdOetVd0oP3MgfWQkmqqDdXHl9aL6Rn8jbvxNJ9FRg+KSnMOhI/8zIhF2YjuTl+D p90JHvF+WMCpCAqu7NgMIirzTQsh1RnyhE+dD4NJTZjFBJu89qsyOepByn8NLla7gWku XPzh+56VASdrPXnb087eMy9GvhWBA2Vu8HFXcV0ENUjid1H6MhwrHRE/qBfCp8isQlPW QHgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:dkim-signature; bh=1tevPa9X+MuCxM/DtuuMw5c+0nqEV5by4X2ZM7PHae8=; b=DAvmtrgYzvOruipoJL5BzR4iRlobRQE+tH2R2SU4rUhqaen7zMRAiv3aesABtxxz1i l2NRo1q27JpZfQZB+Dnf6DpjklYpWfAUBfZJ+MYdHa4CJZWGuVvnIrtscq/UVNuGbQca XyGUltYTNKui+NRAjd7SL6kQoHqtObT0zvvtO7YOSAacBvzTUXWJg3VjYuIOVbhU3FM3 RdpCzBdHcxyLEZdExMuowbjMsy3CJmhKe4QSW2ctSUhGUQ6hF7O2bmntixtJjoxgELGM 0hWcxCQCgb6Mx5gH+MfsfDR6d+8CGi9GbIZqIgqSB3JQ/vegod0Mfu1vf9nAc1v0US4M Sksw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Ju5myjo5; 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c11si11369582edy.498.2020.07.14.03.01.01; Tue, 14 Jul 2020 03:01:24 -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=@redhat.com header.s=mimecast20190719 header.b=Ju5myjo5; 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726830AbgGNJ6j (ORCPT + 99 others); Tue, 14 Jul 2020 05:58:39 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:53750 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725997AbgGNJ6i (ORCPT ); Tue, 14 Jul 2020 05:58:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594720715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1tevPa9X+MuCxM/DtuuMw5c+0nqEV5by4X2ZM7PHae8=; b=Ju5myjo51qkzBX9hN1cE/Lk3dVa6H3xz+eIZ0qicPCjYeHlA385FiXC+kq/S/Kz9shmlh3 +vY3IrsStOw4z/ssfrmlutUZVMPtEnZR8ixb27tIvPA9/bkZwgyMpE3+2IToLJMUu2koNE IpRN3Se5zacEEMLxJ5TXXhinYK69cVM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-316-GXHhLnlKMqCVeKX5-K7ZOw-1; Tue, 14 Jul 2020 05:58:33 -0400 X-MC-Unique: GXHhLnlKMqCVeKX5-K7ZOw-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 263021009440; Tue, 14 Jul 2020 09:58:32 +0000 (UTC) Received: from oldenburg2.str.redhat.com (ovpn-112-246.ams2.redhat.com [10.36.112.246]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CA93D72E54; Tue, 14 Jul 2020 09:58:26 +0000 (UTC) From: Florian Weimer To: Mathieu Desnoyers Cc: Peter Zijlstra , linux-kernel@vger.kernel.org, Thomas Gleixner , "Paul E . McKenney" , Boqun Feng , "H . Peter Anvin" , Paul Turner , linux-api@vger.kernel.org, Christian Brauner , carlos@redhat.com Subject: Re: [RFC PATCH 2/4] rseq: Allow extending struct rseq References: <20200714030348.6214-1-mathieu.desnoyers@efficios.com> <20200714030348.6214-3-mathieu.desnoyers@efficios.com> Date: Tue, 14 Jul 2020 11:58:25 +0200 In-Reply-To: <20200714030348.6214-3-mathieu.desnoyers@efficios.com> (Mathieu Desnoyers's message of "Mon, 13 Jul 2020 23:03:46 -0400") Message-ID: <87mu42bepq.fsf@oldenburg2.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Mathieu Desnoyers: > + /* > + * Very last field of the structure, to calculate size excluding padding > + * with offsetof(). > + */ > + char end[]; > } __attribute__((aligned(4 * sizeof(__u64)))); This makes the header incompatible with standard C++. How are extensions going to affect the definition of struct rseq, including its alignment? As things stand now, glibc 2.32 will make the size and alignment of struct rseq part of its ABI, so it can't really change after that. With a different approach, we can avoid making the symbol size part of the ABI, but then we cannot use the __rseq_abi TLS symbol. As a result, interoperability with early adopters would be lost. One way to avoid this problem would be for every library to register its own rseq area, of the appropriate size. Then process-wide coordination in userspace would not be needed. Thanks, Florian