From: Aaron Tomlin <atomlin@redhat.com>
To: mcgrof@kernel.org
Cc: cl@linux.com, pmladek@suse.com, mbenes@suse.cz,
christophe.leroy@csgroup.eu, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org, linux-modules@vger.kernel.org,
atomlin@atomlin.com, ghalat@redhat.com, oleksandr@natalenko.name,
neelx@redhat.com
Subject: [PATCH v5 0/3] module: Introduce module unload taint tracking
Date: Mon, 2 May 2022 21:51:02 +0100 [thread overview]
Message-ID: <20220502205105.919523-1-atomlin@redhat.com> (raw)
Hi Luis,
This iteration is still based on the latest mcgrof/modules-next branch.
I have decided still to use RCU even though no entry is ever removed from
the unloaded tainted modules list. That being said, if I understand
correctly, it is not safe in some instances to use 'module_mutex' in
print_modules(). So instead we disable preemption to ensure list traversal
with concurrent list manipulation e.g. list_add_rcu(), is safe too.
Changes since v4 [1]
- Moved code to kernel/module/tracking.c
(Luis Chamberlain)
- Used only strcmp() in try_add_tainted_module()
(Christophe Leroy)
Changes since v3 [2]
- Fixed kernel build error reported by kernel test robot i.e. moved
'#endif' outside 'if (!list_empty(&unloaded_tainted_modules))'
statement in the context of print_modules()
- Used strncmp() instead of memcmp()
(Oleksandr Natalenko)
- Removed the additional strlen()
(Christoph Lameter)
Changes since v2 [3]
- Dropped RFC from subject
- Removed the newline i.e. "\n" in printk()
- Always include the tainted module's unload count
- Unconditionally display each unloaded tainted module
Please let me know your thoughts.
[1]: https://lore.kernel.org/all/20220425090841.3958494-1-atomlin@redhat.com/
[2]: https://lore.kernel.org/all/20220420115257.3498300-1-atomlin@redhat.com/
[3]: https://lore.kernel.org/all/20220419150334.3395019-1-atomlin@redhat.com/
Aaron Tomlin (3):
module: Make module_flags_taint() accept a module's taints bitmap and
usable outside core code
module: Move module_assert_mutex_or_preempt() to internal.h
module: Introduce module unload taint tracking
init/Kconfig | 11 ++++++++
kernel/module/Makefile | 1 +
kernel/module/internal.h | 34 ++++++++++++++++++++++
kernel/module/main.c | 24 ++++++----------
kernel/module/tracking.c | 61 ++++++++++++++++++++++++++++++++++++++++
5 files changed, 116 insertions(+), 15 deletions(-)
create mode 100644 kernel/module/tracking.c
base-commit: eeaec7801c421e17edda6e45a32d4a5596b633da
--
2.34.1
next reply other threads:[~2022-05-02 20:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-02 20:51 Aaron Tomlin [this message]
2022-05-02 20:51 ` [PATCH v5 1/3] module: Make module_flags_taint() accept a module's taints bitmap and usable outside core code Aaron Tomlin
2022-05-02 20:51 ` [PATCH v5 2/3] module: Move module_assert_mutex_or_preempt() to internal.h Aaron Tomlin
2022-05-02 20:52 ` [PATCH v5 3/3] module: Introduce module unload taint tracking Aaron Tomlin
2022-05-03 20:12 ` [PATCH v5 0/3] " Luis Chamberlain
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=20220502205105.919523-1-atomlin@redhat.com \
--to=atomlin@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=atomlin@atomlin.com \
--cc=christophe.leroy@csgroup.eu \
--cc=cl@linux.com \
--cc=ghalat@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=mbenes@suse.cz \
--cc=mcgrof@kernel.org \
--cc=neelx@redhat.com \
--cc=oleksandr@natalenko.name \
--cc=pmladek@suse.com \
/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).