virtual -->physical --> virtual address

ratheesh kannoth <[email protected]> Sat, 15 Oct 2011 12:31:08 +0530
Newsgroups org.kernel.vger.linux-c-programming,org.kernel.vger.linux-newbie
Message-ID <CAGZFCEHW9Rpk8ZaFbaQPMeA_jOGFnFsnyqXg8QYJs+T+WpxpKw@mail.gmail.com>
{
virtual_addr1 =  kmalloc(0x20, GFP_USER);
phy_addr1 = __pa(virtual_addr1 );
virtual_addr2 =  ioremap(phy_addr1, 0x20 );

}


I noticed that virtual_addr1  is not equal to virtual_addr2.  And if i
dereference virtual_addr2 ( *virtual_addr2 ),
kernel crash. What is wrong here ?

-Ratheesh