On Wed, 8 Apr 2020 13:59:00 +0200
vm_map_ram can keep mappings around after the vm_unmap_ram. Using that with non-PAGE_KERNEL mappings can lead to all kinds of aliasing issues.
Signed-off-by: Christoph Hellwig hch@lst.de
drivers/staging/android/ion/ion_heap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/android/ion/ion_heap.c b/drivers/staging/android/ion/ion_heap.c index 473b465724f1..a2d5c6df4b96 100644 --- a/drivers/staging/android/ion/ion_heap.c +++ b/drivers/staging/android/ion/ion_heap.c @@ -99,12 +99,12 @@ int ion_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer, static int ion_heap_clear_pages(struct page **pages, int num, pgprot_t pgprot) {
- void *addr = vm_map_ram(pages, num, -1, pgprot);
- void *addr = vmap(pages, num, VM_MAP);
A merge glitch?
void *vmap(struct page **pages, unsigned int count, unsigned long flags, pgprot_t prot)
if (!addr) return -ENOMEM; memset(addr, 0, PAGE_SIZE * num);
- vm_unmap_ram(addr, num);
- vunmap(addr);
return 0; } -- 2.25.1