• Changli Gao's avatar
    af_packet: use vmalloc_to_page() instead for the addresss returned by vmalloc() · 0af55bb5
    Changli Gao authored
    The following commit causes the pgv->buffer may point to the memory
    returned by vmalloc(). And we can't use virt_to_page() for the vmalloc
    address.
    
    This patch introduces a new inline function pgv_to_page(), which calls
    vmalloc_to_page() for the vmalloc address, and virt_to_page() for the
    __get_free_pages address.
    
    We used to increase page pointer to get the next page at the next page
    address, after Neil's patch, it is wrong, as the physical address may
    be not continuous. This patch also fixes this issue.
    
        commit 0e3125c7
        Author: Neil Horman <nhorman@tuxdriver.com>
        Date:   Tue Nov 16 10:26:47 2010 -0800
    
        packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)
    Signed-off-by: default avatarChangli Gao <xiaosuo@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0af55bb5
af_packet.c 61.5 KB