title: What is OE+ in Linux?
body: <p><strong><em>What is the meaning of <code>(OE+)</code> in the following?</em></strong></p>
  
  <pre><code>$ sudo cat /proc/modules | grep hello //hello_world is a kernel module created by me.
  hello_world 20480 1 - Loading 0xffffffffc0221000 (OE+)
  </code></pre>
  
  <p>Here is my situation. <br />
  I have patched the Linux kernel function <code>load_module()</code>, which is called from <code>finit_module()</code>, the system call used by <code>insmod</code> to insert kernel modules.
  The patch looks for a specific module, created by me (called <code>hello_world</code>) being installed, and when it does, it prevents the call to <code>do_init_module()</code>, and returns 0 instead. <code>do_init_call()</code> is responsible for calling a module's <code>init</code> function, and setting the module state to live (<code>MODULE_STATE_LIVE</code>).</p>
  
  <p>When I read <code>/proc/modules</code>, the module state is <code>Loading</code>, which is expected. I do not understand however the meaning of <code>(OE+)</code> at the end of output. This is not displayed against any other module, as is verified by the following command.</p>
  
  <pre><code>$ sudo cat /proc/modules | grep OE
  hello_world 20480 1 - Loading 0xffffffffc0221000 (OE+)
  </code></pre>
  
  <p>I am using Linux kernel <code>v4.7.3</code>.</p>
  
  <p><strong>Update</strong></p>
  
  <p>All this is happening in a Qemu virtual machine. On the host, which is running <code>Linux 4.4.0-36-generic (Ubuntu)</code>, I get the following.</p>
  
  <pre><code>$ sudo cat /proc/modules | grep OE
  vboxpci 24576 0 - Live 0xffffffffc082a000 (OE)
  vboxnetadp 28672 0 - Live 0xffffffffc066e000 (OE)
  vboxnetflt 28672 0 - Live 0xffffffffc0635000 (OE)
  vboxdrv 454656 3 vboxpci,vboxnetadp,vboxnetflt, Live 0xffffffffc0783000 (OE)
  sep4_0 671744 0 - Live 0xffffffffc06de000 (OE)
  socperf2_0 36864 1 sep4_0, Live 0xffffffffc0660000 (OE)
  pax 16384 0 - Live 0xffffffffc05f9000 (OE)
  </code></pre>