linux/mm/vmalloc.c
<<
>>
Prefs
   1/*
   2 *  linux/mm/vmalloc.c
   3 *
   4 *  Copyright (C) 1993  Linus Torvalds
   5 *  Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999
   6 *  SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000
   7 *  Major rework to support vmap/vunmap, Christoph Hellwig, SGI, August 2002
   8 *  Numa awareness, Christoph Lameter, SGI, June 2005
   9 */
  10
  11#include <linux/vmalloc.h>
  12#include <linux/mm.h>
  13#include <linux/module.h>
  14#include <linux/highmem.h>
  15#include <linux/sched.h>
  16#include <linux/slab.h>
  17#include <linux/spinlock.h>
  18#include <linux/interrupt.h>
  19#include <linux/proc_fs.h>
  20#include <linux/seq_file.h>
  21#include <linux/debugobjects.h>
  22#include <linux/kallsyms.h>
  23#include <linux/list.h>
  24#include <linux/rbtree.h>
  25#include <linux/radix-tree.h>
  26#include <linux/rcupdate.h>
  27#include <linux/pfn.h>
  28#include <linux/kmemleak.h>
  29#include <linux/atomic.h>
  30#include <asm/uaccess.h>
  31#include <asm/tlbflush.h>
  32#include <asm/shmparam.h>
  33
  34/*** Page table manipulation functions ***/
  35
  36static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end)
  37{
  38        pte_t *pte;
  39
  40        pte = pte_offset_kernel(pmd, addr);
  41        do {
  42                pte_t ptent = ptep_get_and_clear(&init_mm, addr, pte);
  43                WARN_ON(!pte_none(ptent) && !pte_present(ptent));
  44        } while (pte++, addr += PAGE_SIZE, addr != end);
  45}
  46
  47static void vunmap_pmd_range(pud_t *pud, unsigned long addr, unsigned long end)
  48{
  49        pmd_t *pmd;
  50        unsigned long next;
  51
  52        pmd = pmd_offset(pud, addr);
  53        do {
  54                next = pmd_addr_end(addr, end);
  55                if (pmd_none_or_clear_bad(pmd))
  56                        continue;
  57                vunmap_pte_range(pmd, addr, next);
  58        } while (pmd++, addr = next, addr != end);
  59}
  60
  61static void vunmap_pud_range(pgd_t *pgd, unsigned long addr, unsigned long end)
  62{
  63        pud_t *pud;
  64        unsigned long next;
  65
  66        pud = pud_offset(pgd, addr);
  67        do {
  68                next = pud_addr_end(addr, end);
  69                if (pud_none_or_clear_bad(pud))
  70                        continue;
  71                vunmap_pmd_range(pud, addr, next);
  72        } while (pud++, addr = next, addr != end);
  73}
  74
  75static void vunmap_page_range(unsigned long addr, unsigned long end)
  76{
  77        pgd_t *pgd;
  78        unsigned long next;
  79
  80        BUG_ON(addr >= end);
  81        pgd = pgd_offset_k(addr);
  82        do {
  83                next = pgd_addr_end(addr, end);
  84                if (pgd_none_or_clear_bad(pgd))
  85                        continue;
  86                vunmap_pud_range(pgd, addr, next);
  87        } while (pgd++, addr = next, addr != end);
  88}
  89
  90static int vmap_pte_range(pmd_t *pmd, unsigned long addr,
  91                unsigned long end, pgprot_t prot, struct page **pages, int *nr)
  92{
  93        pte_t *pte;
  94
  95        /*
  96         * nr is a running index into the array which helps higher level
  97         * callers keep track of where we're up to.
  98         */
  99
 100        pte = pte_alloc_kernel(pmd, addr);
 101        if (!pte)
 102                return -ENOMEM;
 103        do {
 104                struct page *page = pages[*nr];
 105
 106                if (WARN_ON(!pte_none(*pte)))
 107                        return -EBUSY;
 108                if (WARN_ON(!page))
 109                        return -ENOMEM;
 110                set_pte_at(&init_mm, addr, pte, mk_pte(page, prot));
 111                (*nr)++;
 112        } while (pte++, addr += PAGE_SIZE, addr != end);
 113        return 0;
 114}
 115
 116static int vmap_pmd_range(pud_t *pud, unsigned long addr,
 117                unsigned long end, pgprot_t prot, struct page **pages, int *nr)
 118{
 119        pmd_t *pmd;
 120        unsigned long next;
 121
 122        pmd = pmd_alloc(&init_mm, pud, addr);
 123        if (!pmd)
 124                return -ENOMEM;
 125        do {
 126                next = pmd_addr_end(addr, end);
 127                if (vmap_pte_range(pmd, addr, next, prot, pages, nr))
 128                        return -ENOMEM;
 129        } while (pmd++, addr = next, addr != end);
 130        return 0;
 131}
 132
 133static int vmap_pud_range(pgd_t *pgd, unsigned long addr,
 134                unsigned long end, pgprot_t prot, struct page **pages, int *nr)
 135{
 136        pud_t *pud;
 137        unsigned long next;
 138
 139        pud = pud_alloc(&init_mm, pgd, addr);
 140        if (!pud)
 141                return -ENOMEM;
 142        do {
 143                next = pud_addr_end(addr, end);
 144                if (vmap_pmd_range(pud, addr, next, prot, pages, nr))
 145                        return -ENOMEM;
 146        } while (pud++, addr = next, addr != end);
 147        return 0;
 148}
 149
 150/*
 151 * Set up page tables in kva (addr, end). The ptes shall have prot "prot", and
 152 * will have pfns corresponding to the "pages" array.
 153 *
 154 * Ie. pte at addr+N*PAGE_SIZE shall point to pfn corresponding to pages[N]
 155 */
 156static int vmap_page_range_noflush(unsigned long start, unsigned long end,
 157                                   pgprot_t prot, struct page **pages)
 158{
 159        pgd_t *pgd;
 160        unsigned long next;
 161        unsigned long addr = start;
 162        int err = 0;
 163        int nr = 0;
 164
 165        BUG_ON(addr >= end);
 166        pgd = pgd_offset_k(addr);
 167        do {
 168                next = pgd_addr_end(addr, end);
 169                err = vmap_pud_range(pgd, addr, next, prot, pages, &nr);
 170                if (err)
 171                        return err;
 172        } while (pgd++, addr = next, addr != end);
 173
 174        return nr;
 175}
 176
 177static int vmap_page_range(unsigned long start, unsigned long end,
 178                           pgprot_t prot, struct page **pages)
 179{
 180        int ret;
 181
 182        ret = vmap_page_range_noflush(start, end, prot, pages);
 183        flush_cache_vmap(start, end);
 184        return ret;
 185}
 186
 187int is_vmalloc_or_module_addr(const void *x)
 188{
 189        /*
 190         * ARM, x86-64 and sparc64 put modules in a special place,
 191         * and fall back on vmalloc() if that fails. Others
 192         * just put it in the vmalloc space.
 193         */
 194#if defined(CONFIG_MODULES) && defined(MODULES_VADDR)
 195        unsigned long addr = (unsigned long)x;
 196        if (addr >= MODULES_VADDR && addr < MODULES_END)
 197                return 1;
 198#endif
 199        return is_vmalloc_addr(x);
 200}
 201
 202/*
 203 * Walk a vmap address to the struct page it maps.
 204 */
 205struct page *vmalloc_to_page(const void *vmalloc_addr)
 206{
 207        unsigned long addr = (unsigned long) vmalloc_addr;
 208        struct page *page = NULL;
 209        pgd_t *pgd = pgd_offset_k(addr);
 210
 211        /*
 212         * XXX we might need to change this if we add VIRTUAL_BUG_ON for
 213         * architectures that do not vmalloc module space
 214         */
 215        VIRTUAL_BUG_ON(!is_vmalloc_or_module_addr(vmalloc_addr));
 216
 217        if (!pgd_none(*pgd)) {
 218                pud_t *pud = pud_offset(pgd, addr);
 219                if (!pud_none(*pud)) {
 220                        pmd_t *pmd = pmd_offset(pud, addr);
 221                        if (!pmd_none(*pmd)) {
 222                                pte_t *ptep, pte;
 223
 224                                ptep = pte_offset_map(pmd, addr);
 225                                pte = *ptep;
 226                                if (pte_present(pte))
 227                                        page = pte_page(pte);
 228                                pte_unmap(ptep);
 229                        }
 230                }
 231        }
 232        return page;
 233}
 234EXPORT_SYMBOL(vmalloc_to_page);
 235
 236/*
 237 * Map a vmalloc()-space virtual address to the physical page frame number.
 238 */
 239unsigned long vmalloc_to_pfn(const void *vmalloc_addr)
 240{
 241        return page_to_pfn(vmalloc_to_page(vmalloc_addr));
 242}
 243EXPORT_SYMBOL(vmalloc_to_pfn);
 244
 245
 246/*** Global kva allocator ***/
 247
 248#define VM_LAZY_FREE    0x01
 249#define VM_LAZY_FREEING 0x02
 250#define VM_VM_AREA      0x04
 251
 252struct vmap_area {
 253        unsigned long va_start;
 254        unsigned long va_end;
 255        unsigned long flags;
 256        struct rb_node rb_node;         /* address sorted rbtree */
 257        struct list_head list;          /* address sorted list */
 258        struct list_head purge_list;    /* "lazy purge" list */
 259        struct vm_struct *vm;
 260        struct rcu_head rcu_head;
 261};
 262
 263static DEFINE_SPINLOCK(vmap_area_lock);
 264static LIST_HEAD(vmap_area_list);
 265static struct rb_root vmap_area_root = RB_ROOT;
 266
 267/* The vmap cache globals are protected by vmap_area_lock */
 268static struct rb_node *free_vmap_cache;
 269static unsigned long cached_hole_size;
 270static unsigned long cached_vstart;
 271static unsigned long cached_align;
 272
 273static unsigned long vmap_area_pcpu_hole;
 274
 275static struct vmap_area *__find_vmap_area(unsigned long addr)
 276{
 277        struct rb_node *n = vmap_area_root.rb_node;
 278
 279        while (n) {
 280                struct vmap_area *va;
 281
 282                va = rb_entry(n, struct vmap_area, rb_node);
 283                if (addr < va->va_start)
 284                        n = n->rb_left;
 285                else if (addr > va->va_start)
 286                        n = n->rb_right;
 287                else
 288                        return va;
 289        }
 290
 291        return NULL;
 292}
 293
 294static void __insert_vmap_area(struct vmap_area *va)
 295{
 296        struct rb_node **p = &vmap_area_root.rb_node;
 297        struct rb_node *parent = NULL;
 298        struct rb_node *tmp;
 299
 300        while (*p) {
 301                struct vmap_area *tmp_va;
 302
 303                parent = *p;
 304                tmp_va = rb_entry(parent, struct vmap_area, rb_node);
 305                if (va->va_start < tmp_va->va_end)
 306                        p = &(*p)->rb_left;
 307                else if (va->va_end > tmp_va->va_start)
 308                        p = &(*p)->rb_right;
 309                else
 310                        BUG();
 31     }
vmalloc_to_pfn 313rb_nodeva->rb_node);
parent, structf="+code=p" class="sref">p)-> 314addrva->rb_node);
vmap_area_root. 315 316/* address sorte- lisif we /
 317tmp;
rb_nodeva->rb_node);
 318tmp;
 319vmap_area *rb_nodprev;
 320rb_nodprev;
rb_entry(tmp;
vmap_area, rb_node);
 321rb_nodeadva->list;     rea href="+code=vmap_aprevs="sref">rb_nodprev;
list;     href="mm/vmalloc.c#L305" id="L3" clasass="line" name="L222"> 322 323rb_nodeadva->list;     rea href="+code=vmap_area_list" class="sref">vmap_area_list);
 324 325 326rb_entlist 327 328 */
 329 * Map a Aor ***e a region of KVA of ruct  plafied a>;
all b/a>;
 * M, wif wvmall>
 330       * ;
all bv> &n>
 331 * Set un>
 332vmap_area *vmap_ato_pfnrea" clas;
cacheda>;
 333cached/a>;
 334va_star/a>, unsigned long va_end<>,
 335rb_noda>);
pte_tvmap_agfpamass 336 337vmap_area *va;
 338rb_node *n-> 339addr)
 340pud,st 341vmap_area *vmap_afiras 342 343BUG_ON(cacheda>;
 344BUG_ON(cacheda>;
DEFINEIZE sMASs 345BUG_ON(BUG_ONllopower_of_2a href="+code=addr" cclass="sref">cached/a>;
 346 347va = rb_nodk_to_pfnclasa hrea>;
oft vmap_area * 348vmap_agfpamassDEFINEGFP_RECLAIMsMASs
rb_noda>);
 349rb_entun/va)
 350MODULEERR_PTsa hre-f="+code=NULL" ENOMEMs="sref">MODULEENOMEM
 351 352rb_entre>( 353vmap_aspin clas;
vmap_area_lock);
 354 */
 355         * architInv/a>d**e globaladd VIhave motectermissive paumbeteran>
 356/*** G   * archit_hole_size;
mallt do e last
 357 * Map   * architalloc s_lock;
:ladda>;
mfitn>
 358 */;
arodreusl>
 359 * Map   * architalloize;
n>
 360         * ARM, xNlltdo not__map_cache;
 361         * and fawif out upd**ihre_hole_size;
mor _align;
n>
 362         * XXX wn>
 363free_vmap_cache;
 364cacheda>;
cached_hole_size;
 365va_star/a>, unsiea href="+code=tmp_va_hole_s" class="sref">cached_vstart;
 366cached/a>;
cached_align;
 367free_val clasa hr:ef="mm/vmalloc.c#L252" i3="L268" c3ass="line" name="L268"> 368cached_hole_size;
 369free_vmap_cache;
NULL;
 370 371/*
 372cached_vstart;
va_star/a>, unsiref="mm/vmalloc.c#L298" i3="L263" c3ass="line" name="L273"> 373cached_align;
cached/a>;
 374 375/*, ihrepo hrefor our seectu wn>
 376free_vmap_cache;
 377vmap_afirasrb_entry(free_vmap_cache;
vmap_area, rb_node);
 378addr = (unsigf="+code=pud_t"ALIGss="sref">BUG_ONALIGsa href="+code=parentmirass="sref">vmap_afirasva_end > ref="+code=addr" cclass="sref">cached/a>;
 379addr = (unsa href="+code=va" cla class="sref">va_star/a>, unsiref="mm/vmalloc.c#L308" id="L280" c3ass="line" name="L280"> 380free_val clasa hrref="mm/vmalloc.c#L305" id="L281" c3ass="line" name="L281"> 381addr = (uns+ef="+code=n" cla lass="sref">cacheda>;
addr)
 382addr 383 384 385addr = (unsigf="+code=pud_t"ALIGss="sref">BUG_ONALIGsa href="+code=parentr class="sref">va_star/a>, unsignf="+code=addr" cclass="sref">cached/a>;
 386addr = (uns+ef="+code=n" cla lass="sref">cacheda>;
addr)
 387addr 388 389n = vmap_area_root.rb_node;
 390vmap_afirasNULL;
 391 392n) {
 393vmap_area *vmap_a>;
 394tmp;
rb_entry(n, struct vmap_area, rb_node);
 395tmp;
va_end > addr)
 396vmap_afirasvmap_a>;
 397tmp;
va_start < addr)
 398, kref="mm/vmalloc.c#L299" i3="L289" c3ass="line" name="L299"> 399n = n->rb_left;
 400 401n = n->rb_right;
 402 403 404vmap_afiras 405va_endfouas 406 407 408/*, ihrepo hr, walkroteas until a suitin k ize
 409addr = (uns+ef="+code=n" cla lass="sref">cacheda>;
vmap_afirasva_start < addr = (uns+ef="+code=n" cla lass="sref">cacheda>;
va_end<>,
 410addr = (uns+ef="+code=n" cla_hole_size" class="sref">cached_hole_size;
vmap_afirasva_start < ref="mm/vmalloc.c#L299" i4="L311" c4ass="line" name="L311"> 41    41               struct  }
cached_hole_size;
vmap_afirasva_start < <-ef="+code=addr" class="sref">addr)
vmalloc_to_pfn<4line"41               addr = (unsigf="+code=pud_t"ALIGss="sref">BUG_ONALIGsa href="+code=parentmirass="sref">vmap_afirasva_end > ref="+code=addr" cclass="sref">cached/a>;
 413addr < <+ef="+code=n" cla lass="sref">cacheda>;
addr)
 414addr 415 416list; /is_linsa hrea href="+code=vmap_amirass="sref">vmap_afiraslist;     rea href="+code=vmap_area_list" class="sref">vmap_area_list);
 417va_endfouas 418 419vmap_afirasrb_enta>; / clasa href="+code=parentmirass="sref">vmap_afiraslist;     ef="+code=rb_nodnexss="sref">list 420vmap_area, list;     href="mm/vmalloc.c#L305" i4="L221" c4ass="line" name="L221"> 421 422 423va_endfouas 424addr < <+ef="+code=n" cla lass="sref">cacheda>;
va_end<>,
 425addr 426 427va = va_start < addr)
 428va = va_end > addr)
cacheda>;
 429va = flags;
 430__insert_vmap_area(structf="+code=tmp" cass="sref">va =  431free_vmap_cache;
va->rb_node);
 432vmap_aspin unclasa hrea href="+code=vmap_area_lock" class="sref">vmap_area_lock);
 433 434BUG_ON(va->va_start < cached/a>;
 435BUG_ON(va->va_start < va_star/a>, unsirref="mm/vmalloc.c#L242" i4="L226" c4ass="line" name="L236"> 436BUG_ON(va->va_end > va_end<>,
 437 438va;
 439 440addr 441vmap_aspin unclasa hrea href="+code=vmap_area_lock" class="sref">vmap_area_lock);
 442pud,st 443rb_entlist 444pud,st 445rb_entre>( 446 447parent 448parentBUG 449"rea_ tor ***ionefor a>;
m%lu failed: ">
 450"usloc s#L25=a hra>;
a hrerodinctease a>;
.\n">
cacheda>;
 451cachedkmap_tructf="+code=tmp" cass="sref">va =  452MODULEERR_PTsa hre-f="+code=NULL" EBUSYs="sref">MODULEEBUSY  453 454 455__insertmap_cachevmap_area *va)
 456 457BUG_ON(BUG_ONRB_EMPTY_NODEa hrea href="+code=vmap_arss="sref">va->rb_node);
 458 459free_vmap_cache;
 460va->va_end > cached_vstart;
 461free_vmap_cache;
NULL;
 462 463vmap_area *free_v clasa hrref="mm/vmalloc.c#L305" i4="L254" c4ass="line" name="L264"> 464free_v clasa hrhref="+code=rb_entry" class="sref">rb_entry(free_vmap_cache;
vmap_area, rb_node);
 465va->va_start < free_v clasa hra href="+code=va_end" c class="sref">va_start < rhref="mm/vmalloc.c#L301" i4="L256" c4ass="line" name="L266"> 466free_vmap_cache;
rb_nodeva->rb_node);
 467 */
 468 */(;
mor>
 469 * Map   * archhhhhhhhhhhhhhhhhhhhhhhhh* _align;
, but thewon't go ve(
 470         * ARM,hhhhhhhhhhhhhhhhhhhhhhhh*n>
 471 472 473 474rb_nodeva->rb_node);
vmap_area_root. 475BUG_ONRB_CLEAR_NODE;
va->rb_node);
 476rb_nodeadva->list;     href="mm/vmalloc.c#L305" i4="L277" c4ass="line" name="L277"> 477 478/*
 479 * Map   * architTracktalloiighd**e for pcpu a>,  480         * ARM, xtor ***ion.  Ateas outside of c.c#L25 ock 481         * and fahereeroo, consider only el b/ sortees ( 482         * XXX w c.c#L25 ock
 483         * XXX wn>
 484va->va_end > va_endVMALLOC_STARTlt; va->va_end > va_endVMALLOC_END 485vmap_area_rootvmap_amaxtructf="+code=tmp" caea_rootvmap_area_rootva->va_end > href="mm/vmalloc.c#L305" i4="L286" c4ass="line" name="L286"> 486 487rb_nodkmap__rcutructf="+code=tmp" cass="sref">va = va_endecusieasgt; href="mm/vmalloc.c#L305" i4="L278" c4ass="line" name="L288"> 488 489 490      an>
 491 * Set u Fap_ a region of KVA tor ***ed by tor *cache 492       wn>
 493__insemap_cachevmap_area *va)
 494 495vmap_aspin clas;
vmap_area_lock);
 496__insertmap_cacheva =  497vmap_aspin unclasa hrea href="+code=vmap_area_lock" class="sref">vmap_area_lock);
 498 499 500      an>
 501 * Set u Cleartallopagetin k /a>(ies of t given ache 502       wn>
 503__inseunchevmap_area *va)
 504 505vmap_aruncheva = va_start < ref="+code=rb_nodass="sref">va->va_end > href="mm/vmalloc.c#L305" i5=6L305" c5ass="line" name="L296"> 506 507 508vmap_areava_sta/a>, unsigned long va_end>,
 509 510      an>
 51    51span class="comment">         * and faUncheopage tin ksall bforc_ a TLB flush i>  diately if>
vmalloc_to_pfn<5line"51span class="comment">         * XXX w CONFIG_DEIZE ALLOCmis set. This ***chksausloafter map_tr 513         * XXX w bugs similarl 514         * XXX w lascloafter aopage has beevmmap_&n>
 515         * archi>
 516/*** G   * architAlldo e lazymmap_ihreloguctis stilldretiamed,min order to>
 517 * Map   * architminimis
 518 */
 519 * Map   * architTuis is goihrerodbe *slow* (nameartkernel virtualb/ sortetr 520         * ARM, xdebuggihredoesn't do aobroadcast TLB flush so theis aelottr 521         * and fafaster)n>
 522         * XXX wn>
 523IZE ALLOCs="sref">va_endCONFIG_DEIZE ALLOCa href="mm/vmalloc.c#L248" i5="L224" c5ass="line" name="L224"> 524vmap_aruncheva_sta/a>, unsignf="+code=end" class="sref">va_end>,
 525vmap_aflush_tlb_kernel_rangva_sta/a>, unsignf="+code=end" class="sref">va_end>,
 526,
ifef="mm/vmalloc.c#L305" i5=7L305" c5ass="line" name="L227"> 527 528 529 * Mapan>
 530       * lazy_max
 531 * Set u befotecattemptihrerod>,st
 532       w>
 533       itTuereeis aetradeoffahere: aelast
 534       *all btake sla>;
l,st<, but thewilldnamearl
 535       * globalbTLB flusht do at must becterfot  d. Ihewould seem"L2turalbrodscal_tr 536/*** G * ruis numb 537 * Map *dcould alsodscal_dnamearl 538 */;
 becconstraamedmin oo er way do at meana  539 * Map w c.cpeactivityewilldnotdscal_dnamearl 540       * conservative ll bnotdin 541 * Set u a lrtedaggorteive logdscal_. Ihewilldstilldbe ll improve * S over o e ols;
 542       w nd" , ll bthewilldbe a>mpleero chang< ruct cal_dfactorladd VImap_ o at ittr 543       itbecomksaltpron km on birrer systemsn>
 544       *n>
 545list 546 547list 548 549listflagsflags 550 551listBUG_ONIZE _SIZE 552 553 554va_staatomic_s     f="+code=__insereaaddrva_endATOMIC_INITa hre0rref="mm/vmalloc.c#L305" i5="L235" c5ass="line" name="L255"> 555 556/*** Gandmor per-CPU ba>);a wn>
 557flags);a_c#Lcpusa hrea hrrref="mm/vmalloc.c#L305" i5="L248" c5ass="line" name="L258"> 558 559 * Mapan>
 560       * cc#Led befoteca cc#Lerodiounche()laddructcc#LerIwahrs c.lock
 561 * Set u i>  diately map_&n>
 562       wn>
 563rb_entset_iounche_nonnazsa hrea hrref="mm/vmalloc.c#L252" i5="L254" c5ass="line" name="L264"> 564 565va_staatomic_seta hrea href="+code=vmap_area_laazy_nss="sref">addrlist 566 567 568 */
 569 * Map * Pist
 570       n>
 571 * Set u If synctis 0drucn don't >,st
 572       w If forc__flush is 1,drucn flush kernel TLBs betweevm*/a>,  ll b*el bevena  573       itadd VImouas no lazymc.cpeateaseroduncheo(cc#Lerst_hn usloruis rodoptimis 574       *arucir ownbTLB flushing)n>
 575       * R,  =tmin(*/a>, ,
 576/*** G *              *el b= max(*el ,oiigh
 577 * Map *n>
 578rb_ent__"istva_sta/a>, unsigned long va_end>,
 579va_sta/yncunsign href="+code=end" cforc__flushs="sref">flags 580 581flagsvmap_a"ist 582va_endLIST_HEADa href="+code=tmp" casclass="sref">vmap_araa>;     href="mm/vmalloc.c#L305" i5="L263" c5ass="line" name="L283"> 583vmap_area *va)
 584vmap_area *van_as 585addr 586 587 */
 588 */
 589 * Map   * architshould notdexpehresuch behaviour. This just a>mplifies clasihrefor>
 590         * architructccsloruat isn't actually uslsb/t o e mo * S anywayn>
 591 * Set   * archin>
 592va_sta/yncunsiflags 593vmap_aspin tryclasa hrea href="+code=vmap_a"istvmap_a"ist 594 595 596vmap_aspin clas;
vmap_a"ist 597 598va_sta/yncunsiref="mm/vmalloc.c#L252" i5="L259" c5ass="line" name="L299"> 599flags);a_c#Lcpusa hrerref="mm/vmalloc.c#L305" i6="L300" c6ass="line" name="L300"> 600 601vmap_aecustead/clasa hrerref="mm/vmalloc.c#L305" i6=2L301" c6ass="line" name="L292"> 602(<_rcus="sref">rb_nodead(<_rcua href="+code=tmp" cass="sref">va)
vmap_area_list);
list;     hhref="mm/vmalloc.c#L301" i6="L303" c6ass="line" name="L303"> 603va = flags;
BUG_ONVM_LAZY_FREE    hhref="mm/vmalloc.c#L301" i6=4L303" c6ass="line" name="L294"> 604va = va_start < va_sta/a>, unsiref="mm/vmalloc.c#L252" i6="L305" c6ass="line" name="L305"> 605va_sta/a>, unsi ref="+code=tmp_vaass="sref">va = va_start < ref="mm/vmalloc.c#L305" i6=6L305" c6ass="line" name="L296"> 606va->va_end > va_end>,
 607va_end>,
va = va_end > ref="mm/vmalloc.c#L305" i6=8L305" c6ass="line" name="L298"> 608addrva->va_end > <-ef="+code=addr" ass="sref">va = va_start < )va_endIZE _SHIFTgt; ref="mm/vmalloc.c#L305" i6=9L305" c6ass="line" name="L299"> 609rb_nodeadva = listvmap_araa>;     href="mm/vmalloc.c#L305" i6="L310" c6ass="line" name="L310"> 610va = flags;
BUG 61    61               struct  }
va = flags;
BUG_ONVM_LAZY_FREE    ref="mm/vmalloc.c#L305" i6=2L301" c6s="sref">vmalloc_to_pfn<6line"61                613 614vmap_aecustead/unclasa hrerref="mm/vmalloc.c#L305" i6="L305" c6ass="line" name="L215"> 615 616addr 617va_staatomic_suba href="+code=tmp" cnss="sref">addraddr 618 619addrflags 620vmap_aflush_tlb_kernel_rangva_sta/a>, unsignef="+code=va" cllass="sref">va_end>,
 621 622addr 623vmap_aspin clas;
