kernel vaddr -> struct page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi,

I'm trying to turn a kernel virtual address into a struct page that I can
then pass to tcp_sendpage().  

The kernel virtual address could be {kmalloc(),vmalloc(),kmap()}-ed memory,
and I guarantee that this memory will not be {kfree(),vfree(),kunmap()}-ed
until the socket has done with the page (i.e. all the data has been acked).

I'd have thought that vmalloc_to_page(kvaddr) should give me a page I could
use, since it is walking the page tables to find the pte for 'kvaddr', and
checking that the physical page is present.

However I find I'm sending garbage when I use this method.

Can anyone help me understand?

-- 

                Cheers,
                        Eric

----------------------------------------------------
|Eric Barton        Barton Software                |
|9 York Gardens     Tel:    +44 (117) 330 1575     |
|Clifton            Mobile: +44 (7909) 680 356     |
|Bristol BS8 4LL    Fax:    call first             |
|United Kingdom     E-Mail: eric@bartonsoftware.com|
----------------------------------------------------
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux