title: insmod: error when inserting kernel module
body: <p>I am trying to implement a kernel module, which can access the task_struct of a user process, whose Process ID is already known to me. I am using <code>find_get_pid</code> and <code>pid_task</code> to get the task_struct of the process:</p>
  
  <pre><code>#include &lt;linux/kernel.h&gt;
  #include &lt;linux/module.h&gt;
  #include &lt;linux/sched.h&gt;
  #include &lt;linux/pid.h&gt;
  #include &lt;linux/pid_namespace.h&gt;
  
  int init_module( void )
  {
  //Declaring the variables
      int p_id = 6980;    //6980 is the process ID of my user process
      struct pid *pid_struct;
      struct task_struct *task;
  
  // Trying to access the variables of the p_id
      pid_struct = find_get_pid(p_id);
      task = pid_task(pid_struct, PIDTYPE_PID);
  
  //Printing the info from the task_struct
      printk( KERN_INFO "*** [%d]\n",task-&gt;pid);
      return 0;
  }
  
  void cleanup_module( void )
  {
    return;
  }
  </code></pre>
  
  <p>It is getting compiled successfully and I am getting *.ko file, but when I am trying to insert it in the kernel, it is giving me an error:<br>
  <code>insmod: error inserting 'main.ko': -1 Unknown symbol in module</code><br>
  Dmesg is giving me the following output:<br>
  <code>main: Unknown symbol find_get_pid (err 0)</code><br>
  I dont know how to proceed, it would be really appreciated if anyone can help me.</p>