vmap_area_lock);
 624(<_safvmap_aead(<_safva)
van_asvmap_araa>;     ref="+code=va" cl"istlist 625__insertmap_cacheva =  626vmap_aspin unclasa hrea href="+code=vmap_area_lock" class="sref">vmap_area_lock);
 627 628vmap_aspin unclasa hrea href="+code=vmap_a"istvmap_a"ist 629 630 631 * Setan>
 632       w Kick offaltp,sthrelazymateasn Don't boo er  hrsomebodsa  633       itis alteadyap,stingn>
 634       *n>
 635rb_ent>(<_"ist 636 637va_sta/a>, unsi ref="+code=tmp_vaULONG_MAXs="sref">va_staULONG_MAX    ref="+code=va" cllass="sref">va_end>,
 638 639rb_ent__"istva_sta/a>, unsigna href="+code=vmap_alass="sref">va_end>,
 640 641 642      an>
 643       itKick offaltp,sthrelazymateasn>
 644       *n>
 645rb_entlist 646 647va_sta/a>, unsi ref="+code=tmp_vaULONG_MAXs="sref">va_staULONG_MAX    ref="+code=va" cllass="sref">va_end>,
 648 649rb_ent__"istva_sta/a>, unsigna href="+code=vmap_alass="sref">va_end>,
 650 651 652      an>
 653       itFap_ a c.cpeatea,tcc#LerIensurihrerh/t o e ock 654       *all bflush__alig_runchethad beevmcc#Led mor ructcorrehrerang 655       * previouslyn>
 656/*** G *n>
 657flagsvmap_area *va)
 658 659va = flags;
BUG_ONVM_LAZY_FREE    ref="mm/vmalloc.c#L305" i6="L260" c6ass="line" name="L260"> 660va_endatomic_adsa hreef="+code=addr" ass="sref">va->va_end > <-ef="+code=addr" ass="sref">va = va_start < )va_endIZE _SHIFTgt; rea href="+code=vmap_area_laazy_nss="sref">addr 661addrva_endatomic_reasa hrea href="+code=vmap_area_laazy_nss="sref">addrlist 662rb_ent>(<_"ist 663 664 665      an>
 666/*** G * Fap_ al buncheta c.cpeatea,tcc#LerIensurihreflush__alig_runchethad beev>
 667 * Map *dcc#Led mor ructcorrehrerang< previouslyn>
 668 */
 669flagsvmap_area *va)
 670 671__inseuncheva =  672flagsva =  673 674 675      an>
 676/*** G * Fap_ al buncheta c.cpeatea>
 677 * Map *n>
 678flagsvmap_area *va)
 679 680vmap_aflush__alig_runchea href="+code=tmp" cass="sref">va = va_start < ref="+code=rb_nodass="sref">va->va_end > href="mm/vmalloc.c#L305" i6="L271" c6ass="line" name="L281"> 681flagsva =  682 683 684vmap_area *flagsva_enda so 685 686vmap_area *va)
 687 688vmap_aspin clas;
vmap_area_lock);
 689va = flags<__map_va_enda so 690vmap_aspin unclasa hrea href="+code=vmap_area_lock" class="sref">vmap_area_lock);
 691 692va)
 693 694 695va_end/ap_cuncheva_enda so 696 697vmap_area *va)
 698 699va = flagsva_enda so 700va_endONa hreef="+code=is_vmaass="sref">va =  701flagsva =  702 703 704 705      an** Per cpu kva id=31atorln**n>
 706 707 * Mapan>
 708 */
 709 * Map * room mor at least 16 percpu c.cpeba>);a per CPUn>
 710       nn>
 71    71span class="comment">      an>
vmalloc_to_pfn<7line"71span class="comment">       i If wethad acconstahreVMALLOC_START al bVMALLOC_END,dwe'd /
 713       *erod#de/apeeVMALLOC_SPACE        714       * instead (wetjust np_& a rough304ea)>
 715       nn>
 716va_end 717BUG_ONVMALLOC_SPACE              <(128UL*1024*1024ref="mm/vmalloc.c#L295" i7=8L305" c7ass="line" name="L218"> 718 719BUG_ONVMALLOC_SPACE              <(128UL*1024*1024*1024ref="mm/vmalloc.c#L295" i7="L220" c7ass="line" name="L220"> 720,
ifef="mm/vmalloc.c#L305" i7="L311" c7ass="line" name="L221"> 721 722BUG_ONVMALLOC_IZE S              <(f="+code=NULL" VMALLOC_SPACEs="sref">BUG_ONVMALLOC_SPACE     /ef="+code=va" clIZE _SIZEs="sref">BUG_ONIZE _SIZE 723va_endVMAP_MAX_ALLOC              f="+code=end" cBITS_PER_LONGs="sref">va_end */
 724va_staVMAP_BBMAP_BITS_MAX         1024  ! */
 725va_endVMAP_BBMAP_BITS_MIN         (f="+code=NULL" VMAP_MAX_ALLOCs="sref">va_endVMAP_MAX_ALLOC    *2ref="mm/vmalloc.c#L305" i7=6L305" c7ass="line" name="L226"> 726va_endVMAP_MIN    (f="+code=NULL" xs="sref">va_endxlt; ref="+code=rb_nodss="sref">rb_enty    r<        <((f="+code=NULL" xs="sref">va_endxlt; )rb_enty    rva_endxlt; )<:e(f="+code=NULL" ss="sref">rb_enty    r) */
 727va_staVMAP_MAX    (f="+code=NULL" xs="sref">va_endxlt; ref="+code=rb_nodss="sref">rb_enty    r<        <((f="+code=NULL" xs="sref">va_endxlt; )rb_enty    rva_endxlt; )<:e(f="+code=NULL" ss="sref">rb_enty    r) */
 728va_endVMAP_BBMAP_BITS             \ef="mm/vmalloc.c#L259" i7="L309" c7ass="line" name="L229"> 729va_endVMAP_MIN    (f="+code=NULL" VMAP_BBMAP_BITS_MAXs="sref">va_staVMAP_BBMAP_BITS_MAX    ,   \ef="mm/vmalloc.c#L259" i7="L230" c7ass="line" name="L230"> 730va_staVMAP_MAX    (f="+code=NULL" VMAP_BBMAP_BITS_MINs="sref">va_endVMAP_BBMAP_BITS_MIN    ,   \ef="mm/vmalloc.c#L259" i7="L311" c7ass="line" name="L231"> 731BUG_ONVMALLOC_IZE S     /ef="+code=va" clrouasup_pow_of_twos="sref">BUG_ONrouasup_pow_of_two    (f="+code=NULL" NR_CPUSs="sref">BUG_ONNR_CPUSlt; ) 732 733BUG_ONVMAP_BLOCK_SIZE             (f="+code=NULL" VMAP_BBMAP_BITSs="sref">va_endVMAP_BBMAP_BITS     *ef="+code=va" clIZE _SIZEs="sref">BUG_ONIZE _SIZE 734 735rb_nodbool     f="+code=vmap_area" initializess="sref">va_endaddrflags 736 737);_queurs="sref">flags);_queur  738);_ss="sref">va_sta/pina>);_s     f="+code=vmap_aclass="sref">vmap_aa>);
 739va_endeadflags 740 741 742);s="sref">flags);  743);_ss="sref">va_sta/pina>);_s     f="+code=vmap_aclass="sref">vmap_aa>);
 744vmap_area *va)
 745);_queurs="sref">flags);_queur flags 746flagsaddr 747addrvmap_aa#L30_che
va_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i7="L248" c7ass="line" name="L248"> 748addrvmap_adirts_che
va_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i7="L309" c7ass="line" name="L249"> 749va_endeadlist 750va_endecusheas     f="+code=vmap_aecusheass="sref">va_endecusheas    ref="mm/vmalloc.c#L305" i7="L311" c7ass="line" name="L251"> 751va_endeadva_end"ist<    ref="mm/vmalloc.c#L305" i7="L232" c7ass="line" name="L252"> 752 753 754      /* Queuraoddfap_ al bdirts c.cpeba>);a, mor ad=31ationall bflushihre"isposes nn>
 755addr);_queurs="sref">flags);_queur );_queurs="sref">flags);_queur  756 757 * Mapan>
 758 */);a, indexed byb/ sorte,erodquickly mindta c.cpeba>); < 759 * Map * in ructfap_ path. Could get ridaoddruistadd VIchang< ructAPIerod 
 760       * "cookie"tfaom ad=31,erodbe pommed rodfap_. But no big deal yetn>
 761 * Set un>
 762flags);_tap_/c>);s="sref">flags);_tap_/c>);  763BUG_ONRADIX_TREEa href="+code=tmp" crea" ba>);_tap_s="sref">flags);_tap_ va_endGFP_ATOMIC  764 765      an>
 766/*** G * Wetshould probably hav_ a fc#Lback mechanism rodad=31ate virtual memorsa  767 * Map *dout oddpartially fi#Led c.cpeba>);a. However c.cpeba>); sizihreshould bk>
 768 */hrerodructc.c#L25 size, so iteshouldn't beea>
 769 * Map * big problemn>
 770       nn>
 771 772va_end/ so_to_vb_idxa hreed long va_enda so 773 774va_enda soBUG_ONVMALLOC_STARTBUG_ONVMAP_BLOCK_SIZE    -1href="mm/vmalloc.c#L305" i7="L275" c7ass="line" name="L275"> 775va_enda soBUG_ONVMAP_BLOCK_SIZE    ref="mm/vmalloc.c#L305" i7="L256" c7ass="line" name="L276"> 776va_enda so 777 778 779);s="sref">flags); );s="sref">flags);a href="+code=tmp" cgfp_ss="sref">va_stagfp_s     f="+code=vmap_agfp_mas;s="sref">flags 780 781);_queurs="sref">flags);_queur flags 782);s="sref">flags); va_stavb 783vmap_area *va)
 784va_endvb_idxa hrref="mm/vmalloc.c#L305" i7="L275" c7ass="line" name="L285"> 785flagsva_enderoa hrref="mm/vmalloc.c#L305" i7="L256" c7ass="line" name="L286"> 786 787flagsflags 788 789va_stavbflags);s="sref">flags);  790flagsflagsflags 791addrva_stavb 792va_staERR_PTRa hre-f="+code=va" clENOMEMs="sref">va_staENOMEM  793 794va = vmap_ac#L27_rea" clasa href="+code=tmp" cVMAP_BLOCK_SIZEs="sref">BUG_ONVMAP_BLOCK_SIZE    ref="+code=rb_nodVMAP_BLOCK_SIZEs="sref">BUG_ONVMAP_BLOCK_SIZE    ref="mm/vmalloc.c#L294" i7="L275" c7ass="line" name="L295"> 795BUG_ONVMALLOC_STARTBUG_ONVMALLOC_END    ref="mm/vmalloc.c#L294" i7="L256" c7ass="line" name="L296"> 796flagsflags 797flagsva =  798flagsva_stavb 799BUG_ONERR_CASTa href="+code=tmp" crss="sref">va =  800 801 802va_enderoa hr ref="+code=tmp_varadix_tap_/preloass="sref">va_endeadix_tap_/preloasa href="+code=tmp" cgfp_mas;s="sref">flags 803addrva_enderoa hrhrhref="mm/vmalloc.c#L301" i8=4L303" c8ass="line" name="L294"> 804flagsva_stavb 805vmap_amap_cacheva =  806va_staERR_PTRa href="+code=tmp" ceros="sref">va_enderoa hrhref="mm/vmalloc.c#L305" i8=7L305" c8ass="line" name="L297"> 807 808 809va_endspin clas inita hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 810va_stavbva = va)
 81    81             f="+code=__inserbs="sref">va_stavbflagsva_endVMAP_BBMAP_BITS    ref="mm/vmalloc.c#L305" i8=2L301" c8s="sref">vmalloc_to_pfn<8line"81       va_stavbaddr 813BUG_ONbitcheva_stavbvmap_aa#L30_che
va_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i8="L304" c8ass="line" name="L214"> 814BUG_ONbitcheva_stavbvmap_adirts_che
va_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i8="L305" c8ass="line" name="L215"> 815BUG_ONINIT_LIST_HEADa hrea href="+code=vmap_arbs="sref">va_stavblist 816 817va_endvb_idxa hr ref="+code=tmp_vac so_to_vb_idxs="sref">va_end/ so_to_vb_idxa href="+code=tmp_vaass="sref">va)
va_start < )ref="mm/vmalloc.c#L305" i8=8L305" c8ass="line" name="L218"> 818vmap_aspin clas;
flags);_tap_/c>);  819va_enderoa hr ref="+code=tmp_varadix_tap_/inseass="sref">va_staradix_tap_/inseas;
flags);_tap_
va_endvb_idxa hrref="+code=rb_nodvbs="sref">va_stavb 820vmap_aspin unclasa hrea href="+code=vmap_area_lba>);_tap_/c>);s="sref">flags);_tap_/c>);  821va_endONa href="+code=tmp" ceros="sref">va_enderoa hrhref="mm/vmalloc.c#L305" i8=2L301" c8ass="line" name="L222"> 822va_endeadix_tap_/preloas"lasa hrehref="mm/vmalloc.c#L305" i8="L303" c8ass="line" name="L223"> 823 824flagsva_endget_cpu_vaoa href="+code=tmp_vaaea" ba>);_queurs="sref">flags);_queur  825va_stavbflagsflags 826vmap_aspin clas;
flagsvmap_aa>);
 827vmap_aaadva_stavblistflagsflags 828vmap_aspin unclasa hrea href="+code=vmap_arbqs="sref">flagsvmap_aa>);
 829va_endput_cpu_vaoa href="+code=tmp_vaaea" ba>);_queurs="sref">flags);_queur  830 831va_stavb 832 833 834flags);a hre sa href="+code=vmap_area" ba>);s="sref">flags); va_stavb 835 836);s="sref">flags); vmap_atme 837va_endvb_idxa hrref="mm/vmalloc.c#L305" i8="L308" c8ass="line" name="L238"> 838 839va_endvb_idxa hr ref="+code=tmp_vac so_to_vb_idxs="sref">va_end/ so_to_vb_idxa href="+code=tmp_vaabs="sref">va_stavbva = va_start < )ref="mm/vmalloc.c#L305" i8="L240" c8ass="line" name="L240"> 840vmap_aspin clas;
flags);_tap_/c>);  841vmap_atmeflagsflags);_tap_
va_endvb_idxa hrhref="mm/vmalloc.c#L305" i8="L3" cla8ass="line" name="L242"> 842vmap_aspin unclasa hrea href="+code=vmap_area_lba>);_tap_/c>);s="sref">flags);_tap_/c>);  843ONs="sref">va_endONa href="+code=tmp" ctmes="sref">vmap_atmeva_stavb 844 845flagsva_stavbva =  846vmap_ak/ap__rcua href="+code=tmp" cabs="sref">va_stavbva_endecusheas    rref="mm/vmalloc.c#L305" i8=7L305" c8ass="line" name="L247"> 847 848 849);ss="sref">list);sa hre href="+code=end" ccpus="sref">list 850 851BUG_ONLIST_HEADa href="+code=__inse"istlist 852);s="sref">flags); va_stavb 853);s="sref">flags); va_stan_vb 854);_queurs="sref">flags);_queur flagslist);_queurs="sref">flags);_queur list 855 856);s="sref">flags);a hrehref="mm/vmalloc.c#L305" i8="L247" c8ass="line" name="L257"> 857vmap_aaadva_stavbflagsflagslist 858 859va_stavbflagsva_stavbaddrva_endVMAP_BBMAP_BITS    ea hreva_stavbaddrva_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L252" i8="L260" c8ass="line" name="L260"> 860 861 862vmap_aspin clas;
va_stavbvmap_aa>);
 863va_stavbflagsva_stavbaddrva_endVMAP_BBMAP_BITS    ea hreva_stavbaddrva_endVMAP_BBMAP_BITS    hhref="mm/vmalloc.c#L301" i8="L254" c8ass="line" name="L264"> 864va_stavbflags */hrea>); nn>
 865va_stavbaddrva_endVMAP_BBMAP_BITS    r */hreit again nn>
 866va_endbitcheva_stavbvmap_aa#L30_che
va_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i8="L247" c8ass="line" name="L267"> 867va_endbitcheva_stavbvmap_adirts_che
va_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i8="L268" c8ass="line" name="L268"> 868vmap_aspin clas;
flagsvmap_aa>);
 869vmap_aaadva_stavblist 870vmap_aspin unclasa hrea href="+code=vmap_arbqs="sref">flagsvmap_aa>);
 871vmap_aspin unclasa hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 872va_endaadva_stavblistlist 873 874vmap_aspin unclasa hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 875 876vmap_aecustead/unclasa hrehref="mm/vmalloc.c#L305" i8="L247" c8ass="line" name="L277"> 877 878listva_stavbva_stan_vblistlist 879vmap_aaadva_stavblist 880flags);a href="+code=va_staabs="sref">va_stavb 881 882 883 884);s_ruiscpus="sref">list);s_ruiscpua hrea hrref="mm/vmalloc.c#L252" i8="L275" c8ass="line" name="L285"> 885 886);ss="sref">list);sa href="+code=tmp" csmp_processor_ids="sref">flags 887 888 889);s_c#Lcpuss="sref">list);s_c#Lcpusa hrea hrref="mm/vmalloc.c#L252" i8="L290" c8ass="line" name="L290"> 890 891list 892 893listlist 894);ss="sref">list);sa href="+code=tmp" ccpus="sref">list 895 896 897va_stavb_c#L26a hreed long flagsva_stagfp_s     f="+code=vmap_agfp_mas;s="sref">flags 898 899);_queurs="sref">flags);_queur flags 900);s="sref">flags); va_stavb 901va_enda so 902va_endordeo 903list 904 905ONs="sref">va_endONa href="+code=tmp" c izes="sref">flagsflags 906ONs="sref">va_endONa href="+code=tmp" c izes="sref">flagsBUG_ONIZE _SIZEva_endVMAP_MAX_ALLOC 907ONs="sref">va_endWARN>ONa href="+code=tmp" c izes="sref">flags 908      an>
 909 * Map                 * A#L25truhre0 bytes isn't what cc#Ler wants sinck>
 910                       * get_ordeo(0)  
 91    91span class="comment"> * Set                 * earlyn>
vmalloc_to_pfn<9line"91     class="comment"> * Set                 *n>
 913flags 914 915va_endordeoflagsflags 916 917va_endagain    :ef="mm/vmalloc.c#L267" i9=8L305" c9ass="line" name="L218"> 918);s="sref">flags);a hrehref="mm/vmalloc.c#L305" i9="L309" c9ass="line" name="L219"> 919flagsva_endget_cpu_vaoa href="+code=tmp_vaaea" ba>);_queurs="sref">flags);_queur  920vmap_aaadva_stavbflagsflagslist 921list 922 923vmap_aspin clas;
va_stavbvmap_aa>);
 924va_stavbflagsva_endordeo 925list 926 927listva_endbitcheva_stavbvmap_aa#L30_che
 928va_endVMAP_BBMAP_BITS    ref="+code=rb_nodordeos="sref">va_endordeo 929 930list 931va_stavbflagsva_stavbaddrva_endVMAP_BBMAP_BITS    hhref="mm/vmalloc.c#L305" i9=2L301" c9ass="line" name="L232"> 932 */
 933ONs="sref">va_endONa href="+code=tmp" crbs="sref">va_stavbaddrva_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i9="L224" c9ass="line" name="L234"> 934list 935 936list 937 938va_enda sova_stavbva = va_start <  +eef="+code=tmp" cis="sref">listBUG_ONIZE _SHIFT    href="mm/vmalloc.c#L305" i9="L309" c9ass="line" name="L239"> 939va_endONa href="+code=tmp" cc so_to_vb_idxs="sref">va_end/ so_to_vb_idxa href="+code=tmp_va/ sos="sref">va_enda so 940va_end/ so_to_vb_idxa href="+code=tmp_vaabs="sref">va_stavbva = va_start < )href="mm/vmalloc.c#L305" i9="L311" c9ass="line" name="L241"> 941va_stavbflagsva_endordeo 942va_stavbflags 943vmap_aspin clas;
flagsvmap_aa>);
 944vmap_aaadva_stavblist 945vmap_aspin unclasa hrea href="+code=vmap_arbqs="sref">flagsvmap_aa>);
 946 947vmap_aspin unclasa hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 948 949list 950vmap_aspin unclasa hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 951 952 953list 954);s_ruiscpus="sref">list);s_ruiscpua hrehref="mm/vmalloc.c#L305" i9="L235" c9ass="line" name="L255"> 955 956va_endput_cpu_vaoa href="+code=tmp_vaaea" ba>);_queurs="sref">flags);_queur  957vmap_aecustead/unclasa hrehref="mm/vmalloc.c#L305" i9="L248" c9ass="line" name="L258"> 958 959va_enda so 960va_stavbflags);a href="+code=tmp_vagfp_mas;s="sref">flags 961flagsva_stavb 962va_stavb 963va_endagain    ref="mm/vmalloc.c#L305" i9="L224" c9ass="line" name="L264"> 964 965 966va_enda so 967 968 969flagsva_enda soflags 970 971list 972va_endvb_idxa hrref="mm/vmalloc.c#L305" i9="L243" c9ass="line" name="L273"> 973va_endordeo 974);s="sref">flags);     ef="+code=va" clvbs="sref">va_stavb 975 976ONs="sref">va_endONa href="+code=tmp" c izes="sref">flagsflags 977va_endONa href="+code=tmp" c izes="sref">flagsBUG_ONIZE _SIZEva_endVMAP_MAX_ALLOC 978 979vmap_aflush_cache_vunchea hreeed long va_enda sova_enda soflags 980 981va_endordeoflagsflags 982 983listva_enda soBUG_ONVMAP_BLOCK_SIZE
 984 985va_endvb_idxa hr ref="+code=tmp_vac so_to_vb_idxs="sref">va_end/ so_to_vb_idxa hreeed long va_enda so 986);s="sref">flags);a hrehref="mm/vmalloc.c#L305" i9="L247" c9ass="line" name="L287"> 987va_stavbvmap_aradix_tap_/lookuea hrea href="+code=vmap_area_lba>);_tap_s="sref">flags);_tap_
va_endvb_idxa hrhref="mm/vmalloc.c#L305" i9="L278" c9ass="line" name="L288"> 988vmap_aecustead/unclasa hrehref="mm/vmalloc.c#L305" i9="L259" c9ass="line" name="L289"> 989ONs="sref">va_endONa hre!f="+code=tmp_vaabs="sref">va_stavb 990 991listva_enda sova_enda soflags 992 993vmap_aspin clas;
va_stavbvmap_aa>);
 994va_endONa href="+code=tmp" cbitcheva_endbitcheva_stavbvmap_adirts_che
listBUG_ONIZE _SHIFT    ref="+code=rb_nodordeos="sref">va_endordeo 995 996va_stavbaddrva_endordeo 997va_stavbaddrva_endVMAP_BBMAP_BITS    hhref="mm/vmalloc.c#L305" i9="L278" c9ass="line" name="L298"> 998va_endONa href="+code=tmp" crbs="sref">va_stavbflags 999vmap_aspin unclasa hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 10="L>10="                    f="+code=__insemap_cache);s="sref">flags);a href="+code=va_staabs="sref">va_stavbdome="00" 30/51/1af07d8193b6a8cc18dd81269abb27e1569d_3/10="L>f="mm/vmalloc.c#L305" i10=1L300" c10=ss="line" name="L291"> 10=ss>10=             v a href="mm/vmalloc.c#L310" i10=2L300" c10=ss="line" name="L292"> 10=ss>10=               vmap_aspin unclasa hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 10=ss>10=3pan vmalloc.c#L232" id=312" i10=4L300" c10=ss="line" name="L294"> 10=ss>10=     malloc.c#L232" id=312" i10=5L300" c10=ss="line" name="L295"> 10=ss>10=taticflass="comment"> */
 10=ss>10=6aticflass="comment"> */ 10=ss>10=7aticflass="comment"> */ 10=ss>10=8aticflass="comment"> */ 10=ss>10=     class="comment"> * Map * to amortize TLB flushuhreoverheass. What ruis means is ruat any page you 10ass>10as    class="comment"> * Map * have now, chy, in a formeoelife, have been chepg < hro kernel virtual 10ass>10aspan class="comment"> * Set * a soess by the acheelayeoall bso there=might bebsome CPUs with TLB    riesvmalloc_to_pfn<10s=">10a     class="comment"> * Set * still m/verencuhreruat page (a siruonal to the m/gular 1:1 kernel cheping)n>
 10ass>10a3aticflass="comment"> */ 10ass>10a4aticflass="comment"> */ 10ass>10ataticflass="comment"> */ 10ass>10a6aticflass="comment"> */
 10ass>10a7aticflass="comment"> */
 10ass>10a8atica href="+code=__insevm_unche_aliasess="sref">flags 10ass>10a9pan ref="mm/vmalloc.c#L301" i102"L300" c10ass="line" name="L220"> 10ass>10as            ed long va_sta/a> <  ref="+code=tmp_vaULONG_MAXs="sref">va_staULONG_MAX    ref="+code=rb_nodends="sref">flags 10ass>10a              href="+code=end" ccpus="sref">list 10ass>10a2             href="+code=end" cflushs="sref">flags 10ass>10a 10ass>10a              href="+code=addr" uncikelss="sref">addrflags 10ass>10a5                      10ass>10a 10ass>10a       if (!listlist 10ass>10a                      sa href="+code=vmap_area" ba>);_queurs="sref">flags);_queur flagslist);_queurs="sref">flags);_queur list 10ass>10a                      sa href="+code=vmap_area" ba>);s="sref">flags);     ef="+code=va" clvbs="sref">va_stavb 10ass>10asa href="mm/vmalloc.c#L267" i1031L300" c10ass="line" name="L231"> 10ass>10a               structf="+code=tmp" cecustead/a>);s="sref">flags);a hrehref="mm/vmalloc.c#L305" i10a2L300" c10ass="line" name="L232"> 10ass>10a               vmap_aaadva_stavbflagsflagslist 10ass>10a3                    eeeeeeee href="+code=end" cis="sref">list 10ass>10a     malloc.c#L232" id=312" i1035L300" c10ass="line" name="L235"> 10ass>10a5                            f="+code=tmp" cspin class="sref">vmap_aspin clas;
va_stavbvmap_aa>);
 10ass>10a                             f="+code=tmp_vais="sref">listlistva_stavbvmap_adirts_che
va_endVMAP_BBMAP_BITS    href="mm/vmalloc.c#L305" i10a7L300" c10ass="line" name="L237"> 10ass>10a7                            whileref="+code=tmp" cis="sref">listva_endVMAP_BBMAP_BITS    hhref="mm/vmalloc.c#L305" i10a8L300" c10ass="line" name="L238"> 10ass>10a                       vmap_as    ref="+code=rb_nodes="sref">flags 10ass>10a                       flags 10ass>10as                      flagslistva_stavbvmap_adirts_che
 10ass>10a               struct  }
