Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp6811518rdb; Tue, 2 Jan 2024 14:35:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IEj4PRLVGfOMFNVyla2Xkh4P+0Z0kvi3ilcK3CxoA5tN9kE1DjdRTxK+vDXJ+qT823HlxLn X-Received: by 2002:a05:6e02:180d:b0:35d:4ecb:1752 with SMTP id a13-20020a056e02180d00b0035d4ecb1752mr23882204ilv.2.1704234927042; Tue, 02 Jan 2024 14:35:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704234927; cv=none; d=google.com; s=arc-20160816; b=F4n2T2eBMU98sjo5fSh3GCfoFs0LJk/i6mY5WFKsrKXbD8I1q35jkKDsCh+4+aGYvs uivKX1A1dS0b4qaWE7yk68v2SiXe2x4KnAHrXk+6dQoCRmdSY4yJBNV50MShYmX6vuaC ihxM3gE5147krWhmsL9q6p3qhexlDmJEagb3OA7pTgCge0syEFv2gXjnUtfF86X+k65y lh7H/nc+epIsR7nAuU9md7acaaKgmuZTLvgg0Tzac+2Ly1Sx6diif2JJ7TmpGaTG0Fj9 XhJt3ofIy4Yau3sohA38I6D7FCzN2onyB0/PBwAai91tBxqHayD5vj08P0R5/EHKG+61 DSng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:from:subject:message-id:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:dkim-signature; bh=bo7QnJ2Rocmy2dSFhGJFTCBO4Oo0tkg71fjYXvrgsY0=; fh=RPjRp1M4Ce4AQzFaxGonciXRvxS6IfSJFauKl4+WyeY=; b=Gkxv6qmfdoonwtklLnmsoLuV/QhmksWYCNgvULFpf+H0M/fqzuZuaH5WwJP9NyTojM +GVwHGXAe4KR7xTkOiDf22fdYnNfHnSBqqX/nzqUpf0n76BuxxN+iZo0hxYZ5ImU3/YJ C8lkQ6Cr/YHzcc3yvT7iTHrEx7ncsduTRXcXyuURkQrUkYhl2rZm8GRyZiEbHmIa36K+ kt6iFZarYWrrJEkR9H71DHA+sokUngIKNXBtPKPrpbXieVwbr2CLVkOZuNy4n2VEHpS2 FONUGGpzfTBy2mj6rVnui/IX9p1I1bsxT9cnHbpZfUdJgF9/VCekO3PMNYc9q0S3LYLZ Urug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=ujHfzMfv; spf=pass (google.com: domain of linux-kernel+bounces-14947-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14947-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id bw42-20020a056a0204aa00b005ce170df09esi15822078pgb.310.2024.01.02.14.35.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jan 2024 14:35:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-14947-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=ujHfzMfv; spf=pass (google.com: domain of linux-kernel+bounces-14947-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14947-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 88783283FEF for ; Tue, 2 Jan 2024 22:35:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B212C179AC; Tue, 2 Jan 2024 22:34:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ujHfzMfv" X-Original-To: linux-kernel@vger.kernel.org Received: from mail-yw1-f202.google.com (mail-yw1-f202.google.com [209.85.128.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 96F1717982 for ; Tue, 2 Jan 2024 22:34:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--tanzirh.bounces.google.com Received: by mail-yw1-f202.google.com with SMTP id 00721157ae682-5edbad6f4d6so78625907b3.1 for ; Tue, 02 Jan 2024 14:34:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1704234895; x=1704839695; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=bo7QnJ2Rocmy2dSFhGJFTCBO4Oo0tkg71fjYXvrgsY0=; b=ujHfzMfvBZ50Q+Bp3bDIogB9YltoUOQgigr5oZgLs5qeFJt3m4YreGagCvykx4NHvF 9ZcEEaxKanyXf2XNM/qrC1zuGmvPnqsh2lhtdQzr92q4CYTLlbkG6mFyjniPdIda4Mj7 RU0wR7AbdLPW/vVWtFWql0do6hP7I5XAYDt7zbdLL9OqevnTeJbwgWsw7AXt36g+8vMf v0DTS0f4HJPioDz+F6AIeGUX17hATzS1Qb2MYyXQcGbG4iJ1wKpeIuk8JZufyJLF7EuL eiP3c/ILJ1Muy+2f7NCAcba8gxFJTXq4rKw5YmBaio//HhZGxXQRfpcPK02ofBjCUo1T smXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704234895; x=1704839695; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=bo7QnJ2Rocmy2dSFhGJFTCBO4Oo0tkg71fjYXvrgsY0=; b=uC62q/r/ic/u3xGhZog1y41tIYAMk6auRBpdeAu9dZReq+K7rO21nBFaG3ut92QdCA mf8717dHtTJrsayGFge/oz9IqTFrsF351QtBkrBXDGi7TXp2Rn1xOJ0POhsnqnRlkO4B yu1lDXVbk4OmXRvP6VETSbrmIVkzyZH7FwuMiM1ugd344Rz+g8dZ4VQ1+VeXq41Wl49i xoZcrfTO+SOlHiYrKVajHgMw6bMyUGk7kG/BGhWu4BXlVG88XrQmsMNRo9CF1UiijQN7 7IsoFjSROMAzlOdwVkYU4M9sYrpqMu6tH6xsRSMClxU3cEid4V48nMElTY5YKQtPAXN1 JA4g== X-Gm-Message-State: AOJu0YziSPHrNkNdtd1OtAft+uMyITzHV/SYG2M373PU/UsYgHJkHI+G pukf8K09Oc8TOCI5Sn1UqnUizSoMjMGFGVQQI0c= X-Received: from tanz.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:c4a]) (user=tanzirh job=sendgmr) by 2002:a05:690c:4803:b0:5d4:263e:c819 with SMTP id hc3-20020a05690c480300b005d4263ec819mr7284133ywb.8.1704234895579; Tue, 02 Jan 2024 14:34:55 -0800 (PST) Date: Tue, 02 Jan 2024 22:34:51 +0000 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAIqPlGUC/23MQQrCMBCF4auUWRvpTDRSV95DuqjJNA3URjISL CV3N3bt8n88vg2EU2CBa7NB4hwkxKUGHRqw07B4VsHVBmpJI9FFySp2mGdNiqxxhkY+o+2g/l+ Jx/DZrXtfewryjmnd6Yy/9Z+SUaHqDCGeWqf1w918jH7mo41P6EspX43KKMCjAAAA X-Developer-Key: i=tanzirh@google.com; a=ed25519; pk=UeRjcUcv5W9AeLGEbAe2+0LptQpcY+o1Zg0LHHo7VN4= X-Developer-Signature: v=1; a=ed25519-sha256; t=1704234893; l=2072; i=tanzirh@google.com; s=20231204; h=from:subject:message-id; bh=g1lyrYe5iUrxOeOVHuYgApDsJo+p/V5kUf9hpYVUvWY=; b=JQXFucON0Vh1vkjrwEcZXwa27kofFiu4GPCfV6PFgwzKa/WIh92rtQjQS5Fqnk/hGOSk5JHST xwfy8pNPvGdBEsm9tISCrde2vaPATvlZnq0DCBXZQaFg1302JoyY7HF X-Mailer: b4 0.12.4 Message-ID: <20240102-syscall32-v2-1-d24f70d7647c@google.com> Subject: [PATCH v2] x86/syscalls: shrink entry/syscall_32.i via IWYU From: Tanzir Hasan To: Andy Lutomirski , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" Cc: linux-kernel@vger.kernel.org, Nick Desaulniers , Al Viro , Tanzir Hasan Content-Type: text/plain; charset="utf-8" This diff uses an open source tool include-what-you-use (IWYU) to modify the include list, changing indirect includes to direct includes. IWYU is implemented using the IWYUScripts github repository which is a tool that is currently undergoing development. These changes seek to improve build times. pt_regs has been used because it is the only part of ptrace that is necessary for the build of this file. This change to entry/syscall_32.c resulted in a preprocessed size of entry/syscall_32.i from 64002 lines to 24506 lines (-62%) for the x86 defconfig. Suggested-by: Al Viro Signed-off-by: Tanzir Hasan --- Changes in v2: - added pt_regs which was all that was needed from ptrace - Link to v1: https://lore.kernel.org/r/20231227-syscall32-v1-1-9621140d33bd@google.com --- arch/x86/entry/syscall_32.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/arch/x86/entry/syscall_32.c b/arch/x86/entry/syscall_32.c index 8cfc9bc73e7f..6ed862eb3b80 100644 --- a/arch/x86/entry/syscall_32.c +++ b/arch/x86/entry/syscall_32.c @@ -1,12 +1,22 @@ // SPDX-License-Identifier: GPL-2.0 /* System call table for i386. */ -#include -#include -#include -#include #include +struct pt_regs; +typedef long (*sys_call_ptr_t)(const struct pt_regs *); +extern const sys_call_ptr_t sys_call_table[]; +#if defined(CONFIG_X86_32) +#define ia32_sys_call_table sys_call_table +#else +/* + * These may not exist, but still put the prototypes in so we + * can use IS_ENABLED(). + */ +extern const sys_call_ptr_t ia32_sys_call_table[]; +extern const sys_call_ptr_t x32_sys_call_table[]; +#endif + #ifdef CONFIG_IA32_EMULATION #define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat) #else --- base-commit: fbafc3e621c3f4ded43720fdb1d6ce1728ec664e change-id: 20231227-syscall32-2c6d62fe51c9 Best regards, -- Tanzir Hasan