<div dir="ltr">I think there is no exported function for that, but there is a global variable for that.   Reason being for performance - the action virt_to_phys() is a macro to be compiled inline and more details here:<div>
<br></div><div><a href="http://stackoverflow.com/questions/5982125/how-to-get-a-struct-page-from-any-address-in-the-linux-kernel">http://stackoverflow.com/questions/5982125/how-to-get-a-struct-page-from-any-address-in-the-linux-kernel</a><br>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 1:29 AM, ajay saini <span dir="ltr">&lt;<a href="mailto:ajay_saini1006@yahoo.co.in" target="_blank">ajay_saini1006@yahoo.co.in</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div>More information : </div><div>- Linux kernel version : 2.6.32 (But I would like a method which is portable to other higher versions as well)</div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><span style="background-color:transparent">- I tried using follow_page, but this function is not exported from the kernel so, can&#39;t use it. (Any reason why this function is not exported??)</span><br>
</div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><span style="background-color:transparent"><br></span></div><div><span style="background-color:transparent">Thanks</span></div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><span style="background-color:transparent">Ajay</span></div><div><br></div>  <div style="font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif;font-size:12pt">
 <div style="font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif;font-size:12pt"> <div dir="ltr"> <hr size="1">  <font face="Arial"> <b><span style="font-weight:bold">From:</span></b> ajay saini &lt;<a href="mailto:ajay_saini1006@yahoo.co.in" target="_blank">ajay_saini1006@yahoo.co.in</a>&gt;<br>
 <b><span style="font-weight:bold">To:</span></b> &quot;<a href="mailto:kernelnewbies@kernelnewbies.org" target="_blank">kernelnewbies@kernelnewbies.org</a>&quot; &lt;<a href="mailto:kernelnewbies@kernelnewbies.org" target="_blank">kernelnewbies@kernelnewbies.org</a>&gt; <br>
 <b><span style="font-weight:bold">Sent:</span></b> Tuesday, 3 September 2013 1:21 PM<br> <b><span style="font-weight:bold">Subject:</span></b> Getting struct page pointer from virtual address<br> </font> </div> <div><br>
<div><div><div style="font-size:12pt;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><div><font face="times new roman, new york, times, serif">Hey,</font></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif">
<font face="times new roman, new york, times, serif"><br></font></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><font face="times new roman, new york, times, serif">I am working on a linux kernel module and I have a virtual address and mm (struct mm_struct) for a process in this module. I can find the virtaul
 memory area to which this address belongs to by using find_vma.</font></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif">
<font face="times new roman, new york, times, serif"><br></font></div><div><font face="times new roman, new york, times, serif">Is there a function in the linux kernel which I can use in this module (i.e. exported from the kernel) to get struct page pointer for this virtual address.</font></div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><font face="times new roman, new york, times, serif"><br></font></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif">
<font face="times new roman, new york, times,
 serif">Thanks</font></div><span class="HOEnZb"><font color="#888888"><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><font face="times new roman, new york, times, serif">Ajay</font></div>
</font></span></div></div></div><br><br></div> </div> </div>  </div></div><br>_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Regards,<br>Peter Teoh
</div>