va_endVMAP_BBMAP_BITS    ref="+code=rb_nodis="sref">list 10ass>10aspan ef="mm/vmalloc.c#L252" i10a3L300" c10ass="line" name="L243"> 10ass>10a3                    eeeeeeeeeeeeeeeef="+code=va" cl s="sref">vmap_as     ref="+code=tmp" crbs="sref">va_stavbva = va_start <  +eef="+code=tmp" cis="sref">listBUG_ONIZE _SHIFT    href="mm/vmalloc.c#L252" i10a4L300" c10ass="line" name="L244"> 10ass>10a               flagsva_stavbva = va_start <  +eef="+code=tmp" cjs="sref">flagsBUG_ONIZE _SHIFT    href="mm/vmalloc.c#L252" i10a5L300" c10ass="line" name="L245"> 10ass>10a5                            eeeeeeeef="+code=va" clflushs="sref">flags 10ass>10a 10ass>10a7                                     href="+code=addr"  s="sref">vmap_as     &lhref="+code=__inse class="sref">va_sta/a> < hef="mm/vmalloc.c#L294" i1048L300" c10ass="line" name="L248"> 10ass>10a                       va_sta/a> <  ref="+code=tmp_va s="sref">vmap_as    ref="mm/vmalloc.c#L305" i10a9L300" c10ass="line" name="L249"> 10ass>10a                       flagsflags 10ass>10as                      flagsflags 10ass>10a1a href="mm/vmalloc.c#L267" i1052L300" c10ass="line" name="L252"> 10ass>10a               listflags 10ass>10a3                    eeeeeeeeeeeeeeeef="+code=va" clis="sref">listlistva_stavbvmap_adirts_che
 10ass>10a               va_endVMAP_BBMAP_BITS    ref="+code=rb_nodis="sref">list 10ass>10a5                            vmalloc.c#L232" id=312" i10a6L300" c10ass="line" name="L256"> 10ass>10a                             f="+code=tmp_vaspin unclass="sref">vmap_aspin unclasa hrea href="+code=vmap_arbs="sref">va_stavbvmap_aa>);
 10ass>10a7                    vmalloc.c#L232" id=312" i10a8L300" c10ass="line" name="L258"> 10ass>10a                     f="+code=tmp_vaecustead/unclass="sref">vmap_aecustead/unclasa hrehref="mm/vmalloc.c#L305" i10a9L300" c10ass="line" name="L259"> 10ass>10a             vmalloc.c#L232" id=312" i106"L300" c10ass="line" name="L260"> 10ass>10asa href="mm/vmalloc.c#L267" i1061L300" c10ass="line" name="L261"> 10ass>10a             f="+code=__inse__pistvmap_a__pistva_sta/a> < rea href="+code=vmap_aends="sref">flagsflags 10ass>10a2    vmalloc.c#L232" id=312" i10a3L300" c10ass="line" name="L263"> 10ass>10a3aticf="+code=rb_nodEXPORT_SYMBOL_GPLs="sref">flagsflags 10ass>10a     malloc.c#L232" id=312" i1065L300" c10ass="line" name="L265"> 10ass>10ataticflass="comment"> */
 10ass>10a6aticflass="comment"> */
 10ass>10a7aticflass="comment"> */
 10ass>10a8aticflass="comment"> */ &ial)>
 10ass>10a     class="comment"> * Map *n>
 10ass>10as    a href="+code=__insevm_unche_rams="sref">flags
hreconstta hreef="+code=va" clmems="sref">flagslist 10ass>10a     ref="mm/vmalloc.c#L305" i1072L300" c10ass="line" name="L272"> 10ass>10a             ed long flagslistBUG_ONIZE _SHIFT    ref="mm/vmalloc.c#L305" i1073L300" c10ass="line" name="L273"> 10ass>10a3            ed long va_enda soflags 10ass>10a     malloc.c#L232" id=312" i1075L300" c10ass="line" name="L275"> 10ass>10a             f="+code=end" cONs="sref">va_endONa hre!f="+code=tmp_va/ sos="sref">va_enda so 10ass>10a             f="+code=tmp" cONs="sref">va_endONa href="+code=tmp" c/ sos="sref">va_enda soBUG_ONVMALLOC_START 10ass>10a       if (!ONs="sref">va_endONa href="+code=tmp" c/ sos="sref">va_enda soBUG_ONVMALLOC_END 10ass>10a8      if (!ONs="sref">va_endONa href="+code=tmp" c/ sos="sref">va_enda soBUG_ONIZE _SIZE 10ass>10a9    ef="mm/vmalloc.c#L305" i108"L300" c10ass="line" name="L280"> 10ass>10as      if (!flagsflagsflags 10ass>10a             f="+code=__insevche_debug_/ap__rantlistva_enda sova_enda soflags 10ass>10aspan ef="mm/vmalloc.c#L252" i1083L300" c10ass="line" name="L283"> 10ass>10a3             href="+code=tmp" ccikelss="sref">addrlistva_endVMAP_MAX_ALLOC 10ass>10a               flagsflagsflags 10ass>10a             a href="mm/vmalloc.c#L310" i1086L300" c10ass="line" name="L286"> 10ass>10a                     f="+code=rb_nod/ap__unche_rea" atea_/ sos="sref">va_end/ap__unche_rea" atea_/ soa href="+code=tmp" c/ sos="sref">va_enda so 10ass>10aspan vmalloc.c#L232" id=312" i10a8L300" c10ass="line" name="L288"> 10ass>10a8aticf="+code=rb_nodEXPORT_SYMBOLs="sref">flagsflags
hrhref="mm/vmalloc.c#L305" i1089L300" c10ass="line" name="L289"> 10ass>10a9    ef="mm/vmalloc.c#L305" i109"L300" c10ass="line" name="L290"> 10ass>10asaticflass="comment"> */
 10ass>10aspan class="comment"> * Set * vm_che_ram - chedp>ges namearly< hro kernel virtual a soess (c.c#L25elasce)>
 10ass>10a     class="comment"> * Set * @p>ges: ss=array of pointcrs to the p>ges to be chepg >
 10ass>10a3aticflass="comment"> */ges>
 10ass>10a4aticflass="comment"> */
 10ass>10ataticflass="comment"> */
 10ass>10a6aticflass="comment"> */
 10ass>10a7aticflass="comment"> */
 10ass>10a8aticflass="comment"> */
 10ass>10a9    a hreef="+code=va" clvm_che_rams="sref">flags
hre sa href="+code=vmap_ap>ges="sref">flags

ge *ef="+code=va" clp>gess="sref">flags

geslt; , ed long < href="+code=end" ccounts="sref">listlist ; , f="+code=start"pgprot_ts="sref">listlist 11="L>110span ref="mm/vmalloc.c#L301" i1101L300" c11=ss="line" name="L291"> 11=ss>110 ed long flagslistBUG_ONIZE _SHIFT ref="mm/vmalloc.c#L305" i11=2L300" c11=ss="line" name="L292"> 11=ss>110 ed long va_enda so 11=ss>1103 a hreef="+code=va" clmems="sref">flags 11=ss>11= malloc.c#L232" id=312" i11=5L300" c11=ss="line" name="L295"> 11=ss>110 href="+code=tmp" ccikelss="sref">addrlistva_endVMAP_MAX_ALLOC 11=ss>110 f="+code=rb_nodmems="sref">flagsflagsflagsflags hrhref="mm/vmalloc.c#L305" i11=7L300" c11=ss="line" name="L297"> 11=ss>1107 href="+code=addr" IS_ERRs="sref">flagsflags 11=ss>110 flags 11=ss>110 f="+code=__inse/ sos="sref">va_enda soflags 11ass>111s if (! 11ass>111 struct sa href="+code=vmap_area" ateas="sref">listva = vmalloc_to_pfn<11s=">111 va = listflagsBUG_ONIZE _SIZE 11ass>1113 eeeeeeeeeeeeeeeef="+code=va" clVMALLOC_STARTs="sref">BUG_ONVMALLOC_STARTBUG_ONVMALLOC_ENDlist ; , f="+code=start"GFP_KERNELs="sref">flags hrhref="mm/vmalloc.c#L305" i1114L300" c11ass="line" name="L214"> 11ass>111 flagsva = 11ass>1115 flags 11ass>111 11ass>1117 f="+code=end" c/ sos="sref">va_enda sova = va_start < ref="mm/vmalloc.c#L305" i1118L300" c11ass="line" name="L218"> 11ass>111 f="+code=tmp_vamems="sref">flagsva_enda so 11ass>111 vmalloc.c#L232" id=312" i112"L300" c11ass="line" name="L220"> 11ass>11as href="+code=addr" rche_page_rantlistva_enda sova_enda soflagslistgess="sref">flags

geslt; ) 11ass>112 structf="+code=tmp" cam_unche_rams="sref">flags href="+code=tmp" cmems="sref">flagslist 11ass>112 flags 11ass>1123 vmalloc.c#L232" id=312" i1124L300" c11ass="line" name="L224"> 11ass>11a flags 11ass>11a5 vmalloc.c#L232" id=312" i1126L300" c11ass="line" name="L226"> 11ass>11aflagsflags hrhref="mm/vmalloc.c#L305" i11a7L300" c11ass="line" name="L227"> 11ass>11a ef="mm/vmalloc.c#L305" i11a8L300" c11ass="line" name="L228"> 11ass>1128aticflass="comment"> */ 11ass>112 class="comment"> * Map * re_atea_/ s_early<- a s acheeatea early 11ass>113s class="comment"> * Map * @vm: re_ sa hreto ad > 11ass>113span class="comment"> * Set *> 11ass>113 class="comment"> * Set * Tuis funcruon is umed to a s fixed kernel vmeatea to vmclas befooe> 11ass>1133aticflass="comment"> */ 11ass>1134aticflass="comment"> */ 11ass>113taticflass="comment"> */ 11ass>1136aticflass="comment"> */ 11ass>1137aticflass="comment"> */ 11ass>1138atica href="+code=__inse__inirs="sref">flags<__inir f="+code=start"re_atea_/ s_earlys="sref">flags hre sa href="+code=vmap_are_ sa hrs="sref">flagsflags 11ass>1139pan ref="mm/vmalloc.c#L301" i114"L300" c11ass="line" name="L240"> 11ass>11as sa href="+code=vmap_are_ sa hrs="sref">flagsvmap_atmelt; , *ef="+code=va" clps="sref">flags 11ass>1141a href="mm/vmalloc.c#L267" i1142L300" c11ass="line" name="L242"> 11ass>114 f="+code=va" clONs="sref">va_endONa href="+code=tmp" crche_inirualizeds="sref">flags 11ass>11a3 for ef="+code=tmp" c"s="sref">flagsflagsvmap_atmelt; reef="+code=va" clps="sref">flagsflagsflagsvmap_atmelt; a href="+code=va_endnexss="sref">list 11ass>11a vmap_atmelt; a href="+code=va_end/ sos="sref">va_enda soflagsva_enda so 11ass>11a5 f="+code=va" clONs="sref">va_endONa href="+code=tmp" ctmes="sref">vmap_atmelt; a href="+code=va_end/ sos="sref">va_enda soflagsva_enda soflagsflags 11ass>114 bteakref="mm/vmalloc.c#L305" i11a7L300" c11ass="line" name="L247"> 11ass>11a7 v a href="mm/vmalloc.c#L310" i1148L300" c11ass="line" name="L248"> 11ass>11a ONs="sref">va_endONa href="+code=tmp" ctmes="sref">vmap_atmelt; a href="+code=va_end/ sos="sref">va_enda sovmap_atmelt; a href="+code=va_end izes="sref">flagsflagsva_enda so 11ass>114 vmalloc.c#L232" id=312" i115"L300" c11ass="line" name="L250"> 11ass>115s if (!flagslistflags 11ass>115 ef="+code=va" clps="sref">flagsflags 11ass>1152 vmalloc.c#L232" id=312" i1153L300" c11ass="line" name="L253"> 11ass>115 11ass>1154aticflass="comment"> */ 11ass>115taticflass="comment"> */ 11ass>1156aticflass="comment"> */ 11ass>1157aticflass="comment"> */ 11ass>1158aticflass="comment"> */ 11ass>115 class="comment"> * Map * Tuis funcruon is umed to register kernel vmeatea befooe> 11ass>116s class="comment"> * Map * c.c#L25_inir() is cc#Led. @vma hresizeall b@vma hreflags should contain> 11ass>116span class="comment"> * Set * proper values on ryall bother fields should be zeron On 11ass>116 class="comment"> * Set * vma hrea so contains the a#L25tr_d a soessn> 11ass>1163aticflass="comment"> */ 11ass>1164aticflass="comment"> */ 11ass>11ataticflass="comment"> */ 11ass>11a6atica href="+code=__inse__inirs="sref">flags<__inir f="+code=start"re_atea_register_earlys="sref">flags hre sa href="+code=vmap_are_ sa hrs="sref">flagsflagslistlist 11ass>11a7aticref="mm/vmalloc.c#L301" i1168L300" c11ass="line" name="L268"> 11ass>116 static f="+code=start" ize_ts="sref">listflagsflags<__inirdatalt; ref="mm/vmalloc.c#L305" i1169L300" c11ass="line" name="L269"> 11ass>116 ed long va_enda so 11ass>117sa href="mm/vmalloc.c#L267" i1171L300" c11ass="line" name="L271"> 11ass>117 f="+code=__inse/ sos="sref">va_enda sova_endALIGNa href="+code=tmp" cVMALLOC_STARTs="sref">BUG_ONVMALLOC_STARTflagslist 11ass>117 f="+code=va" clre_inir_offs="sref">flagsva_endPFN_ALIGNa href="+code=tmp" c/ sos="sref">va_enda soflagsflagsBUG_ONVMALLOC_START 11ass>117 11ass>117 f="+code=rb_nodrms="sref">flagsva_enda sova_enda so 11ass>117taticef="mm/vmalloc.c#L305" i1176L300" c11ass="line" name="L276"> 11ass>11a f="+code=tmp" cre_atea_/ s_earlys="sref">flags href="+code=vmap_arms="sref">flags 11ass>117span vmalloc.c#L232" id=312" i1178L300" c11ass="line" name="L278"> 11ass>11a8 malloc.c#L232" id=312" i1179L300" c11ass="line" name="L279"> 11ass>1179 a href="+code=__inse__inirs="sref">flags<__inir f="+code=start"rec#L25_inirs="sref">flags hrea hrref="mm/vmalloc.c#L252" i118"L300" c11ass="line" name="L280"> 11ass>118span ref="mm/vmalloc.c#L301" i1181L300" c11ass="line" name="L281"> 11ass>11a sa href="+code=vmap_area" ateas="sref">listva = 11ass>1182 sa href="+code=vmap_are_ sa hrs="sref">flagsvmap_atmelt; ref="mm/vmalloc.c#L305" i1183L300" c11ass="line" name="L283"> 11ass>11a3 href="+code=end" cis="sref">list 11ass>118 malloc.c#L232" id=312" i1185L300" c11ass="line" name="L285"> 11ass>11a f="+code=end" cfor_each_possible_cpus="sref">listlist 11ass>11a sa href="+code=vmap_area" ba>);_queurs="sref">flags);_queur flags 11ass>118 ef="mm/vmalloc.c#L305" i11a8L300" c11ass="line" name="L288"> 11ass>118 f="+code=tmp_vaabqs="sref">flagslist);_queurs="sref">flags);_queur list 11ass>118 f="+code=__insespin clas_inirs="sref">flagsflagsvmap_aa>); 11ass>119s f="+code=va_staINIT_LIST_HEADs="sref">BUG_ONINIT_LIST_HEADa hrea href="+code=vmap_arbqs="sref">flagsflags 11ass>119 vmalloc.c#L232" id=312" i1192L300" c11ass="line" name="L292"> 11ass>119span ef="mm/vmalloc.c#L252" i1193L300" c11ass="line" name="L293"> 11ass>1193 flass="comment"> */ 11ass>119 for ef="+code=tmp" ctmes="sref">vmap_atmelt; ref="+code=tmp_vaaeclass="sref">flagsvmap_atmelt; ref="+code=vmap_atmes="sref">vmap_atmelt; ref="+code=tmp_vatmes="sref">vmap_atmelt; a href="+code=va_endnexss="sref">list 11ass>1195 f="+code=vmap_arss="sref">va = flags hre izeofe sa href="+code=vmap_area" ateas="sref">listBUG_ONGFP_NOWAIT 11ass>119 f="+code=rb_nodrss="sref">va = flags a ref="+code=tmp_vaVM_VM_AREAs="sref">BUG_ONVM_VM_AREA 11ass>1197 f="+code=end" cass="sref">va = va_start < reeed long vmap_atmelt; a href="+code=va_end/ sos="sref">va_enda so 11ass>119 f="+code=tmp_vaass="sref">va = flagsva = va_start < +ef="+code=ret" ctmes="sref">vmap_atmelt; a href="+code=va_end izes="sref">flags 11ass>119 f="+code=__inseass="sref">va = flagsvmap_atmelt; ref="mm/vmalloc.c#L305" i12="L300" c12="L3"line" name="L299"> 12="L>120s f="+code=va_sta__insert_rea" ateas="sref">listva = 12=ss>120 vmalloc.c#L232" id=312" i12=2L300" c12=ss="line" name="L292"> 12=ss>120span ef="mm/vmalloc.c#L252" i1203L300" c12=ss="line" name="L293"> 12=ss>1203 f="+code=vmap_area" atea_pcpu_holrs="sref">flags a ref="+code=tmp_vaVMALLOC_ENDs="sref">BUG_ONVMALLOC_END 12=ss>12= malloc.c#L232" id=312" i12=5L300" c12=ss="line" name="L295"> 12=ss>120 f="+code=end" crche_inirualizeds="sref">flagsflags 12=ss>120 vmalloc.c#L232" id=312" i12=7L300" c12=ss="line" name="L297"> 12=ss>120 ef="mm/vmalloc.c#L305" i12=8L300" c12=ss="line" name="L298"> 12=ss>1208aticflass="comment"> */ 12=ss>120 class="comment"> * Map * che_kernel_rant<_no/lush - chedkernel VMeatea with the specifig

ges> 12ass>121s class="comment"> * Map * @a so: /a> & of the VMeatea to che < 12ass>121span class="comment"> * Set * @size: /izeaof the VMeatea to che <vmalloc_to_pfn<12s=">121 class="comment"> * Set * @prot: p>ge protecruon flags to use < 12ass>1213aticflass="comment"> */ges: p>ges to che < 12ass>1214aticflass="comment"> */ 12ass>121taticflass="comment"> */ges at @a so. The VMeatea @a soall b@size 12ass>1216aticflass="comment"> */ 12ass>1217aticflass="comment"> */ 12ass>1218aticflass="comment"> */ 12ass>121 class="comment"> * Map * NOTE:lt 12ass>122s class="comment"> * Map * Tuis funcruon does NOT doally cache /lushuhr. The cc#Ler is> 12ass>122span class="comment"> * Set * responsible for cc#Luhre/lush_cache_rea"()aon to-be-chepg eateas> 12ass>122 class="comment"> * Set * befooe cc#Luhretuis funcruonn> 12ass>1223aticflass="comment"> */ 12ass>1224aticflass="comment"> */ 12ass>122taticflass="comment"> */ges chepg aon success, -errno on failuoen> 12ass>1226aticflass="comment"> */ 12ass>12a href="+code=end" cche_kernel_rant<_no/lushs="sref">flagsva_enda soflags 12ass>122 listlistflags

ge *ef="+code=va" clp>gess="sref">flags

geslt; ref="mm/vmalloc.c#L252" i12a9L300" c12ass="line" name="L229"> 12ass>1229pan ref="mm/vmalloc.c#L301" i123"L300" c12ass="line" name="L230"> 12ass>123s flagsva_enda sova_enda soflagslistgess="sref">flags

geslt; )ref="mm/vmalloc.c#L305" i1231L300" c12ass="line" name="L231"> 12ass>123span vmalloc.c#L232" id=312" i1232L300" c12ass="line" name="L232"> 12ass>123span ef="mm/vmalloc.c#L252" i12a3L300" c12ass="line" name="L233"> 12ass>1233aticflass="comment"> */ 12ass>1234aticflass="comment"> */ 12ass>123taticflass="comment"> */ & of the VMeatea to unche> 12ass>1236aticflass="comment"> */ 12ass>1237aticflass="comment"> */ 12ass>1238aticflass="comment"> */ges at @a so. The VMeatea @a soall b@size 12ass>123 class="comment"> * Map * specify should have been a#L25tr_d usuhreget_re atea()all bits> 12ass>124s class="comment"> * Map * friendsn> 12ass>124span class="comment"> * Set *> 12ass>124 class="comment"> * Set * NOTE:lt 12ass>1243aticflass="comment"> */ 12ass>1244aticflass="comment"> */ 12ass>124taticflass="comment"> */ 12ass>1246aticflass="comment"> */ 12ass>12a7 a href="+code=__inseunche_kernel_rant<_no/lushs="sref">flagsva_enda soflags 12ass>12a ref="mm/vmalloc.c#L301" i12a9L300" c12ass="line" name="L249"> 12ass>124 f="+code=va" clvunche_page_rantlistva_enda sova_enda soflags 12ass>125s vmalloc.c#L232" id=312" i1251L300" c12ass="line" name="L251"> 12ass>125 f="+code=ret" cEXPORT_SYMBOL_GPLs="sref">flagsflags 12aticflass="comment"> */icflass="ccflass=cflaTLBoc.c#L305" i1+co6e1vmalloc.c#L305"on to-be-c"> */ 12ass>123taticflass="comment"> */ & oatea early2duruhrebootlt 12ass>1236aticflass="comment"> */ */ */cflaslbfooe cc#Luhretuis funcruonall b/lush_tlb kernel vm2atea befooe> 12ass>1246aticflareflags sh2uld contain> flagsva_enda so = va_enda sova_e<_no/lushs="sref">flags */ list =t<_no/lushs="sref">flags */ 12ass>124 f="+code=va" clvunche_page_rantlist =t<_no/lushs="sref">flagslist */ */list =t<_no/lushs="sref">flags 11ass>11a7aticref="mm/2mallo2.c#L305" i125"L300" c12ass="line"="sref">fl2gs<__inirdatalt; ref="mm/2mallo26c#L305" i1089L300" c10ass="lin2"/ sos="sr2f">va_enda so * Mapva" cL300" c11ass="line" name="L282"> 11ass>1182 sa href="+code=vmap_" crss="sref">vaMapva" untlt; ,< href="+code=end" cnp_vs="sref">list ; , f="+code=start"pgprot_ts="sref">listlistflags

ge *ef="+code=va" clp" name="L220"> 11ass>117sa href="mm/2mallo2.c#L262" i1248L300" c12ass="line"igns="sref2>listflagsvaMapva" eed long vmap_atmelt; a href="+code=va_e2ref">BUG_O2VMALLOC_START = va_enda sovaMapva" eed long vmap_arelt; a href="+cocode=end" c izes="sref">flags 11ass>117va_enda so 11ass>117taticef="mm/2mallo2.c#L305" i1176L300" c11ass="lere=tmp" c/ sos="seree for ef="+came="L220"> 11ass>11as href="+code=addr" rche_page_rantlist =nda soflags; , sa href="+code=vmap_ap>ges="sref">flagsflagsgess="sr2 name="L272"> 11ass>117span vmalloc.2#L23227c#L305" i12a8L300" c1; , sa href="+code=vmap_ap>ges="sref">flags< + for ef="ere=tmp" c/ sos="seree atmelt; a href="+code=va_e2r"sref">fl28"> 11ass>11a8 malloc.2#L23227c#L305" i1199L300" c11ass="line" namere=tmp" c/ sos="seree 0atmelt; a href="+code=va_e2>flags hrea hrref="mm/2mallo28c#L305" i111"Ltmelt; a href="+code=va_e2> name="L22"> 11ass>118span ref="mm/2mallo28c#L305" i1141L300" c11ass="lin2map_arss="2ref">va = vmap_atmelt; ref="mm/2mallo2.c#L30Ltmelt; a href="+code=va_e2>ss="comme2sref">list 12ass>125 f="+code=ret" cEXPORT_SYMBOL_s="l> * Mapass>12a href="> * Mapva" patmelt; a href="+code=va_e2" name="L224"> 11ass>118 malloc.2#L23228c#L305" i1175L300" c11ass="lin2mp" cis="s2ef">list 10faceslt;;ne" name="L246"> 12ass>1246aticfla clabqs="s2ef">flagsvma_ode=vmap_arbqs="sref">vma_ode=va" patmelt; a href="+code=va_e2"name="L2727"> 11ass>118 ef="mm/2mallo2.c#L30egister_earlys="sref">flags hre sa href="+code=vmap_arode=tmp" ctmes="sref">vmap_atmtmelt; a href="+code=va_e2""sref">fl2ref">listvmap_aa>); 11ass>1182 sa href="+code=vmap_are_ sa hrs="sref">flags 11ass>11a sa href="+code=vmap_area" ateas="sref">listd long flagsva,62">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags

ge *ef="+code=va" clp291"> 11as2>119 vmalloc.2#L23229c#L252" i1248L300" c12ass="line"" name="L222"> 11ass>119span ef="mm/2mallo29c#L252" i1203L300" c12=ss="line_ sa hrs="sref">flag f="+code=rb_nodrss="sref">va = vamtmelt; a href="+code=va_e2uhrevmclas2 ries. *n> flag f="+code=rb_nodrms="sref">flagsva_enda sova = flag f="ode=ret" ctmes="sref">vmap_aflagsva = relt; a href="+coode=end" c/ sos="sref">va_enda sova = flag f="s * Tu=rb_nodrss="sres * Tuags 11ass>119 f="+code=__inseass="sref">va = flagsva_enda so 11ass>119 f="+code=rb_nodrss="sref">va |= flags a ref="+code=tmp_vaVM_VM_AREA2d izes="sr2f">flagsvmap_atmelt; ref="mm/3mallo30c#L305" i117"L300" c11ass="lin3p_vaass="s3ef">va = 11ass>1182 sa href="+code=vmap_are_ sa hrs="sref">flagp>ge *ef="+code=va" cl3291"> 12=s3>120 vmalloc.3#L23230c#L252" i1248L300" c12ass="line3" name="L232"> 12=ss>120span ef="mm/3mallo3.c#L252" i1203L300" c11ass="line" name="L240"> 11ass>11as sa href="+code=vmap_are_ sa hrs="sref">flagsvmap_atmelt; , *ef="+cod3"sref">BUG3ONVMALLOC_END 12=ss>12= malloc.3#L2323 id=312" i12=5L300" c12=ss="line_ sa hrs="sref">flag f="+code=rb_nodrss="sref">va =va_s= ~flagsvmap_atmelt; , *ef="+cod3"6name="L234NGFP_NOWAIT vma_ode=va" patmelt; a href="+code=va_e3 name="L293"> 12=ss>120 vmalloc.3#L23230c#L305" i1077L300" c11ass="line" name="L243"> 11ass>11a3 for ef="+code=tmp" c"s="sref">flagsflagsvmap_atmelt; reef="+code=va" clps="sref">flagsflagsflagsvmap_atmelt; a href="+code=va_end3" name="L237"> 12=ss>120 ef="mm/3mallo30c#L305" i12a8L300" c11ass="line" name="L244"> 11ass>11a vmap_atmelt; a href="+code=va_end/ sos="sref">va_enda soflagselt; a href="+code=va_end3"9name="L237">flags 11ass>114 3th the spe3ifig

ges> 11ass>115s if (!flagslist = flagsvma_ode=va" patmelt; a href="+code=va_e3* @p>ges: 3>ges to che < */ 11ass>1182 sa href="+code=vmap_are_ sa hrs="sref">flags 11ass>11a sa href="+code=vmap_area" ateas="sref">listd long va,62">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags

ge *ef="+code=va" cl3ent"> */ */ __inir+code=__inseass="s300="> __inir+cva" cef="+code=vmap_are_ sa hrs="sref">flagslistd"line" name="L27+code=rb_nodrss="sref">va,6c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags *3Map * NOTE:ltflagpatmelt; a href="+code=va_e3oof the VM3e cc#Ler is> 11ass>1182 sa href="+code=vmap___ent"> * Map_nmap> 11ass>1182 __ent"> * Map_nmapva" clong va_enda so */flagsflagsva,6long /a> = =,49" i12a7L300" c12asnmap> 11ass>1182 nmapva" ,6c11=ss="line" ngfpnd" cnp_vs="sref"gfpnd#L301c11=ss="line" ngfpnmas=vmap_arbqs="sregfpnmas=,62">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags

ge *ef="+code=va" cl3ss, -errno3on failuoen> */ 11ass>11a sa href="+code=vmap_area" ateas="sref">listflags 11ass>1182 sa href="+code=vmap_" crss="sref">vaMapva" flags

geslt; ref="mm/3mallo32c#L305" i1089L300" c10ass="lin3 name="L223"> 12ass>1229pan ref="mm/3mallo33id=312" i115"L300" c11ass="l> 11ass>11a 10rup=tmp" ctmes="sre _"> 10rup= )patmelt; a href="+code=va_e3gess="sref3>flags

geslt; )ref="mm/3mallo33c#L267" i11711ass="line" name="L+code=rb_nodrss="sref">va =va_s flags 12ass>123span vmalloc.3#L232332#L301" i1195L300" c19" i12a7L300" c12asbass>118 bi>flagsva_enda so 12ass>123span ef="mm/3mallo33c#L305" i1173L300" c11ass="lin3ss="commen3"> */ 118 IOREMAP_MAX_ORDERags

