title: Is it possible to extend built-in Linux kernel feature with a module?
body: <p>I am using in embedded environment a 3.4.31+ Linux kernel that has built-in support for SquashFs with zlib compression method. Now I would like to add support for xz method compression without replacing kernel but just adding it as a module. Is it possible?</p>
  
  <p>After I</p>
  
  <ol>
  <li>Select SquashFs support as module in kernel menuconfig</li>
  <li>Recompile kernel</li>
  <li>Leave original kernel on my target device but update all contents of /lib/modules/3.4.31+</li>
  <li>invoke <strong>modprobe squashfs</strong></li>
  </ol>
  
  <p>I get</p>
  
  <pre><code># modprobe squashfs
  modprobe: failed to load module squashfs (kernel/fs/squashfs/squashfs.ko): Cannot allocate memorycode
  </code></pre>
  
  <p>dmesg shows:</p>
  
  <pre><code>kmem_cache_create: duplicate cache squashfs_inode_cache
  [&lt;c000e5e4&gt;] (unwind_backtrace+0x0/0xf0) from [&lt;c0077264&gt;] (kmem_cache_create+0x4a4/0x514)
  [&lt;c0077264&gt;] (kmem_cache_create+0x4a4/0x514) from [&lt;bf011024&gt;] (init_module+0x24/0x7c [squashfs])
  [&lt;bf011024&gt;] (init_module+0x24/0x7c [squashfs]) from [&lt;c0008840&gt;] (do_one_initcall+0x11c/0x190)
  [&lt;c0008840&gt;] (do_one_initcall+0x11c/0x190) from [&lt;c0048c40&gt;] (sys_init_module+0x36c/0x1874)
  [&lt;c0048c40&gt;] (sys_init_module+0x36c/0x1874) from [&lt;c00092e0&gt;] (ret_fast_syscall+0x0/0x2c)
  </code></pre>
  
  <p>Is there a workaround for this to forcefully remove the built-in SquashFs support?</p>