title: How to communicate with a Linux kernel module from user space without littering /dev with new nodes?
body: <p>What are the ways to communicate with a kernel module from user space? By communication i mean sending information and commands between the kernel module and a user space process.</p>
  
  <p>I currently know of two way:</p>
  
  <ol>
  <li>open/close/read/write/ioctl on published device node.</li>
  <li>read/write on exported and hooked /proc file.</li>
  </ol>
  
  <p>More specifically, can someone advice the best way to communicate with a kernel module that does not actually drives any hardware and therefore should not be littering /dev with stub nodes that exists solely for ioctl calls? I mostly need to check its various status variables and send it a block of data with a request type tag and see if the request succeeded.</p>