ge *ef="+code=va" cl3- unchedke3nel VMeatea> 118 bi>flags flaflagsge *ef="+code=va" cl3-s="commen3ea to unche> 118 bi>flagsflaflags */ flags * Ma3 * friendsn> * Set *> vmap_aflagsva_enda so *3Set * NOTE:lt 11ass>11a unlike"> ! va_enp>ge *ef="+code=va" cl3ushuhr. T3e cc#Ler is> flag>ge *ef="+code=va" cl3u unchedke3hepg eateas> vaMapva" f="+code_nmap> 11ass>1182 ="+code_nmapva" cLa refref="+code=vmap_" crss="sref">vaMapva" href="+code=vmap_agfpnmas=vmap_arbqs="sregfpnmas= =va_s 11ass>1182 nmapva" nda so */ 11ass>11a unlike"> ! vaMapva" hp>ge *ef="+code=va" cl3u izes="sr3f">flagsflag>ge *ef="+code=va" cl3ueatea @a 3"> 12ass>12a ref="mm/3mallo34c#L305" i1089L300" c10ass="lin3 izes="sre3">flags 12ass>1246aticfl3 name="L253"> 12ass>125s vmalloc.3#L23235c#L204" i1241L300" c12ass="lllllllll* W16 ways3 cla a guarel_ranc#Luhretuis funcruonall b/lush_tl3he_kernel_3ant<_no/lusha hr)ref="mm/3mallo35c#L259" i1242L300" c12ass="lllllllll*ne" name="L246"> 12ass>1246aticfl3ref="mm/vm3lloc.2ass>125span ef="mm/3L30_r35c#L252" i1203L300" c12=ss="lode=ret" ctmes="sref">vmap_a+ for ef="code=end" c izes="sref">flags */ 11ass>1195 fc_inir+c="L281"> 11ass>11a c_inir+c="L281" va_e="+code=ret" crm_inir_offs="sref">flags/a> = =nda sonda solistflagsaddr" rche_page_r crss="sref">vaMapva" hda soflag>ge *ef="+code=va" cl3ass="comme3t"> */ 12ass>1246aticfl3d be zeron3 On 12ass>1246aticfl3def="mm/vm3_d a soessn> 12ass>1246aticfl3d i1182L303t"> */un f="+cod mee="Ls36">e" psuch le for cc#Luhre/lush_cache_runche(3WHAT YOU'RE DOINGn> */ list 12ass>1246aticfl3s izes="sr3"> 11ass>11a7aticref="mm/3mallo368#L305" i10771ass="line" name="L+code=rb_nodrss="sref">va =va_s flagsge *ef="+code=va" cl3="sref">fl3gs<__inirdatalt; ref="mm/3mallo36c#L305" i1189L300" c11ass="line" name300="> __inir+code=__inseass="s300="> __inir+cva" cef="+code=vmap_" crss="sref">vaMapva" untlt; ,< href="+area" ateas="sref">listd"line" name="L27+code=rb_nodrss="sref">va,6c11=ss="line" ns * Tu=rb_nodrss="sres * Tuagsva_enda so 11ass>117sa href="mm/3mallo37c#L305" i119111111111L300" c11ass="l f="+c_inir+ctmp" ctmes="sre f="+c_inir+cva" cef="+code=vmap_" crss="sref">vaMapva" untlt; ,< href="+area" ateas="sref">listd"line" name="L27+code=rb_nodrss="sref">va,6c11=ss="line" ns * Tu=rb_nodrss="sres * TuagslistBUG_O3VMALLOC_STARTvaMapva" 11ass>117va_enda so 11ass>117taticef="mm/3mallo37c#L25L300" c11ass="line" name="L282"> 11ass>1182 sa href="+code=vmap___ent"> * Map> 11ass>1182 __ent"> * Mapva" clong va_enda sova,5" i1175L300" c11ass="lin3"re_ sa hr3ef">flags/a> = =p>ge *ef="+code=va" cl3 name="L273"> 11ass>117span vmalloc.3#L23237c#L252" i1248L300" c12ass="line3r"sref">fl38"> 11ass>11a8 malloc.3#L23237c#L305" i1199L300" c12ass="line" na__ent"> * Map_nmap> 11ass>1182 __ent"> * Map_nmapva" c+code=start"/ sos="sref">va_enda sova,6c11=ss="line" nfe=tmp" crss="sref">/a> = =nd-1d"line" name="L27che_KERNEcode=va" clps="sche_KERNEc,5" i1175L300" c11ass="lin3>flags hrea hrref="mm/3mallo38c#L305" i111"""""""""""""""""""""""""""""""""""""""""12ass="line" na__builss>_L300" _ef">s="> 11ass>1182 __builss>_L300" _ef">s="va" c0)patmelt; a href="+code=va_e3> name="L23"> 11ass>118span ref="mm/3mallo38c#L305" i1231L300" c12ass="line3map_arss="3ref">va = 12ass>125 f="+code=ret" cEXPORT_SYMBOL___ent"> * Map> 11ass>1182 __ent"> * Mapva" patmelt; a href="+code=va_e3>ef">BUG_O3ef">vmap_atmelt; ref="mm/3mallo38c#L305" i1173L300" c11ass="lin3>ss="comme3sref">list 11ass>1182 sa href="+code=vmap___ent"> * Map_s * Tu=rb_nodrss="sre__ent"> * Map_s * Tuva" clong va_enda sova,5" i1175L300" c11ass="lin3" name="L234"> 11ass>118 malloc.3#L23238c#L301" i1145L300" c11ass="li1111111111111c1L300" c10ass="line" name="L27fe=tmp" crss="sref">/a> = =,5" i1175L300" c11ass="lin3" name="L23ef">listst3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags

ge *ef="+code=va" cl3 clabqs="s3ef">flags 11ass>118 ef="mm/3mallo388#L305" i1199L300" c12ass="line" na__ent"> * Map_nmap> 11ass>1182 __ent"> * Map_nmapva" c+code=start"/ sos="sref">va_enda sova,6c11=ss="line" nfe=tmp" crss="sref">/a> = =nd-1d"line" name="L27che_KERNEcode=va" clps="sche_KERNEc,5" i1175L300" c11ass="lin3>"sref">fl3ref">listvmap_aa>); flags 11as3>119 vmalloc.3#L23239c#L259" i1242L300" c12ass="00"oc.c#L305" i1+co6e1vmalloc.c#L303" name="L232"> 11ass>119span ef="mm/3mallo39c#L259" i1243L300" c12ass="linnnnnnent"> * Map -99L3 va a 2">tiguouss="commevirtual"> */ 12a> */vameeeeeeeee%gse" na in> 12a="commevirtual"assp45">c236,e" name="L246"> 12ass>1246aticfl3d/ sos="sr3f">va_enda so 12a> */ descriptore" name="L246"> 12ass>1246aticfl3d"sref">fl3f">flags */ges chepg aon succ4_vatmes="s4ef">vmap_atmelt; ref="mm/4mallo40c#L259" i116"L300" c11ass="line" name="L246"> 12ass>1246aticfl4p_vaass="s4ef">va = 11ass>1182 sa href="+code=vmap_ent"> * Map> 11ass>1182 ent"> * Mapva" clong va_enda sovap>ge *ef="+code=va" cl4291"> 12=s4>120 vmalloc.4#L23240c#L252" i1248L300" c12ass="line4" name="L242"> 12=ss>120span ef="mm/4mallo40c#L305" i1073L300" c12ass="line" na__ent"> * Map_nmap> 11ass>1182 __ent"> * Map_nmapva" c+code=start"/ sos="sref">va_enda sova,6c11=ss="line" nVMgholr_STAR agss="sref">flagsgholr_STAR ,6c11=ss="line" nVMgholr_ENDagss="sref">flagsgholr_END,5" i1175L300" c11ass="lin4"sref">BUG4ONVMALLOC_END_L300" _ef">s="> 11ass>1182 __builss>_L300" _ef">s="va" c0)patmelt; a href="+code=va_e4" name="L244"> 12=ss>12= malloc.4#L2324 id=315" i125"L300" c12ass="line4"6name="L244NGFP_NOWAIT 11ass>1182 sa href="+code=vmap_ent"> * Map_s * Tu=rb_nodrss="sreent"> * Map_s * Tuva" clong va_enda sova,5" i1175L300" c11ass="lin4" name="L247"> 12=ss>120 ef="mm/4mallo40c#L305" i12a8L300" c111111111111111112">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags

ge *ef="+code=va" cl4"9name="L247">flags * Map_nmap> 11ass>1182 __ent"> * Map_nmapva" c+code=start"/ sos="sref">va_enda sova,6c11=ss="line" nVMgholr_STAR agss="sref">flagsgholr_STAR ,6c11=ss="line" nVMgholr_ENDagss="sref">flagsgholr_END,5" i1175L300" c11ass="lin4 of the VM4atea to che < */ * Map -99find a 2">tinuouss="commevirtual"> */s="vas * unche_kernel_rant<_no/lush4M7name="L24a()all bits> */ */ 1236a/a> =45">cticflas, and L300" cithe number of p>ges chepg aon succ4ass="comme4t"> */ oa="epct/ 12ass>1246aticfl4omment"> *4Map * NOTE:lt 10 validhe number of p>ges chepg aon succ4oof the VM4e cc#Ler is> 12ass>1246aticfl4aon to-be-4hepg eateas> 11ass>1182 sa href="+code=vmap_find"> * Map=rb_nodrss="srefind"> * Mapva" c2">st3L300" c11=ss="line" n+code=tmp" crms="sref">flagselt; a href="+code=va_end4cc#Luhretu4s funcruonn> */ 11ass>11a sa href="+code=vmap_area" ateas="sref">list 11ass>1195 ffind"> ="L281"> 11ass>11a find"> ="L281"va" cref="+code=va_endrt" class="sr"code=tmp" crms="sref">flags */ 11ass>1195 =va_s=va_s 11ass>119 f="+code=rb_nodrss="sref">va =va_s flags a rselt; a href="+code=va_end4cnt"> */flags 11ass>119 f="+code=__inseass="sref">flags

geslt; ref="mm/4mallo42c#L305" i1089L300" c10ass="lin4 name="L224"> 12ass>1229pan ref="mm/4mallo43c#L305" i111"L300" c12ass="line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl4gess="sref4>flags

geslt; )ref="mm/4mallo43c#L305" i1231L300" c12ass="line4 name="L234"> 12ass>123span vmalloc.4#L23243c#L305" i1252L300" c12terlt 12ass>123span ef="mm/4mallo43"mm/vmalloc.c#L305" i11a3L300"oc.c#L305" i1+co6e1vmalloc.c#L304ss="commen4"> */ * Map -99find and L3move a 2">tinuouss="commevirtual"> */ s="vas * unche_kernel_rant<_no/lush4"s, -errno4ea to unche> 1236a/a> =45">cticflas, and L3move ithe number of p>ges chepg aon succ4" izes="sr4t"> */ 12afound ss>1236,fbutau"45">iti2asNOT saf Tuis funcruon is umed to registe4Meatea @a 4oall b@size ges chepg aon succ4eget_re at4a()all bits> 12ass>1246aticfl4ent"> * Ma4 * friendsn> 11ass>1182 sa href="+code=vmap_remove"> * Map> 11ass>1182 remove"> * Mapva" c2">st3L300" c11=ss="line" n+code=tmp" crms="sref">flagselt; a href="+code=va_end4ass="comme4t"> * Set *> *4Set * NOTE:lt 11ass>11a sa href="+code=vmap_area" ateas="sref">list 11ass>1195 ffind"> ="L281"> 11ass>11a find"> ="L281"va" cref="+code=va_endrt" class="sr"code=tmp" crms="sref">flags 11ass>1195 =va_s=va_s 11ass>119 f="+code=rb_nodrss="sref">va =va_s flags a rstmelt; a href="+code=va_end4os="commen4"> */ 11ass>1182 sa href="+code=vmap_are_ sa hrs="sref">flagaflagsflags 12ass>12a ref="mm/4mallo44c#L305" i1199L300" c11ass!cef="+code=vmap_are_ sa hrs="sref">flag f="+code=rb_nodrss="sref">va =va_s flagsflags 11ass>11as sa href="+code=vmap_are_ sa hrs="sref">flagsvmap_atmelt; , *ef="+cod4 name="L254"> 12ass>125s vmalloc.4#L23245c#L305" i1191111111111" i1144L" i11a6L300" c11ass="/te" name="L246"> 12ass>1246aticfl4he_kernel_4ant<_no/lusha hr)ref="mm/4mallo45c#L259" i1242L300" c12ass="lllllllllllllllllllllllll* L3move from and dis1246w aass=" toe" name="L246"> 12ass>1246aticfl4hmment"> *4lloc.2ass>125span ef="mm/4L30_r45c#L259" i1243L300" c12ass="lllllllllllllllllllllllll* 12ase" pbef30e . (af">s=" f="+cod name="L246"> 12ass>1246aticfl4hshuhr. T46loc.c#L305" i662L3006loc4c#Lp 45c#L294" i1154L300" c11ass="lllllllllllllllllllllllll* 2">fli24tati2asmaintainodebyne" p.)od name="L246"> 12ass>1246aticfl4h unchedke4"> */ 12ass>1246aticfl4atea early4duruhrebootltvma_ode=va" patmelt; a href="+code=va_e4 re_ sa hr4to registerlt 11ass>11a3 for ef="+code=tmp" c"s="sref">flagsflagsvmap_atmelt; reef+code=__inseass="sref">flagsflagsvmap_atmelt; a href="+code=va_e4 izes="sr4d align */ */flagsvmap_atmelt; a href="+code=va_e4 kernel vm4atea befooe> vma_ode=va" patmelt; a href="+code=va_e4reflags sh4uld contain> f20"> 11ass>11as debug_f">f20"> 1va" c+code=start"/ sode=end" c/ sos="sref">va_enda sova = listagsva =patmelt; a href="+code=va_e4rshuhr. T4t"> */f2 "> ="L281"> 11ass>11a f">f2 "> ="L281"va" c+code=start"/ sode=end" c/ sos="sref">patmelt; a href="+code=va_e4r unchedke49;RE DOINGn> flag f="ode=ret" ctmes="sref">vmap_a- for ef="code=end" c izes="sref">flags */ list 11ass>11a7aticref="mm/4mallo468#L305" i10775" i1231L300" c12ass="line4deatea @a 4gs<__inirdatalt; ref="mm/4mallo46c#L305" i1199L300" c12ass="line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl4"/ sos="sr4f">va_enda so 11ass>117sa href="mm/4mallo47c#L305" i1141L300" c11ass="lin4" be zeron4>listst3L300" c11=ss="line" n+code=tmp" crms="sref">flag,49" i12a7L300" c12asde11assate_s>123e=tmp" crms="srde11assate_s>123map_atmelt; a href="+code=va_e4ref">BUG_O4VMALLOC_START 11ass>117 11ass>1182 sa href="+code=vmap_" crss="sref">vaMapva" va_enda so 11ass>117taticef="mm/4mallo476#L305" i10771ass! flagselt; a href="+code=va_end4"re_ sa hr4ef">flags 11ass>117span vmalloc.4#L23247id=312" i1178L300" c11ass="lin4r"sref">fl48"> 11ass>11a8 malloc.4#L23247c#L305" i11991assc+code=start"/ scode=end" c izes="sref">flagsflagstmelt; a href="+code=va_end4>flags hrea hrref="mm/4mallo48c#L305" i111"""""""""ndrt" class="srWAR="sref">flags"Try45"> oavf">f() bad af">s=" (%p)\n"e" name="+code=ret" crm_icode=tmp" crms="sref">flags 11ass>118span ref="mm/4mallo48c#L305" i119111111111L300" va = BUG_O4ef">vmap_atmelt; ref="mm/4mallo48c#L305" i1173L300" c11ass="lin4>ss="comme4sref">listvaMapva" fremove"> * Map> 11ass>1182 remove"> * Mapva" c+code=ret" crm_icode=tmp" crms="sref">flags 11ass>118 malloc.4#L23248c#L301" i11451ass="line" name="Lunlike"> 11ass>11a unlike"> ! vaMapva" hptmelt; a href="+code=va_end4> name="L24ef">listflags"Try45"> oavf">f() nonexvmae" ivm>1236a(%p)\n"e" name=elt; a href="+code=va_end4>re_ sa hr4ef">flagsflags 11ass>118 ef="mm/4mallo48c#L305" i12a8L300" c1L300" fl4ref">listvmap_aa>); flagsf=tmp_vaass="srefdebug_check_no_ode=s_f">f=va" c+code=ret" crm_icode=tmp" crms="sref">flag="+code=ret" crm_i crss="sref">vaMapva" f="ode=ret" ctmes="sref">vmap_s 11as4>119 vmalloc.4#L23249c#L305" i1172L300" c11ass="ldebug_check_no_obj_f">f=tmp_vaass="srefdebug_check_no_obj_f">f=va" c+code=ret" crm_icode=tmp" crms="sref">flag="+code=ret" crm_i crss="sref">vaMapva" f="ode=ret" ctmes="sref">vmap_sBUG_O42"> 11ass>119span ef="mm/4mallo49c#L305" i1173L300" c11ass="lin4uhrevmclas4 ries. *n> vaMapva" f="nr_s>123vmap_atmes="srefr_s>123map_va_enda so12ode=tmp" ctmes="a 1va" 1cclasvaMapva" f="s>123vmap_atmes="sres>123map_[fl4f">flagsvmap_atmelt; ref="mm/5mallo50c#L305" i111"""""""""""""""""sa hr *f="+> 11ass>11a ! va = f2c>12ode=tmp" ctmes=__f">f2c>12va" c+code=ret" crm_c>12ode=tmp" ctmes="a 1va" s 12=ss>120span ef="mm/5mallo50c#L305" i1173L300" c11ass="lin5"sref">BUG5ONVMALLOC_ENDvaMapva" f="+code=rb_nodrss="sref">va =va_s 12=ss>12= malloc.5#L23250c#L301" i1145L300" c11ass="line" name="L245"vode=vmap_arbqs="srevf">flagsaddr" rche_page_r crss="sref">vaMapva" f="s>123vmap_atmes="sres>123map_sflagsaddr" rche_page_r crss="sref">vaMapva" f="s>123vmap_atmes="sres>123map_sva_enda soflagsflagsaddr" rche_page_r crss="sref">vaMapva" hda so */f -99L3leasa memory3 cladebyne" ()od name="L246"> 12ass>1246aticfl5Meatea @a 5oall b@size s="vas * unche_kernel_rant<_no/lush5M7name="L25a()all bits> */ */ f 12avirtually 2">tinuoussmemory3 236a/a> =45">cticflas, a"vas * unche_kernel_rant<_no/lush5M9name="L25t"> */ *5Map * NOTE:ltges chepg aon succ5oof the VM5e cc#Ler is> 10rup= 2">texthe number of p>ges chepg aon succ5cc#Luhretu5s funcruonn> 12ass>1246aticfl5ass="comme5t"> */flagsa2">st3L300" c11=ss="line" n+code=tmp" crms="sref">flagselt; a href="+code=va_end5a name="L25 * RETURNS:lt 10rup=tmp" ctmes="sre _"> 10rup= )patmelt; a href="+code=va_e5a7name="L25"> */ */flagsflagsflags

geslt; ref="mm/5mallo52c#L305" i1089L300" c10ass="lin5 name="L225"> 12ass>1229pan ref="mm/5mallo53id=312" i115"L300" c11ass="l__v ode=va" clps="s__v va" c+code=ret" crm_icode=tmp" crms="sref">flag="1sflags

geslt; )ref="mm/5mallo53c#L305" i1231L300" c12ass="line5 name="L235"> 12ass>123span vmalloc.5#L23253c#L3012ass="line" na12ass="line" e=tmp" crms="sr12ass="line" va" c+code=ret" crm_vode=vmap_arbqs="srevf">flagss 12ass>123span ef="mm/5mallo53c#L305" i1173L300" c11ass="lin5ss="commen5"> */ obtainodebyne" p()od name="L246"> 12ass>1246aticfl5"s, -errno5ea to unche> s="vas * unche_kernel_rant<_no/lush5-s="commen5ea to unche> */ */ f 12avirtually 2">tiguoussmemory3 236a/a> =45">cticflas,vas * unche_kernel_rant<_no/lush5-ss="comme5oall b@size 10rup= 2">texthe number of p>ges chepg aon succ5ass="comme5t"> * Set *> 12ass>1246aticfl5omment"> *5Set * NOTE:ltst3L300" c11=ss="line" n+code=tmp" crms="sref">flagselt; a href="+code=va_end5ushuhr. T5e cc#Ler is> 11ass>11a 10rup=tmp" ctmes="sre _"> 10rup= )patmelt; a href="+code=va_e5_kernel_ra5t<()alftern> */ flag="0)atmelt; a href="+code=va_e5_nt"> */flags 12ass>12a ref="mm/5mallo54c#L3012ass="line" na12ass="line" e=tmp" crms="sr12ass="line" va" c+code=ret" crm_v ode=va" clps="sv va" )atmelt; a href="+code=va_e5 izes="sre5">flags 12ass>125s vmalloc.5#L23255c#L204" i1241L300" c12ass="00"oc.c#L305" i1+co6e1vmalloc.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12ass="linnnnnnv -99 ln>12rayaof s>1238"> oavirtually 2">tiguouss" iccod name="L246"> 12ass>1246aticfl5hmment"> *5lloc.2ass>125span ef="mm/5L30_r55c#L259" i1243L300" c12ass="linnnnnnes>123meeeeeeeee12rayaof s>12npo"> 10"vas * unche_kernel_rant<_no/lush5hshuhr. T56loc.c#L305" i662L3006loc5c#Lp 55c#L294" i1154L300" c11ass="linnnnnnecountmeeeeeeeeenue="Laof s>1238 oa vas * unche_kernel_rant<_no/lush5h unchedke5"> */ vameeeeeeeee> * Map f">va oa2">tiguouss="commevirtualvas * unche_kernel_rant<_no/lush5 eatea @a 5t"> */ges chepg aon succ5 kernel vm5atea befooe> 12ass>1246aticfl5reflags sh5uld contain> 12ode=tmp" ctmes="a 1va" 1ccclas123map_d long 12ass>1246aticfl5re_kernel_5 On va,c11ass="line" nasgprot_tvmap_atmes="sresgprot_t#L30111ass="line" nasrotvmap_atmes="sresrotflagselt; a href="+code=va_end5def="mm/vm5_d a soessn> */ 11ass>1182 sa href="+code=vmap_" crss="sref">vaMapva" */ list 11ass>11a7aticref="mm/5mallo568#L305" i10771ass="line" name="Lcountvmap_atmes="srecountmap_ a a href="+code=cotalram_s>123vmap_atmes="srecotalram_s>123flagselt; a href="+code=va_end5deatea @a 5gs<__inirdatalt; ref="mm/5mallo56c#L305" i1189L300" c1L300" c12ass="line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5"/ sos="sr5f">va_enda so 11ass>117sa href="mm/5mallo57c#L267" i1171L300" c11ass="l" crss="sref">vaMapva" fent"> * Map_s * Tu=rb_nodrss="sreent"> * Map_s * Tuva" cs="line" name="Lcountvmap_atmes="srecountmap_ lt;tmelt; a href="+codeflagsflaflagsva,5" i117"L300" c11ass="lin5"e_kernel_5>lists="> 11ass>1182 __builss>_L300" _ef">s="va" c0)patmelt; a href="+code=va_e5ref">BUG_O5VMALLOC_STARTvaMapva" htmelt; a href="+code=va_e5rshuhr. T53"> 11ass>117flag>ge *ef="+code=va" cl5" unchedke5f">va_enda so 11ass>117taticef="mm/5mallo576#L305" i10771assL300" c11ass="lm "> * Map> 11ass>1182 m "> * Maplagsaddr" rche_page_r crss="sref">vaMapva" ,c11ass="line" nasrotvmap_atmes="sresrotflag,>flags123map_satmelt; a href="+code=va_end5"re_ sa hr5ef">flagsvaMapva" f="icode=tmp" crms="sref">flags 11ass>117span vmalloc.5#L23257c#L305" i12a8L300" c1L300" c12ass="line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5"eatea @a 58"> 11ass>11a8 malloc.5#L23257c#L305" i1199Ltmelt; a href="+code=va_e5>flags hrea hrref="mm/5mallo58c#L305" i117"L300" c11ass="lin5> name="L25"> 11ass>118span ref="mm/5mallo58c#L305" i1191L300" fc crss="sref">vaMapva" f="icode=tmp" crms="sref">flagg>ge *ef="+code=va" cl5map_arss="5ref">va = BUG_O5ef">vmap_atmelt; ref="mm/5mallo58c#L3012ass="line" na12ass="line" e=tmp" crms="sr12ass="line" va" c+code=ret" crm_v ode=va" clps="sv va" slistHAT YOU6"> 11ass>118 malloc.5#L23258c#L30L300" c9" i1ref="+code=vmap__="+c_ini_nmap> 11ass>1182 __"+c_ini_nmapva" clong va_enda solist,c11ass="line" nasgprot_tvmap_atmes="sresgprot_t#L30111ass="line" nasrotvmap_atmes="sresrotflag,5" i117"L300" c11ass="lin5>re_ sa hr5ef">flags 11ass>1182 nmapva" ,12">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags 11ass>118 ef="mm/5mallo58c#L30L300" c9" i1ref="+code=vmap__="+c_ini_ Map_nmap> 11ass>1182 __"+c_ini_ Map_nmapva" cL300" c11ass="line" name="L282"> 11ass>1182 sa href="+code=vmap_" crss="sref">vaMapva" ,c11ass="line" naefp_tvmap_atmes="sreefp_t#L30111ass="line" naefp_mas=vmap_arbqs="sreefp_mas=,/vche_atea *f="+code=5>eatea @a 5ref">list 11ass>1182 nmapva" ,12">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags

vmap_aa>); flagsst39" i12a7L300" c12asordTu=rb_nodrss="sreordTuva" 0 11as5>119 vmalloc.5#L23259c#L305" i1172L300" c11ass="line" nas>12ode=tmp" ctmes="a 1va" 1ccclas123map_BUG_O52"> 11ass>119span ef="mm/5mallo59c#L305" i1073long 123vmap_atmes="srefr_s>123map_="+code=ret" crm_i ray_os="sref">va_enda si ray_os="map_="+code=ret" crm_ie=tmp" crms="sriva" =va_s 123map_ c+code=ret" crm_i crss="sref">vaMapva" f="ode=ret" ctmes="sref">vmap_ - for ef="code=end" c izes="sref">flagsflaflagsva_enda si ray_os="map_ c+code=ret" crm_nr_s>123vmap_atmes="srefr_s>123map_ *e="L2ofcL300" c11ass="line" nas>12ode=tmp" ctmes="a 1va" 1c)patmelt; a href="+code=va_e5u izes="sr5f">va_enda sofl5f">flagsvaMapva" f="nr_s>123vmap_atmes="srefr_s>123map_ fnr_s>123vmap_atmes="srefr_s>123map_<2" i1178L300" c11ass="lin6_vatmes="s6ef">vmap_atmelt; ref="mm/6mallo60c#L305" i111"4" i1241L300" c12ass="00 Pleasa notf 1atct/ 12ass>1246aticfl6p_vaass="s6ef">va = va_enda si ray_os="map_ a a href="+code=flagsflags123map_ f_="+c_ini_nmap> 11ass>1182 __"+c_ini_nmapva" c+code=ret" crm_i ray_os="sref">va_enda si ray_os="map_="1d"line" name="L27nested_efpvmap_atmes="srefested_efpva" |L300" c11ass="l__che_HIGHMEM> 11ass>1182 __che_HIGHMEM,/vche_atea *f="+code=6" name="L262"> 12=ss>120span ef="mm/6mallo60c#L305" i1073300" c111111111"""""""""11ass="line" naflagsKERNEcode=va" clps="sflagsKERNEcmap_="+code=ret" crm_nmap> 11ass>1182 nmapva" ,1c11=ss="line" ns * Tu=rb_nodrss="sres * TuagsBUG6ONVMALLOC_ENDvaMapva" f="+code=rb_nodrss="sref">va | fe=vaflagS=rb_nodrss="sree=vaflagSflagBUG6OlistBUG6ONGFP_NOWAIT 123map_ fk+c_ini_nmap> 11ass>1182 k+c_ini_nmapva" c+code=ret" crm_i ray_os="sref">va_enda si ray_os="map_="line" name="L27nested_efpvmap_atmes="srefested_efpva" ="+code=ret" crm_nmap> 11ass>1182 nmapva" pBUG6OONVM_VM_AREAva_enda sovaMapva" f="s>123vmap_atmes="sres>123map_ fc>123vmap_atmes="sres>123map_flagsvaMapva" f="s * Tu=rb_nodrss="sres * Tuags< fs * Tu=rb_nodrss="sres * Tuags<vaMapva" f="s>123vmap_atmes="sres>123map_s melt; a href="+code=va_end6 of the VM6atea to che < * Map> 11ass>1182 remove"> * Mapva" c+code=ret" crm_i crss="sref">vaMapva" f="icode=tmp" crms="sref">flagsflagsaddr" rche_page_r crss="sref">vaMapva" hda soflag>ge *ef="+code=va" cl6* @p>ges: 6>ges to che < */vaMapva" f="nr_s>123vmap_atmes="srefr_s>123map_ 12ode=tmp" ctmes="a 1va" 1cclasge *ef="+code=va" cl6*8name="L26 * friendsn> |1L300" c11ass="l__che_NOWAR="sref">flagsge *ef="+code=va" cl6*9name="L26t"> */ *6Map * NOTE:lt12ode=tmp" ctmes="a 1va" 1 fc_ini_c>12ode=tmp" ctmes=c_ini_c>12lagsaddr" rche_page_tmp_mas=vmap_arbqs="sretmp_mas=ags 12ode=tmp" ctmes="a 1va" 1 fc_ini_c>12s_nmap> 11ass>1182 c_ini_c>12s_nmaplagsaddr" rche_page_nmap> 11ass>1182 nmapva" ,1c11=ss="line" ntmp_mas=vmap_arbqs="sretmp_mas=ags<,1c11=ss="line" nordTu=rb_nodrss="sreordTuva" hda soges: 6t"> */ 11ass>11a unlike"> ! 123, f">f 12m in __v ()line" name="L246"> 12ass>1246aticfl6a7name="L26"> */ vaMapva" f="nr_s>123vmap_atmes="srefr_s>123map_ fie=tmp" crms="sriva" */flagsflags

