vmalloc.c (1bdd3e05a0a3b4a97ea88bc46fef8fb265c8b94c) vmalloc.c (8e57f8acbbd121ecfb0c9dc13b8b030f86c6bd3b)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * linux/mm/vmalloc.c
4 *
5 * Copyright (C) 1993 Linus Torvalds
6 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999
7 * SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000
8 * Major rework to support vmap/vunmap, Christoph Hellwig, SGI, August 2002

--- 1369 unchanged lines hidden (view full) ---

1378
1379/*
1380 * Free and unmap a vmap area
1381 */
1382static void free_unmap_vmap_area(struct vmap_area *va)
1383{
1384 flush_cache_vunmap(va->va_start, va->va_end);
1385 unmap_vmap_area(va);
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * linux/mm/vmalloc.c
4 *
5 * Copyright (C) 1993 Linus Torvalds
6 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999
7 * SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000
8 * Major rework to support vmap/vunmap, Christoph Hellwig, SGI, August 2002

--- 1369 unchanged lines hidden (view full) ---

1378
1379/*
1380 * Free and unmap a vmap area
1381 */
1382static void free_unmap_vmap_area(struct vmap_area *va)
1383{
1384 flush_cache_vunmap(va->va_start, va->va_end);
1385 unmap_vmap_area(va);
1386 if (debug_pagealloc_enabled())
1386 if (debug_pagealloc_enabled_static())
1387 flush_tlb_kernel_range(va->va_start, va->va_end);
1388
1389 free_vmap_area_noflush(va);
1390}
1391
1392static struct vmap_area *find_vmap_area(unsigned long addr)
1393{
1394 struct vmap_area *va;

--- 281 unchanged lines hidden (view full) ---

1676 vb_idx = addr_to_vb_idx((unsigned long)addr);
1677 rcu_read_lock();
1678 vb = radix_tree_lookup(&vmap_block_tree, vb_idx);
1679 rcu_read_unlock();
1680 BUG_ON(!vb);
1681
1682 vunmap_page_range((unsigned long)addr, (unsigned long)addr + size);
1683
1387 flush_tlb_kernel_range(va->va_start, va->va_end);
1388
1389 free_vmap_area_noflush(va);
1390}
1391
1392static struct vmap_area *find_vmap_area(unsigned long addr)
1393{
1394 struct vmap_area *va;

--- 281 unchanged lines hidden (view full) ---

1676 vb_idx = addr_to_vb_idx((unsigned long)addr);
1677 rcu_read_lock();
1678 vb = radix_tree_lookup(&vmap_block_tree, vb_idx);
1679 rcu_read_unlock();
1680 BUG_ON(!vb);
1681
1682 vunmap_page_range((unsigned long)addr, (unsigned long)addr + size);
1683
1684 if (debug_pagealloc_enabled())
1684 if (debug_pagealloc_enabled_static())
1685 flush_tlb_kernel_range((unsigned long)addr,
1686 (unsigned long)addr + size);
1687
1688 spin_lock(&vb->lock);
1689
1690 /* Expand dirty range */
1691 vb->dirty_min = min(vb->dirty_min, offset);
1692 vb->dirty_max = max(vb->dirty_max, offset + (1UL << order));

--- 1989 unchanged lines hidden ---
1685 flush_tlb_kernel_range((unsigned long)addr,
1686 (unsigned long)addr + size);
1687
1688 spin_lock(&vb->lock);
1689
1690 /* Expand dirty range */
1691 vb->dirty_min = min(vb->dirty_min, offset);
1692 vb->dirty_max = max(vb->dirty_max, offset + (1UL << order));

--- 1989 unchanged lines hidden ---