Re: [PATCH][Resend v2] Fix infinite loop in search_binary_handler()

From: Tetsuo Handa
Date: Mon Jul 04 2011 - 08:11:15 EST


Richard Weinberger wrote:
> Am Montag 04 Juli 2011, 13:51:55 schrieb Tetsuo Handa:
> > Richard Weinberger wrote:
> > > Running a x86_64 kernel without ia32 emulation and a x86 user land
> > > triggers this issue.
> >
> > Executing /sbin/modprobe for x86_32 on an x86_64 kernel without x86_32
> > support?
>
> Yep.
>
> > Anyway, request_module() calls __request_module() but
> > __request_module() stops at MAX_KMOD_CONCURRENT levels of nesting.
> > So, I think "infinite loop" cannot happen.
>
> Booting a x86_64 UML kernel with x86_32 user land triggers this issue.
> I always wondered why the UML kernel hangs an consumes 100% CPU.

That's strange... Would you show us printk() output like

printk(KERN_INFO "Calling request_module()\n");
request_module("binfmt-%04x", *(unsigned short *)(&bprm->buf[2]));
printk(KERN_INFO "Returned from request_module()\n");

for demonstrating that __request_module() cannot stop at
MAX_KMOD_CONCURRENT levels of nesting?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/