geslt; ref="mm/6mallo62c#L305" i1199L300" c15" i125"L300" c12ass="line6 name="L226"> 12ass>1229pan ref="mm/6mallo63c#L305" i111"""""""""ndrt" class="src crss="sref">vaMapva" f="s>123vmap_atmes="sres>123map_[12ode=tmp" ctmes="a 1va" g>ge *ef="+code=va" cl6gess="sref6>flags

geslt; )ref="mm/6mallo63c#L305" i11915" i125"L300" c12ass="line6 of the VM6"> 12ass>123span vmalloc.6#L23263c#L305" i1252L300" c12terlt 12ass>123span ef="mm/6mallo63c#L305" i10731ass fm "> * Map> 11ass>1182 m "> * Maplagsaddr" rche_page_r crss="sref">vaMapva" ,c11ass="line" nasrotvmap_atmes="sresrotflag,>flags123map_sa5" i1252L300" c12terltges: 6"> */ vaMapva" f="icode=tmp" crms="sref">flagg>ge *ef="+code=va" cl6"s, -errno6ea to unche> */ */ ,c11ass="line" naordTu=rb_nodrss="sreordTuva" ,/vche_atea *f="+code=6-ss="comme6oall b@size " *f="+: a cltatifailure, a clade%ldaof %ldabytes\n"e" name=elt; a href="+code=va_end6eget_re at6a()all bits> vaMapva" f="nr_s>123vmap_atmes="srefr_s>123map_cclasflagsvaMapva" f="ode=ret" ctmes="sref">vmap_s flagsaddr" rche_page_r crss="sref">vaMapva" f="icode=tmp" crms="sref">flags * Set *> flag>ge *ef="+code=va" cl6omment"> *6Set * NOTE:lt 1 -99a claavirtually 2">tiguoussmemoryoc.c#L305" i1+co6e1vmalloc.c#L306_s="commen6"> */ vmeeeeeeeee a cltatif">vma.c#L305" i1+co6e1vmalloc.c#L306_nt"> */flags 12ass>12a ref="mm/6mallo64c#L259" i11a9L300" c11ass="linnnnnn@/a> =meeeeeeeee> 3 236a0"> 1 /a> = <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">flags 1 a.c#L305" i1+co6e1vmalloc.c#L306 ess="sref6"> 12ass>125s vmalloc.6#L23265c#L204" i1241L300" c12ass="linnnnnn@efp_mas=meeeeeef">vaif300 12as>12nlevel a clora>.c#L305" i1+co6e1vmalloc.c#L306 ss="comme6ant<_no/lusha hr)ref="mm/6mallo65c#L259" i1242L300" c12ass="linnnnnneprotmeeeeeeeee srote24tatimas=if300 12aa clades>123ma.c#L305" i1+co6e1vmalloc.c#L306 mment"> *6lloc.2ass>125span ef="mm/6L30_r65c#L259" i1243L300" c12ass="linnnnnnenmapmeeeeeeeee nmap8 oauseif300a cltati300-1ma.c#L305" i1+co6e1vmalloc.c#L306 shuhr. T66loc.c#L305" i662L3006loc6c#Lp 65c#L294" i1154L300" c11ass="linnnnnnec * Tumeeeeeeeec * Tu's5L300" af">s="vas * unche_kernel_rant<_no/lush6h unchedke6"> */ vefrom 12as>123levelvas * unche_kernel_rant<_no/lush6hs="commen6to registerltva. Map 12m in oa2">tiguousvas * unche_kernel_rant<_no/lush6hnt"> */cas>12tabl2nprote24tatiof eprothe number of p>ges chepg aon succ6 eatea @a 6t"> */ 12ass>1246aticfl6 kernel vm6atea befooe> 11ass>11as _="+c_ini_nmap20"> 1lagsalong va_enda so/a> = =,c11ass="line" naefp_tvmap_atmes="sreefp_t#L30111ass="line" naefp_mas=vmap_arbqs="sreefp_mas=,/vche_atea *f="+code=6re_kernel_6 On 11ass>1182 nmapva" ,12">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags

