All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy@kernel.org>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: Nick Desaulniers <ndesaulniers@google.com>,
	tanzirh@google.com, Kees Cook <keescook@chromium.org>,
	linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org,
	Nick DeSaulniers <nnn@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	llvm@lists.linux.dev
Subject: Re: [PATCH] lib/string: shrink lib/string.i via IWYU
Date: Thu, 7 Dec 2023 14:52:40 +0200	[thread overview]
Message-ID: <ZXHAGDy_KcwElsLP@smile.fi.intel.com> (raw)
In-Reply-To: <20231205221521.GH1674809@ZenIV>

On Tue, Dec 05, 2023 at 10:15:21PM +0000, Al Viro wrote:
> On Wed, Dec 06, 2023 at 12:01:56AM +0200, Andy Shevchenko wrote:
> > On Tue, Dec 05, 2023 at 01:51:10PM -0800, Nick Desaulniers wrote:
> > > On Tue, Dec 5, 2023 at 1:38 PM Al Viro <viro@zeniv.linux.org.uk> 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 <asm/uaccess.h> *anywhere*
> > > > outside of linux/uaccess.h is a bad idea.
> > > 
> > > It's not clear to me when it's ok to #include <asm/*.h>.  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).
> 
> It would certainly be nice to have such information in the tree;
> "where should I pick $SYMBOL from?" is something one needs to
> find out often enough.  To a large extent it's covered by "where
> in include/*.h do we have it defined?", but that's not all there
> is to it.  E.g. "get_user() => use linux/uaccess.h".
> 
> There's also stuff like "$SYMBOL should not be used outside of arch/*
> and include/*, better use $OTHER_SYMBOL", etc.

Precisely! That's what many developers will benefit from!

-- 
With Best Regards,
Andy Shevchenko



  parent reply	other threads:[~2023-12-07 12:52 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-05 20:58 [PATCH] lib/string: shrink lib/string.i via IWYU tanzirh
2023-12-05 21:04 ` Andrew Morton
2023-12-05 21:14   ` Nick Desaulniers
2023-12-05 21:24     ` Andrew Morton
2023-12-05 21:39       ` Nick Desaulniers
2023-12-05 21:43         ` Al Viro
2023-12-05 21:57           ` Nick Desaulniers
2023-12-11 20:47           ` Nick Desaulniers
2023-12-11 20:50             ` Andy Shevchenko
2023-12-05 21:53         ` Andy Shevchenko
2023-12-05 22:05           ` Nick Desaulniers
2023-12-07  6:25         ` Christoph Hellwig
2023-12-05 21:38 ` Al Viro
2023-12-05 21:51   ` Nick Desaulniers
2023-12-05 21:59     ` Greg KH
2023-12-05 22:14       ` Nick Desaulniers
2023-12-05 23:46         ` Greg KH
2023-12-06  0:55           ` Al Viro
2023-12-06  3:00             ` Al Viro
2023-12-06  3:09               ` Greg KH
2023-12-14 21:04                 ` Al Viro
2023-12-15 21:03                   ` Al Viro
2023-12-07 12:50         ` Andy Shevchenko
2023-12-05 22:01     ` Andy Shevchenko
2023-12-05 22:10       ` Randy Dunlap
2023-12-05 22:25         ` Nick Desaulniers
2023-12-05 22:15       ` Al Viro
2023-12-05 22:20         ` Nick Desaulniers
2023-12-05 22:32         ` Al Viro
2023-12-07 12:52         ` Andy Shevchenko [this message]
2023-12-05 21:57   ` Al Viro
2023-12-05 21:50 ` Andy Shevchenko
2023-12-05 22:05 ` Andy Shevchenko
2023-12-06  7:10 ` kernel test robot
2023-12-07 12:55   ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZXHAGDy_KcwElsLP@smile.fi.intel.com \
    --to=andy@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=keescook@chromium.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=ndesaulniers@google.com \
    --cc=nnn@google.com \
    --cc=tanzirh@google.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.