Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1644063pxf; Fri, 9 Apr 2021 13:47:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwtwQLJ5xJrKw3yn7uFz8D5z4UAasIwLo+g+tb48iwnFp7DHCUS89uNWgh0y3BkScqqYm3k X-Received: by 2002:a17:906:1d0e:: with SMTP id n14mr17998374ejh.97.1618001220259; Fri, 09 Apr 2021 13:47:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618001220; cv=none; d=google.com; s=arc-20160816; b=K7AV1gcDU54TgSicMzbQJT21WG1fr7qtzAFuJdQnmtHtPTDkI2nin132KySpXB7Guh iepUVLZfvpQlOmv6dWzOXvVzki8NwmGezbinlhw+kmkWTwzgAXgo957tloRf9WOo9fvr x0IKYM93PKNT2J/VOzopvHe8bogy0e4WjwOw3BGUJXarqPSS5OCOFTm5Eg2qjJLg5deB Kg2veD0s6otTdLYVnGpEptbIl7XewuGmu2QPGEe/qfJxuIgi/00zJkZbtMFgp1jxNf1x IiuMHON27Emy1uEi94RTPbxr0rEsLmQ9qdC6OgJtbzNkdj2K7K+tAzKpY1PwS0e5GpS6 cczw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=5egM9nTAiSvtggnO3tpew7WNqYrN+YEXT3SXh6GmWSQ=; b=mFfUShHUBpHI9jyf61cmkk8a6EPxgPcJ1Uk4WR8Rz2jdeGaP8wYeQ1+4YEXGjYX5bT G3rl2NB/Zil8wH5ywLQPeR4olpqrYMXQsncAe0Z4Iw9p96iJsbTAO+WWiPBNSsI4qjNK Kj+tYvQHum/kshtHOeEptx1lLaWJJIf8HvxLsFh2pW9iYY84kh51ETbmj0ua9JkRh1Yf CH5oCTMaMREGM/zvdltWcwDK5hy3qqK4WaJv43m2mZPwRCAXhILeG5/WfscKRHatB0sJ hj9a3avYJXAuKtGuWwD49R4+Du6xqibddlfChgydtYGTVH3gWPd2wAZ6fwz439NhflS+ P3Ng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="QSlyGb/A"; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h25si2561428ejd.683.2021.04.09.13.46.37; Fri, 09 Apr 2021 13:47:00 -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=@gmail.com header.s=20161025 header.b="QSlyGb/A"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234278AbhDIUnZ (ORCPT + 99 others); Fri, 9 Apr 2021 16:43:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229523AbhDIUnW (ORCPT ); Fri, 9 Apr 2021 16:43:22 -0400 Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B2C5C061762; Fri, 9 Apr 2021 13:43:08 -0700 (PDT) Received: by mail-qt1-x82f.google.com with SMTP id y12so5230480qtx.11; Fri, 09 Apr 2021 13:43:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5egM9nTAiSvtggnO3tpew7WNqYrN+YEXT3SXh6GmWSQ=; b=QSlyGb/A95EP5OjqcyCBgyMj627hQfbwtpMM43gY6hAO0WVM7OD6Dz8FHHxaSyGSPn 4B4yU3R9/JSyZJbLXMO3CHmNvbwkrxVKbYWQYFoQUb4lVOW6rKgnZYqc6Z4RMHsm6byy 5ge7QOZ+Pl40Eb9dGhUU+Aap/BKAjppLON6gPgJ6N0eph5/lMCtn+xDLMawj9lQ6n/h4 TB4qXUYR2iv64+A9qh7bLDdGK37Vs3owEIbXEQDa4FHvajNdXGl56F+ww1N8TRXosYaf Jqdxk73JKMhI0Mg3xRMXmKcKIVTOvWSH+UJ6xcxccszI/bgZtnJxCUHllm7qbuhgr/Kc OUPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5egM9nTAiSvtggnO3tpew7WNqYrN+YEXT3SXh6GmWSQ=; b=m0Ur8Bo4F3ALR7QPK8Tty278Fsf1N5hlN1kSGRLkHlQ2RzIPjdh9Ksq+McIXo5Ozqc xsy6VAa4MklEcA8FXbDgpmyaOqz6ERlasXu/8qITs1EUOdyO+Vg7hQ7WvYvp9LtLc5bA EiCWd4gNTZJTOJ/yRxdpxeBVcxzHYW+2tTURRt2e3+wAtrRjMtqTGp63sgJIMrxIRlw3 ArDUw5i02ppAMZAYn+wgXVBbuVBe5dUCvb8XVV2sxapr3ymbxrjpZmao/uO4b1DQpeDq eRKkBCZ9niQF3WRWD/DFN67C7S2a0hFcPkU8/FwF1dh3ejfuoZxgNf60ZM9/Ewk8AyiR 6nPQ== X-Gm-Message-State: AOAM533KCDd/UVye2rpuUvf8k7dI3XeiK0VqOvGbkVF51AP0wH7GT0CA mHvllRD9tMAXTPgENxMMnovr/3V3oMU= X-Received: by 2002:ac8:5a0d:: with SMTP id n13mr14500706qta.211.1618000987067; Fri, 09 Apr 2021 13:43:07 -0700 (PDT) Received: from localhost ([2601:4c0:104:643a:1d89:8a12:ef21:87e0]) by smtp.gmail.com with ESMTPSA id 1sm2859528qtu.96.2021.04.09.13.43.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Apr 2021 13:43:06 -0700 (PDT) From: Yury Norov To: linux-api@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Yury Norov , "Alexander A. Klimov" , =?UTF-8?q?Andr=C3=A9=20Almeida?= , Andrew Morton , Arnd Bergmann , David Sterba , Joe Perches , Jonathan Corbet , Mauro Carvalho Chehab , Mike Rapoport Subject: [PATCH] Documentation: syscalls: add a note about ABI-agnostic types Date: Fri, 9 Apr 2021 13:43:04 -0700 Message-Id: <20210409204304.1273139-1-yury.norov@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Recently added memfd_secret() syscall had a flags parameter passed as unsigned long, which requires creation of compat entry for it. It was possible to change the type of flags to unsigned int and so avoid bothering with compat layer. https://www.spinics.net/lists/linux-mm/msg251550.html Documentation/process/adding-syscalls.rst doesn't point clearly about preference of ABI-agnostic types. This patch adds such notification. Signed-off-by: Yury Norov --- Documentation/process/adding-syscalls.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/process/adding-syscalls.rst b/Documentation/process/adding-syscalls.rst index 9af35f4ec728..46add16edf14 100644 --- a/Documentation/process/adding-syscalls.rst +++ b/Documentation/process/adding-syscalls.rst @@ -172,6 +172,13 @@ arguments (i.e. parameter 1, 3, 5), to allow use of contiguous pairs of 32-bit registers. (This concern does not apply if the arguments are part of a structure that's passed in by pointer.) +Whenever possible, try to use ABI-agnostic types for passing parameters to +a syscall in order to avoid creating compat entry for it. Linux supports two +ABI models - ILP32 and LP64. The types like ``void *``, ``long``, ``size_t``, +``off_t`` have different size in those ABIs; types like ``char`` and ``int`` +have the same size and don't require a compat layer support. For flags, it's +always better to use ``unsigned int``. + Proposing the API ----------------- -- 2.25.1