Thread (27 messages) 27 messages, 7 authors, 2019-09-05

Re: [usb-storage] Re: [PATCH v4 12/12] RFC: watchdog: export core symbols in WATCHDOG_CORE namespace

From: Masahiro Yamada <hidden>
Date: 2019-09-05 11:26:17
Also in: linux-kbuild, linux-usb, linux-watchdog, lkml

On Thu, Sep 5, 2019 at 8:16 PM Jessica Yu [off-list ref] wrote:
quoted hunk ↗ jump to hunk
+++ Arnd Bergmann [05/09/19 12:52 +0200]:
quoted
On Thu, Sep 5, 2019 at 12:41 PM Jessica Yu [off-list ref] wrote:
quoted
+++ Matthew Dharm [04/09/19 09:16 -0700]:
quoted
On Wed, Sep 4, 2019 at 5:12 AM Guenter Roeck [off-list ref] wrote:
quoted
quoted
HOWEVER, I have one question:  If these patches are included, and
someone wants to introduce a bit of code which needs to use two
symbols from different namespaces but with the same name, can that be
done?  That is, if driver A has symbol 'foo' and driver B has symbol
'foo' (both in their respective namespaces), and driver C wants to use
A.foo and B.foo, can that be supported?
As of now, we currently don't support this - modpost will warn if a
symbol is exported more than once (across modules + vmlinux), and the
module loader currently assumes exported symbol names are unique.  Do
you have a concrete use case? If there is a strong need for this, I
don't think it'd be too hard to implement.
I think what would prevent this from working in general is that having
two modules with the same exported symbol in different namespaces
won't link if you try to build both modules into the kernel itself.

     Arnd
Ah yeah, you are right. I only tried building an identically named
exported symbol in a module and in the kernel, and there I got away
with a modpost warning. But this breaks when building the module into
the kernel, so I guess this is out of the question.

Thanks,

Jessica

The cover letter starts with
"As of Linux 5.3-rc7, there are 31207 [1] exported symbols in the kernel".

Whether or not we apply this patch set,
we will have to carefully maintain them
so that 31207 symbols are unique, anyway.
(And, we can do this with allmodconfig + modpost)

So, what is the point of the namespace,
where it does not loosen the scope of uniqueness?



--
Best Regards
Masahiro Yamada
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help