All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wakko Warner <wakko@animx.eu.org>
To: linux-kernel@vger.kernel.org
Subject: Re: Unable to load modules from 9p filesystem with kmod 16
Date: Fri, 10 Jan 2014 18:03:03 -0500	[thread overview]
Message-ID: <20140110230303.GA19369@animx.eu.org> (raw)
In-Reply-To: <20140110023543.GA6131@animx.eu.org>

Wakko Warner wrote:
> Kernel 3.12.7 from kernel.org
> With kmod-16, I'm unable to load any modules on my guest kvm machines.
> The vm is booted via direct kernel boot.  The modules are located on the
> host and is passed to the guest via the fsdev.
> 
> I have a mountpoint on the guest filesystem located at /kernel.  It is
> mounted like this:
> kernel /kernel 9p rw,sync,dirsync,relatime,trans=virtio,version=9p2000.L 0 0
> 
> /boot, /lib/modules, and /lib/firmware are tmpfs filesystems like this:
> kboot /boot tmpfs rw,relatime,size=0k,nr_inodes=8 0 0
> kfirmware /lib/firmware tmpfs rw,relatime,size=0k,nr_inodes=8 0 0
> kmodules /lib/modules tmpfs rw,relatime,size=0k,nr_inodes=8 0 0
> 
> /lib/modules/$(uname -r) is a symlink to /kernel/lib/modules/$(uname -r)
> 
> When trying to load any module, I get 
> Error: could not insert module /lib/modules/3.12.7/kernel/crypto/af_alg.ko:
> Invalid module format
> 
> This module was just one I picked at random, all modules fail the same way.
> Strace shows this:
> open("/lib/modules/3.12.7/kernel/crypto/af_alg.ko", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=13822, ...}) = 0
> mmap(NULL, 13822, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f199aebd000
> syscall_313(0x3, 0x7f199aaa2de0, 0, 0x3, 0, 0x7f199b7b2010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = -1 (errno 8)
> munmap(0x7f199aebd000, 13822)           = 0
> close(3)                                = 0
> 
> If I use kmod-9, it works w/o problems.  An strace of kmod-9 shows:
> open("/lib/modules/3.12.7/kernel/crypto/af_alg.ko", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=13822, ...}) = 0
> mmap(NULL, 13822, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f658ba41000
> init_module(0x7f658ba41000, 13822, "")  = 0
> munmap(0x7f658ba41000, 13822)           = 0
> close(3)                                = 0
> 
> If I copy the module to /tmp, kmod-16 loads it just fine.  It appears to be
> related to the 9p filesystem.
> 
> I won't rule out a bug in kmod-16, but I was unable to figure out what the
> cause of the error was.  I tried to search through kmod's source and the
> kernel source, but I gave up because I don't understand what's going on.

I did some testing with the various kmod versions between kmod-9 and 16. 
The problem was introduced in 13.  The change that broke this was the
addition of finit_module().  Appears that the kernel cannot handle modules
that is on the 9p filesystem.  On the line that checked err == 0 (around
line libkmod-module.c:823), I added a test for ENOEXEC.  The finit_module
still fails,but it uses the old method and works.

I would say from what I've seen, the problem is in the kernel for
finit_module().  I don't know enough about the kernel to go any further.

  reply	other threads:[~2014-01-10 23:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-10  2:35 Unable to load modules from 9p filesystem with kmod 16 Wakko Warner
2014-01-10 23:03 ` Wakko Warner [this message]
2014-01-11  1:01   ` Randy Dunlap
2014-01-11 12:19     ` [V9fs-developer] " Dominique Martinet
2014-01-11 14:12       ` Wakko Warner

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=20140110230303.GA19369@animx.eu.org \
    --to=wakko@animx.eu.org \
    --cc=linux-kernel@vger.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.