From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 093D8C10DCE for ; Tue, 5 Dec 2023 22:02:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346355AbjLEWB7 (ORCPT ); Tue, 5 Dec 2023 17:01:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229591AbjLEWB7 (ORCPT ); Tue, 5 Dec 2023 17:01:59 -0500 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 860A01A5; Tue, 5 Dec 2023 14:02:05 -0800 (PST) X-IronPort-AV: E=McAfee;i="6600,9927,10915"; a="7313322" X-IronPort-AV: E=Sophos;i="6.04,253,1695711600"; d="scan'208";a="7313322" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Dec 2023 14:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10915"; a="800116316" X-IronPort-AV: E=Sophos;i="6.04,253,1695711600"; d="scan'208";a="800116316" Received: from smile.fi.intel.com ([10.237.72.54]) by orsmga008.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Dec 2023 14:02:00 -0800 Received: from andy by smile.fi.intel.com with local (Exim 4.97) (envelope-from ) id 1rAdUL-00000002C3Z-18UI; Wed, 06 Dec 2023 00:01:57 +0200 Date: Wed, 6 Dec 2023 00:01:56 +0200 From: Andy Shevchenko To: Nick Desaulniers Cc: Al Viro , tanzirh@google.com, Kees Cook , linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org, Nick DeSaulniers , Andrew Morton , llvm@lists.linux.dev Subject: Re: [PATCH] lib/string: shrink lib/string.i via IWYU Message-ID: References: <20231205-libstringheader-v1-1-7f9c573053a7@gmail.com> <20231205213807.GE1674809@ZenIV> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Dec 05, 2023 at 01:51:10PM -0800, Nick Desaulniers wrote: > On Tue, Dec 5, 2023 at 1:38 PM Al Viro wrote: > > On Tue, Dec 05, 2023 at 08:58:53PM +0000, tanzirh@google.com wrote: ... > > > IWYU is implemented using the IWYUScripts github repository which is a tool that is > > > currently undergoing development. These changes seek to improve build times. > > > > > > This change to lib/string.c resulted in a preprocessed size of > > > lib/string.i from 26371 lines to 5232 lines (-80%). > > > > It also breeds includes of asm/*.h, by the look of the output, which is > > not a good thing in general ;-/ E.g. #include *anywhere* > > outside of linux/uaccess.h is a bad idea. > > It's not clear to me when it's ok to #include . Is there a > convention here that I'm missing? The mandatory ones can be used, but not all of them. In some cases you even must include asm and not linux (unaligned.h, byteorder.h, maybe others...). As I told, it comes with experience, we lack of the respective documentation (or file which is good for automation checks, like with IWYU). -- With Best Regards, Andy Shevchenko