<br><br><div class="gmail_quote">2012/10/19 Fan Yang <span dir="ltr">&lt;<a href="mailto:lljyangfan@gmail.com" target="_blank">lljyangfan@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div><br><br>2012/10/19 Arun KS &lt;<a href="mailto:getarunks@gmail.com" target="_blank">getarunks@gmail.com</a>&gt;<br>&gt;<br>&gt; Hi Fan,<br>&gt;<br>&gt; On Fri, Oct 19, 2012 at 6:50 PM, Fan Yang &lt;<a href="mailto:lljyangfan@gmail.com" target="_blank">lljyangfan@gmail.com</a>&gt; wrote:<br>


&gt;&gt;<br>&gt;&gt; HI ALL:<br>&gt;&gt; &nbsp; &nbsp; I just run a module on my machine, but it &nbsp;can&#39;t work. When the module run the kernel will painc. I don&#39;t know where is wrong. This is my code:<br>&gt;&gt;<br>&gt;&gt; &nbsp;1 #include&lt;linux/module.h&gt;<br>


&gt;&gt; &nbsp; 2 #include&lt;linux/kernel.h&gt;<br>&gt;&gt; &nbsp; 3 #include&lt;linux/init.h&gt;<br>&gt;&gt; &nbsp; 4 #include&lt;linux/sched.h&gt;<br>&gt;&gt; &nbsp; 5<br>&gt;&gt; &nbsp; 6 int input = 1;<br>&gt;&gt; &nbsp; 7 module_param (input, int, S_IRUGO);<br>


&gt;&gt; &nbsp; 8<br>&gt;&gt; &nbsp; 9 static int __init printvma_init (void)<br>&gt;&gt; &nbsp;10 {<br>&gt;&gt; &nbsp;11 &nbsp; &nbsp; struct vm_area_struct *p, *start;<br>&gt;&gt; &nbsp;12 &nbsp; &nbsp; int i;<br>&gt;&gt; &nbsp;13 &nbsp; &nbsp; struct task_struct *thread; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>


&gt;&gt; &nbsp;14<br>&gt;&gt; &nbsp;15 &nbsp; &nbsp; thread = current;<br>&gt;&gt; &nbsp;16<br>&gt;&gt; &nbsp;17 &nbsp; &nbsp; while (1)<br>&gt;&gt; &nbsp;18 &nbsp; &nbsp; {<br>&gt;&gt; &nbsp;19 &nbsp; &nbsp; &nbsp; &nbsp; if (thread-&gt;pid == input)<br>&gt;&gt; &nbsp;20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br>&gt;&gt; &nbsp;21 &nbsp; &nbsp; &nbsp; &nbsp; thread = list_entry (thread-&gt;tasks.next, struct task_struct, tasks);<br>


&gt;&gt; &nbsp;22 &nbsp; &nbsp; }<br>&gt;&gt; &nbsp;23 &nbsp; &nbsp; p = thread-&gt;mm-&gt;mmap;<br>&gt;&gt; &nbsp;24<br>&gt;&gt; &nbsp;25 &nbsp; &nbsp; do{<br>&gt;&gt; &nbsp;26 &nbsp; &nbsp; &nbsp; &nbsp; printk (&quot;%lx\t%lx\t%s\n&quot;, p-&gt;vm_start,\<br>&gt;&gt; &nbsp;27 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p-&gt;vm_end, p-&gt;vm_file-&gt;f_path.dentry-&gt;d_iname);<br>


&gt;&gt; &nbsp;28 &nbsp; &nbsp; &nbsp; &nbsp; p = p-&gt;vm_next;<br>&gt;&gt; &nbsp;29 &nbsp; &nbsp; }while (p != NULL);<br>&gt;&gt; &nbsp;30<br>&gt;&gt; &nbsp;31 &nbsp; &nbsp; printk (&quot;vm_file address is:%d\tf_path address is:%d\<br>&gt;&gt; &nbsp;32 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \tname is:%s&quot;,&amp; p-&gt;vm_file-&gt;f_path,\<br>


&gt;&gt; &nbsp;33 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p-&gt;vm_file-&gt;f_path.dentry-&gt;d_iname);<br>&gt;&gt; &nbsp;34<br>&gt;&gt; &nbsp;35 &nbsp; &nbsp; printk (&quot;info from the kernel space:%s\n&quot;, thread-&gt;comm);<br>&gt;&gt; &nbsp;36 &nbsp; &nbsp; return 0;<br>&gt;&gt; &nbsp;37 }<br>


&gt;&gt; &nbsp;38<br>&gt;&gt; &nbsp;39 static void __exit printvma_exit (void)<br>&gt;&gt; &nbsp;40 {<br>&gt;&gt; &nbsp;41 &nbsp; &nbsp; printk (&quot;the module will leave the kernel space..\n&quot;);<br>&gt;&gt; &nbsp;42 }<br>&gt;&gt; &nbsp;43<br>&gt;&gt; &nbsp;44 module_init (printvma_init);<br>


&gt;&gt; &nbsp;45 module_exit (printvma_exit);<br>&gt;&gt; &nbsp;46 MODULE_LICENSE (&quot;GPL&quot;); &nbsp; &nbsp; &nbsp;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; what&#39;s wrong?<br>&gt;<br>&gt;<br>&gt; It would be good if you paste your crash log here.<br>


&gt;<br>&gt; Thanks,<br>&gt; Arun<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; thanks<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; Kernelnewbies mailing list<br>&gt;&gt; <a href="mailto:Kernelnewbies@kernelnewbies.org" target="_blank">Kernelnewbies@kernelnewbies.org</a><br>


&gt;&gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>&gt;&gt;<br>&gt;<br></div></div><div style="text-align:left">

The module run in a virtual machine, I can&#39;t control the machine when it crashed, so I just got a picture when the kernel panic.<br>
<br><br><img alt=""><br>
<br><br>Thanks</div></blockquote><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="text-align:left"><span><font color="#888888"><br>
Fan</font></span></div></blockquote><div><br></div><div>&nbsp;</div><div>this is the pictiure:</div><div><br></div><div><img class="m-la-Kb-Z" alt="ÕÕƬ" src="https://lh6.googleusercontent.com/-WQaaCL8rECQ/UIFbRBoo8gI/AAAAAAAAAC0/_8HkycAjZz0/w718-h400-p-k/snapshot3.png" style="width: 718px; height: 400px; margin-left: 0px; margin-top: 0px; "></div>
</div>