*/ 11ass>1182 sa href="+code=vmap_" crss="sref">vaMapva" flag */ va_enda sMapl_os="map_ fos="sref">va_enda solist 11ass>11a7aticref="mm/6mallo66c#L305" i12a8L300" c11ass="lode=ret" ctmes="sref">vmap_ fflagsALIG="sref">flagsvmap_svmap_ || c+code=ret" crm_ode=ret" ctmes="sref">vmap_ a a href="+code=flagsflaflags123flagselt; a href="+code=va_end6"/ sos="sr6f">va_enda so 11ass>117sa href="mm/6mallo67c#L26/vche_atea *f="+code=6"e_kernel_6>listvaMapva" f_=ent"> * Map_nmap> 11ass>1182 __ent"> * Map_nmaplagsaddr" rche_page_ode=ret" ctmes="sref">vmap_="+code=ret" crm_ilg flae=vUNLIS ,/vche_atea *f="+code=6ref">BUG_O6VMALLOC_START/a> = =,c11ass="line" nanmap> 11ass>1182 nmapva" ,1c11=ss="line" nefp_mas=vmap_arbqs="sreefp_mas=,c11ass="line" nas * Tu=rb_nodrss="sres * Tuags 11ass>117vaMapva" htmelt; a href="+code=va_e6" unchedke6f">va_enda so 11ass>117taticef="mm/6mallo67c#L30" i125"L300" c12ass="line6"re_ sa hr6ef">flagsflag f_="+c_ini_ Map_nmap> 11ass>1182 __"+c_ini_ Map_nmapva" cddr" rche_page_r crss="sref">vaMapva" ,c11ass="line" naefp_mas=vmap_arbqs="sreefp_mas=,c11ass="line" nasrotvmap_atmes="sresrotflag,111ass="line" nanmap> 11ass>1182 nmapva" ,1c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags 11ass>117span vmalloc.6#L232678#L305" i10771ass! flagselt; a href="+code=va_end6"eatea @a 68"> 11ass>11a8 malloc.6#L23267c#L305" i1189L300" c1L300" c12ass="line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl6>flags hrea hrref="mm/6mallo68c#L305" i117"L300" c11ass="lin6> name="L26"> 11ass>118span ref="mm/6mallo68c#L305" i11919" i1155L300" c11ass="00e" name="L246"> 12ass>1246aticfl6map_arss="6ref">va = .c#L305" i1+co6e1vmalloc.c#L306>ef">BUG_O6ef">vmap_atmelt; ref="mm/6mallo68c#L259" i1243L300" c12ass="lllllllll* tic93list3at __ent"> * Map_nmap(). so,19 i2asef"e/ herche number of p>ges chepg aon succ6>ss="comme6sref">list 12ass>1246aticfl6>HAT YOU@"> 11ass>118 malloc.6#L23268id=312" i12=5L300" c12=ss="linsert_"+c_ini_93liste=tmp" crms="srinsert_"+c_ini_93listva" cddr" rche_page_r crss="sref">vaMapva" plistflags 12ass>1246aticfl6m izes="sr67"> 11ass>118 ef="mm/6mallo68c#L259" i11a8L300" c11ass="lllllllll* A1L3f_count = l=rb_nodrss="srefai/6f">flagsflags 12ass>1246aticfl6m izes="sr67"> 11ass>118 ef="mm/6mallo68c#L259" i11a8L300" c11ass="llllllap> 11ass">v5305" i1197e2ass>1246aticfl6m izes="sr67"> 11ass>118 ef="mm/6mallo68c#L259" i11a8L300" c11ass="e5">vmap_aa>); n6m izc_ini_93listva" cddr54L300" cass>1ain ef="mm/6mallo68c#L259" i11a8L30" ctmes="a61va" 1ccclasvaMapva" pBUG_O52"> 11ass>169span695span ef="mm/6L30_r65c#L259" c12ass="line6>re_ sa hr6ef">flagsva_enda si 6ay_os69flae=vUNLIS ,/vche_atea >flag="1sgsflag="1sgsflags< fflagsALIG="sref">flagsflagselt; a href="+code=va_end6"eatea @a 68"nt = l=rb_nodrss="srefai/6f"ss="lefp_t6map_atmes="sreefp_t#L30116ass="69errno5ea to unche> */ ef="+code=va_e6s izes="sr6"> 11ass>11a7aticref="mm/6ms="sref">f6agsflaf6agsfl5f">6lags<6ize ref="mm/5mallo599#L305a clade%ldaof %ldabytes\n"e" name=elt; a href="+code=va_end6eget_re at6a()all bits> vmap_atmelt; ref="mm66mall69 f="s>123vmap_atmesclasflagsvuMapva" f="ode=ret" ctmes="sass="00 Pl6asa notf 1atct/123map_ccla fflagsALIG="sref">flagsflags711ass70ann> */ 7 i1144L3007 c1L300" c11ass="li crss=7sref"70=ss="linsert_"+c_ini_93list cltatif">vma.c#L305" i1+co6e1vmall7 a href="+7ode=va_end6p6ref">BUG6ONG7P_NOW70ugh s>1238 oacovern@f">vefrom 12as href="+code=seeeedesiradeelg <1assma.c#L305" i1+co6e1vmalloc.c#L306_ss="comme6"> 12ass7os="map_="7ine" name="L27nested_efpv7ap_at7059" i1217L300" c12ass="livas * unche36a0"> 1 /a> = <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl7s>1182 n7apva" ptiguoussmemory3 236a/a> =45">cticfl3 236a0"> 1 a.c#L305" i1+co6e1vmalloc.c#L306 ess="sref6"> 17name="L2677>flags =meeeeeeeee> 3 200" c12ass="linnnnnnenmapmeeeeeeeee nmap8 oauseif300a cltati300-1ma.c#L305" i17vaMapv7" f="s *7Tu=rb700" c12ass="linnnnnn@endmeeeeeeeee e>" c11ass="linnnnnnec * Tumeeeeeeeec * Tu's5L300" af">s="vas * unche_kernel_rant<_7s="sref">v7Mapva" 7 f="700" c12ass="linnnnnn@efp_mas=meeeeeefvas * unche_kernel_rant<_no/lush6hkernel_ra6duruhrebootltvaf71s>1246aticfl5ass="comme5t"> */ges: 6>ges to che 7cas>12tabl2nprote24tatiof eprot7a 6oall b@7ize 12ass>1246aticfl6 kernel vm6atea befooe> vaMapv7" 71ugh s>1238 oacovern@f">vefrom 12as+c_ini_nmap20"> 1lagsalong va_enda so123map_7sflags ,c11ass="line" nasgprot_tvmap_atmes="sresgprot_t#L30111ass="line" nasrotvmap_atmes="sresrotflag,5" i117"L300" c11ass="lin5>re_ sa hr5ef7natmp_mas=7map_arbqs="sretmp_mas=ags7 7 fefp_mas=vms>123map_ccla fflagsALs>1182 nmapva" ,12">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags 11ass>118 ef="mm/5mallo58c#L30L300" c9" i1ref="+code=vmap__="+c_ini_ Map_nmap7"L26t"> */7/s *ltvaMapva" 12ode=tm7" ctmes="a 1va" 1 7 7 fc_in"sref">flag12lagsa7dr" rche_page_tmp_mas=vma7_arbq72href="+code=v8c#L259" i1242L300" c1tmp" crss="sref">/a> = /a> = =,c11ass="line" nanmap> 11=ss=_STAReefp_mas=,c11a1=ss=_STARec11ass="line" nanmap> 11=ss=_ENDefp_mas=,c11a1=ss=_END+code=vmap__="+c_ini_ Map_nmap7L300" c1ss7"/vche_atea *f="+code76cc#L7hretu6s funcruonn> 11ass>11a8 malloc.6#L23267c#L305" i1189L300" c1L300" c12ass="line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl6>flags hrea hrref="mm7182 nmap7a" ,1c11=ss="line" ntmp_m7s=vma72118 malloc.5#L23258c#L30L307rss="sreor7Tuva" hda so,c11ass="line" nasgprot_tvmap_atmes="sresgprot_t#L3a fflagsALs>1182 nmapva" ,12">st3L300" c11=ss="line" ns * Tu=rb_nodrss="sres * Tuags 11ass>118 ef="mm/5mallo58c#L30L300" c9" i1ref="+codINGn> f 12m in __v 7)line7 name="sref">flag123map_ 8c#L259" i1242L300" c1tmp" crss="srene" naefp_mas=vmap_arbqs="sreefp_m="line" nasgprot_tvmap_atmes="sresgprot_t#L3ss>1182 nmapva" s>11ref="+code=va_end6"eatea @a 68"> 11ass>11a8 malloc.6#L23267c#L305" i1189L3-1e=vmap__="+c_ini_ Map_nmap7Latmp_mas=7 name="L27+ail=rb_nodrss=7srefa7lva" flag>ge *ef="+code=va" cl5" unchedke5f">va_enda sovaMapva7 72ss>125s vmalloc.5#L23255c#L27ode=tmp" c7mes="a 1va" g>ge *ef=7+code72vmalloc.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12a#L30111as = va_enda soef">BUG_O6ef">vmap_at7Mapva"7,c11ass="line" nasrotvmap7atmes7"sresr fefp_me="L246"> 12ass>ne" na67"> 11ass>118 ne" a" BUG_O6ef">vmap_at7<82 nmap7res>123map_sa5" i1252L3007 c12t73s>117a fflagsALs>1182 nmapva" ,12">st3L300" c11=ss="line" map_ fk+c_iniINGn> flag <7 href73 *f="+cods="line6-nt"> */tmp" crss="srene" naefp_mas=vmap_arbqs="sreefp_m="line" nasgprot_tvmap_atmes="sresgprot_t#L3ss>1182 nmapva" ="L282"> 11ass>1182 sa href="+codef">va | fe=vaflagS=rb_nsref">flag7+ail=rb_nodrss="srefailva7 :" i7311ass>1182 __"+c_inea *f="+code3map_ccla fflagsALef="+code=vmap_" crss="sref">a fflagsALline" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5" unchedke5f">va_enda sovma.c#L305" i1+co6e1vmall7ef">va7apva" f=7nr_s>730" c12ass="linnnnnn@efp_mas=meeeeee1+co6e1eeeedesiradeelg <1assma.c#L305" i1+co6e1vmalloc.c#L306_ss="comme6"> 12ass7ref">vmap_7 1 /a> = <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl7" clps="sr7f">flag>ge *ef="+code7va" c745span ef="mm/6L30_r65c#L259" i1243L" i11a8L300" c11ass="li ="commevirtualn" icc,aus45">cas>12tabl2nprote24tatiof eprot7 12ass>1246atis+c_ini_nmap20"> 1lag">va_enda sova_enda so1238 oacovern@f">vefrom 12asFeec de=vass>1rol ="eeeeee nmap8 oauseifa 11ae=start"/ s a_enda so7llo64c#L259" i1217L300" c72ass=7linnnnnn@f">vmeeeeeeeee a om 12as<_nomap_arbqs()"> stead">va_enda so */flagsre_ sa hr6ef">flagsflag125s 7 vmalloc.6#L23265c#L204" 71241L749 *f="+cods="line6-nt"> */tmp" crss="srefmap_ tmp" crss="srefmap_ efp_m="line" nasgprot_tvmap_atmes="sresgprot_t#L3-ss>1182 nmapva" 305" | 305" | *of the VM6e cc#Ler is> *f="+code=6"sref">BUG6ONVMALLOC_ENDke5f">va_enda so *6lloc72ass>725span c.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12ae=r11as = va_enda soges: 6"> */ 7o/lush6h u7chedke6"> */ vma.c#L305" i1+co6e1vmall7259" i11a67300" c11ass="linnnnnnA 7claae7ough s>1238 oacovern@f">vefrom 12asvzco6e1e-desiradeelg <1assma.c#L305" i1+co6e1va9L300zero fil">cas>12tabl2nprote24tatiof eprot7m/6mallo657#L259" i1217L300" c12ass=7lieee7e a cl300withn@efp_mas=ef">nnnnnep36a0"> <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl7* unche_ke7nel_rant<_no/lush6hnt"> *7cas>12tabl2nprote24tatiof eprot7e number o7 p>ges chepg aon succ6 ea7ea @a76t"> */ 12ass>1246atis+c_ini_nmap20"> 1lag">va_enda so 11ass>11as _="Tn" co6e1vacode=6ant">s setli zero">va_enda so125s 7t"/ salg stead">va_enda so re_ sa hr6ef">flags */ <7 href7"mm/6m"sref">flaglist7/c#ig7lt; hef="mm/6ms="line6-nt"> */tmp" crss="srefmap_ tmp" crss="srefmap_ efp_m="line" nasgprot_tvmap_atmes="sresgprot_t#L3-sssref">flag | 305" | *of the VM6e cc#Ler is> *f="+code=6"sref">BUG6ONVMALLOC_ENDva" f="ode=ret" ctmes="sref">vmap_ - ke5f">va_enda sovmap_ || c+code=re7" crm7ode=re c.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12aezr11as = va_enda sova_enda so * Map7nmap>77#L259" i1242L300" c12ass="l cltatif">vma.c#L305" i1+co6e1vmall7lg , 7 775span ef="mm/6L30_r65c#L259" ip" crss=<_nre-desiradeelzerol*ne <1assma.c#L305" i1+co6e1va/lus<_nr 1lagtatif">vma.c#L305" i1+co6e1vmall7lvm6_d a s70" c11ass="le=vUNLIS agss7"sref77662L3006loc6c#Lp 65c#L294" i11p36a0"><.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl7uagsva_enda so1238 oacovern@f">vefrom T#L232su*ef=g co6e1vac24ta>s zerol*nsoe_pac38 beame=pl*nant<_nr 1lagtatif">vma.c#L305" i1+co6e1vmall7lea *f7 f_="+c_ini_ Ma7_nmap77 a cl300withn@efp_mas=ef">n9L30out g="1f=g data">va_enda so7c11as776mallo64c#L259" i11a8L300" c1line6>re_ sa hr6ef">flags 11ass>1172 n7711ass="+code=start"/ s+code=r11as=<_nr = flag 12ass71246aticfl6map_arss="6ref7>va = va_enda sMapl_os="map_ fos="sref">va_enda so.c#L305" i1+co671vmal78href="+code=v="+code=start"/ s+cods=" fs="sref">va_enda so,/vche_atea s=" fs="srefo60c#L305" i1073300" c111111111"""""""""11ass="line" naflagsKERNEcode=va" clps="st_tvmap_atmes="sresgprot_t#L3a fflagsALSHMLBAmap_atmes="sresSHMLBA=rb_nsref">flag 11ass>117 | 305" | *of the VM6e cc#Ler is> *f="+code=6"sref">BUG6ONVMALLOC_ENDva" f="ode=ret" ctmes="sref">vmap_ - nsref">flag name="L26ef">listva | fe=vaflagS=rb_no-ss>1182 nmapva" line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5" unchedke5f">va_enda sovaMapva" 7>flagsBUG6OONVM_VM_AREABUG_O6VMALLOC_STARTva_enda soflagsBUG_O6Vvmap_atmes="sres>123map_ fk+c_ini_nmap> 11ass>1182 k+USERMAP k+USERMAPsref">va_enda so 11ass>118 ef="mm/67allo678 i1089L300" c5s vmalloc.5#L23255c#L270" c11ass=7e5">vmap_aa>); */s=" fs="sref">va_enda soBUG_O52"> 11ass>179span795span c.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12ae=r11as=<_nr = va_enda sova_enda si 7ay_os79ltges: 6"> */ 7ss="lefp_t7map_atmes="sreefp_t#L30117ass="79mallo65c#L259" i1155L300" c cltatif">vma.c#L305" i1+co6e1vmall7ZERO> 11as7>1182 __che_ZEROva" 1238 oacovern@f">vefrom 12asvef="+code=seeeedesiradeelco6e1va" ia specific agsKERtif">vma.c#L305" i1+co6e1vmall7Zf="mm/6ma7ags 1 /a> = <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl7agstiguoussmemory3 236a/a> =45">cticfvas * unche_kernuma agsKERtif">vma.c#L305" i1+co6e1vmall7Zflag,111a711ass="lin5u"sref">fl5f">7lags<79t"> */vma.c#L305" i1+co6e1vmall7Zmallo68c#76ef">vmap_atmelt; ref="mm76mall79+c_ini_nmap20"> 11ass>11as _="" i11a8L300" c11ass="li ="commevirtualn" icc,aus45">cas>12tabl2nprote24tatiof eprot7ass="00 Pl7asa notf 1atct/ 12ass>1246atis+c_ini_nmap20"> 1lag">va_enda soflagsBUG_O52"> 11ass>1811ass805span ef="mm/6L30_r65c#L259" i1243LFeec de=vass>1rol ="eeeeee nmap8 oauseifa 11ae=start"/ s a_enda so811ass>1182 __che_HIGHME8,80662L3006loc6c#Lp 65c#L294" i1154L30<_nomap_arbqs()"> stead">va_enda sore_ sa hr6ef">flagsBUG6ONG8P_NOW800" c1tvmap_atmes="sreefp_t c111111111"""""""""11ass="p_arbqs="sreefp_mas=,c11ass="line" nasgprot_tvmap_atmes="sresgprot_t#L32 sa href="+code=vmap_" crss="srefINGn> flag1182 n8apva" p | 305" | *of the VM6e cc#Ler is> *f="+code=6"sref">BUG6ONVMALLOC_END sa href="+codef">va | fe=vaflagS=rb_nsref">flaga fflagsALline" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5" unchedke5f">va_enda sov8Mapva" 8 f="80vmalloc.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12a c111111111"""""""""11ass="p_arbqs="sreefp_ke5f">va_enda sovaef">BUG_O6ef">vmap_at8c1clasf81s>1246aticfl5ass="comme5t"> cltatif">vma.c#L305" i1+co6e1vmall8+code=va" 8l6* @p>ges: 6>ges to che 8cas>12tabl2nprote24tatiof eprot8a 6oall b@8ize 1 /a><.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl8 href="+co8ei crss="sref">vaMapv8" 81ugh s>1238 oacovern@f">vefrom fvas * unche_numa agsKERtif">vma.c#L305" i1+co6e1vmall8_s>123map_8svma.c#L305" i1+co6e1vmall8_>1182 n8"L26a()all bits> tiguoussmemory3 236a/a> =45"" i11a8L300" c11ass="li ="commevirtualn" icc,aus45">cas>12tabl2nprote24tatiof eprot8natmp_mas=8map_arbqs="sretmp_mas=ags8 81t"> */ 12ass>1246atis+c_ini_nmap20"> 1lag">va_enda so */8/s *lt 11ass>11as Tn" co6e1vacode=6ant">s setli zero">va_enda so12ode=tm8" ctmes="a 1va" 1 8 81>,5" i117"L300" c11ass="lin6r>va_enda so12lagsa8dr" rche_page_tmp_mas=vma8_arbq82#L259" i1242L300" c12ass="linnFeec de=vass>1rol ="eeeeee nmap8 oauseifa 11ae=start"/ s a_enda so stead">va_enda sore_ sa hr6ef">flags,c11ass="line" nasgprot_tvmap_atmes="sresgprot_t#L32 sa href="+code=vmap_" crss="srefINGn> flag823, f">f 12m in __v 8)line82t; hef="mm/6ms="line6-nt"> */tmp" crss="srefmap_ tmp" crss="srefmap_ efp_m="line" nasgprot_tvmap_atmes="sresgprot_t#L3AREAflag1182 n8 f="nr_s>123vmap_atmes="8refr_8>123map_ fie=tca fflagsAL305" | 305" | *of the VM6e cc#Ler is> *f="+code=6"sref">BUG6ONVMALLOC_ENDva" f="ode=ret" ctmes="sref">vmap_ - ke5f">va_enda sovaMapva8 82de=re c.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12aezr11as1111"""""""""11ass="pzarbqs="sreefp_ke5f">va_enda soge *ef=8+code82fc_ini_c>12ode=tmp" ctmes=c_in863c#L305" 811915" i125"L300" c12ass=8line683c.c#L#ifndef sa href="+codef">va |_EXE1182 nmapva" ,f">va |_EXE1c_ini_c>12ode=tmp" ctmes=c_in86300" c1ss8,c11ass="line" nasrotvmap8atmes8"sresr# defe" sa href="+codef">va |_EXE1182 nmapva" ,f">va |_EXE1c_in sa href="+codef">va | fe=vaflagS=rb_i_c>12ode=tmp" ctmes=c_in8682 nmap8res>123map_sa5" i1252L3008 c12t83s>117#endifi_c>12ode=tmp" ctmes=c_in86ss="sreor86mallo63c#L301" i1144L3008 c1go83errno5ea to unche> <8 href83ugh s>1238 oacovern@f">vefr cltatif">vma.c#L305" i1+co6e1vmall8ocladei s>8+ail=rb_nodrss="srefailva8 :" i8359" i1217L300" c12ass="livas * unchp" crss=exe1eeeedesiradeelg <1assma.c#L305" i1, exe1u="+codco6e1vmalloc.c#L306_ss="comme6"> 12ass8failf=lags8ddr" rche_page_efp_mas=vm8p_arb83">tiguoussmemory3 236a/a> =45">cticf36a0"> 1 /a> = <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl8 naordTu=r8_nodrss="sreordTuva" ,/vc8e_ate83t"> */vma.c#L305" i1+co6e1vmall800" c111118111""9" i1155L300" ing"8"830" c12ass="linnnnnn@endmeee45">cticKc_ini-2 c_i0">4L300" cai esiradeel00" c11ass="li ="commeERtif">vma.c#L305" i1+co6e1vmall80>12ode=tm8apva" f=8nr_s>830" c12ass="linnnnnn@efp_mas=meeeeeemeeeeeeeee nmap8 oauseifa 11ame="L246"> 12ass>1246atisaf300 12aa clades>123ma.c#L305" 8ref">vmap_8 1lag">va_enda soflag>ge *ef="+code8va" c845span ef="mm/6L30_r65c#L259" >va_enda so1rol ="eeeeee nmap8 oauseifa 11ae=start"/ s a_enda so stead">va_enda so1238 oacovern@f">vefromline6>re_ sa hr6ef">flags8llo64c#L259" i1217L300" c82ass=84ode=flagsflaf8"ailf=lags8"> */flagsflag | 305" | *of the VM6e cc#Ler is> *f="+code=6"sref">BUG6ONVMALLOC_END sa href="+codef">va |_EXE1182 nmapva" ,f">va |_EXE1c_in"sref">flag125s 8 vmalloc.6#L23265c#L204" 81241L843vmap_atmes="srefr_s>123map_cclllll-ss>1182 nmapva" line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5" unchedke5f">va_enda so *6lloc82ass>85fe=vALLOCe=tmp" crms="sre=vALL8sa href="m8c.c#L306 shuhr. T66loc.c8L305"85lt1182 nmapva" defe" daof %ldabytdefe" defp_m="line" nasgproCONFIG_64BIeefp_mas=,c1CONFIG_64BIesrefcr&&>1182 nmapva" defe" daof %ldabytdefe" defp_m="line" nasgproCONFIG_ZONE_DMAres>123map_/a>,c1CONFIG_ZONE_DMAret_t#INGn> */ 123map_/a>,c1G6ONDMAre *of the VM6e cc#Le305" | 305" | NGn> ,c1CONFIG_64BIesrefcr&&>1182 nmapva" defe" daof %ldabytdefe" defp_m="line" nasgproCONFIG_ZONE_DMAs>123map_/a>,c1CONFIG_ZONE_DMAt_t#INGn> 123map_/a>,c1G6ONDMA *of the VM6e cc#Le305" | 305" | NGn> *8L306 8lign *elis6NGn> *#defe" sa href="+codeG6ON1a1=ss=res>123map_/a>,c1G6ON1a1=ss=rec_in sa href="+codeG6ON | 305" | NGn> 12ode=tmp" ctmes=c_in8ess>125s 8t"/ salg vma.c#L305" i1+co6e1vmall8e=6re_kern8l_6 On vma.c#L305" i1+co6e1vmall8ea href="m8essn> cticf36a0"> 1 /a> = <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl8#L301" i1185L300" c11=ss="line" n+co8e=tmp86mallo65c#L259" i1155L300" c11>va_enda so */ <8 href86ugh s>1238 oacovern@f">vefrom 12as" i11a8L300" c1132bitoPAo/lush6h"+co1ass="li ="commevirtualn">va_enda so8"+code=6rs="commen6">list8/c#ig8659" i1217L300" c12ass="livas * uncheeeeee nmap8 oauseifa 11ame="L246"> 12ass>1246atis+c_ini_nmap20"> 1lag">va_enda sore_ sa hr6ef">flags123map_/a>,c1e=r11as=reefp_mas=,c11ass="line" nasgprot_tvmap_atmes="sresgprot_t#INGn> vmap_ || c+code=re8" crm860" c1"sref">flag125s 8sr6f">va_enda so */tmp" crss="srene" naefp_mas=vmap_arbqs="sreefp_m="line" nasgprot_tvmap_atmes="sresgprot_t#L3ss>1182 nmapva" 305"1a1=ss=res>123map_/a>,c1G6ON1a1=ss=rec_in sa href="+codef">va | fe=vaflagS=rb_nsref">flag * Map8nmap>811ass>1182 __ent"> *123map_cclllll-ss>1182 nmapva" line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5" unchedke5f">va_enda so123map_/a>,c1e=r11as=reefp_ke5f">va_enda so1238 oacovern@f">vefr cltatif">vma.c#L305" i1+co6e1vmall8lea *f8 f_="+c_ini_ Ma8_nmap87 a cl300withn@efp_mas=ef">ne=r11as=re=<_nre-desiradeelzerol*ne <1assma.c#L305" i1+32bitoco6e1vmalloc.c#L306_ss="comme6"> 12ass8aefp_mas=v8ap_arbqs="sreefp_mas=8c11as876mallo64c#L259" i11a8L300" c1">cticf36a0"> 1 /a> = <.c#L305" i1+co6e1vmalloc.c#L306 izes="sre6">fl8tflag,111a8s="line" nanmap> 11ass>1182 n87t"> */vma.c#L305" i1+co6e1vmall86mallo68c#8305" i117"L300" c11ass="l8n6> n87+c_ini_nmap20"> 11ass>11as Tn" 32su*ef=g co6e1vac24ta>s 32bito/lush6h"+coa 11azerol*nsoe_pac38 beERtif">vma.c#L305" i1+co6e1vmall86ss>125s 81246aticfl6map_arss="6ref8>vava_enda so.c#L305" i1+co681vmal88#L259" i1242L300" c12ass="linline6>re_ sa hr6ef">flagsges chepg aon succ6>s8="com88flae="sref">flag 11ass>117L305" i1176long va_enda sMapl_os="map_ fos="sref">va_enda so name="L26ef">listva_enda soflaf8>flagsBUG6Oe=start"/ s+cods=" fs="srefo60c#L305" i1073300" c111111111"""""""""11ass="line" naflagsKERNEcode=va" clps="st_tvmap_atmes="sresgprot_t#L3ss>1182 nmapva" 305"1a1=ss=res>123map_/a>,c1G6ON1a1=ss=rec_inva" f="ode=ret" ctmes="sref">vmap_ - n sa href="+codef">va | fe=vaflagS=rb_nsref">flagflags1182 nmapva" line" na="+code=va" clps="sref">flag>ge *ef="+code=va" cl5" unchedke5f">va_enda so 11ass>118 ef="mm/68allo688 i1089L300" cL27+ail=rb_nodrss="s=" fs="srefcrss="sref">vaMapva" 80" c11ass=8e5">vmap_aa>); a sMapl_os="map_ fos="srefMALLOC_STARTva_enda so *a sMapl_os="map_ fos="srefvmap_atmes="sres>123map_ fk+c_ini_nmap> 11ass>1182 k+USERMAP k+USERMAPsref">va_enda soBUG_O52"> 11ass>189span89retu6s funcruva_enda si 8ay_os89flae=vUNLIS */s=" fs="sref">va_enda so1182 __che_ZEROva" c.c#L305he_kernel_5ant<_no/lusha hr)ref="mm/5mallo55c#L259" i1242L300" c12a c111111re=<_nr = va_enda soflaf8agstiguoussmemory3 236a/a> =/lERtif">vma.c#L305" i1+co6e1vmall8Zflag,111a811ass="lin5u"sref">fl5f">8lags<89t"> */vapa.c#L3mm/"li bufvirtuaa" c">va_enda sovmap_atmelt; ref="mm86mall89+c_ini_nmap20"> 11ass>11as Ifemeeeeeeee>s not pcl511a, fil" zero">va_enda soflagsflagsef">BUG_O6ef">vmap_at9g1BUG_O52"> 11ass>1911ass90sresr fefp_2 sa hra> =,ed_as="daof %ldabyta> =,ed_as="d259" charode=start"/ s+codbufaof %ldabytbuf n charode=start"/ s+cod ef="+code=va_e6s izes="sr6L30111ass="line" nasrotvmap_atmcoun" fcoun"t_t#INGn> flag 11ass>117L305" i1176long va_enda soBUG6ONG9P_NOW90mm/6mallo63c#2 sa hrvapi daof %ldabytvapi dsrefMAL0">va_enda soflaf9s>1182 n9apva" pvaMapva" 9name="L2679>flagsva_enda sovmap_atmelt; ref="mm9Tu=rb90ss>12>va_enda so,c11as)e=start"/ s+cod ef="+code=va_e6s izes="sr6r& ~ sa href="+codef">vaMASK fe=vMASKsref">va_enda sova1182 __ent"> *a sMapl_os="maplength flengthsrefMALLOC_STARTa sMapl_os="mapoffs=" foffs=" ">va_enda sof91retu6s funcruonn> ges: 6>ges to che 9117va_enda so 11ass>117va_enda sovaMapv9" 91mm/6mallo63c#L30" i12uoussmemory3 236a/a> =/lERtif">vma.c#L305" i1+co6e1vmall9_s>123map_9ss _me=pl*_ac24t, we nee300 12aa clades>123ma.c#L305" 9_>1182 n9"L26a()all bits> tiguoussmemory3 236a/a> =4ssssssssssssssss* c#Lk. Buto/luf=g c#Lk herodcoan"lihat we nee3ai ed300 12aa clades>123ma.c#L305" 9_ame="L2679map_arbqs="sretmp_mas=ags9 91t"> */flsa/lusth>s _debug_00 12aa clades>123ma.c#L305" 9_8me="L2679/s *lt 11ass>11as ssssssssssssssss* 2 c_flagsarc24lyt<_nd. I steadsos=ihat, we'l" <_n00 12aa clades>123ma.c#L305" 9_9me="L2679" ctmes="a 1va" 1 9 91>,5" i117"L300" c11ass="lin6ssssssssssssssss* kme=dr5 11aget s+co6 =h="dsinsth>s acces"l4L300" c">va_enda so12lagsa9dr" rche_page_tmp_mas=vma9_arbq92#L259" i1242L300" c12ass="lissssssssssssssss*line6>re_ sa hr6ef">flagsvaMapva" 9182 nmap9a" ,1c11=ss="line" ntmp_m9s=vma92s>117vma.c#L305" i1+co6e1vmall9rss="sreor9Tuva" hda sos not <_nd (see as="d/vwrite' a_enda so1238 oacovern@f">vefro111111111111111111111111* 4L300" cadescrip0" c)tatif">vma.c#L305" i1+co6e1vmall9 cladei s>923, f">f 12m in __v 9)line9259" i1217L300" c12ass="livasssssssssssssssssssssssss*line6>re_ sa hr6ef">flags1182 n9 f="nr_s>123vmap_atmes="9refr_9>123map_ fie=t="+code=start"/ s+codme= fme=srefMALLOC_STARTva_enda sova_enda sovaMapva9 928a" va_enda soge *ef=9+code923vmap_atmes="srefr_s>} lis6NGn> 1182 __ent"> *123map_ce=start"/ s+codmems=" fmems="259" i1242L300" c12abufaof %ldabytbuf n 0n sa href="+codelength flengthsrefIe5f">va_enda so117va_enda so 11ass>117va_enda so <9 href93mm/6mallo63c#L30" i12u sa hrvapi daof %ldabytvapi dsrefM+ALLOC_STARTva_enda so9+ail=rb_nodrss="srefailva9 :" i9311ass>1182 __"+c_inLOC_STARTva_enda so1182 n9ddr" rche_page_efp_mas=vm9p_arb93123map_ */vapi daof %ldabytvapi dsref">va_enda so125s vmalloc.5#L23255c#L290>12ode=tm9apva" f=9nr_s>93fc_ini_c>12ode=tmp" ctmes=c_in9ref">vmap_9 flag>ge *ef="+code9va" c945spanss="sref">vaMapva" 9"82 nmap9/6mallo64c#L259" i1155L309" c1194s>117va_enda so 11ass>1172 sa hrvapi daof %ldabytvapi dsrefMAL0">va_enda sova_enda so9llo64c#L259" i1217L300" c92ass=9411ass>1182 while7+ail=rb_nodrss="coun" fcoun"t_t#Irss="sref">vaMapva" 9"ailf=lags9"> */flagsva_enda sovaMASK fe=vMASKsref">va_enda so125s 9 vmalloc.6#L23265c#L204" 91241L943vmap_atmes="srefr_s>a sMapl_os="maplength flengthsrefMALLOC_STARTa sMapl_os="mapoffs=" foffs=" ">va_enda so1182 __ent"> *L27+ail=rb_nodrss="length flengthsrefMmap_" nasrotvmap_atmcoun" fcoun"t_t#INGn> *6lloc92ass>95retu6s funcruonn> a sMapl_os="maplength flengthsrefMALLOC_STARTva_enda so117va_enda so */ 11ass>117 =/lERtif">vma.c#L305" i1+co6e1vmall9ode=va" cl9300" c11ass="linnnnnnA 9claae9ough s>1238 oacovern@f">vefrooooooooooooooooo* To do safe acces"li th>s _me=pl*_ac24t, we nee300 12aa clades>123ma.c#L305" 9ocladei s>9#L259" i1217L300" c12ass=9lieee9e a cl300withn@efp_mas=ef"oooooooooooooooo* c#Lk. Buto/luf=g c#Lk herodcoan"lihat we nee3ai ed300 12aa clades>123ma.c#L305" 9oailf=lags9nel_rant<_no/lush6hnt"> *9L306 9lign */flsa/lusth>s _debug_00 12aa clades>123ma.c#L305" 9o2a re9 p>ges chepg aon succ6 ea9ea @a96t"> */123ma.c#L305" 9os 11ass>11as oooooooooooooooo* kme=dr5 11aget s+co6 =h="dsinsth>s acces"l4L300" c">va_enda so125s 9t"/ salg flags1182 __ent"> *L27+ail=rb_nodrss="p fesrefIrss="sref">vaMapva" 9e=6re_kern9l_6 On vma.c#L305" i1+co6e1vmall9ea href="m9essn> s not <_nd (see as="d/vwrite' a_enda sovma.c#L305" i1+co6e1vmall9*f="+code=9rkernel_ra6"> */ <9 href96ugh s>1238 oacovern@f">vefroiiiiiiiiiiiiiiiiiiiiiiii*line6>re_ sa hr6ef">flags9"+code=6rs="commen6">list9/c#ig9611ass>1182 __"+c_innnnnnnnn="+code=start"/ s+codme= fme=srefMALLOC_STARTva_enda sova_enda sova_enda sovmap_ || c+code=re9" crm968a" 125s 9sr6f">va_enda soa sMapl_os="map_ef="+code=va_e6s izes="sr6r+ALLOC_STARTva_enda so * Map9nmap>911ass>1182 __ent"> *a sMapl_os="mapbufaof %ldabytbuf r+ALLOC_STARTva_enda so, 9 97retu6s funcruonn> va_enda so117va_enda so 11ass>1175s vmalloc.5#L23255c#L29allo67c#L39" i125"L300" c12ass="line9"re_ 97mm/6mallo63c#s="line6-nt"> */vapi daof %ldabytvapi dsref">va_enda so9c11as976malls vmalloc.5#L23255c#L29a@a 6gs<__9s="line" nanmap> 11ass>1192 n97t"> */vma.c#L305" i1+co6e1vmall96mallo68c#9305" i117"L300" c11ass="l9n6> n97+c_ini_nmap20"> 11ass>11as as="ddr5-c#s="ds1+co6e1ac24ta> ia safe way">va_enda so125s 91246aticfl6map_arss="6ref9>va 1 /a> = buffera/luss="df=g data>va_enda so.c#L305" i1+co691vmal98#L259" i1242L300" c12ass="lineeeeee@zes="> 1 /a> = vmo/lush6h">va_enda so 1 /a> =numberaos=byt="li bess="d">va_enda soges chepg aon succ6>s9="com98662L3006loc6c#Lp 65c#L294" i1>va_enda solist1238 oacovern@f">vefrom 12as(stva_enda sova_enda sova_enda soflags */s a valids1+co6e1'nd c24t, af300 12aa clades>123ma.c#L305" 9 mallo68c#9"> 11ass>118 ef="mm/69allo698+c_ini_nmap20"> 11ass>11as vapa.datavirtualnat /24tai e given buffer. Ifemeeegiven co6e1varangn00 12aa clades>123ma.c#L305" 90" c11ass=9e5">vmap_aa>); s vapi dai 00 12aa clades>123ma.c#L305" 9" ctmes="a91va" 1ccclasva_enda soBUG_O52"> 11ass>199span995span ef="mm/6L30_r65c#L259" i1243LIOREMAPac24ta>s t24tant"as co6e1vahole5 11ano vapa.>s dong">va_enda sova_enda si 9ay_os99662L3006loc6c#Lp 65c#L294" i1>va_enda sova_enda so1182 __che_ZEROva" 1238 oacovern@f">vefrom 12asve"sref"> c24t, r="lins 0.7@bufvshould bes+c_ini' buffer.>va_enda sotiguoussmemory3 236a/a> =45">cticNote: In us20">oph,.as="ddr5>s ne ="neces"a1vabeca<_nomeeel6>flr>va_enda sofl5f">9lags<99t"> */vmap_atmelt; ref="mm96mall99+c_ini_nmap20"> 11ass>11as _="Th>s isa/lusroute" "lwhichohavesi ecces"l1+co6e1ac24ta9L30out>va_enda sova_enda so20gs9" i1217L300" c12ass="livas >va_enda /pre> soBUG_O52"> 11ass>20g=5>20g5span ef="mm/6L30_r65c#L259" line6>re_ sa hr6ef">flagsva_enda si20gay>20g2malls vmalloc.5#L23255c#L20g3 20gmm/6m"sref">flag20g11ass>1182 L305" i1176long va_enda sMapl_os="maptm= ftm=sref">va_enda sova_enda sofl5f"20g1a>20gva" va_enda sovmap_atmelt; ref="m20gef>20g8a" va_enda so20gfc_ini_c>12ode=tmp" ctmes=c_i201sva20" a" flags20"retu6s funcruL27+mas=,c11as)>a sMapl_os="map_ef="+code=va_e6s izes="sr6r+le=start"/ s+codcoun" fcoun"t_t# &lp_" nasrotvmap_atmcoun" fcoun"t_t#INGn> ges: 6>ges to che20l6*>20"s>117,c11as)>a sMapl_os="map_ef="+code=va_e6s izes="sr6">va_enda so vaMap20ei >20"mm/6mallo63c#a sMapl_os="maps="d_c#Lk"+code=va_e6s is="d_c#Lk259" &1176long va_enda so20"11ass>1182 /lus i1242L300" c12atm= ftm=srefMALLOC_START1182 nmapva" tm= ftm=sref">1182 nmapva" tm= ftm=srefMALLOC_START123nex" fnex"srefIrss="sref">vaMapva" 20"6 20"300" c11111111111119"e=start"/ s+codv ef="+code=va_e6s ivzes="sr6MALmcharod)>a sMapl_os="maptm= ftm=srefvmap_atmes="sres>123_ef="+code=va_e6s izes="sr6">va_enda so123t_tvmap_atmes="sresgprot_t#M->a sMapl_os="map fe=vSIZE fe=vSIZEsrefINGn> va_enda so20"3vmap_atmes="srefr_s>while7+ail=rb_nodrss=" ef="+code=va_e6s izes="sr6r&lp_" nasrotvmap_atmr ef="+code=va_e6s ivzes="sr6Irss="sref">vaMapva" 202s20dra" 20dretu6s funcruonn> >>>>>>>>gotoLLOC_STARTva_enda so20ds>117'\0'ine6>re">va_enda so 11ass>117va_enda so20dmm/6mallo63c#L30" i12========e=start"/ s+cod ef="+code=va_e6s izes="sr6++">va_enda sof 12m in __v 2023,>20d11ass>1182 __"+c_innnnnnnnnail=rb_nodrss="coun" fcoun"t_t#--">va_enda so123t_tvmap_atmes="sresgprot_t#M->a sMapl_os="map fe=vSIZE fe=vSIZEsrefM->a sMapl_os="map_ef="+code=va_e6s izes="sr6">va_enda sovaMapv20c c>20d8a" ge *ef20mes>20d3vmap_atmes="srefr_s>123map_c nasrotvmap_atmnaof %ldabytnt_t#MALLOC_STARTva_enda so2011a" 123map_ fk+c_ini_&>1182 nmapva" VM_IOREMAP VM_IOREMAPt_t#IINGn> 201retu6s funcruonn> a sMapl_os="mapa> =,ed_as="daof %ldabyta> =,ed_as="d259" e=start"/ s+codbufaof %ldabytbuf n e=start"/ s+cod ef="+code=va_e6s izes="sr6L3 nasrotvmap_atmnaof %ldabytnt_t#Ie5f">va_enda so123map_sa5" i1252L3020res>201s>117s t24tant"as co6e1vahole5 line6>re_ sa hr6ef">flags2013"> 11ass>117va_enda so 20"s,>201mm/6mallo63c#L30" i12u sa hrbufaof %ldabytbuf r+ALLOC_STARTva_enda so20111ass>1182 __"+c_inLOC_STARTva_enda so201300" c11111111111119"e=start"/ s+codcoun" fcoun"t_t# -ALLOC_STARTva_enda so201va" 201+c_iniOC_START2013vmap_atmes="a sMapl_os="maps="d_unc#Lk"+code=va_e6s is="d_unc#Lk259" &1176long va_enda soflag>ge *ef="+cod20f">>20 20117va_enda so20<3"> 11ass>117/re_ sa hr6ef">flags20<4etu6s funcruL27+e=start"/ s+codbufaof %ldabytbuf M!ALLOC_START 20<11ass>1182 __"+c_inLOC_STARTa sMapl_os="mapbuf"srar=start"/ sMapl_obuf"srar=srefIIe5f">va_enda so */flags >20<6malls vmalloc.5#L23255c#L20<7 */buflenaof %ldabytbuflensrefe5f">va_enda so20125s vmalloc.5#L23255c#L20<92012ode=tmp" ctmes=c_i205svma.c#L305" i1+co6e1vmal20n1 *6llo20loc>20n5span ef="mm/6L30_r65c#L259" i1243Lpwritedr5-c#writes1+co6e1ac24ta> ia safe way">va_enda so20n662L3006loc6c#Lp 65c#L294" i1">cticfbuf"> 1 /a> = buffera/lussource data>va_enda so */ 20nmallo65c#L259" i1155L300" c" i1243L@zes="> 1 /a> = vmo/lush6h">va_enda sovefrom 12as@coun""> 1 /a> =numberaos=byt="li bess="d">va_enda so20n59" i1217L300" c12ass="livas >va_enda so 20nel>20n">tiguoussmemory3 236a/a> =45">cticR="lins #aos=byt="lwhicho/lus5 11abufvshould besincs=_nd.>va_enda soges chepg aon succ6 e20 p>>20nt"> */va_enda so 11ass>11as _="I27[a" c"..a" c+coun") doesn'thincludes5 1y 2 c_se" i9L300valid>va_enda so20n0" c12ass="linnnnnn@efp_mas=meeeeee1+co6e1ac24t, r="lins 0.>va_enda so20L39" i1217L300" c12ass="livas >va_enda so 20L5span ef="mm/6L30_r65c#L259" i1243LTh>s 4L300" cacheck"lihat /lus5>s a valids1+co6e1'nd c24t, af300 12aa clades>123ma.c#L305"20L2 cticvapa.datavirtuaa bufferai theegiven a" c""I27specifi darangnaos00 12aa clades>123ma.c#L305"20L320Lmallo65c#L259" i1155L300" c" i1243L[a" c"..a" c+coun") includes5sos vapi dairtu00 12aa clades>123ma.c#L305"20L4 */ 20rke>20Lugh s>1238 oacovern@f">vefrom 12aspropnre/24tao27@buf. Ifemeeree/24 co6e1vaholeh,.no vapa.i hole.>va_enda solis20"+c>20L59" i1217L300" c12ass="livas * unchIOREMAPac24ta>s t24tant"as co6e1vahole5 11ano vapa.>s dong">va_enda so20L6mallo64c#L259" i11a8L300" c1>va_enda so */va_enda sovmap_ || c+code=r20"sr>20L+c_ini_nmap20"> 11ass>11as ae"sref"> c24t, r="lins 0.7@bufvshould bes+c_ini' buffer.>va_enda sova_enda so20L0" c12ass="linnnnnn@efp_mas=m>va_enda so * Ma20 >20 c_ini_nmap20"> 11ass>11as Note: In us20">oph,.awritedr5>s ne ="neces"a1vabeca<_nomeeel6>flr>va_enda sos valids/11ac38 <_nomemcpy().>va_enda so20 662L3006loc6c#Lp 65c#L294" i1">cticTh>s isa/lusroute" "lwhichohavesi ecces"l1+co6e1ac24ta9L30out>va_enda sova_enda so20 ugh s>1238 oacovern@f">vefromline6>re_ sa hr6ef">flagsfla20 6 11ass>120s=">20 t"> *ss="sref">vaMapva" 2078va_enda sMapl_os="maptm= ftm=sref">va_enda sova_enda so.c#L305" i1+co20ot >20otvmap_atmes="0111ass="line" nasrotvmap_atmnaof %ldabytnt_t#n sa href="+codebuflenaof %ldabytbuflensref">va_enda so20oretu6s funcruL sa hrvapi daof %ldabytvapi dsrefMAL0">va_enda soges chepg aon succ6>20f p>20o2malls vmalloc.5#L23255c#L208320o3"> 11ass>117/flags name="L26ef">list n>20o4etu6s funcruL27+mas=,c11as)>a sMapl_os="map_ef="+code=va_e6s izes="sr6r+le=start"/ s+codcoun" fcoun"t_t# &lp_" nasrotvmap_atmcoun" fcoun"t_t#INGn> 20o11ass>1182 __"+c_inLOC_START,c11as)>a sMapl_os="map_ef="+code=va_e6s izes="sr6">va_enda sova_enda soflags>20o" i11891ass! 11ass>118 ef="mm/20"> >20o800" c1111111 sa href="+codes="d_c#Lk"+code=va_e6s is="d_c#Lk259" &1176long va_enda sovmap_aa>); 20o3vmap_atmes="/lus i1242L300" c12atm= ftm=srefMALLOC_START1182 nmapva" tm= ftm=sref">1182 nmapva" tm= ftm=srefMALLOC_START123nex" fnex"srefIrss="sref">vaMapva" 209sa sMapl_os="maptm= ftm=srefvmap_atmes="sres>123_ef="+code=va_e6s izes="sr6">va_enda soBUG_O52"> 11ass>20e=5>201retu6s funcruonn> 123t_tvmap_atmes="sresgprot_t#M->a sMapl_os="map fe=vSIZE fe=vSIZEsrefINGn> va_enda si20ray>201s>117va_enda so 11ass>117vaMapva" 20941182 __che_ZEROva" 11>201mm/6mallo63c#L30" i12========L27+ail=rb_nodrss="coun" fcoun"t_t# == 0INGn> 20111ass>1182 __"+c_innnnnnnnnnnnnnnnngotoLLOC_STARTva_enda sova_enda sofl5f"2011a>201va" va_enda sovmap_atmelt; ref="m206ef>2018a" va_enda so2013vmap_atmes="srefr_s>}>va_enda so210v1ass>1182 __"+c_inLOC_START123t_tvmap_atmes="sresgprot_t#M->a sMapl_os="map fe=vSIZE fe=vSIZEsrefM->a sMapl_os="map_ef="+code=va_e6s izes="sr6">va_enda soBUG_O52"> 11ass>21g=5>210retu6s funcruonn> va_enda si21gay>210s>117va_enda so 11ass>117123map_ fk+c_ini_&>1182 nmapva" VM_IOREMAP VM_IOREMAPt_t#IIrss="sref">vaMapva" 21g4210mm/6mallo63c#L30" i12========e=start"/ s+cod > =,ed_awriteaof %ldabyta> =,ed_awrite259" e=start"/ s+codbufaof %ldabytbuf n e=start"/ s+cod ef="+code=va_e6s izes="sr6L3a sMapl_os="mapnaof %ldabytnt_t#Ie5f">va_enda so21011ass>1182 __"+c_innnnnnnnnail=rb_nodrss="copi daof %ldabytvapi dsref++">va_enda sofl5f"21g1a>210va" va_enda sovmap_atmelt; ref="m21gef>2108a" va_enda so2103vmap_atmes="srefr_s>a sMapl_os="mapcoun" fcoun"t_t# -ALLOC_STARTva_enda sova21" a" 21"retu6LOC_STARTges: 6>ges to che21l6*>21"s>117va_enda so 11ass>117227+!ail=rb_nodrss="copi daof %ldabytvapi dsrefINGn> vaMap21ei >211mm/6mallo63c#L30" i12s="line0">va_enda so21"11ass>1182 s="line6-nt"> */buflenaof %ldabytbuflensrefe5f">va_enda so 21"300" 5s vmalloc.5#L23255c#L2117 11ass>11as cltatif">vma.c#L305" i1+co6e1vmal21192110" c12ass="linnnnnn@efp_mas=meeeeeereme=_1+co6e1_rangna5-c#me=l1+co6e1aeeee"li userassce>va_enda so212#L259" i1242L300" c12ass="lineeeeee@lon"> 1 /a> = lonli c = (me=lfullarangnaos lon)tatif">vma.c#L305" i1+co6e1vmal21212125span ef="mm/6L30_r65c#L259" i1243L@zes="> 1 /a> = vmco6e1aco6e1vtatif">vma.c#L305" i1+co6e1vmal2122212662L3006loc6c#Lp 65c#L294" i1">cticfpgoff"> 1 /a> =numberaos=eeee"lini ed3r before first=eeeeli me=srtif">vma.c#L305" i1+co6e1vmal2123vma.c#L305" i1+co6e1vmal2124212ugh s>1238 oacovern@f">vefrom 12asR="lins"> 1 /a> 0a/lussucces", -Exxx on failure>va_enda sof 12m in __v 2123,>21259" i1217L300" c12ass="livas >va_enda sotiguoussmemory3 236a/a> =45">cticTh>s 4L300" cacheck"lihat /lus5>s a valids1+co6e1'nd c24t, af300 12aa clades>123ma.c#L305"21d7 */vaMapv21c c>212+c_ini_nmap20"> 11ass>11as ihat criterita>sn'thmet.>va_enda soge *ef21mes>2120" c12ass="linnnnnn@efp_mas=m>va_enda so213#L259" i1242L300" c12ass="lineeeeeeSimilarai reme=_pfn_rangn() (see ed co6e1v.c)tatif">vma.c#L305" i1+co6e1vmal21312135span ef="mm/6L30_r65c#L259" line6>re_ sa hr6ef">flags123map_sa5" i1252L3021res>211s>117L sa hrreme=_1+co6e1_rangn"+code=va_e6s is=me=_1+co6e1_rangn259" L305" i1176long flags2113"> 11ass>117 21"s,>213mm/6m"sref">flag21311ass>1182 L305" i1176long va_enda sMapl_os="mapc24t"+code=va_e6s iz24tsrefe5f">va_enda so211300" c11111110111ass="line" nasrotvmap_atmu ef="+code=va_e6s iuzes="sr6MALa sMapl_os="map1+cstart"/ sMapl_os=a"sr6vmap_atmes="sres>123s="srar=start"/ sMapl_os="srar=srefe5f">va_enda so213va" 123s="endaof %ldabyta="endsrefM->a sMapl_os="map1+cstart"/ sMapl_os=a"sr6vmap_atmes="sres>123s="srar=start"/ sMapl_os="srar=srefe5f">va_enda so211+c_in5f">va_enda so2113vmap_atmes="L27+ma sMapl_os="map fe=vSIZE fe=vSIZEsref-1)_&>mas=,c11as)e=start"/ s+cod ef="+code=va_e6s izes="sr6INGn> va_enda soflag>ge *ef="+cod21f">>21va_enda so214s>117va_enda so2143"> 11ass>117227+!ail=rb_nodrss="c24t"+code=va_e6s iz24tsrefINGn> 214mm/6mallo63c#L30" i12s="line-e=start"/ s+codEINVAL"+code=va_e6s iEINVALsrefe5f">va_enda so214ode=flagsfla2146 */flags >2146"> 11ass>117227+! e=start"/ s+cod 24t"+code=va_e6s iz24tsrefvmap_atmes="sres>123map_ fk+c_ini_&>1182 nmapva" VM_USERMAP VM_USERMAPt_t#IIlagsfla2147va_enda so214+c_in5f">va_enda so2143vmap_atmes="L27+ nasrotvmap_atmut_tvmap_atmes="sresugprot_t#M+7+ail=rb_nodrss="pgoff"+code=va_e6s ipgoffsrefr&lp_&lp_" nasrotvmap_atm fe=vSHIFT fe=vSHIFT"sr6Irmap_" nasrotvmap_atm 24t"+code=va_e6s iz24tsrefvmap_atmes="sres>123t_tvmap_atmes="sresgprot_t#M->a sMapl_os="map fe=vSIZE fe=vSIZEsrefINGn> va_enda so *6llo21loc>215retu65f">va_enda so215s>117va_enda so */ 2153"> 11ass>117dorss="sref">vaMapva" 21n4va_enda so21511ass>1182 __"+c_inL sa hrre=start"/ sMapl_ore=srefe5f">va_enda so 21nel>2156malls vmalloc.5#L23255c#L21n7ges chepg aon succ6 e21 p>>215va" va_enda so 2153vmap_atmes="srefr_s>123map_cs="line6-nt"> */re=start"/ sMapl_ore=srefe5f">va_enda so216/rrno5ea to unche> 216retu6s funcruonn> va_enda so va_enda so2163"> 11ass>117va_enda so */ 21rke>216mm/6mallo63c#}=while7+ail=rb_nodrss="ut_tvmap_atmes="sresugprot_t#Mmap_"0ce5f">va_enda solis21"+c>216ode=flagsfla21L6216300" c1111111 re_ sa hr6ef">flags123s="map_ s="map_ a" va_enda sovmap_ || c+code=r21"sr>216+c_in5f">va_enda sova_enda so2163vmap_atmes="s="line0">va_enda so * Ma21 >21 c_in5s vmalloc.5#L23255c#L21 1va_enda so2172malls vmalloc.5#L23255c#L21 3va_enda so21 ugh s>1238 oacovern@f">vefrom Imple">veia stuba/lus1+co6e1_sync_co6dr5>femeeearchitecture7chose notai 00 12aa clades>123ma.c#L305"21 5va_enda sotiguoussmemory3 236a/a> =45line6>re_ sa hr6ef">flags 11ass>121s=">21 t"> *="+coLLOC_STARTvaMapva" 2179.c#L305" i1+co21ot >218/rrno5ea to unche> 218retu65f">va_enda soges chepg aon succ6>21f p>21o2mallsta0"cnL sa hrf"+code=va_e6s if259" e=start"/ s+codpte_=start"/ sMapl_opte_=259"nda sMapl_os="mapeteaof %ldabytpte259"L3 nasrotvmap_atmegtable_=start"/ sMapl_opgtable_=259"n nasrotvmap_atmtablestart"/ sMapl_otable259"L30111ass="line" nasrotvmap_atm ef="+code=va_e6s izes="sr6L3="+code=start"/ s+coddata"+code=va_e6s idata>vefINGn> 21o3"> 1ss="sref">vaMapva" 2184 name="L26ef">list n>21o4etu6s funcrue=start"/ s+codpte_=start"/ sMapl_opte_=259"nd*da sMapl_os="mapestart"/ sMapl_opsrefnALa sMapl_os="mapdata"+code=va_e6s idata>vefe5f">va_enda so218ode=flagsfla2186 11ass>117227+a sMapl_os="mapestart"/ sMapl_opsrefIrss="sref">vaMapva" 2187flags>218va" va_enda so 11ass>118 ef="mm/21"> >2188a" va_enda sovmap_aa>); 21o3vmap_atmes="5s vmalloc.5#L23255c#L219sva_enda soBUG_O52"> 11ass>21e=5>211retu65s vmalloc.5#L23255c#L2192va_enda si21ray>2192malls vmalloc.5#L23255c#L2193vma.c#L305" i1+co6e1vmal21941182 __che_ZEROva" 11>219ugh s>1238 oacovern@f">vefrom 12asco6e1_s="c24t -sco6e1ateeaarangnaos +c_inis/lush6h assce>va_enda so21959" i1217L300" c12ass="livas 12as@gpro"> 1 /a> = gproaos meeearea>va_enda sotiguoussmemory3 236a/a> =45">ctic@ptes"> 1 /a> = r="lins meeePTEsa/lusmeeealush6h assce>va_enda sofl5f"2111a>219t"> */vmap_atmelt; ref="m216ef>219+c_ini_nmap20"> 11ass>11as _="R="lins"> 1 /a> NULL on failure, ae"sref"> on succes">va_enda so2190" c12ass="linnnnnn@efp_mas=m>va_enda so22gs9" i1217L300" c12ass="livas 1 /a> Th>s 4L300" cas=_nrves5 arangnaos +c_inis/lush6h assce, af300 12aa clades>123ma.c#L305"22g1BUG_O52"> 11ass>22g=5>22g5span ef="mm/6L30_r65c#L259" 12asco6e1at="lpagntablesli me= ihat rangn. No actual me=pings00 12aa clades>123ma.c#L305"22g2va_enda si22gay>220662L3006loc6c#Lp 65c#L294" i1">ctic/24 c24tant">va_enda sovma.c#L305" i1+co6e1vmal22g4220ugh s>1238 oacovern@f">vefrom 12asIfc@ptes5>s non-NULL, po2 c_sai theePTEsa(innL it_mm)tatif">vma.c#L305" i1+co6e1vmal22g522059" i1217L300" c12ass="livas 12asco6e1at=da/lusmeeeVMac24ta/24 r="linnt">va_enda sotiguoussmemory3 236a/a> =45line6>re_ sa hr6ef">flagsfl5f"22g1a>220va" va_enda sMapl_os="mapco6e1_s="c24t"+code=va_e6s izo6e1_s="c24t259" e=start"/ s+codgpro_=start"/ sMapl_ogpro_=259"n nasrotvmap_atmt_tvmap_atmes="sresgprot_t#L3 nasrotvmap_atmete_=start"/ sMapl_opte_=259"nd* nasrotvmap_atmete ete >vefINGn> vmap_atmelt; ref="m22gef>2208a" vaMapva" 22g92203vmap_atmes="L305" i1176long va_enda sMapl_os="mapc24t"+code=va_e6s iz24tsrefe5f">va_enda sova221/rrno5ea to unche> 22"retu6s funcrua sMapl_os="mapc24t"+code=va_e6s iz24tsrefnALa sMapl_os="mapgnt_s="c24t_l6>flr"+code=va_e6s ignt_s="c24t_l6>flr259" e=start"/ s+codgpromap_atmes="sresgprot_t#L3 nasrotvmap_atmVM_IOREMAP VM_IOREMAPt_t#L_ sa hr6ef">flagsges: 6>ges to che22l6*>22"s>117va_enda so 11ass>117227+a sMapl_os="mapc24t"+code=va_e6s iz24tsrefnAALa sMapl_os="mapNULL"+code=va_e6s iNULL>vefINGn> vaMap22ei >221mm/6mallo63c#L30" i12s="linea sMapl_os="mapNULL"+code=va_e6s iNULL>vefe5f">va_enda so221ode=flagsfla22"6 221300" c1111111 flags */=da/lusme>s reg" cine6>re_ sa hr6ef">flags 11ass>11as aaaaaaaaa* os +c_inisvirtual /lush6h assces/11ame=p=daini L it_mm">va_enda so2210" c12ass="linnnnnn@efp_mas=aaaaaaaa*line6>re_ sa hr6ef">flags22dra" ,c11as)e=start"/ s+cod 24t"+code=va_e6s iz24tsrefvmap_atmes="sres>123 ef="+code=va_e6s izes="sr6L_ sa hr6ef">flags22dretu6s funcruonn> >>>>>>>>e=start"/ s+codgpromap_atmes="sresgprot_t#L3 nasrotvmap_atmf"+code=va_e6s if259"L3 nasrotvmap_atmete ete >vef ? &1176long vef :La sMapl_os="mapNULL"+code=va_e6s iNULL>vefIIrss="sref">vaMapva" 222222ds>117va_enda so 11ass>117vefe5f">va_enda so22dmm/6mallo63c#5s vmalloc.5#L23255c#L2225f 12m in __v 2223,>222ode=flagsfla2226va_enda so *5s vmalloc.5#L23255c#L2228vaMapv22c c>222+c_iniOC_STARTva_enda soge *ef22mes>222fc_ini_c>12ode=tmp" ctmes=c_i223s223#L259="+co nasrotvmap_atmfree_s="c24taof %ldabytfree_s="c24t259" L305" i1176long va_enda sMapl_os="mapc24t"+code=va_e6s iz24tsrefINGn> 2235spanss="sref">vaMapva" 2232123map_sa5" i1252L3022res>221s>117va_enda sMapl_os="mapre=start"/ sMapl_ore=srefe5f">va_enda so2213"> 11ass>117a sMapl_os="mapre=start"/ sMapl_ore=srefnALa sMapl_os="mapremove_s="c24taof %ldabytremove_s="c24t259" e=start"/ s+codc24t"+code=va_e6s iz24tsrefvmap_atmes="sres>123 ef="+code=va_e6s izes="sr6Ie5f">va_enda so 22"s,>2234etu6s funcrue=start"/ s+codBUG_ON"+code=va_e6s iBUG_ON259" e=start"/ s+codre=start"/ sMapl_ore=srefn!ALLOC_STARTva_enda so22311ass>1182 LOC_STARTva_enda so223300" 5s vmalloc.5#L23255c#L2237223va" va_enda so221+c_in5f">va_enda so2213vmap#ifdef LOC_STARTva_enda soflag>ge *ef="+cod22f">>2245spanss="sref">vaMapva" 2242224s>117vefe5f">va_enda so2243"> 15s vmalloc.5#L23255c#L2244224mm/6ms vmalloc.5#L23255c#L224522459" i1217L300" c12ass="liva cltatif">vma.c#L305" i1+co6e1vmal2246 */flags >224">tiguoussmemory3 236a/a> =45"ps="mind_nex"_prev - mindsmeeenex"s/11aprev f=ap"c24t surrounding @ef300 12aa clades>123ma.c#L305"2247 */224+c_ini_nmap20"> 11ass>11as @pnex": ou> c2ga/lusmeeenex"sf=ap"c24tva 12aa clades>123ma.c#L305"22492240" c12ass="linnnnnn@efp_mas=me@pprev: ou> c2ga/lusmeeeprevioussf=ap"c24tva 12aa clades>123ma.c#L305"225svma.c#L305" i1+co6e1vmal22n1 *6llo22loc>22n5span ef="mm/6L30_r65c#L259" iR="lins">%305e722 eimeer lusboth os nex"s/11aprev /24 found,srtif">vma.c#L305" i1+co6e1vmal22n222n662L3006loc6c#Lp 65c#L294" i1">cticcccc%false722 no f=ap"c24t existh25 12aa clades>123ma.c#L305"22n3 */ 22nmallo65c#L259" i1155L300" c" 25 12aa clades>123ma.c#L305"22n4vefrom Findsf=ap"c24ts ends/lush6hes os whichoenclose @ef3. ie.722 not>va_enda so22n59" i1217L300" c12ass="livas NULL, *pnex"vmap_va"endMmap_"@ends/nds*pprevvmap_va"endMmlp_AL@ef3.>va_enda so 22nel>22n">tiguoussmemory3 236a/a> =45line6>re_ sa hr6ef">flagsges chepg aon succ6 e22 p>>22571asssta0"cna sMapl_os="mapboo6"+code=va_e6s iboo6259"n nasrotvmap_atmps="mind_nex"_prev es="mind_nex"_prev259" 0111ass="line" nasrotvmap_atmendaof %ldabytendsrefL_ sa hr6ef">flagsflags2253vmap_atmes="srefr_s>123map_c*******L305" i1176long 226/rrnoss="sref">vaMapva" 2261 226retu6s funcruL305" i1176long va_enda so vefe5f">va_enda so2263"> 15f">va_enda so */ 22rke>226mm/6mallo63c#while7+ail=rb_nodrss="naof %ldabytnsrefIrss="sref">vaMapva" 2265lis22"+c>22611ass>1182 __"+c_inLOC_STARTva_enda so226300" c11111111111119"227+a sMapl_os="mapendaof %ldabytendsrefr&lp_" nasrotvmap_atmr aof %ldabytvtsrefvmap_atmes="sres>123sa"endaof %ldabytaa"endsrefINGn> 123rb_lef=start"/ sMapl_orb_lef=>vefe5f">va_enda sovmap_ || c+code=r22"sr>2268a" va_enda so2263vmap_atmes="srefr_s>123map_ce=start"/ s+codnaof %ldabytnsrefnALa sMapl_os="mapnaof %ldabytnsrefvmap_atmes="sres>123rb_righ=start"/ sMapl_orb_righ=>vefe5f">va_enda so * Ma22 >227v1ass>1182 __"+c_inelse5f">va_enda sova_enda so227s>117 15f">va_enda so2274etu6s funcruL27+!ail=rb_nodrss="r aof %ldabytvtsrefINGn> vefe5f">va_enda so 11ass>122s=">2277etu6s funcruL27+ nasrotvmap_atmr aof %ldabytvtsrefvmap_atmes="sres>123sa"endaof %ldabytaa"endsrefr&ap_" nasrotvmap_atmendaof %ldabytendsrefIrss="sref">vaMapva" 2278va_enda so* nasrotvmap_atmeprev eprev259"nALa sMapl_os="mapn"ma_to_vtaof %ldabytn"ma_to_vt259" atmes="sres>123rb_prev rb_prev259" &(da sMapl_os="mapenex" fpnex"sref)vmap_atmes="sres>123rb_n"mastart"/ sMapl_orb_n"mava_e))e5f">va_enda so.c#L305" i1+co22ot >22otvmap_atmes="}*else7ss="sref">vaMapva" 2281228retu6s funcruonn> va_enda soges chepg aon succ6>22f p>228s>117va_enda so22o3"> 11ass>1175s vmalloc.5#L23255c#L2284 name="L26ef">list n>22o4etu6s funcrus="linea sMapl_os="map305estart"/ sMapl_o305esrefe5f">va_enda so228ode=f5s vmalloc.5#L23255c#L2286flags>228t"> */vma.c#L305" i1+co6e1vmal2288 11ass>118 ef="mm/22"> >228+c_ini_nmap20"> 11ass>11as es="determ "endM- mindsmeeehighest a> =,ed /lush6h between two f=ap"c24th25 12aa clades>123ma.c#L305"2289vmap_aa>); 2280" c12ass="linnnnnn@efp_mas=me@pnex": in/ou> c2ga/lusmeeenex"sf=ap"c24tva 12aa clades>123ma.c#L305"229s123ma.c#L305"2291BUG_O52"> 11ass>22e=5>2295span ef="mm/6L30_r65c#L259" i@a> =,: a> =,c#L2va 12aa clades>123ma.c#L305"2292va_enda si22ray>229662L3006loc6c#Lp 65c#L294" i1va 12aa clades>123ma.c#L305"2293determ d ends/lush6hva 12aa clades>123ma.c#L305"22941182 __che_ZEROva" 11>229ugh s>1238 oacovern@f">vefromva 12aa clades>123ma.c#L305"229522959" i1217L300" c12ass="livas Findsmeeehighest a> =,ed /lush6h between *@pnex"s/nds*@pprev belowva 12aa clades>123ma.c#L305"2296tiguoussmemory3 236a/a> =45"VMALLOC_END. *@pnex"s/nds*@pprev /24 adjus>=dasolihat meeea> =,edva 12aa clades>123ma.c#L305"2297fl5f"2211a>229t"> */va_enda sovmap_atmelt; ref="m226ef>229+c_ini_nmap20"> 11ass>11as >va_enda so2290" c12ass="linnnnnn@efp_mas=m Pl4the notelihat meeealush6h r="linnt bysme>s 4L300" camay 80e92so223s9" i1217L300" c12ass="livas 1 inside*@pnex"s/=ap"c24th. Th>e 6>flr2 s regsponsible/lusmheck"ingsoBUG_O52"> 11ass>223=5>2235span ef="mm/6L30_r65c#L259" hat >va_enda sova_enda si223ay>223662L3006loc6c#Lp 65c#L294" i1"ine6>re_ sa hr6ef">flagsflags223mm/6mallo63c#L30" i12========eeeeeeeeeeeeeeee305" i1176long flags22311ass>1182 __"+c_innnnnnnnnaaaaaaaaaaaaaaaa111ass="line" nasrotvmap_atm e =,e ee =,erefINGn> tigus="sref">vaMapva" 2237fl5f"2231a>223va" Mapva"endaof %ldabyta="apva"endarefMALLOC_START1~e=start"/ s+codco6=,e ee =,erefI- m1e5f">va_enda sovmap_atmelt; ref="m223ef>2238a" va_enda so2230c_ini_c>12ode=tmp" ctmes=c_i223sva2231a" 12ode=tmp" ctmes=c_i223s1enda so<3ef="+kode=vmap_arbqs="s223ef>2231etu6s funcruonn> 1~e=start"/ s+codco6=,e ee =,erefI- m1e3 nasrotvmap_atmr>Mapva"endaof %ldabyta="apva"endarefMe5f">va_enda soges: 6>ges to che2236*>223s>117va_enda so 11ass>117va_enda sovaMap223i >2231m/6ms vmalloc.5#L23255c#L223522311ass>1182 shile7+a nasrotvmap_atmeprev eprev259"nAamp;>amp;>maa sMapl_os="mapeprev eprev259"Ivmap_atmes="sres>123ra"endaof %ldabytaa"endsrefr&ap_" nasrotvmap_atmeef="+code=va_e6s izes="sr6Iess="sref">vaMapva" 2236 223100" c11111111111119"2 nasrotvmap_atmenex" fpnex"srefMALLa sMapl_os="mapeprev eprev259"I5f">va_enda sova_enda so2231c_ini_c>12ode=tmp" ctmes=c_i223s22321ass>1182 s="line0nasrotvmap_atm ef="+code=va_e6s izes="sr6L5f">va_enda so2232malls vmalloc.5#L23255c#L2133vma.c#L305" i1+co6e1vmal2234223ugh s>1238 oacovern@f">vefrom pcpu_nt_s="c24t_s-sco6e1ateea+co6e1v 24t_s-lusmpercpuco6e1ateoratif">vma.c#L305" i1+co6e1vmal2234f 12m in __v 2233,>22359" i1217L300" c12ass="livas > @offsets: 24rayeonstainng @offsetos teacharea>va_enda sotiguoussmemory3 236a/a> =45">gpro"s: 24rayeonstainng @proaos meacharea>va_enda so */vaMapv223 c>223+c_ini_nmap20"> 11ass>11as a> =,: a> =,c#L2v,ed6e _mryi"lini @offsets/nds*gpro"s mureabea> =,edvi theiva 12aa clades>123ma.c#L305"2239ge *ef223es>2230" c12ass="linnnnnn@efp_mas=m>va_enda so223#L259" i1242L300" c12ass="linee="lins">dkng oo2 c_s 24rayeo2 cng @ ed6e1ateeva 12aa clades>123ma.c#L305"22312235span ef="mm/6L30_r65c#L259" ltea **e"sref"> son succes">,%fULL on failure,a 12aa clades>123ma.c#L305"2231123map_sa5" i1252L30223es>223362L3006loc6c#Lp 65c#L294" i1va 12aa clades>123ma.c#L305"22332233allo65c#L259" i1155L300" c" iRPercpuco6e1ateor wants- eus consgruveiavme24t_s-olihat mit caine6>re_ sa hr6ef">flags 223s,>2233gh s>1238 oacovern@f">vefrom maintain eeenoffsets/nmne" percpuco4th.> Th>s 4L300" casd6e1ateeva 12aa clades>123ma.c#L305"223522339" i1217L300" c12ass="livas > onsgruveiavmo6e1v 24t_s-lusmit with GFP_KERNEL. Th>esee24t_s- nds/ 00 12aa clades>123ma.c#L305"21362233>tiguoussmemory3 236a/a> =45">beasatec_seaprevtt 80er, dirarncebetween two f24ts enasily gong @up0 12aa clades>123ma.c#L305"21362233"> */,&t>ese0 12aa clades>123ma.c#L305"21362233c_ini_nmap20"> 11ass>11as 24ts e24 ad6e1ateev from p>va_enda so2233" c12ass="linnnnnn@efp_mas=m>va_enda so123ma.c#L305"2231flag>ge *ef="+cod223">>2234span ef="mm/6L30_r65c#L259" ltdo"s everyhings p-own /lds/satns 24t_s-lrom eeends/lookngs foratif">vma.c#L305" i1+co6e1vmal2232223462L3006loc6c#Lp 65c#L294" i1">matcings slot. TWile7+satnnng ,227+anyos meeearea>sonverlaps@withatif">vma.c#L305" i1+co6e1vmal22322234allo65c#L259" i1155L300" c" iRxisthngs =ap"c24tv,&t>e bhe nlush6h ih bpullev own / efi meeeatif">vma.c#L305" i1+co6e1vmal22322234gh s>1238 oacovern@f">vefrom 24th. TSatnnng s regptant" ti6e d6e eeearea>sofi madsmeeeasd6eatif">vma.c#L305" i1+co6e1vmal223222359" i1217L300" c12ass="liva m nees">ary ata>e305" irsl/24 cnsert_edmadsmeeeregsult s reglinnt">va_enda so */flags >223">tiguoussmemory3 236a/a> =45"ine6>re_ sa hr6ef">flags2234a" va_endaa sMapl_os="mapencpu_nt_s="c24t_s fpncpu_nt_s="c24t_s59" &onsrea111ass="line" a sMapl_os="mapeoffsets fpoffsets59"I_ sa hr6ef">flags2234a" flags2234vmap_atmes="srefr_s>123map_c*******Lhref= nasrotvmap_atmupro_=start"/ sMapl_ogpro_=259"n nasrotvmap_atmte =,e ee =,erefINGn> vaMapva" 2231 *6llo223oc>2235etu6s funcruoonsrea111ass="line" nasrotvmap_atm >Mapva"erar=start"/ sMapl_os=Mapva"erar=s59"nALa sMapl_os="mapnALIG"+code=va_e6s iBALIG"59" atmes="sres>123rMALLOC_ESTAR MALLOC_ESTAR 59"I_Lnasrotvmap_atmte =,e ee =,erefIN5f">va_enda so223s>117Mapva"endaof %ldabyta="apva"endarefMALLOC_START1~e=start"/ s+codco6=,e ee =,erefI- m1e5f">va_enda so */ 2233"> 11ass>117d305" i1176long va_enda sova_endaa sMapl_os="mape="sof %ldabytn="s59"I5f">va_enda so22311ass>1182 _ sa hrf24t"+code=va_e6s iz24tsrefI_Lnasrotvmap_atmte4ts2+code=va_e6s iz24ts2refI_Lnasrotvmap_atmtde=tc24taof %ldabytfde=tc24tarefI_Lnasrotvmap_atmterm c24taof %ldabytferm c24ta59"I5f">va_enda so 223el>223500" c11111111111ass="line" nasrotvmap_atm bhe of %ldabytfbhe refI_Lnasrotvmap_atmtrar=start"/ sMapl_osrar=s59"n_Lnasrotvmap_atmtndaof %ldabytendsrefL_Lnasrotvmap_atmtde=tcndaof %ldabytede=tcnda59"I5f">va_enda soges chepg aon succ6 e223p>>2235a" vefe5f">va_enda sova_enda so2233vmap_atmes="sre_ sa hr6ef">flags22360" 1~=start"/ s+codrfe=vSMASK efe=vSMASKrefI-|| ail=rb_nodrss="ris_power_of_2+code=va_e6s izis_power_of_259" e=start"/ s+codro6=,e ee =,erefI)e5f">va_enda so 223retu6s funcruLlusme=start"/ s+codrde=tc24taof %ldabytfde=tc24tarefIALL0_Lnasrotvmap_atmte4ts+code=va_e6s iz24tsrefIALL0" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefIAlp_" nasrotvmap_atmrnrs="sof %ldabytn"rs="s59"I" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI++ess="sref">vaMapva" 2232 va_enda so2233"> 11ass>117va_enda so */ 223ke>2236m/6ms vmalloc.5#L23255c#L2235lis223+c>22311ass>1182 __"+c_inLO/s *ltre_ sa hr6ef">flags223300" c11111111111119"2 sMapl_os="map1UG_ON"+code=va_e6s iBUG_ON259" eail=rb_nodrss="rIS_ALIG"D VIS_ALIG"D 59" e=start"/ s+codroffsets fpoffsets59"I[nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI]_Lnasrotvmap_atmte =,e ee =,erefINe5f">va_enda sova_enda sovmap_ || c+code=r223sr>2236c_in5f">va_enda sova_enda so2233vmap_atmes="srefr_s>1O/s *ltre_ sa hr6ef">flags * Ma223 >223v1ass>1182 __"+c_ine27+ nasrotvmap_atmrrar=start"/ sMapl_osrar=s59"nAap_" nasrotvmap_atmeoffsets fpoffsets59"I[nasrotvmap_atmede=tc24taof %ldabytfde=tc24tarefI]NGn> va_enda so2237malls vmalloc.5#L23255c#L2133 11ass>117vaMapva" 2234va_enda sova_enda so 11ass>1223=">2237a" va_enda so.c#L305" i1+co223t >22381ass>1182 __"+c_ineeeeeeeee sMapl_os="map1UG_ON"+code=va_e6s iBUG_ON259" e=start"/ s+codrrar=s2+code=va_e6s izrar=s259"nAap_"LLOC_STARTamp;>m=start"/ s+codrrar=s2+code=va_e6s izrar=s259"nAap_" nasrotvmap_atmrndaof %ldabytendsrefIr5f">va_enda so223retu6s funcruonn> amp;>m=start"/ s+codrnds2+code=va_e6s iznds2refr&lp_" nasrotvmap_atmerar=start"/ sMapl_osrar=s59"nr5f">va_enda soges chepg aon succ6>223 p>223s>1172233"> 11ass>1175s vmalloc.5#L23255c#L2234list2234etu6s funcrusnasrotvmap_atmtde=tcndaof %ldabytede=tcnda59"IALLOC_STARTva_enda so2238de=flagsfla2236Mapva"erar=start"/ sMapl_os=Mapva"erar=s59"nAap_" nasrotvmap_atmrde=tcndaof %ldabytede=tcnda59"Iess="sref">vaMapva" 2237flags>2238a" va_enda so 11ass>118 ef="mm/223> >2238a" vefe5f">va_enda sovmap_aa>); 22389> 11ass>1175s vmalloc.5#L23255c#L223sBUG_O52"> 11ass>223=5>2239etu6s funcrua sMapl_os="mapc="sof %ldabytn="s59"IALLOC_STARTva_enda sova_enda si223ay>22392tu6s funcrua sMapl_os="mapc=_s fpvas59"IALLOC_STARTva_enda so 11ass>117227+aail=rb_nodrss="r as fpvas59"IA|| ail=rb_nodrss="r Msof %ldabytn="s59"Ie vmalloc.5#L23255c#L22342239etu6s funcruLLLLLLLLLgotom=start"/ s+codrnrr_ree_2+code=va_e6s iznrr_ree_2vefe5f">va_enda so2239de=flagsfla2236vaMapva" 2237fl5f"2231a>2239a" va_enda sovmap_atmelt; ref="m223ef>2239a" va_ene3 nasrotvmap_atmrGFP_KERNELof %ldabytnGFP_KERNELrefer5f">va_enda so2239vmap_atmes="srefr_s>127+aail=rb_nodrss="r as fpvas59"I[nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI]A|| ail=rb_nodrss="r Msof %ldabytn="s59"I[nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI]e vmalloc.5#L23255c#L224a_enda so<4s22401ass>1182 __"+c_ineeeeeeeeegotom=start"/ s+codrnrr_ree_+code=va_e6s iznrr_ree_vefe5f">va_enda soBUG_O52"> 11ass>224=5>2240etu6s funcruas vmalloc.5#L23255c#L2242va_enda si224ay>224662L300start"/ s+codr="lystart"/ sMapl_orbery259" : vmalloc.5#L23255c#L22423nd" c 224ap_atmes="sreefp_t#L301224ap>2240"> 11ass>117a sMapl_os="maprspin_255ktart"/ sMapl_ogppin_255k59" eamp;1176long va_enda so2240m/6ms vmalloc.5#L23255c#L22445nd" c 2241s22411ass>1182 _O/s *ltre_ sa hr6ef">flagsva_enda sofl5f"2241a>2240a" va_enda sovmap_atmelt; ref="m224ef>2248a" va_enda so2240c_ini_c>12ode=tmp" ctmes=c_i224sva2241a" vaMapva" 224s1enda so<4ef="+kode=vmap_arbqs="s224ef>2241etu6s funcruonn> Mapva"endaof %ldabyta="apva"endarefMA- nasrotvmap_atm de=tcndaof %ldabytede=tcnda59"I5f">va_enda soges: 6>ges to che2246*>2241>117va_enda so 11ass>1175s vmalloc.5#L23255c#L2242vaMap224i >2241etu6s funcrusnasrotvmap_atmtbhe of %ldabytfbhe refIALLOC_STARTva_enda so2241de=flagsfla2246 224100" c11111111hile7+ail=rb_nodrss="n05estart"/ sMapl_o305esreferss="sref">vaMapva" 224s7nd" c 224ap_arbqs="sretmp_mas=ag224ap>2241a" amp;>m=start"/ s+codrax" fpex"sref)map_atmes="sres>123ra"endaof %ldabytaa"endsrefr&ap_AL@nasrotvmap_atmubhe of %ldabytfbhe refIA+ nasrotvmap_atmundaof %ldabytendsrefIr5f">va_enda soamp;>m=start"/ s+codrnev epev259"Imap_atmes="sres>123ra"endaof %ldabytaa"endsrefr&ap_" nasrotvmap_atmebhe of %ldabytfbhe refIA+ nasrotvmap_atmundaof %ldabytendsrefIr5f">va_enda so2241c_ini_c>12ode=tmp" ctmes=c_i224s22421ass>1182 __"+c_ineO/s *ltflags have nd,erflowed,a>us de=tcnda befoe,a 12aa clades>123ma.c#L305"2242224262L3006loc6c#Lp 65c#L294" i1 * 12aparng >va_enda sore_ sa hr6ef">flags2242etu6s funcruLLLLLLLLL27+ nasrotvmap_atmrbhe of %ldabytfbhe refIA+ nasrotvmap_atmude=tcndaof %ldabytede=tcnda59"I&lp_" nasrotvmap_atmr Mapva"erar=start"/ sMapl_os=Mapva"erar=s59"nA+ nasrotvmap_atmude=tcndaof %ldabytede=tcnda59"Irss="sref">vaMapva" 2244f 12m in __v 2243,>22421ass>1182 __"+c_insLLLLLLLL sMapl_os="maprspin_un255ktart"/ sMapl_ogppin_un255k59" eamp;1176long va_enda sovaMapva" 22447nd" c 224name="L27+ail=rb_nodrss224na>2242a" va_enda sovaMapv224 c>2242a" va_enda soge *ef224es>2242vmap_atmes="srefr_s>123map_c*******Lhgotom=start"/ s+codr="lystart"/ sMapl_orbery259" 5f">va_enda so22431ass>1182 __"+c_ineeeeeeeees vmalloc.5#L23255c#L22412243etu6s funcruonn> va_enda so123map_sa5" i1252L30224es>2243>1172243"> 15f">va_enda so 224s,>2243etu6s funcruLLLLLLLLLO/s *ltflags22439" i1217L300" c12ass="livas * Ifnex"sfnverlaps, mnve bhe nown wards-olihat mit#39;tva 12aa clades>123ma.c#L305"22462243>tiguoussmemory3 236a/a> =45 * igh=>belowv ex"s/nds*eeeasreheck">va_enda so2243"> */flags2243a" amp;>m=start"/ s+codrax" fpex"sref)map_atmes="sres>123ra"erar=start"/ sMapl_os=asrar=srefe&ap_" nasrotvmap_atmrbhe of %ldabytfbhe refIA+ nasrotvmap_atmundaof %ldabytendsrefIrss="sref">vaMapva" 22492243vmap_atmes="srefr_s>123map_ce=start"/ s+codnbhe of %ldabytfbhe refIALLOC_STARTva_enda sova_enda soflag>ge *ef="+cod224">>2244etu6s funcruonn> va_enda so2244>1172244"> 15f">va_enda so2244etu6s funcruLLLLLLLLLO/s *ltflags22459" i1217L300" c12ass="liva m * Ifnrev /nverlaps, shift own /ex"s/nds*rev /2ds*mnvene6>re_ sa hr6ef">flags */flags >224">tiguoussmemory3 236a/a> =45 * bhe nolihat mit#39;tv igh=>belowv exv ex"s/nds*eeeane6>re_ sa hr6ef">flags2244"> */va_enda so2244c_ini_nmap20"> 11ass>11as *ine6>re_ sa hr6ef">flags2244vmap_atmes="srefr_s>127+ nasrotvmap_atmrnev epev259"I&>amp;>m=start"/ s+codrnev epev259"Imap_atmes="sres>123ra"endaof %ldabytaa"endsrefr&ap_" nasrotvmap_atmebhe of %ldabytfbhe refIA+ nasrotvmap_atmurar=start"/ sMapl_osrar=s59"nr ss="sref">vaMapva" 224sva_enda so *6llo224oc>2245etu6s funcruonn> va_enda so2245>117va_enda so */ 2243"> 11ass>117dmm/5mal*eeeeeeee sMapl_os="map10rm c24taof %ldabytferm c24ta59"IALL=start"/ s+codre4ts+code=va_e6s iz24tsrefI5f">va_enda sova_enda so22451ass>1182 __"+c_inss vmalloc.5#L23255c#L2143 224el>2245malls vmalloc.5#L23255c#L2243ges chepg aon succ6 e224p>>2245a" flags 11ass>11as *Th>s 4rea>@fits, mnve oni theeprevioussfon". TIfne6>re_ sa hr6ef">flags2245" c12ass="linnnnnn@efp_mas=m *Theeprevioussfon"Pis eeetrm alfon", we#39;tr nown".ne6>re_ sa hr6ef">flags2246L259" i1242L300" c12ass="lin *ine6>re_ sa hr6ef">flags 2246etu6s funcruonn> flags 2243"> 11ass>117flags */ 224ke>2246etu6s funcruLLLLLLLLLOasrotvmap_atmurar=start"/ sMapl_osrar=s59"nALLOC_STARTva_enda solis224+c>22411ass>1182 __"+c_inLOasrotvmap_atm ndaof %ldabytendsrefr&LLOC_STARTva_enda so224300" c11111111111119"2 sMapl_os="map1s="mind_nex"_prev es="mind_nex"_prev259" 0176long va_enda sovmap_ || c+code=r224sr>2246c_in5176long va_enda so2246vmap_atmes="sflags * Ma224 >224v1ass>1182 _lusme=start"/ s+codre4ts+code=va_e6s iz24tsrefIALL0" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefIAlp_" nasrotvmap_atmrnrs="sof %ldabytn"rs="s59"I" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI++ess="sref">vaMapva" 2241123ra"of %ldabytaa"refr&LLOC_STARTva_enda so2247malls vmalloc.5#L23255c#L2143 11ass>117123ra"of %ldabytaa"refrmap_atmes="sres>123ra"erar=start"/ sMapl_os=asrar=srefe&L@nasrotvmap_atmubhe of %ldabytfbhe refIA+ nasrotvmap_atmuoffsets fpoffsets59"I[nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI]5f">va_enda so123ra"of %ldabytaa"refrmap_atmes="sres>123ra"endaof %ldabytaa"endsrefr&LLOC_STARTva_enda sova_enda so 11ass>1224=">2247a" 2247a" va_enda so.c#L305" i1+co224t >22480" va_enda so224retu6sf">va_enda soges chepg aon succ6>224 p>224s>117re_ sa hr6ef">flags2243"> 11ass>1175lusme=start"/ s+codre4ts+code=va_e6s iz24tsrefIALL0" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefIAlp_" nasrotvmap_atmrnrs="sof %ldabytn"rs="s59"I" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI++e sa hr6ef">flagslist2248etu6s funcruLLLLLLLLLtmes="sres>123rnsert__=appva"evm+code=va_e6s iznsert__=appva"evm59" 0176long as fpvas59"I[nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI]3 nasrotvmap_atmrVM_LLOC_+code=va_e6s izVM_LLOC_ref)_ sa hr6ef">flags22481ass>1182 __"+c_insLLLLLLLLuLLLLLLLLLtmes="sres>123rncpu_nt_s="c24t_s fpncpu_nt_s="c24t_s59" r5f">va_enda soflags>2248a" va_enda so 11ass>118 ef="mm/224> >2248a" va_enda sovmap_aa>); 2248c_ini_c>12ode=tmp" ctmes=c_i224sBUG_O52"> 11ass>224=5>2249etu6s funcrualusme=start"/ s+codre4ts+code=va_e6s iz24tsrefIALL0" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefIAlp_" nasrotvmap_atmrnrs="sof %ldabytn"rs="s59"I" nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI++ess="sref">vaMapva" 2242va_enda si224ay>2249>117va_enda so 11ass>117123rkree_+code=va_e6s izkree_vefe nasrotvmap_atmr Msof %ldabytn="s59"I[nasrotvmap_atmee4ts+code=va_e6s iz24tsrefI]e5f">va_enda so2249etu6s funcruLs vmalloc.5#L23255c#L21452249de=flnasrotvmap_atmunrr_ree_2+code=va_e6s iznrr_ree_2vefe: vmalloc.5#L23255c#L2241va_enda sofl5f"2241a>2249a" va_enda sovmap_atmelt; ref="m224ef>2249a" vefe5f">va_enda so2249vmap_s vmalloc.5#L23255c#L215a_enda so<5s2250rrno5ea to unche> BUG_O52"> 11ass>225=5>2250span ef="mm/6L30_r65c#L259"/* ne6>re_ sa hr6ef">flagsva_enda si225ay>225062L3006loc6c#Lp 65c#L294" i1">ncpu_ree_s="c24t_s - ree_avmo6e1v 24t_s-lusmpercpuco6e1ateorne6>re_ sa hr6ef">flags eo2 cer 24rayreglinnt" by ncpu_nt_s="c24t_s()ne6>re_ sa hr6ef">flags2250gh s>1238 oacovern@f">vefrom @"rs="s: eeenumber ofad6e1ateev 24t_s596>re_ sa hr6ef">flags22509" i1217L300" c12ass="liva m 596>re_ sa hr6ef">flagsFee_avmsref"> smadsmeeer24rayrd6e1ateev by ncpu_nt_s="c24t_s().ne6>re_ sa hr6ef">flagsfl5f"2251a>2250"> */flagsvmap_atmelt; ref="m225ef>2258a" 123rncpu_ree_s="c24t_s fpncpu_ree_s="c24t_svefe 305" i1176long va_endaa sMapl_os="mape="sof %ldabytn="s59"I_L sa hrfnrs="sof %ldabytn"rs="s59"Ie sa hr6ef">flags2250c_inis="sref">vaMapva" 225sva2251a" va_enda so2251etu6sf">va_enda soges: 6>ges to che2256*>2251>117flags 11ass>117123rree_s="c24t_of %ldabyteoee_s="c24t_vefe nasrotvmap_atmr Msof %ldabytn="s59"I[nasrotvmap_atmei+code=va_e6s iznvefe]e5f">va_enda sovaMap225i >2251etu6s funcrusnasrotvmap_atmtkree_+code=va_e6s izkree_vefe nasrotvmap_atmr Msof %ldabytn="s59"Ie5f">va_enda so2251de=fls vmalloc.5#L23255c#L2156 225100" c#endif="O/s *ltflags2251c_inistatic "+co a sMapl_os="mapeserar=start"/ sMapl_osssrar=srefe 305" i1176long 123rpos fpnos59"Ie sa hr6ef">flags22520" flagsvaMapva" 225222522tu6s funcrua sMapl_os="mapcloff=start"/ sMapl_ogloff=sa_endnasrotvmap_atmrnof %ldabytn"vefeALL*tmes="sres>123rpos fpnos59"I5f">va_enda so 11ass>117d305" i1176long va_enda176long va_enda so2252m/6ms vmalloc.5#L23255c#L2254f 12m in __v 2253,>22521ass>1182 _176long va_enda soMlisttart"/ sMapl_og=alist59"I5f">va_enda soamp;>m=start"/ s+codr=tart"/ sMapl_os=59"Iess="sref">vaMapva" 2256vaMapv225 c>2252a" va_enda soge *ef225es>2252vmap_atmes="srefr_s>1 sMapl_os="mapr=tart"/ sMapl_os=59"IALLOC_STARTtart"/ sMapl_os=59"Imap_atmes="sres>123rax" fpex"sref)5f">va_enda so22531ass>1182 _s vmalloc.5#L23255c#L21512253etu6s funcruo27+ ail=rb_nodrss="rnof %ldabytn"vefee sa hr6ef">flags123map_sa5" i1252L30225es>2253>117va_enda so2253"> 15f">va_enda so 225s,>2253etu6s funcruL="linea sMapl_os="mapNULL"+code=va_e6s iNULL>vefe5f">va_enda so2253de=flagsfla22562253>tigus vmalloc.5#L23255c#L21517nd" c 225nodrss="sreordTuva" ,/v225no>2253a" 2253a" 123rpos fpnos59"Ie sa hr6ef">flags2253c_inis="sref">vaMapva" 225sva_enda176long va_enda soflag>ge *ef="+cod225">>2254etu6sf">va_enda so2254>117123rpos fpnos59"I5f">va_enda so22543tu6s funcruL="linea sMapl_os="mapN>tart"/ sMapl_os=59"Imap_atmes="sres>123rax" fpex"sref)5f">va_enda so2254etu6ss vmalloc.5#L23255c#L21522254de=flagsfla2252 */flags >225">tigustatic "+co sMapl_os="mapeseraog fpseraogrefe 305" i1176long flags2254a" flags2254c_inis="sref">vaMapva" 225s2254vmap_atmes="s176long va_enda so *6llo225oc>2255etu6sf">va_enda so2255>117va_enda176long flags */ 2253"> 11s="sref">vaMapva" 2253vaMapva" 225322551ass>1182 __"+c_ins111ass="l sa hrfnrof %ldabytn"r59"I_La176long va_enda so 225el>2255malls vmalloc.5#L23255c#L2253ges chepg aon succ6 e225p>>2255a" flagsva_enda so2255c_ini_c>12ode=tmp" ctmes=c_i225s22561ass>1182 __"+c_ineOC_STARTva_enda so 2256etu6sf">va_enda so 123rar_pag_start"/ sMapl_ogar_pag_s59"I" nasrotvmap_atmenrof %ldabytn"r59"I++e sa hr6ef">flags2253"> 11ass>117123rpag_start"/ sMapl_ogpag_s59"I[nasrotvmap_atmenrof %ldabytn"r59"I])]++5f">va_enda so */ 225ke>2256m/6ms vmalloc.5#L23255c#L2255lis225+c>22511ass>1182 __"+c_inLOasrotvmap_atm lus_eachs"mav_stat_+code=va_e6s izlus_eachs"mav_stat_vefe nasrotvmap_atmrnrof %ldabytn"r59"I_L sMapl_os="mapcN_HIGH_MEMORY+code=va_e6s iNU_HIGH_MEMORY59"Ie sa hr6ef">flags225300" c11111111111119"2a **27+ nasrotvmap_atmrcou cerstart"/ sMapl_ogcou cers59"I[nasrotvmap_atmenrof %ldabytn"r59"I]) sa hr6ef">flags&quo_" N#37;fu=#37;fu&quo_"ne6>re__Lnasrotvmap_atmenrof %ldabytn"r59"I_L sMapl_os="mapccou cerstart"/ sMapl_ogcou cers59"I[nasrotvmap_atmenrof %ldabytn"r59"I])5f">va_enda sovmap_ || c+code=r225sr>2256a" va_enda so2256vmap_s vmalloc.5#L23255c#L215s * Ma225 >2257rrno5ea to unche> flags2257mallss="sref">vaMapva" 2253 11ass>117d305" i1176long va_enda176long va_enda so&quo_"0x#37;fp-0x#37;fp%f7ld&quo_"ne6>re__ vmalloc.5#L23255c#L2255123raddrof %ldabytnaddr59"I_L sMapl_os="mapc tart"/ sMapl_os=59"Imap_atmes="sres>123raddrof %ldabytnaddr59"IA+ nasrotvmap_atmu tart"/ sMapl_os=59"Imap_atmes="sres>123rproa+code=va_e6s izsroa59"I_L sMapl_os="mapc tart"/ sMapl_os=59"Imap_atmes="sres>123rproa+code=va_e6s izsroa59"I)5f">va_enda so 11ass>1225=">2257a" 2257a" 123rc hrerof %ldabytnc hrer59"Ie sa hr6ef">flags1 sMapl_os="maprseq_printf+code=va_e6s izseq_printfvefe nasrotvmap_atmrm+code=va_e6s izm59"I_Ln/s *lt&quo_" #37;fpS&quo_"ne6>re__Lnasrotvmap_atme tart"/ sMapl_os=59"Imap_atmes="sres>123rc hrerof %ldabytnc hrer59"Ie5f">va_enda so.c#L305" i1+co225t >2258rrno5ea to unche> 2258etu6s funcruo27+ nasrotvmap_atmr tart"/ sMapl_os=59"Imap_atmes="sres>123rar_pag_start"/ sMapl_ogar_pag_s59"Ie sa hr6ef">flagsges chepg aon succ6>225 p>2258>117&quo_" pag_s=#37;fd&quo_"ne6>re__Lnasrotvmap_atme tart"/ sMapl_os=59"Imap_atmes="sres>123rar_pag_start"/ sMapl_ogar_pag_s59"Ie5f">va_enda so2258"> 15f">va_enda solist2258etu6s funcruL27+a sMapl_os="mapc tart"/ sMapl_os=59"Imap_atmes="sres>123rphys_addrof %ldabytnphys_addr59"Ie sa hr6ef">flags22581ass>1182 __"+c_ins=start"/ s+codcseq_printf+code=va_e6s izseq_printfvefe nasrotvmap_atmrm+code=va_e6s izm59"I_Ln/s *lt&quo_" phys=#37;fllx&quo_"ne6>re__L 111ass="llongllong) sMapl_os="mapc tart"/ sMapl_os=59"Imap_atmes="sres>123rphys_addrof %ldabytnphys_addr59"Ie5f">va_enda soflags>2258a" 123rflagstart"/ sMapl_ogflags59"IAlmp;>m=start"/ s+codrVM_IOREMAPtart"/ sMapl_ogVM_IOREMAP59"Ie sa hr6ef">flags 11ass>118 ef="mm/225> >2258a" &quo_" ioremap&quo_"ne6>re_e5f">va_enda sovmap_aa>); 2258c_ini_c>12ode=tmp" ctmes=c_i225s123rflagstart"/ sMapl_ogflags59"IAlmp;>m=start"/ s+codrVM_LLOC_+code=va_e6s izVM_LLOC_ref)e sa hr6ef">flagsBUG_O52"> 11ass>225=5>2259etu6s funcruaa **il=rb_nodrss="nseq_printf+code=va_e6s izseq_printfvefe nasrotvmap_atmrm+code=va_e6s izm59"I_Ln/s *lt&quo_" agsre_e5f">va_enda sova_enda si225ay>2259malls vmalloc.5#L23255c#L2152 11ass>117<27+a sMapl_os="mapc tart"/ sMapl_os=59"Imap_atmes="sres>123rflagstart"/ sMapl_ogflags59"IAlmp;>m=start"/ s+codrVM_MAPtart"/ sMapl_ogVM_MAP59"Ie sa hr6ef">flags2259etu6s funcruLLLLLLLLLtmes="sres>123rseq_printf+code=va_e6s izseq_printfvefe nasrotvmap_atmrm+code=va_e6s izm59"I_Ln/s *lt&quo_" agsp&quo_"ne6>re_e5f">va_enda so2259de=flagsfla2251123rflagstart"/ sMapl_ogflags59"IAlmp;>m=start"/ s+codrVM_USERMAPtart"/ sMapl_ogVM_USERMAP59"Ie sa hr6ef">flagsfl5f"2251a>2259a" &quo_" user&quo_"ne6>re_e5f">va_enda sovmap_atmelt; ref="m225ef>2259a" va_enda so22599> 11ass>117a27+a sMapl_os="mapc tart"/ sMapl_os=59"Imap_atmes="sres>123rflagstart"/ sMapl_ogflags59"IAlmp;>m=start"/ s+codrVM_VPAGESof %ldabytnVM_VPAGES59"Ie sa hr6ef">flags22601ass>1182 __"+c_ineOC_START&quo_" apag_s&quo_"ne6>re_e5f">va_enda soBUG_O52"> 11ass>226=5>2260etu6sf">va_enda sova_enda si226ay>22602tu6s funcrua sMapl_os="mapcshow_numa_info+code=va_e6s izshow_numa_inforefe nasrotvmap_atmrm+code=va_e6s izm59"I_LnsMapl_os="mapc tart"/ sMapl_os=59"Ie5f">va_enda so&39;t\n&39;tne6>re_e5f">va_enda so2260etu6s funcruL="linea05f">va_enda so2260de=fls vmalloc.5#L23255c#L21626nd" c 226a/vche_atea *f="+co2262260malls vmalloc.5#L23255c#L22647nd" c 226fl5f"2261a>2260"> */static constd305" i1176long vaMapva" 2268vmap_atmelt; ref="m226ef>2260a" 22609" va2261a" 22611" ges: 6>ges to che2266*>2261>117<}5f">va_enda so 15f">va_enda sovaMap226i >2261etu6sstatic sa hrf=a23255_ogenof %ldabytn=a23255_ogenrefe 305" i1176long flags2261de=fls="sref">vaMapva" 2266 22616> 11ass>117a111ass="l a sMapl_os="mapeptrof %ldabytnptrrefeALLOC_STARTvefe5f">va_enda sova_enda sova_enda so22619> 11ass>117a27+a sMapl_os="mapcNUMA_BUILD+code=va_e6s iNULMA_BUILD59"Iess="sref">vaMapva" 226s22621ass>1182 __"+c_ineOC_STARTva_enda so2262etu6s funcruaa **27+ nasrotvmap_atmrntrof %ldabytnptrrefeALLLOC_STARTvefee sa hr6ef">flags2262>117va_enda so 11ass>117ds vmalloc.5#L23255c#L21632262etu6s funcrusnasrotvmap_atmtrestart"/ sMapl_osresref)ALLOC_STARTva_enda sof 12m in __v 2263,>22621ass>1182 _27+ ail=rb_nodrss="rrestart"/ sMapl_osresref)ess="sref">vaMapva" 226sva_enda sova_enda sovaMapv226 c>2262a" va_enda soge *ef226es>2262vmap_atmes="srefr_s>1 sMapl_os="maprkree_+code=va_e6s izkree_vefe nasrotvmap_atmrgtrof %ldabytnptrrefee5f">va_enda so22631ass>1182 _="linea sMapl_os="mapNrestart"/ sMapl_osresref)5f">va_enda so2263etu6ss vmalloc.5#L23255c#L2161123map_sa5" i1252L30226es>2263malls vmalloc.5#L23255c#L21632263"> 15static constd305" i1176long vaMapva" 2264 226s,>2263etu6s funcruL.176long 22635tu6s funcruL.176long 22636tu6s funcruL.176long 22637tu6s funcruL.176long 2263a" va_enda so2263c_ini_c>12ode=tmp" ctmes=c_i226sflagsflag>ge *ef="+cod226">>2264span s="sref">vaMapva" 226222642tu6s funcrua sMapl_os="mapcpra"ec4t_t_+code=va_e6s izpra"ec4t_t_vefe n/s *lt&quo_">Mapva"info&quo_"ne6>re__Lnasrotvmap_atmeS_IRUSR+code=va_e6s izS_IRUSR59"I_LnsMapl_os="mapcULL"+code=va_e6s iNULL>vefe_@amp;1176long va_enda so22643tu6s funcruL="linea05f">va_enda so2264etu6ss vmalloc.5#L23255c#L21622264de=flnasrotvmap_atmumodul__nsistart"/ sMapl_osmodul__nsisvefe nasrotvmap_atmrgra"evm23255_nsistart"/ sMapl_ospra"evm23255_nsisvefee5f">va_enda so */flags >226400" c#endiff">va_enda so2264a" 2264c_ini

The orig alfLXR software by eeer vmallohttp://sourceforge.net/projects/lxr">LXR f="musisyvefe_@t>s 4exgerimm/6alfversion by vmallocailto:lxr@lloux.nooglxr@lloux.novefe.
lxr.lloux.no kindly hoseev by vmallohttp://www.redpill-llopro.noogRedpill Llopro ASvefe_@provider ofaLloux consulhngs adsmogerations services since 1995.