linux-modules.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Petr Mladek <pmladek@suse.com>
To: Aaron Tomlin <atomlin@redhat.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>,
	Christoph Lameter <cl@linux.com>, Miroslav Benes <mbenes@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	jeyu@kernel.org, linux-kernel@vger.kernel.org,
	linux-modules@vger.kernel.org, atomlin@atomlin.com,
	ghalat@redhat.com
Subject: Re: [RFC PATCH] module: Introduce module unload taint tracking
Date: Mon, 13 Dec 2021 16:16:36 +0100	[thread overview]
Message-ID: <Ybdj1EDnMSl2NLab@alley> (raw)
In-Reply-To: <20211210160931.ftvxpulno73a2l7c@ava.usersys.com>

On Fri 2021-12-10 16:09:31, Aaron Tomlin wrote:
> On Fri 2021-12-10 11:00 +0100, Petr Mladek wrote:
> > > If someone enables this feature I can't think of a reason why they
> > > would want to limit this to some arbitrary number. So my preference
> > > is to remove that limitation completely. I see no point to it.
> > 
> > I agree with Luis here. We could always add the limit later when
> > people report some real life problems with too long list. It is
> > always good to know that someone did some heavy lifting in
> > the system.
> 
> Fair enough.
> 
> > It might be even interesting to remember timestamp of the removal
> > to match it with another events reported in the system log.
> 
> I'm not so sure about this. We could gather such details already via Ftrace
> (e.g. see load_module()). Personally, I'd prefer to maintain a simple list.

Fair enough. It was just an idea. Simple list is a good start. We
could always add more details if people find it useful.


> > > If you just bump the count then its not duplication, it just adds
> > > more information that the same module name with the same taint flag
> > > has been unloaded now more than once.
> > 
> > Please, do not remove records that a module was removed. IMHO, it
> > might be useful to track all removed module, including the non-tainted
> > ones. Module removal is always tricky and not much tested. The tain
> > flags might be just shown as extra information in the output.
> 
> This is an interesting suggestion. Albeit, as per the subject, I prefer to
> just keep track of any module that tainted the kernel. That being said,
> Petr, if you'd prefer to track each module unload/or deletion event, then I
> would suggest for instance to remove a module once it has been reintroduced
> or maintain an unload count as suggested by Luis.

I just have fresh in mind the patchset
https://lore.kernel.org/r/20211129034509.2646872-1-ming.lei@redhat.com
It is about that removing sysfs interface is tricky and might lead to
use after free problems. I could imagine many other similar problems
that might happen with any module.

But I agree that the information about modules that tainted the kernel is
more important. I do not want to block the feature by requiring more
requirements.


Also we should keep in mind that the default panic() message should
be reasonably short. Only the last lines might be visible on screen.
Serial consoles might be really slow.

It is perfectly fine to add few lines, like the existing list of
loaded modules. Any potentially extensive output should be optional.
There already is support for optional info, see panic_print_sys_info().

Best Regards,
Petr

  parent reply	other threads:[~2021-12-13 15:16 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 17:33 [RFC PATCH] module: Introduce module unload taint tracking Aaron Tomlin
2021-12-08 20:47 ` Luis Chamberlain
2021-12-09 16:49   ` Aaron Tomlin
2021-12-09 23:42     ` Luis Chamberlain
2021-12-10 10:00       ` Petr Mladek
2021-12-10 16:09         ` Aaron Tomlin
2021-12-10 17:09           ` Luis Chamberlain
2021-12-13 15:16           ` Petr Mladek [this message]
2021-12-21 11:58             ` Aaron Tomlin
2021-12-10 17:03         ` Luis Chamberlain
2021-12-10 15:48       ` Aaron Tomlin
2021-12-28 21:30       ` [RFC PATCH 00/12] module: core code clean up Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 01/12] module: Move all into module/ Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 02/12] module: Simple refactor in preparation for split Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 03/12] module: Move livepatch support to a separate file Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 04/12] module: Move latched RB-tree " Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 05/12] module: Move arch strict rwx " Aaron Tomlin
2022-01-12 16:13           ` Luis Chamberlain
2021-12-28 21:30         ` [RFC PATCH 06/12] module: Move " Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 07/12] module: Move extra signature support out of core code Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 08/12] module: Move kmemleak support to a separate file Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 09/12] module: Move kallsyms support into " Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 10/12] module: Move procfs " Aaron Tomlin
2021-12-28 21:30         ` [RFC PATCH 11/12] module: Move sysfs " Aaron Tomlin
2022-01-12 16:20           ` Luis Chamberlain
2021-12-28 21:30         ` [RFC PATCH 12/12] module: Move kdb_modules list out of core code Aaron Tomlin
2021-12-29  8:58         ` [RFC PATCH 00/12] module: core code clean up Aaron Tomlin
2022-01-12 16:21         ` Luis Chamberlain
2021-12-13 13:00     ` [RFC PATCH] module: Introduce module unload taint tracking Allen
2021-12-20 19:23       ` Luis Chamberlain
2021-12-21 11:44       ` Aaron Tomlin

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=Ybdj1EDnMSl2NLab@alley \
    --to=pmladek@suse.com \
    --cc=akpm@linux-foundation.org \
    --cc=atomlin@atomlin.com \
    --cc=atomlin@redhat.com \
    --cc=cl@linux.com \
    --cc=ghalat@redhat.com \
    --cc=jeyu@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=mcgrof@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).