Re: Why can user virtual addresses sometimes be dereferenced in the kernel?

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

 






>So my question is: why did this ever work? My theory is that the
>process' page tables are still in the MMU when the driver is called, >so
>the virtual address space is technically still valid, even if the kernel
>won't admit it. Am I right? If so, are the page tables not flushed
>because it would affect performance? Is there a way I can manual >flush
>the page tables in my driver in order to find all the places in my >code
>where user virtual addresses are used?

user space virtual address are always valid even in kernel e.g sys_read( char * _user buff, pos, count); requires to access user buffer to perform read.

if page tables r flushed then all info about valid pages will be lost.and again accessin those pages will cause lots of page faults.

Yahoo! India Matrimony: Find your life partner online.


[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