From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: mcgrof@kernel.org, x86@kernel.org, hpa@zytor.com,
petr.pavlu@suse.com, samitolvanen@google.com,
da.gomez@samsung.com, masahiroy@kernel.org, nathan@kernel.org,
nicolas@fjasle.eu, linux-kernel@vger.kernel.org,
linux-modules@vger.kernel.org, linux-kbuild@vger.kernel.org,
hch@infradead.org, gregkh@linuxfoundation.org
Subject: Re: [RFC][PATCH 0/8] module: Strict per-modname namespaces
Date: Tue, 12 Nov 2024 10:20:23 +0100 [thread overview]
Message-ID: <20241112092023.GL22801@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <ZzKl-ldUQD9ldjWR@google.com>
On Mon, Nov 11, 2024 at 04:48:58PM -0800, Sean Christopherson wrote:
> On Mon, Nov 11, 2024, Peter Zijlstra wrote:
> > Hi!
> >
> > Implement a means for exports to be available only to an explicit list of named
> > modules. By explicitly limiting the usage of certain exports, the abuse
> > potential/risk is greatly reduced.
> >
> > The first three 'patches' clean up the existing export namespace code along the
> > same lines of 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
> > to __section("foo")") and for the same reason, it is not desired for the
> > namespace argument to be a macro expansion itself.
> >
> > In fact, the second patch is really only a script, because sending the output
> > to the list is a giant waste of bandwidth. Whoever eventually commits this to a
> > git tree should squash these first three patches.
> >
> > The remainder of the patches introduce the special "MODULE_<modname-list>"
> > namespace, which shall be forbidden from being explicitly imported. A module
> > that matches the simple modname-list will get an implicit import.
> >
> > Lightly tested with something like:
> >
> > git grep -l EXPORT_SYMBOL arch/x86/kvm/ | while read file;
> > do
> > sed -i -e 's/EXPORT_SYMBOL_GPL(\(.[^)]*\))/EXPORT_SYMBOL_GPL_FOR(\1, "kvm,kvm-intel,kvm-amd")/g' $file;
> > done
>
> Heh, darn modules. This will compile just fine, but if the module contains a
> dash, loading the module will fail because scripts/Makefile.lib replaces the dash
> with an underscore the build name. E.g. "kvm-intel" at compile time generates
> kvm-intel.ko, but the actual name of the module as seen by the kernel is kvm_intel.
I was wondering about that... WTH is kvm doing that? I mean, I suppose
you can do: "kvm-intel,kvm_intel" but that's somewhat tedious.
next prev parent reply other threads:[~2024-11-12 9:20 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-11 10:54 [RFC][PATCH 0/8] module: Strict per-modname namespaces Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 1/8] module: Prepare for script Peter Zijlstra
2024-11-11 11:36 ` Christoph Hellwig
2024-11-11 12:55 ` Peter Zijlstra
2024-11-15 11:49 ` Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 2/8] module: Convert symbol namespace to string literal Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 3/8] module: Fix up after script Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 4/8] module/modpost: Use for() loop Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 5/8] module/modpost: Add basename helper Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 6/8] module: Add module specific symbol namespace support Peter Zijlstra
2024-11-11 11:37 ` Christoph Hellwig
2024-11-11 18:36 ` Sean Christopherson
2024-11-12 9:18 ` Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 7/8] module: Extend the MODULE_ namespace parsing Peter Zijlstra
2024-11-11 10:54 ` [RFC][PATCH 8/8] module: Provide EXPORT_SYMBOL*_FOR() helpers Peter Zijlstra
2024-11-11 11:37 ` Christoph Hellwig
2024-11-12 0:48 ` [RFC][PATCH 0/8] module: Strict per-modname namespaces Sean Christopherson
2024-11-12 9:20 ` Peter Zijlstra [this message]
2024-11-12 17:56 ` Sean Christopherson
2024-11-12 19:52 ` Peter Zijlstra
2024-11-15 12:49 ` Peter Zijlstra
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=20241112092023.GL22801@noisy.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=da.gomez@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=hch@infradead.org \
--cc=hpa@zytor.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=mcgrof@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas@fjasle.eu \
--cc=petr.pavlu@suse.com \
--cc=samitolvanen@google.com \
--cc=seanjc@google.com \
--cc=x86@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 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.