* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
[not found] ` <20080311225926.6515e18c.akpm@linux-foundation.org>
@ 2008-04-22 12:37 ` David Woodhouse
2008-04-24 4:01 ` Gordon Farquharson
0 siblings, 1 reply; 8+ messages in thread
From: David Woodhouse @ 2008-04-22 12:37 UTC (permalink / raw)
To: Andrew Morton; +Cc: Gordon Farquharson, linux-kernel, linux-mtd, davem, netdev
On Tue, 2008-03-11 at 22:59 -0700, Andrew Morton wrote:
> Now, af_unix_init() uses module_init(), which is really __initcall(), which
> is really device_initcall() (ug, don't ask).
... which is really __define_initcall("6", ...);.
> So you can do what you're sugesting here by locating the caller/callers of
> parse_mtd_partitions() and marking them late_initcall().
Better still, just initialise af_unix earlier so that it's there before
any normal drivers which happen to call request_module(). Since core
network stuff is initialised with subsys_initcall() which is really
__define_initcall("4", ...), we can initialise af_unix with
fs_initcall() which is really __define_initcall("5", ...).
---
[AF_UNIX] Initialise UNIX sockets before general device initcalls
When drivers call request_module(), it tries to do something with UNIX
sockets and triggers a 'runaway loop modprobe net-pf-1' warning. Avoid
this by initialising AF_UNIX support earlier.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
--- linux-2.6.24.ppc/net/unix/af_unix.c~ 2008-04-13 13:38:25.000000000 +0100
+++ linux-2.6.24.ppc/net/unix/af_unix.c 2008-04-22 13:01:45.000000000 +0100
@@ -2193,7 +2193,11 @@ static void __exit af_unix_exit(void)
unregister_pernet_subsys(&unix_net_ops);
}
-module_init(af_unix_init);
+/* Earlier than device_initcall() so that other drivers invoking
+ request_module() don't end up in a loop when modprobe tries
+ to use a UNIX socket. But later than subsys_initcall() because
+ we depend on stuff initialised there */
+fs_initcall(af_unix_init);
module_exit(af_unix_exit);
MODULE_LICENSE("GPL");
--
dwmw2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
2008-04-22 12:37 ` physmap and "request_module: runaway loop modprobe net-pf-1" David Woodhouse
@ 2008-04-24 4:01 ` Gordon Farquharson
2008-04-24 5:49 ` David Woodhouse
0 siblings, 1 reply; 8+ messages in thread
From: Gordon Farquharson @ 2008-04-24 4:01 UTC (permalink / raw)
To: David Woodhouse; +Cc: Andrew Morton, linux-kernel, linux-mtd, davem, netdev
Hi David
On Tue, Apr 22, 2008 at 6:37 AM, David Woodhouse <dwmw2@infradead.org> wrote:
> On Tue, 2008-03-11 at 22:59 -0700, Andrew Morton wrote:
>
> > Now, af_unix_init() uses module_init(), which is really __initcall(), which
> > is really device_initcall() (ug, don't ask).
>
> ... which is really __define_initcall("6", ...);.
>
>
> > So you can do what you're sugesting here by locating the caller/callers of
> > parse_mtd_partitions() and marking them late_initcall().
>
> Better still, just initialise af_unix earlier so that it's there before
> any normal drivers which happen to call request_module(). Since core
> network stuff is initialised with subsys_initcall() which is really
> __define_initcall("4", ...), we can initialise af_unix with
> fs_initcall() which is really __define_initcall("5", ...).
I tested the patch you sent. It fixes the runaway modprobe messages,
but I get a modprobe error (see below) with the Debian kernel I used
to test the patch because modules.dep does not exist in the initramfs
(should it?). In my kernel config, I did not enable
CONFIG_MTD_CMDLINE_PARTS and I set CONFIG_MTD_REDBOOT_PARTS=m but the
redboot module was not included in the initramfs so it could not be
loaded, hence the messages saying that the parsing schemes are not
available.
[ 4.790000] physmap platform flash device: 00080000 at f0000000
[ 4.800000] Found: ST M29W400DB
[ 4.800000] physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
[ 4.810000] number of JEDEC chips: 1
[ 4.810000] cfi_cmdset_0002: Disabling erase-suspend-program due to
code brokenness.
modprobe: FATAL: Could not load
/lib/modules/2.6.25-trunk-iop32x/modules.dep: No such file or
directory
[ 4.900000] cmdlinepart partition parsing not available
modprobe: FATAL: Could not load
/lib/modules/2.6.25-trunk-iop32x/modules.dep: No such file or
directory
[ 4.970000] RedBoot partition parsing not available
I guess the question is which patch (if either) is more appealing.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
2008-04-24 4:01 ` Gordon Farquharson
@ 2008-04-24 5:49 ` David Woodhouse
2008-04-24 6:10 ` David Miller
0 siblings, 1 reply; 8+ messages in thread
From: David Woodhouse @ 2008-04-24 5:49 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: Andrew Morton, linux-kernel, linux-mtd, davem, netdev
On Wed, 2008-04-23 at 22:01 -0600, Gordon Farquharson wrote:
> I guess the question is which patch (if either) is more appealing.
I definitely think we should initialise AF_UNIX sockets earlier. At
least request_module() _can_ work then, if you want it to and you set up
userspace accordingly.
I'm also tempted to reduce the proliferation of modules in drivers/mtd
and turn the various partition options into booleans, though. Your
original patch is close, but I don't think it works in the CONFIG_MTD=m
case. I think we need to modify drivers/mtd/Makefile too, along these
lines:
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 4b77335..6137eec 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -7,12 +7,12 @@ obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o
mtd-$(CONFIG_MTD_PARTITIONS) += mtdpart.o
-obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o
-obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
-obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
-obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
-obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
-obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
+mtd-$(CONFIG_MTD_CONCAT) += mtdconcat.o
+mtd-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
+mtd-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
+mtd-$(CONFIG_MTD_AFS_PARTS) += afs.o
+mtd-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
+mtd-$(CONFIG_MTD_OF_PARTS) += ofpart.o
# 'Users' - code which presents functionality to userspace.
obj-$(CONFIG_MTD_CHAR) += mtdchar.o
I'll play with it.
--
dwmw2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
2008-04-24 5:49 ` David Woodhouse
@ 2008-04-24 6:10 ` David Miller
2008-04-24 7:16 ` David Woodhouse
0 siblings, 1 reply; 8+ messages in thread
From: David Miller @ 2008-04-24 6:10 UTC (permalink / raw)
To: dwmw2; +Cc: gordonfarquharson, akpm, linux-kernel, linux-mtd, netdev
From: David Woodhouse <dwmw2@infradead.org>
Date: Thu, 24 Apr 2008 06:49:03 +0100
> On Wed, 2008-04-23 at 22:01 -0600, Gordon Farquharson wrote:
> > I guess the question is which patch (if either) is more appealing.
>
> I definitely think we should initialise AF_UNIX sockets earlier. At
> least request_module() _can_ work then, if you want it to and you set up
> userspace accordingly.
I'm not so sure, for example, what if AF_UNIX is built modular?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
2008-04-24 6:10 ` David Miller
@ 2008-04-24 7:16 ` David Woodhouse
2008-04-24 7:20 ` David Miller
0 siblings, 1 reply; 8+ messages in thread
From: David Woodhouse @ 2008-04-24 7:16 UTC (permalink / raw)
To: David Miller; +Cc: gordonfarquharson, akpm, linux-kernel, linux-mtd, netdev
On Wed, 2008-04-23 at 23:10 -0700, David Miller wrote:
> From: David Woodhouse <dwmw2@infradead.org>
> Date: Thu, 24 Apr 2008 06:49:03 +0100
>
> > On Wed, 2008-04-23 at 22:01 -0600, Gordon Farquharson wrote:
> > > I guess the question is which patch (if either) is more appealing.
> >
> > I definitely think we should initialise AF_UNIX sockets earlier. At
> > least request_module() _can_ work then, if you want it to and you set up
> > userspace accordingly.
>
> I'm not so sure, for example, what if AF_UNIX is built modular?
I believe that as long as you include it in your initrd, it'll get
loaded on demand and all will be well. The first request_module() call
will trigger a request_module(af_unix), which will succeed.
--
dwmw2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
2008-04-24 7:16 ` David Woodhouse
@ 2008-04-24 7:20 ` David Miller
2008-04-24 7:24 ` David Woodhouse
0 siblings, 1 reply; 8+ messages in thread
From: David Miller @ 2008-04-24 7:20 UTC (permalink / raw)
To: dwmw2; +Cc: gordonfarquharson, akpm, linux-kernel, linux-mtd, netdev
From: David Woodhouse <dwmw2@infradead.org>
Date: Thu, 24 Apr 2008 08:16:39 +0100
> On Wed, 2008-04-23 at 23:10 -0700, David Miller wrote:
> > From: David Woodhouse <dwmw2@infradead.org>
> > Date: Thu, 24 Apr 2008 06:49:03 +0100
> >
> > > On Wed, 2008-04-23 at 22:01 -0600, Gordon Farquharson wrote:
> > > > I guess the question is which patch (if either) is more appealing.
> > >
> > > I definitely think we should initialise AF_UNIX sockets earlier. At
> > > least request_module() _can_ work then, if you want it to and you set up
> > > userspace accordingly.
> >
> > I'm not so sure, for example, what if AF_UNIX is built modular?
>
> I believe that as long as you include it in your initrd, it'll get
> loaded on demand and all will be well. The first request_module() call
> will trigger a request_module(af_unix), which will succeed.
But won't the request_module() for AF_UNIX spit out that warning too?
Actually, I think I need a clarification. It is the modular loader
utility in userspace which is trying to open up AF_UNIX sockets,
right?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
2008-04-24 7:20 ` David Miller
@ 2008-04-24 7:24 ` David Woodhouse
2008-04-24 7:58 ` David Miller
0 siblings, 1 reply; 8+ messages in thread
From: David Woodhouse @ 2008-04-24 7:24 UTC (permalink / raw)
To: David Miller; +Cc: gordonfarquharson, akpm, linux-kernel, linux-mtd, netdev
On Thu, 2008-04-24 at 00:20 -0700, David Miller wrote:
> But won't the request_module() for AF_UNIX spit out that warning too?
Yes. If you build AF_UNIX as a module, it will. Just once though, before
loading it (assuming it's available).
> Actually, I think I need a clarification. It is the modular loader
> utility in userspace which is trying to open up AF_UNIX sockets,
> right?
Yes. Or probably libc.
--
dwmw2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: physmap and "request_module: runaway loop modprobe net-pf-1"
2008-04-24 7:24 ` David Woodhouse
@ 2008-04-24 7:58 ` David Miller
0 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2008-04-24 7:58 UTC (permalink / raw)
To: dwmw2; +Cc: gordonfarquharson, akpm, linux-kernel, linux-mtd, netdev
From: David Woodhouse <dwmw2@infradead.org>
Date: Thu, 24 Apr 2008 08:24:12 +0100
> On Thu, 2008-04-24 at 00:20 -0700, David Miller wrote:
> > But won't the request_module() for AF_UNIX spit out that warning too?
>
> Yes. If you build AF_UNIX as a module, it will. Just once though, before
> loading it (assuming it's available).
>
> > Actually, I think I need a clarification. It is the modular loader
> > utility in userspace which is trying to open up AF_UNIX sockets,
> > right?
>
> Yes. Or probably libc.
Ok, I'll apply your patch, but really this all feels like a jumble
of hacks to me :-)
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-04-24 7:58 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <97a0a9ac0803112235l157706adoa84b131549a46049@mail.gmail.com>
[not found] ` <20080311225926.6515e18c.akpm@linux-foundation.org>
2008-04-22 12:37 ` physmap and "request_module: runaway loop modprobe net-pf-1" David Woodhouse
2008-04-24 4:01 ` Gordon Farquharson
2008-04-24 5:49 ` David Woodhouse
2008-04-24 6:10 ` David Miller
2008-04-24 7:16 ` David Woodhouse
2008-04-24 7:20 ` David Miller
2008-04-24 7:24 ` David Woodhouse
2008-04-24 7:58 ` David Miller
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).