public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* forcibly unmap pages in driver?
@ 2001-06-05  2:31 Dan Maas
  2001-06-05 22:21 ` Pete Wyckoff
  0 siblings, 1 reply; 7+ messages in thread
From: Dan Maas @ 2001-06-05  2:31 UTC (permalink / raw)
  To: linux-kernel

I am writing a device driver that, like many others, exposes a shared memory
region to user-space via mmap(). The region is allocated with vmalloc(), the
pages are marked reserved, and the user-space mapping is implemented with
remap_page_range().

In my driver, I may have to free the underlying vmalloc() region while the
user-space program is still running. I need to remove the user-space
mapping -- otherwise the user process would still have access to the
now-freed pages. I need an inverse of remap_page_range().

Is zap_page_range() the function I am looking for? Unfortunately it's not
exported to modules =(. As a quick fix, I was thinking I could just remap
all of the user pages to point to a zeroed page or something...

Another question- in the mm.c sources, I see that many of the memory-mapping
functions are surrounded by calls to flush_cache_range() and
flush_tlb_range(). But I don't see these calls in many drivers. Is it
necessary to make them when my driver maps or unmaps the shared memory
region?

Regards,
Dan


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-06-07  3:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <fa.fk487iv.1d2ksb0@ifi.uio.no>
     [not found] ` <fa.f3ckgov.ti0mb3@ifi.uio.no>
2001-06-07  3:46   ` forcibly unmap pages in driver? Dan Maas
2001-06-05  2:31 Dan Maas
2001-06-05 22:21 ` Pete Wyckoff
2001-06-05 23:15   ` Dan Maas
2001-06-05 23:31     ` Pete Wyckoff
2001-06-06  0:13       ` Dan Maas
2001-06-06  8:07   ` Martin Diehl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox