From: Steven Rostedt <rostedt@goodmis.org>
To: morreale@radiantdata.com
Cc: Arjan van de Ven <arjan@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
"Randy.Dunlap" <rddunlap@osdl.org>
Subject: Re: Bug in kmem_cache_create with duplicate names
Date: Tue, 07 Dec 2004 13:24:59 -0500 [thread overview]
Message-ID: <1102443899.25841.290.camel@localhost.localdomain> (raw)
In-Reply-To: <41B5EF16.30107@radiantdata.com>
On Tue, 2004-12-07 at 10:57 -0700, Peter W. Morreale wrote:
> >
> >Now this raises the issue of name space, this will bug if two modules
> >use the same cache name. If this happens with two different vendors,
> >than the poor user will have to figure out who to blame.
> >
>
> No different than any other global namespace issue.
I beg to differ. If I have two modules that export the same name, do I
get a bug when I load the second module? No. Actually, I just tried it
and this raises another issue. There is no test to see if there is a
conflict of name spaces. Here's what I did, I made two modules that
have a function named "abc" and exported them. The third module calls
function "abc". The result was that both mod1 and mod2 were loaded with
no problem, and mod3 called mod2's abc.
Below are the simple modules that did this test. Should this be a
problem, or issue? It has a little bit of a polymorphism effect. If I
unload mod3 and then mod2, then reload mod3, it calls mod1's abc (as
expected). If I unload mod3 again, reload mod2, then reload mod3, it
calls mod2's abc again.
Well, anyway, I don't think that the kernel should crash due to a
namespace problem with caches. But that's just my opinion. And for all
of you that were so concerned... Yes I did fix my code ;-)
mod1.c:
---------------------------------
#include <linux/config.h>
#include <linux/module.h>
#include <linux/init.h>
void abc(void)
{
printk("hello from mod1\n");
}
EXPORT_SYMBOL(abc);
static int __init mod1_init(void)
{
printk("loaded mod1\n");
return 0;
}
static void __exit mod1_exit(void)
{
printk("unloaded mod1\n");
}
module_init(mod1_init);
module_exit(mod1_exit);
MODULE_LICENSE("GPL");
----------------------------------------
mod2.c:
----------------------------------------
#include <linux/config.h>
#include <linux/module.h>
#include <linux/init.h>
void abc(void)
{
printk("hello from mod2\n");
}
EXPORT_SYMBOL(abc);
static int __init mod2_init(void)
{
printk("loaded mod2\n");
return 0;
}
static void __exit mod2_exit(void)
{
printk("unloaded mod2\n");
}
module_init(mod2_init);
module_exit(mod2_exit);
MODULE_LICENSE("GPL");
-------------------------------
mod3.c:
-------------------------------
#include <linux/config.h>
#include <linux/module.h>
#include <linux/init.h>
extern void abc(void);
static int __init mod3_init(void)
{
printk("loaded mod3\n");
printk("running abc\n");
abc();
return 0;
}
static void __exit mod3_exit(void)
{
printk("unloaded mod3\n");
}
module_init(mod3_init);
module_exit(mod3_exit);
MODULE_LICENSE("GPL");
-------------------------------------
next prev parent reply other threads:[~2004-12-07 18:25 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-07 15:40 Bug in kmem_cache_create with duplicate names Steven Rostedt
2004-12-07 15:33 ` Randy.Dunlap
2004-12-07 16:15 ` Arjan van de Ven
2004-12-07 15:42 ` Randy.Dunlap
[not found] ` <1102436777.25841.271.camel@localhost.localdomain>
2004-12-07 16:31 ` Steven Rostedt
2004-12-07 17:57 ` Peter W. Morreale
2004-12-07 18:24 ` Steven Rostedt [this message]
2004-12-07 16:21 ` Steven Rostedt
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=1102443899.25841.290.camel@localhost.localdomain \
--to=rostedt@goodmis.org \
--cc=arjan@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=morreale@radiantdata.com \
--cc=rddunlap@osdl.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