<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1440717359399_2632">Hi Guys,</div><div id="yui_3_16_0_1_1440717359399_2672"><br></div><div dir="ltr" id="yui_3_16_0_1_1440717359399_2637">I have a question regarding to accessing to guess user space memory access,  and I hope I can get some helps here.</div><div id="yui_3_16_0_1_1440717359399_2671" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_2670" dir="ltr">This is the scenario:</div><div id="yui_3_16_0_1_1440717359399_2751" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_2752" dir="ltr">inside a Linux kernel driver, we lock the pages, and then send the guest address to vbox using a virtual device.<br></div><div id="yui_3_16_0_1_1440717359399_2797" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_2822" dir="ltr">// buffer is passed from user space program<br></div><div id="yui_3_16_0_1_1440717359399_2798" dir="ltr">void read_write(struct file *filp, char __user *buffer,  size_t bufflen, int is_write)</div><div id="yui_3_16_0_1_1440717359399_2817" dir="ltr">{</div><div id="yui_3_16_0_1_1440717359399_2819" dir="ltr">        // lock each page , then send the guest address to vbox through a virtual device<br></div><div id="yui_3_16_0_1_1440717359399_2863" dir="ltr">        get_user_pages(current, current->mm, buffer, 1, !is_write, 0, &page, NULL);  <br></div><div id="yui_3_16_0_1_1440717359399_2916" dir="ltr">     <br></div><div id="yui_3_16_0_1_1440717359399_2934" dir="ltr">        send_to_vbox(buffer);<br></div><div id="yui_3_16_0_1_1440717359399_2818" dir="ltr">}</div><div id="yui_3_16_0_1_1440717359399_2940" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_2973" dir="ltr">now inside the vbox, how do I get access to the user space address?</div><div id="yui_3_16_0_1_1440717359399_2974" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_2975" dir="ltr">I tried the following vbox apis, but seems I am getting the wrong address:</div><div id="yui_3_16_0_1_1440717359399_2992" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_3147" dir="ltr">PDMDevHlpPhysGCPtr2GCPhys</div><div id="yui_3_16_0_1_1440717359399_3148" dir="ltr">PDMDevHlpPhysGCPhys2GCPtr</div><div id="yui_3_16_0_1_1440717359399_3165" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_3206" dir="ltr">Any helps are greatly appreciated.<br></div><div id="yui_3_16_0_1_1440717359399_3207" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_3208" dir="ltr">Thanks,</div><div id="yui_3_16_0_1_1440717359399_3209" dir="ltr"><br></div><div id="yui_3_16_0_1_1440717359399_3211" dir="ltr">- Huihong</div><div id="yui_3_16_0_1_1440717359399_3213" dir="ltr"><br></div><div dir="ltr"><br></div></div></body></html>