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;
pte_t *pud_alloc(&pud,   90E3_ne" name="L90"> 63a>);
addralloc.c#L115" id="L115" class="line" name="L115"> 115
pmd = vmap_pte_range(pmd, addr, nextef="+code1=PAGE_SIZE" class="sref"1>PAGE14e_or_clear_bad" class="sref">ame="L140"> 140        if (!pud)
paef">addr != addr, next);
  72        } while (pud++, addraddrpud, unsigned 1long 14ext, addr, unsigned long   491/a>   "sref">pte;
;
pte++, pmd>sgpr kva (} wh, +/a>;
)
<>  50        unsigne1d lon159d31748216b88_3/0">  95"pmd which helps higher level
1>pmd 1=    21pud" clas1s="sref">pud, asm/sh"mmIe. ptt atpfn corresponiv>
 5">pmd   21pss="sref" href="+code=pmd_addr_en1d" cl15oc.c#L4" id="L4" class="line" *  NumL55">  551                if (1 114}d="L74" c_no64/tlf">addralloc.c#L115" d="L74" c_no64/tl" cla>         133static int  *  NumL"sref">ada href="+code=pmd" class1="sre1">pmd))
addr,
 134                unsigned long end, vunmap_p1te_range(page **1addr = nref">end)
  76{
addr<1/a> !16L119"> 119        pmd_t *end);
 119        next);
pgd1,16141" class="lne" name="L114"> 11erext" class="sreferext)  addr, unsign1ed lo1g  11dr" class="sref">addr)    93        pud;
sref">next;
  79
  16gt;
addr >= end);
  81  1>pud 1= pud_offset(pgd, addr);
  82        do {
  83                next1 = pud_addr_endname="L114"> 11erext" class="sreferext)name="L131"> 131}
pud = vmap_pte_range(pmd, addrlinux/sched.h="+code=1                if (1(<1a href="+code=pud" class1="sre1">pud))
linux/sched.hud)
(pud, addr, next);
  87        } while (pgd++, 1addr = addr<1/a> !17ef="mmude/la 14     pgd" class=e=addr" class="sref">addr);
PAGE_SIZE, vunmap_page_rang1e17 114}d="L74" cf">addralloc.c#L115" d="L74" c" cla>         133static int  *  Num/vmalloc.1c#L77" id="L77" class="l1ine" 17class="sref">prot, addr,
 134                unsigned long end, pgd;
(  78        unsigne1d lon1  11r class="line" namre namea href="+code=pmd" class="80   1      =  11r class="line" namre namea>)name="L131"> 131}d="L74" c_no64/tlf">addralloc.c#L115" d="L74" c_no64/tl" claef="+code=pud_tassr         return -ssr name="static int vmap_pte_range(pmd,  pgd_offset_k(64/tl_cache_L115" claef="+code=pud_tassr         return -ssr name="static int                 if (1PAGE_SIZE, (<1a href="+code=pgd" class1="sre18 11is_" class=endinux/m_7">  87        is_" class=endinux/m_7"> " claconstlass="de=end" class="sx 87        xode=>, 1addr = page **addr<1/a> !18f="+code=next""1>  491/a>   "sref">pte;
end);
  491/a>   "sref">;
pmd;
pages<1/a>, 19a href="mm/vmalloc.c#L2" id=a hrecod* *  Num/vmalloc.1c#L93" id="L93" class="l1ine" 1ame="L#odee=end" class="sdef93"unsigned long pmd, addr);
nextef="+code1=PAGEpmd++,BdVADDR+code=addr" cla/a>++,BdVADDR+code=1addr" class="sref">addrL94" id="1L94" class="line" name="1L94">1 94
pgd1<page **  1      /19);
pud))
++,BdVADDR+cod" ns">nextef="+code1=PAGE++,BdEND+code=1addr" class="sref">addrLs_" classarray which helps higher1 leve19134" class="line" nam(1 !18frack of where we're 1up to1ean class="comment">     1    *199         if (1PAGE"sref">1addf="+code=next" cls="sref">1add href="+csref">page **  92
()name="L2f (!pte20ode=pa1ges" class="sref">pahrecod* ARM, x86-64 a/a de/asm- p2 href="+c2de=ENOMEM" class="sref">2NOMEM20m.h" class="falt">asm/sh"mmIe Walk="rcoderef="essa href="="+code#L94"mm/odesrecod*2class="li2e" name="L103"> 103 2     20class="line" name="L2">   21pnsigned long nr<2074
.c#L104" id="L104" class="line" name="L104"> 104            ef">1addto_lass="line" name="Lef">1addto_lassf="+cod1e=nex18="sref">page ef">1addf="+code=next" cls=ef">1add href="+e=1addr" class="sref">add2" id="L102" class="line" name="L102"> 1020d)
;
)
pgd1<1add href="+a href="include/linux/kmem98;
 104                struct NULLstruct      2page<206{
addr<1/a> !16L119"> 119          81  1>pud 1= pud_offset(pg2 href="+c2de=ENOMEM" class="sref">2NOMEM219}
2rot));
pahrecod* ARM, x86-64 a/a de/asm- p2 (*pages<1/a>, 1XXX we might ne="+ hrchp_ptrefise"srwe hre VIRTUAL_"line" forecod* ARM, x86-64 a/a de/asm- p2 href="+c2="+code=end" class="sref2>end<21ne" 1ame="L#odee=end" class="sdef93"u "srhitecdo notc.c#L2" i++,  113      2 retu21class="line" name="L2">   21"sdef93"unsigned long (, 1addr = page ef">1addf="+code=next" cls=ef">1add href="+eode=1pgd" clas1s="sref">pg2  id="L102" class="line" name="L112"> 1121=endinux/m_7">  87       2g  1= WARN_ON_or_clear_bad" class="srefef="mm/vmalloc.c#L67" id="2 int *nr21  do {
 136          66        pud = pud_offset(pgd2 id="L1182 class="line" name="L1182> 11821);
WARN_ON_or_clear_bad" class="srefef="mm/vmalloc.c#L67" id="2a> *pmd22))
WARN_ON9" id="L119" class="line" name="L119"> 119          52        pmd = pmd_offset(pud2g WARN_ON_or_clear_bad" class="srefef="mm/vmalloc.c#L67" id="2a(* 122
WARN_ONL93" id="L93" class="line" name="L93">  93  ed long   ea hre1f="+c18t *pte_t<2 addrpmd2/a>)
WARN_ONL9ed long   ea hre" name="L40">  40       gned long        gness="sref">pmd = pte_alloc_kernel(pmd2 href="+c2de=ENOMEM" class="sref">2NOMEM22f">pud)
paealloc.c#ref">WARN_ONL9        93  ed long   ea hrpmd" class="sref">pmd2  id="L102e" name="L125"> 125 2     2do {
  40="+code=ptent" class="sref">ptent) && !ame="L140"> 1402>, paealloc.c#ref">WARN_ON   struct pref"   struct ) && !pmd2 int *nr<2a>))
WARN_ONL9_ 86pmd2 id="L1182de=ENOMEM" class="sref">2NOMEM22>))
( 130      2 retu23/a>)
(PAGE>   struct pmd2" id="L132" class="line" name="L132"> 1323);
PAGEEXPORT_SYMBOLstruct page ef">1addto_lass="line" name="Lef">1addto_lassf="+"pmd" class="sref">pmd2 int *nr23a>}
 *pud23/span>
2g  132
1addto_lfn="line" name="Lef">1addto_lfnf="+cod1e=nex18="sref">page ef">1addf="+code=next" cls=ef">1add href="+e=1addr" class="sref">add2 );
pud2/a>)
PAGE>   dto_lfn="line" name="L>   dto_lfnf="+csref">page ef">1addto_lass="line" name="Lef">1addto_lassf="+csref">page ef">1addf="+code=next" cls=ef">1add href="+eode=1pgd" clas1s="sref">pg2 href="+c2de=ENOMEM" class="sref">2NOMEM2/a>;
<;
PAGEEXPORT_SYMBOLstruct page ef">1addto_lfn="line" name="Lef">1addto_lfnf="+ode=1pgd" clas1s="sref">pg2  , ne24/span>
pud, unsigned 1l2ng 142xtlong   491/a>   "sref"2pte;
()
;
pte2/a>++,#ss=="+ef="mm/vmalloc.cVM_VM_AREA_offset()
)name="L295"p2d which hel2s hig2er levoc.c#L104" id="L104" ca hrearea="line" name="Lef"rearea>)
pud, pmd2poprot5">2fn corresponiv>
 5">pmd<2[N]L2254 return -ssrmm/vmalloc.c#L137" id="L137" ea_ 14     pgd" classea_ 14de=ppmd" class="sref">pmd2p      if2a>                if (1<2 hr152594
pmd2p>, 2     25o {
  84 list_hee= {
  84 list {
<;2alloc.c##r
nre25a>;
  84 list_hee= {
  84 pur  dlist {
<;2allr
 276{
pmd2a> *);
  84 rcu_hee= {
  84 rcu_hee= {
pmd2a (!pmd2a5"p2e=addr" classdr" class1=2sref"26a>}

  84 DEFINE_SPINLOCKf="+csref">page ef"rearea_c.c 1= pg21alloc1652"+code=next" class="sref2>sref2>nextpage ef"rearea_cist"L84">  84 ef"rearea_cistf="+ode=1pgd" clas1s="sref">pg21      if2"L79" class="line" name=2L79">2674
pgd_offset_kpgd_offset_kRB_ROOT>pgd_offset_kpmd2a>, e26=endinux/m_7">  87       2, 
  82    2   do >
            free+codehref="code=nr" class=free+codehref=" {
pmd2a id="L132"> 131}
pmd2/>, 2<1a h270#L13>
pmd2/ (!linux/sched.2u2)
>
pmd2/5"p2f="+code=next" class="sr2f">ne27a>}
)
>
pgd_offset_kpmd2/alloc1652ddr" clas1ss="sref"1a>);2;
pmd2/>,  137        unsigned long next;
 131}
pmd2lo2"sref">pmd2lo2"sref">pmd2lo2 href="mm/vmalloc.c#L130" id=code=27a>;
static int   84 l class=free+codehref=" {
pmd2a>, pmd<.malloc.hrref="essasortcodrbtreecunsigned long       2 retu23/a>)
/>,  137        unsigned long  131}d="L74" c_no64/tlf">ad2rallo2.c#L115" d="L74" c_no64/tl" cl2ef="+code2pud_tassr         return2-ssr 28"line" name="L93">  9next" class="srv  unsigned long 2a>, pgode=next" class=npmd<>(        unsigned long 
,BdVADDR+code=addr" cla/a>++,BdVADDR+cod" ns">nes="sref">addrLs_" cv  unsigned long 2poprot5">2fn corresponiv>
 5">pmd<2[N]L2254 retref">pmd2lo2   40 s="sref">pmd2a>, 2poprot5">2fnnedleff"rearea_ro"1de=pagleffg  11is2" cla28de=pe" me="L93">  93++,BdVADDR+cod" ns">nextesref">addrLs_" cv  unsigned long 2poprot5">2fn corresponiv>
 5">pmd<2[N]L2254 retref">pmd2lo2 hreendinux/m_7"> " claconst2ass="28" class="sref">ptent) &ams="sref">pmd2a>, 2poprot5">2fnnedra de"rearea_ro"1de=pagea deg 28 href="+code=page" clelse href="mm/vmalloc.c#L137"1 crb_n4" nd);
PAGEEXPORT_SYMBref="+cod2=pmd_t" clas1s="sr19epage ef">1addto_lass=comment">     2page<206{
, 19a2href="mm/vmalloc.c#L2" i2=a hr29s="sr18s="sref">PAGEEXPORT_SYMBef93"unsi2ned long addr2/a>);29ge ef"reclassnext" class="srefinsertxt;
,  137        unsigned long pmd2lo2 )
 pmd<.malloc.hrref="essasortcodrbtreecunsigned long  !18f2ack o2904" id="L104" clist"L84">  84 l class=free+codehref=" {
pmdame="L140">s=""spmd2a>,      2page<206{
ean class="comment">2    12904" id="L104" cpur  dlist"L84">  84 class=free+codehref=" {
pmd{
1addf="+code=next" cls=2sref"29>++, pmd      2 retle (WAR/>,  137        unsigned long )
>
  90ame="L140">s=""spmdd lon1 addr3* next" class="srtm+_v  unsigned long tm+_v /a>2a>, pgps=""sref">ame="L140">s=""spmd<>(        unsigned long 
 104      3     30de=pe" me="L93">  93<(2fn corresponiv>
 5">pmd<2[N]L2254 retnes="sref">addrLs_" ctm+_v  unsigned long tm+_v -extea>2poprot5">2fn co         if (1<2 hr152594pmd2lo2 ptent) &ams="sref">pmd 2poprot5">2fnnedleff"rearea_ro"1de=pagleffg )
2fn co         if (1<2 hr152594addrLs_" ctm+_v  unsigned long tm+_v -extea>2poprot5">2fn corresponiv>
 5">pmd<2[N]L2254 retref">pmd2lo2  104    30a>                        rets="sref">pmd 2poprot5">2fnnedra de"rearea_ro"1de=pagea deg addr<1/a> !16L1193> 11930end" class="sref2>endelse href="mm/vmalloc.c#L1373a href="23ode=prot" class="sref">23ot 119        ;

pahreco3* ARM, x86-64 a/a de/asm3 p2 (312> 13123/a>
, 1XX3 we might ne="+ hrchp_pt3efise31a>)
>
do notc.3#L2" 31de=addr" clas1s="+code=1 hrepaglinkasortcodrbtreecunsignedlinkasortgd" c 2fnssasortcodrbtreecunsigned long ame="L140">s=""spmd<>( lon1 
2fnssasortcodrbtreecunsigned long pmd<
>
(
soc#L93s uso ha+27ke id="L9276"> 276{
WARN_ONs="sref">pmd/a>2a>, 2fnssasortcodrbtreecunsigned long 
 136   (
WARN_ON/>,  137        unsigned long 
WARN_O39" id="L119" class="3ine" 3ame="L119"> 119   next" class="srprevcodrbtreecunsigprevgd" /a>2a>, pgtm+  c#L2" ilistcutm+>(        unsigned long 
WARf="+c2de=ENOMEMr
2fnrtcodlistcunsigned long 2poprot5">2fnrtcodlistcunsigned long 
  902fnrtcodlistcunsigned long 2674
WARN_ONL9        40="+co3e=pte32nt 
WARN_ON   s3ruct 32"L98#ss=="+ef="mm/vmalloc.cVM3loc.c#ref3>WARN_ONL9_ 86 d23/span>
( 13033ref="ref">pmdu2
276{
,  137        unsigned long         unsigned long ne" 2aa>       gd" c 17class="sref">prot,  1343g >>>>>>>>>>>>>>>>a href="mm/vmallo2"sref">pmd}
 1343goc.c#ref3a href=EXPORT_SYMBOLf="+3sref"33 ea hre" name="L40">  40       gnpcpu_hole {

 5">pmd<2["s"sref">addr,
 1343id="L13523class="line" name="L13523 135233de=pe" me="L93">  93  ed long pmd2lo2  *3a hr233a>;
  84 la>        unsigned long   84 class=free+codehref=" {
pmdWARa href="mm/vmallo2"sref">pmd2lo2"sref">pmd2lo2"sd href="mm/vmalloc.c#L1373f (!pud34d" class="1sref"1pgd = pud;
pag clist"L84">  84 la>        unsigned long )
>

 MASa href=ef"reareant"> MASa#L13a>
ne234;
power_of_2 hr1 power_of_2ext" class="s"+code=/"+code=next" class=ne27a>}
<
<;
WARN_ONs="sref">pmd2a>, ,  137        unsigned long  1343LAZY_FREE3offset()
<34a>                        rets="sref">pmdWAR(pmd2lo2 ()3 119   e ef">1addto_lass=ERR_PTvmalloc.c#L15" iERR_PTvext" -f">1addto_lass=ENOMEMmalloc.c#L15" iENOMEMg )
  84 egrycodrbtreecunsignegrygd" :c.c#L104" id="L104" ca h3eLstruct 3 ea_=1 href="+code=pgd_a3a_=1 35de=addr" clas1s="+code=1 hrespin52"+code=next" classspin52"+cgd" c  d23/span>
   21pn34" crb_n43 code=nr" class=rb_n4"  3
2<1a h27013">"li2me laignst 2<1a13">ic="m_below_0class="line" name="L2">   21pn34  84 list_h3e= {
35="physicmdpages34" clist_3ee="L84">  84 list_h3e= {
35 class="line" name="L132"> 1 a/a de/asef"oi2me="2<1a,de=ewaf"1"oisca" f=om a>u2
   21pn34" crcu_h3e="L84">  84 rcu_hee3 {
pmd"i2me="__f="mm/2malf2>ssmay upd1le f="mm/2mallo2.c#Llass="line" name="L2">   21pn34"p232e=addr" classdr" class132sref36ne27a20class="line" name="L2">   21pn34area="li3ddr" classdud" clas1c#L23" id236rwe hre VIRTUAL_"line" forecod* ARM, 276{
  84 DEFINE_S3INLOC363s="sref">WAR( 131}
36 ea hre" name="L40">  40 s="sref">pmdaddrLs_" c/a>2/>, 2<1a h270#L13 ||
pgd_offset_k  93  ed md" class="sref"rresponiv>
 5">pmd<2["s"sref">c s="sref">addrLs_" c/a>2/>,2linux/sched.2u2)
 ||
ptent) &ams="sref">pmd}
addrLs_" c/a>2/>,="+code=next" class="sr2f">ne27a>}
<
 131}
 gd" :c.c#L104" id="L104" ca h3" crb_n4"3code=nr" class=rb_n4"  {3 136        2/>, 2<1a h270#L13 a>;
WARN_ON  131}
     2page<206{
 11a href="(1{
2/>,2linux/sched.2u2)
 a>2a>, 
 5">pmd<2["s"sref">{
pgd_3ffset37de=addr" clas1s="+code=1 hre/a>2/>,="+code=next" class="sr2f">ne27a>}
< a>2a>, }
<{
{
++,BdVADDR+code=addr">2a id="L132"> 131}
static int 2a>, pg>2a id="L132"> 131}
        unsigned long 
 136        1add href="href="+code=pe"ALIGa hr1 pg>irL79" class="line"firL7o2"s-extea>2poprot5">2fn co         if (1<2 hr152594pmd}
<
<;
   1     2a hre273/a>  37">WARN_ON_or_clear_baode=pe"code=next" cls=ef">1add href="href="">addrLs_" cv  unsignv>
 5">pmd<2["s"sref">{
2lo2  131}
 gd" :c.c#L10c.c#L104" id="L103m crb_n4/2>}d="L73" c_no64/tlf">ad2rallo2.3#L11538ss="sref">WARf="+c2der_baode=pe"code=next" cls=ef">1add href="href="+">pmdaddrLs_" cv  unsigsref">pmd2lo2"sref">pmd2lo2 3e2pud_tas3r         return2-ssr 283line"3name="L93">  9next" cleeeeeeeego3/s5" claeto32"> 1m/2rflow">pmd2lo2"sm/2rflow#L10c.c#L104" id="L103m crb_n4/3ef"reareg  ref="m")
 11is2" cla283e=pe"3me="L93">  931add href="href="+code=pe"ALIGa hr1 pg>irL79" iv>
 5">pmd<2["s"sref">addr,
ss="sref">pmd}
<
<;
 " claconst2ass="283 clas3="sref">ptent) &amr_baode=pe"code=next" cls=ef">1add href="href="+">pmdaddrLs_" cv  unsigsref">pmd2lo2"sref">pmd2lo2 3e3 133code=next" cls="2ref">283href=3+code=page" clelse hreeeeeeeeego3/s5" claeto32"> 1m/2rflow">pmd2lo2"sm/2rflow#L10c.c#L104" id="L103m crb_n4/3     uns;
WARN_ON 2a>, pmd<.malloc.hrref="essasortcodrbtreecunsigned long  119   next" class="srprevcodrclass="line"firL7o2"s/a>2a>,      2page<206{
  9next" clref="+code=pgdode=next" class=npmd<
>>>>>>>>>>>>>>>>="L137"> 137        unsigned long addr2/a>);293e39 name="L40">  40 s="sref">pmd/a>2a>, pgode=next" class=npmd<>(        unsigned long 
  93  ed md" clas="+code=vmatm+  c#L2" ilistcutm+
2fn co         if (1<2 hr152594ada hr2ref=/"+code=nref">pmd2lo2"sref">pmd<")
ptent) && !2a>, " clas 1/a> !18f2ack o2934" id39code=page" class="sref">pref"   struc="+code=vmatm+  c#L2" ilistcutm+
2fn co        v>
 5">pmd<2[N]L2254 retnes="sref">ada hr2ref=/"+code=nref">pmd2lo2"sref">pmd<="mm1f="+code=1ad1+code=3d3     unsclass="comment">2    12934" id3986) && !2a>, 2poprot5">2fnnedleff"rearea_ro"1de=pagleffg     402 retu23/a>)
/>, WAR/>, 2a>, 2poprot5">2fnnedleff"reaarea_ro"1de=pagea deg   9next" cl(1addr3* next" cl href="+csre>2a id="Llass="line"firL7o2"s/a>2a>, <="mm1f="+code=1ad1+code=4n3me="L104"> 104      3     304e=pe"4me="L93">  93<( 1fouif (1<2 hr152594ptent<(1 !18f2ack o294href=40="+ef="mm/vmalloc.cVM3loc.c#r4=3line" n4me="L104"> 104    304>    4              ss="sref"2nr{
4ddr<1/a> !16L1193> 119304nd" c40     le (1add href="href="+">pmdaddrLs_" ctm+_v  uclass="line"firL7o2"s-extea>2poprot5">2fn co        v>
 5">pmd<2[N]L2254 retnes="sref""+cocode=addr" clGFP_RECLt" cls=ef">1add href="href="+">pmdada hr2ref=/"+code=  if (1<2 hrlass="line" nam<")
23ot 119        1add href="href="+">pmd2<1a h270#L13 a>;
">addrLs_" cv  unsigclass="line"firL7o2"s-extea>2poprot5">2fn co        v>
 5">pmd<2[N]L2254 retnes="sre<="mm1f="+code=1ad1+code=4o3* ARM, 486-64 a/a de/asm3 p2 (314> 13141ss="sref">WAR/>, 2/>, 2<1a h270#L13 a>;
2poprot5">2fn co        v>
 5">pmd<2[N]L2254 retnes="sref-ef">pmd2lo2"sref">pmd2lo2"sd href="mm/vmalloc.c#L1373f (!  9next" class="srv  unsigt" cls=ef">1add href="href="+code=pe"ALIGa hr1 pg>irL79" class="line"firL7o2"s-extea>2poprot5">2fn co         if (1<2 hr152594pmd}
<
<;
do notc.3#L2" 314e=add41" name="L90">,BdVADDR+code=addr" cla/a>++,BdVADDR+cod" ns">nes="sref+">pmdaddrLs_" cv  unsigsref">pmd2lo2"sref">pmd2lo2 4d3ned lon4   40 s="sref"go3/s5" claeto32"> 1m/2rflow">pmd2lo2"sm/2rflow#L10c.c#L104" id="L103m crb_n4n3"_offse4(
4a href="mm/vmalloc.hr*3 ptent) &amass="srprevcodr" class=npmd2a>, 2poprot5">2fn co     odrbtreecunsigned long 
+" class=npmd<
pmd2a>, pg>2a id="" class=npmd<>(        unsigned long 
 1= WARN_ON/>, 9" 4d="L119" class="3ine" 3a4e="L149"> 119   next" cls="sref"go3/s5" claeto32"> 1fouif (1<2 hr152594
, 14X3>WARN_O4L93" id="L933 clas3=4line"42 hrref="+code=pmd" cl3OLstruc423="+code4pmd" class="sre23>pmd2324c.c#i42ef">1addto_lfn="linefouif (1<2 hr152594WARN_O4L9ed long  +code=addr" cla/a>++,BdVADDR+cod" ns">nes="sref+">pmdaddrLs_" cv  unsign if (1<2 hrlass="line" nam<" id="L104" ca h3" crb_n4f3"_offse4L9        93<( 1m/2rflow">pmd2lo2"sm/2rflow#L10c.c#L104" id="L103m crb_n4/3name="L40">  40="+co3e=pte324t pmd2a>, poprot5">2fn co        v>
 5">pmd<2[N]L2254 retnes="srefa hr2ref=/"+code=nref">pmd2lo2"sref">pmdc.c#L104" id="L103m crb_n4/3line" n4L9_ 86s="sref">pmd2a>, poprot5">2fn co         if (1<2 hr152594pmd2lo2"sref">pmdf+">pmds="sref">pmd2a>, poprot5">2fn co     tl" cla>2     25o {
s="sref">pmd;
, pmd2a>, oc.c#L104" id="L104pmd 131}
2poprot5">2fnssasortcodrbtreecunsigned long 
2/>,2cgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc1652"+code=next" class="sref2>sref2>next de=nextp1alloc1r1 2poprot5">2fn corresponiv>
 5">pmd<2[N]L2254 retnes="sref"ode=as"+code=/"+code=next" class=ne27a>}
<
<;
  932poprot5">2fn corresponiv>
 5">pmd<2[N]L2254 retnes="sref">addrLs_" cv  unsignv>
 5">pmd<2["s"sref">{
 *3a hr2334>;
  932poprot5">2fn corresponi if (1<2 hr152594addrLs_" ctm+_v  un if (1<2 hrlass="line" nampmdpud344" cla4s="1sr5" claeto32"> 1m/2rflow">pmd2lo2"sm/2rflow#L104" id="L104" ca h3" crb_n4d3o_lfn="4ine" name="L>   3to_lf3f4"+csr441s="sref">pmd)
>
44ic int pud;<")
  90
<04" id="L104" cLIS3 id="L14s3a href=4="+code=pud" cl23s="s2344e=add44 name="L40">  40 ="+csre>2a id="ss="sref">pud;ne2344
  93<( 1rbtreecunsignegrygd" :c.c#L104" id="L104" cLIS3 id="L14s3name="L4tor r**nsigned l3ng 
44"sref">ptent<(1WARN4ONs="sref"+code=addr" cla/a>+printk_ratelimie="L140">s=""spmdrintk_ratelimiesa>
<0<" id="L104" ca h3" crb_n4E3offset<4a>()
<344>    4                   rete=addr" cla/a>+printk="L140">s=""spmdrintkss="s"+code=h2f="+coKERN_WARNINpmd(end<23))
"79"aivmaaboveon sem-"sr2f%lu failed: ")3 119   e ef)
"us2>ssb3/" =">ad"sr2">add3/sinc nase-"sr2.\n"
pmdpmd2a>, oc.c#L104" id="L104)
1addto_lass=ENOMEMmalBUSY#L15" iERR_PTvexBUSYa>, oc.c#L104" id="L1042/>,  137        unsigned long pmd2lo2   84 list_h3e= {
354"phys45Ns="sref">pmd2poprot5">2fnssasortcodrbtreecunsigned long 
WAR( 131}
 rcu_hee3 {
 119        2poprot5">2fn corresponi if (1<2 hr152594addrLs_" c/a>2/>,2linux/sched.2u2)
 ||
WAR/>, 2/>, L132"> 131}
     2page<206{
  9next" cl(ef="m")
4 84 DEFINE_S3INLOC364s="sr46" name="L90">>>>>>>>>>>>>>>>>="L137"> 137        unsigned long 364ea hr4" name="L40">  40 s="sref">pmd}
pg>2a id="L132"> 131}
        unsigned long 
  93  ed md" clas="+code=vmap  unsigned long 2poprot5">2fn corresponiv>
 5">pmd<2[N]L2254 retnes="sref">ada hr2ref=nedongry}
2fn co        v>
 5">pmd<2[N]L2254 retnes="sre<")
ptent) &ams="sref")
2/>, L132"> 131}
2fnssasortcodrbtreecunsigned long 
pref"   struc name="L132"> d23/span>
 13646line" name="L132"> 1 a/a de/asef"oi2222222222222222222222222* We don't lasd3/s="mm/2m<1a h2701or "sr2f">   21pn34area="4/3ref="d_4=1 href="+code=p3d_are374e="L147">pmd"i2222222222222222222222222*
WAR/>,   9next" cl(1pgd_3ffset374e=add4" clas1s="+cod(12fnssasortcodrbtreecunsigned long 
pmd<
>
  932fnssasortcodrbtreecunsigned long 
  932fnssasortctcunsigned long 
   1     2a hre274/a>  47mdpossi id=candf="+cosem-pcpu ref="+ hreoc.c#L104" id="L13/" crb_4n2" name=4      pmd"i2mevmaaboveon.  A nas outside 1li"L13/"  ad2rallo2.4#L11548"a hrecod* justlput itgpr   95wic2out hered3/o, consider only e nums="+c2eshrefch f13/ of id"line" name="L2">   21pn34"4e2pud_tas4r         return2-ssr 284line"48VIRTUAL_"line" forecod* ARM, 276{i"L13/"     21pn34area="4/3ef"rear4g {
 +code=addr" cla/a>+ned long 2poprot5">2fn corresponi if (1<2 hr152594addrLs_" ctm+_v  uVMALLOC_START (1<2 hr1525942poprot5">2fn corresponi if (1<2 hr152594ada hr2ref=comment"VMALLOC_END (1<2 hr152594pmd2lo2  11is2" cla284e=pe"4me="L93">  93pmdpmd, pmdpmd, de=ENOMEMssasortcned long 2poprot5">2fn corresponi if (1<2 hr152594 " claconst2ass="284 clas48 href="mm/vmalloc.hrr3 284href=48Ns="sref">pmdpmd2a>, de=ENOMEMssasortcocu70eaf (1<2 hr152594    48ef="m(1pmdpmd276{ Fllon of KVA of ="L10vmaaboved by0vmaab>ssmay upd>1 hreoc.c#L104" id="L13/" crb_4+2pud_tas4/vmalloc.c#L2" i2=a hr294="sr149VIRTUAL_"line" forecod* ARM,{
,  137        unsigned long pmd2lo2 addr2/a>);294e49 name)
)
  93  93ssmay updm/vmallocinsertxtalf2>ssmay upd>1add>pmd2a>, oc.c#L104" id="L104 !18f2ack o2944" id49Ns="sref">pmd2    12944" id49ef="m(1pmd    50">pmdpte2305co" c50159d31748216b88_3/0">276{ Cleara1inspagete id= claiesh1liv given ssmay upd>1 hreoc.c#L104" id="L13/" crb_5 386-64 a5a de/asm- p2 hre3="+c2305>)
>
50VIRTUAL_"line" forecod* ARM,{
,  137        unsigned long pmd2lo2 addr3* 104      3     305e=pe"50e="L93">  932fn co        v>
 5">pmd<2[N]L2254 retnes="srede=ENOMEMssasortcned long 2poprot5">2fn corresponi if (1<2 hr152594 !18f2ack o295href=50="+ef="mm/vmalloc.cVM3loc.c#r5=3line" n5me="L104"> 104    305>    5      >, rangr{
prot, pmd<2[N]L2254>addr,
5ddr<1/a> !16L1193> 119305nd" c50     )
23ot 119    13151"a hrecod* justlput itgpr   95wic2out Unsmaspage te ids923/sforcon oTLB flush iitgdiately if{iCONFIG_DEt" ca#L1ALLOC os set. Thos bovchds9us2>afalerallo < hreoc.c#L104" id="L13/" crb_5o3ref="es5a r3/0">do notc.3#L2" 315e=add51ef="mAL_"line" forecod* ARM, 276{ bugs similarlsd3/sthosd of notcarakernel virtualums="+c2 < hreoc.c#L104" id="L13/" crb_5o3raddr" 5 { L_"c2>afaleraspage has bee2mallo>
(
51a hecod* ARM, x86-64 a/a de/asInvne2d   21pn34" crcu5 3line" n5 class="line" na3e="L1365> 13651line" name="L132"> 1 a/a de/asef"oi2mline" name="L2">   21pn34" crcu5 3"sref">5/a> 1= 9" 5d="L119" class="3ine" 3a5e="L152">pmd"i2medebugg"1fodoesn't dorasbroadcastoTLB flush soso hos aolot < hreoc.c#L104" id="L13/" crb_5O3* ARM, 5d="     /a> 1= <3 href3"5co" c52"a hrecod* justlput itgpr   95wic2out faster)"line" name="L2">   21pn34" crcu5X3>WARN_O5L93" id="L933 clas3=5line"52VIRTUAL_"line" forecod* ARM, 276{
1#ifdefmalloc.cv       CONFIG_DEt" ca#L1ALLOC (1<2 hr152594pmd<2[N]L2254>addr,
alloc.cv        if (1<2 hr152594L9        93pmd<2[N]L2254>addr,
alloc.cv        if (1<2 hr152594  40="+co3e=pte325t WARN_ON   s3ruct 325L98#s52N(1L9_ 86 130335ef="r53">pmdwe ganstr up276{ befissiattempt"1fo3/s" /a> upd1n oTLB flush"line" name="L2">   21pn34" crcu5!3>WARN_O5href="+code=ppmd3 clas335t    21pn34" crcu5!3="+code5ddr" class="sref3>addr335c.c#i53ef="mAL_"line" forecod* ARM,1aTferedos aotradeoff here: aol<1a1r numb1r willgcm/2rrmissikernel page te idsline" name="L2">   21pn34" crcu5!3>WARN_O5XPORT_SYMBOLf="+3sref"335ea hr53 nameAL_"line" forecod* ARM,*923/stake sld hrlsdmm/ver tos" /a>, butso hwillgnotcarlsdreduce nst numb1r of 1 a/a de/*gnsat of pr"cticf"1"orkloadsrmi hrobsiconstrarefd of onstr wayignsat meana  hreoc.c#L104" id="L13/" crb_523d="    5"line" name="Lef3>1add335s="sr53mdpud345" cla54">pmd   3to_lf3f5"+csr54159d31748216b88_3/0">276{ armissiagg"+c2retelogom alo. I hwillgstillgbte23 imprm/2276< m/2rrnst ol)
>
54VIRTUAL_"line" forecod* ARM,{     ,e23/so hwillgbe-"smpled3/ changr" fied alogf"ctorncountesrivmnsat ot < hreoc.c#L104" id="L13/" crb_5 3a href=5XPORT_SYMBOLf="+3sref"345e=add54ef="mAL_"line" forecod* ARM,1abecomds923pro idm on bifver systems"line" name="L2">   21pn34" crcu5s3a href=5="+code=pud" cl23s="s2345e=add54 nameAL_"line" forecod* ARM,*
ne2345
2/>, WARN5ONs="sref"(pmd
2     25o {
1add>pmd2     25o {
num_on_LAZ_cpuc>1addooc.c#L104" id="L104)3 11.c#L104" id="L104 which hel23 hig23r5levoc551s="sref"ext" class="srv  unsig2ogsigned long 
* (32UL
* 1024
* 1024
/lass="srv  unsiga#L1_SIZEhref="+code=nexa#L1_SIZE nam)
, pmd<2[N]L2254atomic_5
ass="srefinsert"+codapmd2lo2"s"+coda
1add0{
  84 list_h3e= {
355"phys55N>,  rcu_hee3 {
pmdnext="L137'sline" name="L2">   21pn34" crcu5h3276{ iitgdiately allo>
5 84 DEFINE_S3INLOC365s="sr56" namt" class="srefinsertset_iounsma_non_treecunsignsigne nset_iounsma_non_tre>1addt" c<" id="L104" ca h3" crb_n573=addr" 5laLIST_HEADf="+c3ref">365ea hr56 name)
pgd_of5set_k  93pmd<2[N]L2254atomic_set1s="s="+code=nextp1alloc1652"+apmd2lo2"s"+coda,
alloc.cv       21add)+1 13656line" name="L132"> 1 a/a de"si"L1p=" nas
pmd276{ If syn8eos 0u fin don't " /a> cou firedos al nady923p /a> cf prog"+c2
addre23/s*e nuevena  hreoc.c#L104" id="L13/" crb_5O3ef"rear5a_pcpu_hole>pgd_3ffset375e=add57ef="mAL_"line" forecod* ARM,1acountesouif>no 2 fos 3/soptimisda  hreoc.c#L104" id="L13/" crb_5O3=addr" 5code=end" class23sr1723 5ref="57 nameAL_"line" forecod* ARM,*9 fiir ownuTLB flushing)"line" name="L2">   21pn34" crcu5r3f="mmwi5o have pfns corr3G6m="375 hre257a hecod* ARM, x86-64 a/a de/* Rxt" csdupd1n*>addre=rmin(*>addr,"mmw13">p /a>   21pn34" crcu5r3 code=n5alloc.c#L130" id3code=375ef="+57laef="+2class="1s2e4 a/a de/*aaaaaaaaaaaaaa*e nu= max(*e n,stigh13">p /a>   21pn34" crcu5r3f=" glo5static int 1add="sref">prot
 5">pmd<2[N]L2254>addr,
   1     2a hre275/a>  57">WARN_ON_or_cleaaaaaaaaaaaaaaaaaaaaaaaaaour alloc.cv       syn8">pmd<2[N]L2254>yn8,
our alloc.cv       forco_flushla>2     25o {
pmd)
ad2rallo2.5#L11558ss="sref">WAR>, 2     25o {
DEFINE_SPINLOCK>1add>pmd2/>,2LIST_HEAD (1<2 hr1525941add>pmdWAR>,L137"> 137        unsigned long pmdc.c#L104" id="L103//a>, 15e3=addr" 5hre1bad(<1a 2ref="285ea hr58 name="L40"> >,L137"> 137        unsigned long  11is2" cla285e=pe"5me="L93">  93pmd2lo2"snf
 " claconst2ass="285 clas58 href="mm/vmalloc.hrr3 285href=58Ns="sref">name="L132"> 1 a/a de"s 1 a/a de/asef"oi2m If syn8eos 0ubutsforco_flush is 1,uwe'ma go syn8eanywayubutsc13/erspmd fat osn't actually us2   21pn34" crcu5+2ode=p1a5e" 199d31748216b28_3/0295"+csr59159d31748216b88_3/0">276asid="2<1
2a id="syn8">pmd<2[N]L2254>yn8f"ode=code=af="+csre>2a id="Lorco_flushla>2     25o {
>>>>>>>> href="+csre>2a id="sgd" trynext" classspin52"+cgd" trynext1s="s="+code=nextp1alloc1fme=2Lnext" class="sref2>fme=2Lnext nam<<" id="L104" ca h3" crb_n5d2=addr" 5lass="sref">addr2/a>);295e59 name="L40">  40 s="sref"ext" chref="mm/vmalloc.3ss="eud5<2a>)
  93ptent) &am="+csre>2a id="sgd" next" classspin52"+cgd" c  !18f2ack o2954" id59="+ef="mm/vmalloc.cVM3loc.c#r5d3     un5class="comment">2    12954" id5986) &am+code=addr" cla/a>+syn8">pmd<2[N]L2254>yn8<" id="L104" ca h3" crb_n5d3c#L="li5+code=next" cls=2sref"295++, <59ss="sref2>end<23)ass="srefinsertame=2Lfraga/a ed_b2     25o {
ame=2Lfraga/a ed_b1add    60"> 11.c#L104" id="L104WARass="srefinsertocu7 nadLnext" class="sref2>ocu7 nadLnext>1add)
>
60ic int 2/>,2_rcug1add>pmdpmdef="+code=nextpgd_offset_k,
alloc.cv       2cunsigned long 
,BdVADDR+code=addr" cla/a>+ned long 2a>, poprot5">2fn co     tl" cla>2     25o {
addr2/a>);296ea hr6" name="L40"> next" cl,BdVADDR+code=addr" cla/a>+ned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sref">addlass="srv  unsigd>
 5">pmd<2[N]L2254>addr<" id="L104" ca h3" crb_n6n3me="L106"> 104      3     306e=pe"6me="L93">  93<(pmd<2[N]L2254>addr
2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="srec.c#L104" id="L103//a>, 16=6me="L106"oc.c#L15" id=a 2r1 ptent) &ams="sref"+code=addr" cla/a>+ned long 2poprot5">2fn corresponi if (1<2 hr152594addlass="srv  unsig if (1<2 hr152594 !18f2ack o296href=60code=page" class="sref">pref"   struclass="srv  unsig if (1<2 hr1525942a>, poprot5">2fn co     oni if (1<2 hr1525942    1296>    60                  rets="sref">pmdpmd2lo2"snf
+=ode=addr" cla/a>+ned long 2poprot5">2fn corresponi if (1<2 hr152594pmd2lo2"ned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre)f">ad">addrLs_" ctm+_v  ua#L1_SHIFT (1<2 hr1525942fn co     fme=2Lncunsigned long pmdef="+code=nextpgd_offseetcunsigned long 23ot 119   e ef)
+ned long 2a>, poprot5">2fn co     tl" cla>2     25o {
WAR/>, 2/>, ned long 2a>, poprot5">2fn co     tl" cla>2     25o {
  9next" cl(1do notc.3#L2" 316e=add61 clas1s="+cod(1 ass="srefinsertocu7 nadLunnext" classspin52"+ocu7 nadLunnext>1add(
6a href="mm/vmalloc.hr*3 ptent<+code=addr" cla/a>+"f">pmd2lo2"snf<" id="L104" ca h3" crb_n6n7me="L106a href="+co" cla3s="sr3f6>WARN61code=page" class="srede=nextp1alloc1atomic_sub">pmd<2[N]L2254atomic_sub>1add>pmdpmd2lo2"snfef="+code=nextpgd_offset_kpmd2lo2"s"+coda6/a> 1= WAR(pmd2lo2"snf
|| alloc.cv       forco_flushla>2     25o {
9" 6d="L119" class="3ine" 3a6e="L169"> 119   next" clt5">2fn co     tlush_tlb_kernel_rangr{

 5">pmd<2[N]L2254>addr,
lass="srv  unsig if (1<2 hr152594 1= <3 href3"6co" c62"a hr.c#L104" id="L103//a>, 16O2="+code6L93" id="L933 clas3=6line"62ic int +"f">pmd2lo2"snf<")
  90 next" clunsigne/a>2/>,2_rcug1add>pmdpmdefass="srv  unsign_ned long pmdef="+code=nextpgd_offseetcunsigned long L9        93<(2/>,2xtalf2>ssmay updm/vmallocinsertxtalf2>ssmay upd>1add>pmd2a>, oc.c#L104" id="L104  40="+co3e=pte326t ptent) &am="+csre>2a id="sgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc1652"+code=next" class="sref2>sref2>nextWARN_ON   s3ruct 326L98#s62code=page" cl(1L9_ 86s="sref">pmd 11.c#L104" id="L104276WARN_O6href="+code=ppmd3 clas336t  oou fieoutstandf1fol   21pn34area="6!3>WARN_O6XPORT_SYMBOLf="+3sref"336ea hr63 nameAL_"line" forecod* ARM,*
2/>, s="sref"
 5">pmd<2[N]L2254>addr
pmd<2[N]L2254ULONG_MAX namefass="srv  unsig if (1<2 hr152594s="sref">pmd1add="+code=nextp1alloc1d>
 5">pmd<2[N]L2254>addr,
="+code=nextp1alloc1 if (1<2 hr152594pud346" cla64">pmd(1)
>
64VIRTUAL_"line" forecod* ARM"s oou fieoutstandf1folWARN_O6="+code=pud" cl23s="s2346e=add64 nameAL_"line" forecod* ARM,*
ne2346
2/>, 
WARN6ONs="sref"
 5">pmd<2[N]L2254>addr
pmd<2[N]L2254ULONG_MAX namefass="srv  unsig if (1<2 hr152594()
<346>    64ef="mm/vmalloc.c#L1392"+code=6r3dto_lfn6t(pmd1add="+code=nextp1alloc1d>
 5">pmd<2[N]L2254>addr,
="+code=nextp1alloc1 if (1<2 hr152594pmd(1)
_sunsma3had bee2mc13/ed sem- fiecorre37"rangr>1 hreoc.c#L104" id="L13/" crb_673class="6de=nr" class=fla3+de=p3m6" cli65a hecod* ARM, x86-64 a/a de/* c    21pn34" crcu643 code=n6" class=rb_n4"  3
  84 list_h3e= {
356"phys65N>,  137        unsigned long pmd2lo2   84 list_h3e= {
356class65ef="mmm/vmalloc.c#L1373dere9d36c3c#L="li6e" name="Lef_oc.3#L> 1356nd" s659s="sref">pmd2a>, poprot5">2fn co     tl" cla>2     25o {
 rcu_hee3 {
 119   de=nextp1alloc1atomic_adf (1<2 hr1525941addde=addr" cla/a>+ned long 2poprot5">2fn corresponi if (1<2 hr152594pmd2lo2"ned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre)f">ad">addrLs_" ctm+_v  ua#L1_SHIFT (1<2 hr152594pmd2lo2"s"+codaWAR hree=addr" cla/a>+unt" = <">pmd2lo2"sunt" = <>1add>pmdpmd2lo2"s"+codaaddrLs_" ctm+_v  u21add)<<" id="L104" ca h3" crb_n6i3ddr" cl6ssdud" clas1c#L23" id2366we hr66ame="L93">  9next" class="srefinsertlasbfme=2L79"azycodrbtreecunsignsigne nlasbfme=2L79"azycodrbtre1s="s366ea hr66 name1_sunsma3had bee2   21pn34" crcu6"3code=nr6 class=rb_n4"  {3 13666line" name="L132"> 1 a/a de/*
,  137        unsigned long pmd2lo2 pmd)
WARass="srefinsertunsmayssmay updm/vmallocinsertunsmayssmay upd>1add>pmd2a>, oc.c#L104" id="L1042/>,2alf2>ssmay upd_noflushla>2     25o {
ssmay upd_noflush>1add>pmd2a>, oc.c#L104" id="L104pgd_3ffset376e=add67" nam(1 137        unsigned long pmd2lo2    1     2a hre276/a>  67     )
 119   de=nextp1alloc1flush_e27a>_sunsma{
2fn co        v>
 5">pmd<2[N]L2254 retnes="srede=ENOMEMssasortcned long 2poprot5">2fn corresponi if (1<2 hr152594ad2rallo2.6#L11568ss="sref">WARass="srefinsertalf2>unsmayssmay upd_noflushla>2     25o {
unsmayssmay upd_noflush>1add>pmd2a>, oc.c#L104" id="L104(<1a 2ref="286ea hr68wilo >,  137        unsigned long ,  11is2" cla286e=pe"6me="L9)
 " claconst2ass="286 clas68"sref">ptent<>,L137"> 137        unsigned long pmdc.c#L104" id="L103//a>, 16e3 133286href=68="+ef="mm/vmalloc.cVM3loc.c#r6r3     un6;
pmds="sref">pmd2a>, 
2     25o {
__srivyssmay upd>1add>pmdpmd<4" id="L104" cLIS3 id="L16d2=pmd_t"6clas1s="sr19e 119   de=nextp1alloc1sgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc1652"+code=next" class="sref2>sref2>nextpmdc.c#L104" id="L103//a>, 16i2ned lon6 addr2/a>);296e69 name1unsmayssmay upd_as=">1addpmd2lo2  !18f2ack o2964" id69Ns="sref">,L137"> 137        unsigned long pmdc.c#L104" id="L103//a>, 16d3     un6class="comment">2    12964" id69ef="mm/vmalloc.c#L1392"+code=6d3c#L="li6+code=next" cls=2sref"296++, <699s="sref">pmd2a>, 
2     25o {
1add>pmdpmd<4" id="L104" cLIS3 id="L17=3+code=a7dr" class="sref"3addr<307>    70"> 119   de=nextp1alloc1t" cON (1<2 hr1525941addf="+csre>2a id="ned long 2a>, oc.c#L104" id="L104WARass="srefinsertunsmayssmay updla>2     25o {
unsmayssmay upd>1add="+csre>2a id="ned long 2a>, oc.c#L104" id="L104)
>
702104"(1addr2/a>);297ea hr70 name1 104      3     307e=pe"70a hecod* ARM, x86-64 a/a de"s** Per cpu kva "3ss=atorns**
 !18f2ack o297href=70md2    1297>    70line" name="L132"> 1 a/a de/*g"L1p=L_"c2>os t"mitf="especially on 32 bit architfctur=s. Ensureu firedospernCPU"line" name="L2">   21pn34" crcu723ode=pro7" class="sref">23otpmd 13171"a hrecod* justlput itgpr  "s)
>
71VIRTUAL_"line" forecod* ARM,m If we3had aiconstca" VMALLOC_STARTn 3/sVMALLOC_END,uwe'd t" =o3/sbe e iddo notc.3#L2" 317e=add71ef="mAL_"line" forecod* ARM,*o3/s#de  9next" cl(VMALLOC_END-VMALLOC_START). Gu+c2 < hreoc.c#L104" id="L13/" crb_7o3raddr" 7 ia roughaddea)line" name="L2">   21pn34" crcu7n3"_offse7(
71a hecod* ARM, x86-64 a/a de/s
, 
<= 32c.c#L104" id="L13NE_SPIN7o7me="L107a href="+co" cla3s="sr3f7>WARN71code=#de  9nex(128UL*1024*10242lo2 7/a> 1= WAR#de  9nex(128UL*1024*1024*10242lo2 9" 7d="L119" class="3ine" 3a7e="L179"> 11#ne"if.c#L104" id="L103//a>, 17O3* ARM, 7d="     /a> 1= <3 href3"7co" c72"a hr.c#L104" id="L103//a>, 17O2="+code7L93" id="L933 clas3=7line"72ic in#de  9nex(hr2ref=comment"VMALLOC_SPACEhref="+code=nexVMALLOC_SPACEme="L/lass="srv  unsiga#L1_SIZEhref="+code=nexa#L1_SIZE nam<.c#L104" id="L103//a>, 17O3ref="es7pmd" class="sre23>pmd2327c.c#i72ef">1#de  9nealloc.cv       BITS_PER_LONG (1<2 hr152594, 
f">name="L132"> 1 a/a de"s 256Kdupd1n4K pages s
pmd<2[N]L2254VMAP_BBMAP_BITS_MAXme="L93">1024

f">name="L132"> 1 a/a de"s 4MBdupd1n4K pages s
L9      (hr2ref=comment"VMAP_MAX_ALLOC (1<2 hr152594  40="+co3e=pte327t   9nex((hr2ref=comment"x (1<2 hr152594add(hr2ref=comment"eecunsignsigne ny<)">name="L132"> 1 a/a de"s can't us2>min() s
WARN_ON   s3ruct 327L98#s72code=#depmd<2[N]L2254VMAP_MAXme="(hr2ref=comment"x (1<2 hr152594  9nex((hr2ref=comment"x (1<2 hr152594<)">name="L132"> 1 a/a de"s can't us2>max() s
L9_ 86#de  9n\c.c#L104" id="L13NE_SPIN7f3"sref">7ef="+2!= pmd<2[N]L2254VMAP_BBMAP_BITS_MAXme=", 9n\c.c#L104" id="L13NE_SPIN7h3ef="+2!7 119   next" clt5">2fn co     VMAP_MAX">pmd<2[N]L2254VMAP_MAXme="(hr2ref=comment"VMAP_BBMAP_BITS_MIN (1<2 hr152594WAR/>, 2/>, VMALLOC_a#L1Shref="+code=nexVMALLOC_a#L1Sme="L/lass="srv  unsigrouifup_pow_of_twohref="+code=nexrouifup_pow_of_twome="(hr2ref=comment"NR_CPUShref="+code=nexNR_CPUS"sre)f/ 16<<" id="L104" ca h3" crb_n7!3>WARN_O7href="+code=ppmd3 clas337t 1#deWAR/(hr2ref=comment"VMAP_BBMAP_BITS (1<2 hr1525942/>,  137      _7 nadLmost <">pmd2lo2"s_7 nadLmost , 
pmdc.c#L104" id="L103//a>, 1723name="L7a de/asm- p2a> *3a hr2337>;
>,L137"> 137        unsb2     25o {
  unsb, 
mm/vmalloc.c#L1373dere9d3723line" n7"u" claef="+2" i3="L133374" id738s="sref">pmdpmd<2[N]L2254>gd"7"line" name="Lef3>1add337s="sr739s="sref">,L137"> 137      _rcugheaf (1<2 hr152594<_rcugheafme="L> 137      2     25o {
pud347" cla74">pmd(c.c#L104" id="L103//a>, 17r3* ARM, 7ine" name="L>   3to_lf3f7"+csr74"a hr.c#L104" id="L103//a>, 17s3 class=7line" name=56pte3t" cl347>)
>
74VIRTU>,L137"> 137        unsb2     25o {
  unsb, 
mm/vmalloc.c#L1373dere9d37 3a href=7XPORT_SYMBOLf="+3sref"347e=add743s="sref">pmdpmd<2[N]L2254>gd" >,L137"> 137        unsigned long pmdc.c#L104" id="L103//a>, 17s3class="7next" class="sr23">ne2347
 >,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignbqla>2     25o {
 bq>pmdc.c#L104" id="L103//a>, 17s3name="L7tor r**nsigned l3ng 
74"sref">ptent<2     25o {
pmd2lo2"sdirt<>pmdc.c#L104" id="L103//a>, 17s7me="L107+co14/vmalloc.c2398" 2347>WARN7ONs="sref"=ENOMEMssasortcDECLARE_BITMAP">pmd2lo2"sDECLARE_BITMAP>1add>pmdpmdpmd2lo2"sDECLARE_BITMAP>1add>pmd7t(,L137"> 137      _rcugheaf (1<2 hr152594<_rcugheafme="L> 137      pmdc.c#L104" id="L103//a>, 17o3fset)3,L137"> 137      ocu7heaf (1<2 hr152594 137      ocu7heaf (1<2 hr152594,L137"> 137      _rcugheaf (1<2 hr152594<_rcugheafme="L> 137      fme=2 (1<2 hr152594)
2/>, pmd2lo2"sDEFINE_PER_CPU>1add>,L137"> 137        unsb2     25o {
  unsb, de=ENOMEMssasortcn unsb2     25o {
  unsb, oc.c#L104" id="L104  84 list_h3e= {
357"phys75md  84 list_h3e= {
357class75line" name="L132"> 1 a/a de/*gRadix tllonoou"L1p=b hreoc.c#L104" id="L13/" crb_7i3"sref">7e" name="Lef_oc.3#L> 1357nd" s75md rcu_hee3 {
pmdno big deal yet"line" name="L2">   21pn34" crcu7h3276{
2/>, 2     25o {
DEFINE_SPINLOCK>1add>pmd2     25o {
  unsb, oc.c#L104" id="L104 DEFINE_S3INLOC367s="sr76" nam>, 367ea hr76 name1 13676line" name="L132"> 1 a/a de/*of1irly  nasone id accordf1fo3/s fie"L13/"  size, so itoshmuldn't bela7ole_siz"code=nr"3class367s="sr76md   21pn34" crcu7/3ref="d_7=1 href="+code=p3d_are377e="L177">pmd, 17/3ddr" cl7a 14     pgd" c23ss=e2377e="st772a>2/>, 1addpmd2lo2 pgd_3ffset377e=add77" nammm/vmalloc.c#L1373dere9d37O3=addr" 7code=end" class23sr1723 7ref="77 name="L40"> ass="srefinsertms=" (1<2 hr152594pmd -a hr2ref=comment"VMALLOC_STARThref="+code=nexVMALLOC_START>pmd code=a~(hr2ref=comment"VMAP_BLOCK_SIZEhref="+code=nexVMAP_BLOCK_SIZEs="s-1oc.c#L104" id="L104 ass="srefinsertms=" (1<2 hr152594pmd /a hr2ref=comment"VMAP_BLOCK_SIZEhref="+code=nexVMAP_BLOCK_SIZEs="sc.c#L104" id="L104ptent   1     2a hre277/a>  77md, ,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignew_  unsb2     25o {
new_  unsb1add>pmdpmd<2[N]L2254gfp_5me="L> 137      gfp_mashla>2     25o {
gfp_mash>pmd2lo2 pmd)
ad2rallo2.7#L11578ss="sref">WAR>,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignbqla>2     25o {
 bq>pmdc.c#L104" id="L103//a>, 17e2pud_tas7r         return2-ssr 287line"78ic int ,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsigvb">pmd<2[N]L2254vb>pmdc.c#L104" id="L103//a>, 17e3a href=7g WAR>,L137"> 137        unsigned long pmdc.c#L104" id="L103//a>, 17e3=addr" 7hre1bad(<1a 2ref="287ea hr78 name="L40"> 1adc.c#L104" id="L103//a>, 17e3f="mmwi7ame="L114"> 11is2" cla287e=pe"7me="L93">  932     25o {
n   a>, de=ENOMEMssasortcer" (1<2 hr1525941adc.c#L104" id="L103//a>, 17e3 code=n7m_7"> " claconst2ass="287 clas78 href="mm/vmalloc.hrr3 287href=78Ns="sref"=ENOMEMssasortcn   la>2     25o {
n   a>, 
2     25o {
numd_node_id>1addoc.c#L104" id="L104s="sref">pmdpmd<2[N]L2254vb>pmd
2     25o {
k392"+c_n   >1add>izeofd>,L137"> 137        unsb2     25o {
  unsb, ),m/vmalloc.c#L1392"+code=7d2=pmd_t"7clas1s="sr19e 119   e ef)
+gfp_mashla>2     25o {
gfp_mash>pmd
code=addr" clGFP_RECLGFP_RECLAIM_MASKla>2     25o {
GFP_RECLAIM_MASKa>, de=ENOMEMssasortcn   la>2     25o {
n   a>, oc.c#L104" id="L104WAR hree=addr" cla/a>+unt" = <">pmd2lo2"sunt" = <>1addf="+csre>2a id="nb">pmd<2[N]L2254vb>pmd<<" id="L104" ca h3" crb_n7+2pud_tas7/vmalloc.c#L2" i2=a hr297="sr179ame="L93">  9next" clext" class="srv  unsigERR_PTR">pmd<2[N]L2254ERR_PTR>1add-ass="srv  unsigENOMEM">pmd<2[N]L2254ENOMEMa>, oc.c#L104" id="L104addr2/a>);297e79 name="L40"> ass="srefinsertned long 2a>, 
1add>pmd  93<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<pmdde=ENOMEMssasortcVMALLOC_ENDhref="+code=nexVMALLOC_ENDs="sdm/vmallf="mm/vmalref="+c7d3 code=n7loc.c#L15" id=a 2r1 ptent) &am<<<<<<<<<<<<<<<<<<<<<<<2     25o {
n   a>, de=ENOMEMssasortcgfp_mashla>2     25o {
gfp_mash>pmd !18f2ack o2974" id79Ns="sref" hree=addr" cla/a>+IS_ERRla>2     25o {
IS_ERR>1add>pmd2a>, o<")
2    12974" id79                  retrLs_" ctm+_v  uk2     25o {
kpmdpmd<2[N]L2254vb>pmd1add>pmd2a>, oc.c#L104" id="L104    80"> 119   (1)
>
80ic int 2/>,2er" (1<2 hr1525941ad
1add>pmd2     25o {
gfp_mash>pmds="sref" hree=addr" cla/a>+unt" = <">pmd2lo2"sunt" = <>1add>pmd1ado<")
addr2/a>);298ea hr8" name="L40"> next" clrLs_" ctm+_v  uk2     25o {
kpmdpmd<2[N]L2254vb>pmd 104      3     308e=pe"8me="L93">  93<( 137      ssmay upd>1add>pmd2a>, oc.c#L104" id="L104ptent) &amext" class="srv  unsigERR_PTR">pmd<2[N]L2254ERR_PTR>1add>pmd1adoc.c#L104" id="L104 !18f2ack o298href=80code=page" cl(12    1298>    80ef="mm/vmalloc.c#L1392"+code=8=9me="L108"code=next" cls=2sref"298nd" c809s="sref">pmd1add="+code=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>23ot 119   de=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspned long 2a>, 
pmdc.c#L104" id="L103//a>, 18o3* ARM, 886-64 a/a de/asm3 p2 (318> 13181ss="sref">WARass="srefinsert6b">pmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
pmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
do notc.3#L2" 318e=add813s="sref">pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspa3//a_sma{
 ass="srefinsertbitsmayzerohref="+code=nexbitsmayzeroref=d>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<_sma{
(
815name="L40"> ass="srefinsertINIT_LIST_HEADhref="+code=nexINIT_LIST_HEAD>1add="+code=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn corresppmdoc.c#L104" id="L1041ad
1addrLs_" ctm+_v  uned long pmdpoprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre)c.c#L104" id="L104pmd2     25o {
  unsb, oc.c#L104" id="L1048/a> 1= pmd1ad
pmd<2[N]L2254radix_tlf2Linse 5 href="+code=nextp1alloc1652"+b2     25o {
  unsb1adde=ENOMEMssasortcvb">pmd<2[N]L2254vb>pmd 119   de=nextp1alloc1sgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc1652"+b2     25o {
  unsb, oc.c#L104" id="L104WARass="srefinsertt" cON (1<2 hr1525941add>pmd1adoc.c#L104" id="L1042/>,2oadix_tlf2Lpreloafi if (1<2 hr1525941addoc.c#L104" id="L104WARN_O8L9ed long  ass="srefinsertnbqla>2     25o {
 bq>pmd
1addrLs_" ctm+_v  un unsb2     25o {
  unsb, oc.c#L104" id="L104L9       ass="srefinsert6b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspnbqla>2     25o {
 bq>pmd
2fn correspnbqla>2     25o {
 bq>pmdc.c#L104" id="L104  40="+co3e=pte328t ptent<>pmd2fn correspnext" class="sref2>WARN_ON   s3ruct 328L98#s82Ns="sref"=ENOMEMssasortc_rcugms=_rcu" class="sref2>1add="+code=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn corresppmdef="+code=nextpgd_offsebqla>2     25o {
 bq>pmdpoprot5">2fn corresp2     25o {
L9_ 86s="sref">pmd2     25o {
 bq>pmdpoprot5">2fn correspnext" class="sref2>8ef="+2!= s="sref">pmd1addrLs_" ctm+_v  un unsb2     25o {
  unsb, oc.c#L104" id="L104 130338ef="r83"> 11.c#L104" id="L104WARext" class="srv  unsignb">pmd<2[N]L2254vb>pmdc.c#L104" id="L103//a>, 18!3>WARN_O8href="+code=ppmd3 clas338t WARN_O8XPORT_SYMBOLf="+3sref"338ea hr83wilo >,  137        unsb2     25o {
  unsb, 
lass="srv  unsigvb">pmd<2[N]L2254vb>pmd<" id="L104" ca h3" crb_n823class="8ine" name="L13523 1352338e=pe"83e="L9)
ptent<>,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsigtma{
s="sref"1adc.c#L104" id="L103//a>, 1823line" n8"u" claef="+2" i3="L133384" id83ef="mm/vmalloc.c#L1392"+code=823"sref">8"line" name="Lef3>1add338s="sr839s="sref">pmd1ad
1addrLs_" ctm+_v  unb">pmd<2[N]L2254vb>pmdpoprot5">2fn correspned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre)c.c#L104" id="L104pud348" cla84"> 119   de=nextp1alloc1sgd" next" classspin52"+cgd" c 2     25o {
  unsb, oc.c#L104" id="L104WARass="srefinserttma{
2     25o {
radix_tlf2Ldeletm href="+code=nextp1alloc1652"+b2     25o {
  unsb1adoc.c#L104" id="L104WARN_O8line" name=56pte3t" cl348>)
>
84ic int 2/>,2sgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc1652"+b2     25o {
  unsb, oc.c#L104" id="L104s="sref">pmd1add>pmd2fn correspnb">pmd<2[N]L2254vb>pmdne2348
 ass="srefinsertalf2>ssmay upd_noflushla>2     25o {
ssmay upd_noflush>1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspned long 2a>, 
84"sref">ptent<>pmdpmd<2[N]L2254vb>pmdde=ENOMEMssasortcocu7heaf (1<2 hr152594WARN84md8t()3pmd)
 which hel23 hig23r8levoc85ss="sref">WARass="srefinsertLIST_HEADhref="+code=nexLIST_HEAD>1addass="srefinsertfme=2signed long )
,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsigvb">pmd<2[N]L2254vb>pmdc.c#L104" id="L103//a>, 18o3a href=8ref="+code=pgd_a3a_=1 358e=add853s="sref">WAR>,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsign_vb">pmd<2[N]L2254n_vb>pmdc.c#L104" id="L103//a>, 18o3>WARN_O8    pgd" classea3 14de3p8md" c85 name="L40"> >,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignbqla>2     25o {
 bq>pmd
1addrLs_" ctm+_v  un unsb2     25o {
  unsb, de=ENOMEMssasortccpusigned long pmd2/.c#L104" id="L103//a>, 18o3name="L8" class=rb_n4"  3
ptent<>pmd2     25o {
ocu7 nadL1addoc.c#L104" id="L104s="sref"=ENOMEMssasortc_rcugfor_each_fllry_rcu" class="sref2>1add>pmdpmd<2[N]L2254vb>pmdde="+code=nextpgd_offsebqla>2     25o {
 bq>pmdpoprot5">2fn corresp2     25o {
pmdo")
  84 list_h3e= {
358class85ef="mm/vmalloc.c#L1392"+code=8i3"sref">8e" name="Lef_oc.3#L> 1358nd" s85ss="sref2>end<23) hre!d>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
2/>,26b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
<pmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
!2fn correspVMAP_BBMAP_BITS (1<2 hr152594 rcu_hee3 {
 119   e ef)
  9next" cl>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>pmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
2/>,26b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
<pmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
!2fn correspVMAP_BBMAP_BITS (1<2 hr152594368ea hr86 name="L40"> next" clnext" cl>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
name="L132"> 1 a/a de"s prev/a  fur firsa3ss=s aftirsreleasf1fo  93<<<<<<<<<<<<<<<<2/>,26b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
name="L132"> 1 a/a de"s prev/a  fme=f1foit againbs
ptent) &am<<<<<<<1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspa3//a_sma{
ptent) &am<<<<<<<1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<_sma{
 13686                  retnext" cl>pmd2fn correspnext" class="sref2>8ole_siz"code=nr"3class368s="sr86ss="sref2>end<23)next" cl>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresppmdoc.c#L104" id="L104 119   e ef)
+sgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc16bqla>2     25o {
 bq>pmdpoprot5">2fn correspnext" class="sref2>WAR/>, 2/>, sgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>  9next" clnext" cl>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspfme=2signed long end<23)} f="mm/vmalloc.c#L1373 (! next" clnext" cl>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2> (1ptent<>pmd1addoc.c#L104" id="L104 136878s="sref">pmd1add>pmdpmd<2[N]L2254vb>pmdde=ENOMEMssasortcn_vb">pmd<2[N]L2254n_vb>pmdde="+code=nextpgd_offsfme=2signed long    1     2a hre278/a>  87ss="sref2>end<23)ass="srefinsertpmd<2[N]L2254vb>pmdpoprot5">2fn correspfme=2signed long  119   next" clt5">2fn co     alf2>ssmayb2     25o {
alf2>ssmayb1addt5">2fn correspnb">pmd<2[N]L2254vb>pmdad2rallo2.8#L11588ss="sref">WAR(1(<1a 2ref="288ea hr88wilo >,  11is2" cla288e=pe"88e="L9)
 " claconst2ass="288 clas88"sref">ptent<>pmd1add>pmd2     25o {
smp_processor_id>1addo288href=88md    88ef="mm/vmalloc.c#L1392"+code=8r3c#L="li886-64 a/a de/asm2 put 2n8x/msg88md, 1addt" c<" id="L104" ca h3" crb_n8d2=pmd_t"8clas1s="sr19epmd)
WAR ur alloc.cv       cpusigned long pmdc.c#L104" id="L104pmd1add>pmdpmd<" id="L104" ca h3" crb_n8d2=addr" 8lass="sref">addr2/a>);298e89 name="L40"> next" clrLs_" ctm+_v  ufme=2Lfrag flledsb1add>pmdpmd !18f2ack o2984" id897d, pmd<2[N]L2254vb_r3 1addizela>2     25o {
sizeme="de=ENOMEMssasortcgfp_5">pmd<2[N]L2254gfp_5me="L> 137      gfp_mashla>2     25o {
gfp_mash>pmd2lo2 2    12984" id89     )
s="sref">,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignbqla>2     25o {
 bq>pmdc.c#L104" id="L103//a>, 19=3+code=a9dr" class="sref"3addr<309>    900s="sref">,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsigvb">pmd<2[N]L2254vb>pmdc.c#L104" id="L103//a>, 1923="+code9pte" class="sre23>pte2309co" c90ss="sref">WARpmd
)
>
90ic int pmdc.c#L104" id="L103//a>, 1923="+code9paddr2/a>);299ea hr90 name1 104      3     309e=pe"9me="L93">  931add>pmdizela>2     25o {
sizeme=" code=a~>pmd2     25o {
a#L1_MASK>pmdptent<>pmd1add>pmdizela>2     25o {
sizeme=" cgadd>pmdpmd !18f2ack o299href=90Ns="sref"=ENOMEMssasortcorde" (1<2 hr152594pmd
1add>pmdizela>2     25o {
sizeme="2    1299>    90ef="mm/vmalloc.c#L1392"+code=9=9me="L109"code=next" cls=2sref"299nd" c909a>, 23ot 119   de=nextp1alloc1ocu7 nadL2     25o {
ocu7 nadL1addoc.c#L104" id="L104 13191ss="sref">WARass="srefinsert6bqla>2     25o {
 bq>pmd
1addrLs_" ctm+_v  un unsb2     25o {
  unsb, oc.c#L104" id="L104)
>
91ic int 2/>,2_rcugfor_each_fllry_rcu" class="sref2>1add>pmdpmd<2[N]L2254vb>pmdde="+code=nextpgd_offsebqla>2     25o {
 bq>pmdpoprot5">2fn corresp2     25o {
pmdo")
do notc.3#L2" 319e=add913s="sref2>end<23) ur alloc.cv       isigned long pmdc.c#L104" id="L103//a>, 19o3raddr" 9 (
91e="L93">  93<<<<<<<<<>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>ptent) &am hre>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
pmd2lo2 ptent) &am<<<<<<<pmdc.c#L104" id="L103//a>, 19o8me="L109 class="line" na3e="L1369> 13691ef="mm/vmalloc.c#L1392"+code=9 3"sref">9/a> 1= end<23)ass="srefinsertisigned long pmd
1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspa3//a_sma{
9" 9d="L119" class="3ine" 3a9e="L192"> 119   e ef)
pmd 1= <3 href3"9co" c92"a hr.c#L104" id="L103//a>, 19O2="+code9L93" id="L933 clas3=9line"92ame="L93">  9next" cl hre>pmdpmd
&ladd0o")
end<23)/a>) &am hre>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
2/>,26b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
<L9ed long  next" clnext" cleeeeeeeeaname="L132"> 1 a/a de"s frag flled923/snogoutst23/f1fo04L9        93<<<<<<<<1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
!2fn correspVMAP_BBMAP_BITS (1<2 hr152594  40="+co3e=pte329t ptent) &am<<<<<<<<<<<<<<<WARN_ON   s3ruct 329L98#s927sref">ptent) &am<<<<<<<<(1L9_ 86pmdc.c#L104" id="L103//a>, 19f3"sref">9ef="+2!=  119   next" clt5">2fn co     ms=" (1<2 hr152594pmd
pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre
+ e>pmdpmd
&lad&ladd=ENOMEMssasortca#L1_SHIFThref="+code=nexa#L1_SHIFTme="oc.c#L104" id="L103//a>, 19h3* ARM, 9 class="line" na3e="L1339e1d l93ss="sref">WAR/>, 1add>pmd1addrLs_" ctm+_v  ums=" (1<2 hr152594pmd<
!<.c#L104" id="L103//a>, 19h2="+code9href="+code=ppmd3 clas339t   9next" clnext" clnext" clt5">2fn co     ms="_to_vb_idx (1<2 hr1525941addrLs_" ctm+_v  unb">pmd<2[N]L2254vb>pmdpoprot5">2fn correspned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre)oc.c#L104" id="L103//a>, 19h3ref="es9ddr" class="sref3>addr339c.c#i933s="sref2>end<23)>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
pmdc.c#L104" id="L103//a>, 19h3raddr" 9XPORT_SYMBOLf="+3sref"339ea hr93 name="L40"> next" cl hre>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
  93<<<<<<<<<<<<<<<<2/>,2sgd" next" classspin52"+cgd" c 2fn correspnext" class="sref2> *3a hr2339>;
ptent) &am<<<<<<<pmd<2[N]L2254vb>pmdpoprot5">2fn corresppmdoc.c#L104" id="L104ptent) &am<<<<<<<2     25o {
 bq>pmdpoprot5">2fn correspnext" class="sref2>9"line" name="Lef3>1add339s="sr93ss="sref2>end<23)ass="srefinsertsgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>pud349" cla94"> 119   next" clbreakc.c#L104" id="L104WARN_O9line" name=56pte3t" cl349>)
>
94ame="L93">  9next" class="srefinsertsgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>s="sref"(1ne2349
  hre>pmd
94"sref">ptent) &am>pmd1addoc.c#L104" id="L104WARN94mdpmd1addrLs_" ctm+_v  un unsb2     25o {
  unsb, oc.c#L104" id="L1049t(pmd1addoc.c#L104" id="L104)3 11.c#L104" id="L104 which hel23 hig23r9levoc95ss="sref">WAR hre!rLs_" ctm+_v  ums=" (1<2 hr152594pmd<
)
)
  9next" class="srefinsertnb">pmd<2[N]L2254vb>pmd
2     25o {
new_  unsb1add>pmd2     25o {
gfp_mash>pmdend<23) hre>pmd2     25o {
IS_ERR>1add>pmdpmd<2[N]L2254vb>pmd<<" id="L104" ca h3" crb_n9o3>WARN_O9    pgd" classea3 14de3p9md" c95 name="L40"> next" clnext" clext" class="srv  unsignb">pmd<2[N]L2254vb>pmdc.c#L104" id="L103//a>, 19o3class="9de=nr" class=fla3+de=p3m9" cli95e="L93">  93<<<<<<<<c.c#L104" id="L103//a>, 19o3name="L9" class=rb_n4"  3
ptent<(1  84 list_h3e= {
359"phys95mdpmdc.c#L104" id="L103//a>, 19o3"sref">9e" name="Lef_oc.3#L> 1359nd" s95ss="s(1 rcu_hee3 {
 11.c#L104" id="L104, , , 369ea hr96 name="L40"> 1adc.c#L104" id="L103//a>, 1973class="9set_k  93<pmdc.c#L104" id="L103//a>, 1973name="L9de=addr" class=23ref"2369 clas96"sref">ptent<>,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignb">pmd<2[N]L2254vb>pmdc.c#L104" id="L103//a>, 19O3ee="L849mds are48216ectc3dby e3"9earea96md 136968s="sref">pmd1add>pmdizela>2     25o {
sizeme=" code=a~>pmd2     25o {
a#L1_MASK>pmd9ole_siz"code=nr"3class369s="sr969s="sref">pmd1add>pmdizela>2     25o {
sizeme=" cgadd>pmdpmd 11.c#L104" id="L104WARass="srefinsertflush_cache_vunsma{
pmd, dpmd
+ unsigne/a>2/>,2>izela>2     25o {
sizeme="pgd_3ffset379e=add973s="sref">pmdpmd
1add>pmdizela>2     25o {
sizeme=" a>, pmd
code=ad>pmds="sref"=ENOMEMssasortcvb_idx (1<2 hr1525941ad
1adddpmd 136978s="sref">pmd2     25o {
ocu7 nadL1addoc.c#L104" id="L104   1     2a hre279/a>  979s="sref">pmdpmd<2[N]L2254vb>pmd
2     25o {
  unsb1adoc.c#L104" id="L104 119   de=nextp1alloc1ocu7 nadLunnext" classspin52"+ocu7 nadLunnext>1addoc.c#L104" id="L104ad2rallo2.9#L11598ss="sref">WARass="srefinsertt" cON (1<2 hr1525941add!rLs_" ctm+_v  unb">pmd<2[N]L2254vb>pmds="sref">pmd1adddpmd, dpmd
+ unsigne/a>2/>,2>izela>2     25o {
sizeme="(<1a 2ref="289ea hr98 name1 11is2" cla289e=pe"985name="L40"> a>, pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2> " claconst2ass="289 clas98"sref">ptent<>pmd1add>pmd1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<_sma{
pmd289href=98md    988s="sref">pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
+=d1UL
&lad&ladd=ENOMEMssasortcorde" (1<2 hr152594pmdc.c#L104" id="L103//a>, 19r3c#L="li986-64 a/a de/asm2 put 2n9x/msg989s="sref" hre>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<">pmd2lo2"sdirt<>pmd
< 119   next" clt5">2fn co     t" cON (1<2 hr1525941add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn corresp2     25o {
WAR/>, pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>  9next" class="srefinsertalf2>ssmayb2     25o {
alf2>ssmayb1addt5">2fn correspnb">pmd<2[N]L2254vb>pmdaddr2/a>);299e99 name="L40"> next" clrLs_" ctm+_v  usgd" unnext" classspin52"+cgd" unnext1s="s="+code=nextp1alloc16b">pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2> !18f2ack o2994" id997d 1 a/a de"s*2    12994" id99     aname="L132"> 1 a/a de * vm_unsma_aliases - unsmagoutst23/f1folazy aliases in the ssmaolaye">p hreoc.c#L104" id="L13NE_SPIN9d3c#L="li9+code=next" cls=2sref"299++, <999aname="L132"> 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN10=3+code=a10=3+ce=next" cls=2sref"2910=3+>10=3    aname="L132"> 1 a/a de * The ssma="L13NE_olaye"olazily flushes kernel virtual smagd"gs primarily>p hreoc./pre>dols=2ode=b6/e5/fd6113a55ac39c30ab9b2a29d31748216b88_3/10=3+>.c#L104" id="L13NE_SPIN10=1+code=a10=" 199d31748216b28_3/02910=" >10=1    aname="L132"> 1 a/a de * to amortize TLB flushf1fooverheafs. What  fis means is  fat any page you>p hreoc.c#L104" id="L13NE_SPIN10=2+code=a10=vmalloc.c#L2" i2=a hr2910=vm>10=2    aname="L132"> 1 a/a de * have now, smy, in a forme"olife, have been smagf=" uro kernel virtual>p hreoc.c#L104" id="L13NE_SPIN10=3+code=a10= 1 a/a de * as="ess by the ssmaolaye"923/sso there=might bessome CPUs with TLB fllries>p hreoc.c#L104" id="L13NE_SPIN10=4+code=a10=ass="sref">addr2/a>);2910=as>10=4    aname="L132"> 1 a/a de * still 104erencf1fo fat page (as=itional to the 10gular 1:1 kernel smagd"g).>p hreoc.c#L104" id="L13NE_SPIN10=5+code=a10=gd" class="sref2>pgd12910=gd>10=5aname="L132"> 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN10=6+code=a10=oc.c#L15" id=a 2r1 10=6    aname="L132"> 1 a/a de * vm_unsma_aliases flushes 13N sucholazy smagd"gs. Aftirsit"ext" cs, we="an>p hreoc.c#L104" id="L13NE_SPIN10=7+code=a10= clas 1/a> !18f2ack o2910= c>10=7d 1 a/a de * bessure= fat nols of the pages we=have controloover wi3N have any aliases>p hreoc.c#L104" id="L13NE_SPIN10=8+code=a10=lass="comment">2    12910=la>10=     aname="L132"> 1 a/a de * from the ssmaolaye".>p hreoc.c#L104" id="L13NE_SPIN10=9+code=a10=code=next" cls=2sref"2910=co>10=9aname="L132"> 1 a/a de *
23ot10" t" class="srefinsertvm_unsma_aliasesla>2     25o {
  _unsma_aliases1s="st" c<" id="L104" ca h3" crb_n10"1+code=a1086-64 a/a de/asm3 p2 (311086->10"1me=")
>
 5">pmd<2[N]L2254tnes="sre
pmd<2[N]L2254ULONG_MAXme="de=ENOMEMssasortcendla>2     25o {
end"sre
do notc.3#L2" 3110a r>10"3s="sref" ur alloc.cv       cpusigned long pmdc.c#L104" id="L104s="sref" ur alloc.cv       flushla>2     25o {
1ad
(10"/a>2/.c#L104" id="L103//a>, 110"6+code=a10dr" class="sref23addr23110dr">10""sref">ptent< hre>pmdpmd2lo2"sunnikel<>1add!rLs_" ctm+_v  unsma_initializedla>2     25o {
nsma_initialized>pmdptent) &amext" chref="mm/vmalloc.3ss="eud10"8+code=a10 class="line" na3e="L13610 cl>10"ef="mm/vmalloc.c#L1392"+code=10"9+code=a10/a> 1= >10"9s="sref">pmd1add>pmdpmd<")
ptent) &am>,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignbqla>2     25o {
 bq>pmd
1addrLs_" ctm+_v  un unsb2     25o {
  unsb, de=ENOMEMssasortccpusigned long pmd 1= <3 href3"10d=">10dss="sref">WAR/>, ,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignb">pmd<2[N]L2254vb>pmdc.c#L104" id="L103//a>, 110d2+code=a10L93" id="L933 clas3=1010dVIRTU" id="L104" ca h3" crb_n10d3+code=a10pmd" class="sre23>pmd23210pmd>10d3s="sref2>end<23)>pmd2     25o {
ocu7 nadL1addoc.c#L104" id="L104L9ed long 10d name="L40"> next" clrLs_" ctm+_v  u_rcugfor_each_fllry_rcu" class="sref2>1add>pmdpmd<2[N]L2254vb>pmdde="+code=nextpgd_offsebqla>2     25o {
 bq>pmdpoprot5">2fn corresp2     25o {
pmdo")
10de="L93">  93<<<<<<<<<<<<<<<<< ur alloc.cv       isigned long pmdc.c#L104" id="L103//a>, 110d6+code=a100">  40="+co3e=pte32100">>10d href="mm/vmalloc.hrr3 WARN_ON   s3ruct 3210>WA>10d7sref">ptent) &am<<<<<<<pmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>pmdpmd
1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<_sma{
10dss="sref2>end<23)next" clwhilere>pmdpmd
&laddrLs_" ctm+_v  uVMAP_BBMAP_BITS (1<2 hr152594 130331010end<23)next" clllllllll" classspin52"+cme="de=ENOMEMssasortcela>2     25o {
e>pmdc.c#L104" id="L103//a>, 11031+code=a10 class="line" na3e="L13310 cl>10WAR/>, 2     25o {
j>pmdc.c#L104" id="L103//a>, 11032+code=a10href="+code=ppmd3 clas3310hre>10  9next" clnext" clnext" clt5">2fn co     jla>2     25o {
j>pmd
1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<_sma{
end<23)/a>) &amnext" clnext" clt5">2fn co     VMAP_BBMAP_BITS (1<2 hr152594pmdoc.c#L104" id="L103//a>, 11034+code=a10XPORT_SYMBOLf="+3sref"3310XPO>10< name1  93<<<<<<<<" classspin52"+cme="
pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre
+ e>pmdpmd
&lad&ladd=ENOMEMssasortca#L1_SHIFThref="+code=nexa#L1_SHIFTme="oc.c#L104" id="ef"3ss="eud10<6+code=a10a de/asm- p2a> *3a hr23310a d>10<"sref">ptent) &am<<<<<<<<<<<<<<<2     25o {
e>pmd
pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre
+ e>pmd2     25o {
j>pmd
&lad&ladd=ENOMEMssasortca#L1_SHIFThref="+code=nexa#L1_SHIFTme="oc.c#L104" id="ef"3ss="eud10<7+code=a10 h virtualref="e3sa hr3310 h >10<7sref">ptent) &am<<<<<<<<<<<<<<<2     25o {
1ad
1010end<23)next" clllllllll hre>pmd" classspin52"+cme="
&ladd=ENOMEMssasortc>>
 5">pmd<2[N]L2254tnes="sreo.c#L104" id="L103//a>, 11043+code=a10=pud" class="sre3">pud3410=pu>10=ps="sref2>end<23)/a>) &amnext" clnext" clt5">2fn co     >>
 5">pmd<2[N]L2254tnes="sre
" classspin52"+cme="c.c#L104" id="L103//a>, 11041+code=a10ine" name="L>   3to_lf3f10ine>10=ss="sref">WAR/>, pmd2     25o {
e>pmd
cgadd>pmd2     25o {
end"sreo.c#L104" id="L103//a>, 11042+code=a10line" name=56pte3t" cl3410lin>10=ame="L93">  9next" clnext" clnext" clnext" clt5">2fn co     endla>2     25o {
end"sre
2     25o {
e>pmdc.c#L104" id="L103//a>, 11043+code=a10XPORT_SYMBOLf="+3sref"3410XPO>10=ef="mm/vmallf="mm/vmalref="+c10=4+code=a10="+code=pud" cl23s="s23410="+>10= name="L40"> next" clnext" cleeeeeeeeapmdpmd
2     25o {
j>pmdc.c#L104" id="L103//a>, 11045+code=a10next" class="sr23">ne23410nex>10=e="L93">  93<<<<<<<<pmd
1add>pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspdirt<_sma{
ptent) &am<<<<<<<<<<<<<<<<<<<<<<<10=7sref">ptent) &am<<<<<<<<(1pmdpmd<2[N]L2254vb>pmdpoprot5">2fn correspnext" class="sref2>end<23)(1end<23)>pmd1addoc.c#L104" id="L104 which hel23 hig23r10510(ss="sref">WAR(1)
10(VIRTU" id="L104" ca h3" crb_n1053+code=a10ref="+code=pgd_a3a_=1 3510ref>10(3s="sref">pmd>
 5">pmd<2[N]L2254tnes="srede="+code=nextpgd_offsendla>2     25o {
end"sre, 1de=ENOMEMssasortc2     25o {
1adoc.c#L104" id="L10410( name(110(5aENOMEMssasortcEXPORT_SYMBOL_GPLla>2     25o {
EXPORT_SYMBOL_GPL>1addrLs_" ctm+_v  un _unsma_aliasesla>2     25o {
  _unsma_aliases1s="oc.c#L104" id="L10410( href="mm/vmalloc.hrr3   84 list_h3e= {
3510>  >10(7d 1 a/a de"s* 1 a/a de * vm_unsma_ram - unsmagist_ar kernel as="ess namce set up by vm_sma_ram10(9aname="L132"> 1 a/a de * @mem: the pointirsext" ced by vm_sma_ram 1 a/a de * @count: the count p132ed to that vm_sma_ram c13N (cannot unsmagpes=ial)10 1    aname="L132"> 1 a/a de *
10 VIRTUt" class="srefinsertvm_unsma_ramla>2     25o {
  _unsma_ram3610laL>10  name="L40"> izela>2     25o {
sizeme=" 10 e="L93">  93<pmd
2     25o {
mem"srec.c#L104" id="L10410  href="mm/vmalloc.hrr3 10 Ns="sref"=ENOMEMssasortct" cON (1<2 hr1525941add!rLs_" ctm+_v  ums=" (1<2 hr152594pmd10 8s="sref">pmd1add>pmdpmd
claddrLs_" ctm+_v  uVMALLOC_STARThref="+code=nexVMALLOC_START>pmd10 9s="sref">pmd1add>pmdpmd
cgadd>pmd10=1s="sref">pmd1add>pmdpmd
code=ad>pmd10="a hr.c#L104" id="L103//a>, 110=2+code=a10a 14     pgd" c23ss=e23710a 1>10=ic int 2/>,2debug_check_no c 2     25o {
debug_check_no c 1add>pmd2     25o {
mem"sre, a>, pmd1add>pmdpmd, a>, izela>2     25o {
sizeme="oc.c#L104" id="L10410= name110=5name="L40">  hre>pmdpmd2lo2"snikel<>1addrLs_" ctm+_v  ucountsigned long pmd10="sref">ptent) &am>pmd2     25o {
vb_1add>pmd2     25o {
mem"sre, a>, 10=                  ret=ENOMEMssasortc1add>pmdpmdoc.c#L104" id="L104   1     2a hre2710"80>10=ss="s(110  aENOMEMssasortcEXPORT_SYMBOLla>2     25o {
EXPORT_SYMBOL>1addrLs_" ctm+_v  un _unsma_ramla>2     25o {
  _unsma_ramad2rallo2.10" c>10 "a hr.c#L104" id="L103//a>, 11082+code=a10r         return2-ssr 2810r  >10 2    aname="L132"> 1 a/a de"s* 1 a/a de * vm_sma_ram - smagpeges ist_arly" uro kernel virtual as="ess ("L13NE_onamce)10 4    aname="L132"> 1 a/a de * @peges: me=array of pointirs to the peges to be smagf= 11is2" cla2810ame>10 5aname="L132"> 1 a/a de * @count: number of peges " claconst2ass="2810m_7>10 6    aname="L132"> 1 a/a de * @nv  : pr04er to a4,L137u"es on  fis nv  2810cod>10 7d 1 a/a de * @prot: memory protection to use. a#L1_KERNEL for 10gular RAM10      aname="L132"> 1 a/a de * 1 a/a de * Rxt" cs: m pointirsto the as="ess that has been smagf=, or %NULL on failu"e10cl    aname="L132"> 1 a/a de *
10c1IRTUt" cllass="srv  unsignm_sma_ramla>2     25o {
  _sma_ram,L137"> 137      pegela>2     25o {
pege     *lass="srv  unsigpegesla>2     25o {
peges"sre, , 10came=")
endizela>2     25o {
sizeme=" addr2/a>);2910las>10c name="L40"> pmdc.c#L104" id="L103//a>, 110c5+code=a10pgd" class="sref2>pgd12910pgd>10c5name="L40"> t" cllass="srv  unsigmemla>2     25o {
mem"srec.c#L104" id="L103//a>, 110c6+code=a10loc.c#L15" id=a 2r1 10c href="mm/vmalloc.hrr3  !18f2ack o2910" c>10cNs="sref" hre>pmdpmd2lo2"snikel<>1addrLs_" ctm+_v  ucountsigned long pmd2    12910cla>10c                  ret=ENOMEMssasortcmemla>2     25o {
mem"sre
pmd2     25o {
vb_041addrLs_" ctm+_v  u>izela>2     25o {
sizeme=", a>, 10css="sref2>end<23) hre>pmd2     25o {
IS_ERR>1add>pmd2     25o {
mem"sre110ps="sref2>end<23)/a>) &amext" class="srv  unsigNULLla>2     25o {
NULL"srec.c#L104" id="L103//a>, 111=1+code=a11=" 199d31748216b28_3/02911=" >110ss="sref">WAR/>, pmd
2     25o {
mem"srec.c#L104" id="L104110ic int end<23)>,L137"> 137        unsa nasigned long  137       ed long 2a>, c.c#L104" id="L104addr2/a>);2911=as>110 name="L40"> next" clrLs_" ctm+_v  u ed long 2a>, 
1addrLs_" ctm+_v  u>izela>2     25o {
sizeme=", a>,   93<<<<<<<<pmdde=ENOMEMssasortcnv  signed long , 110"sref">ptent) &am hre>pmd2     25o {
IS_ERR>1add>pmd2a>, ptent) &am<<<<<<<2    12911=la>110ef="mm/vmalloc.c#L1392"+code=11=9+code=a11=code=next" cls=2sref"2911=co>110ss="sref2>end<23)ass="srefinsertms=" (1<2 hr152594pmd
pmd2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="srec.c#L104" id="L103//a>, 11113+code=a11" class="sref">23ot111end<23)>pmd2     25o {
mem"sre
pmdc.c#L104" id="L103//a>, 11111+code=a1186-64 a/a de/asm3 p2 (311186->111ss="sref">WAR(1pmd1add>pmdpmd, a>, , , do notc.3#L2" 3111a r>1113s="sref2>end<23)>pmd2     25o {
  _unsma_rampmd2     25o {
mem"sre, a>,  next" clext" class="srv  unsigNULLla>2     25o {
NULL"srec.c#L104" id="L103//a>, 111"5+code=a11(1115s="sref">WAR(111""sref">ptent2     25o {
  _sma_ram>11"9.c#L104" id="L103//a>, 11123+code=a11d="L119" class="3ine" 3a11d=">112l    aname="L132"> 1 a/a de"s* 1= <3 href3"11d=">1121    aname="L132"> 1 a/a de *   _a na_ms=__arly"- as= ssmaoa na _arly"durf1foboot"s hreoc.c#L104" id="L13NE_SPIN1122+code=a11L93" id="L933 clas3=111122    aname="L132"> 1 a/a de * @vm:   _>,L137"to ad= 1 a/a de * 1 a/a de * Tfis function is u2ed to as= fixed kernel vmoa na to vmncun befo"e1125aname="L132"> 1 a/a de * "L13NE__init() is c13Ned.  @vmpoproas=", @vmpoprosize,923/s@vmpoproflags  40="+co3e=pte32110">>1126    aname="L132"> 1 a/a de * should contain proper values 13/sthe other fields should be zero.>p hreoc.c#L104" id="L13NE_SPIN11d7+code=a11>WARN_ON   s3ruct 3211>WA>1127d 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN11d8+code=a11L9_ 86112     aname="L132"> 1 a/a de * DO NOT USE THIS FUNCTION UNLESS YOU KNOW WHAT YOU'RE DOING.>p hreoc.c#L104" id="L13NE_SPIN11d9+code=a11ef="+2!= 1129aname="L132"> 1 a/a de *
 1303311113 t" class="srefinsert__initla>2     25o {
__init     a>,  137        _>,L137la>2     25o {
  _>,L137     *> 137       mla>2     25o {
  "sreo.c#L104" id="L103//a>, 11131+code=a11 class="line" na3e="L13311 cl>1131me=")
11  9>,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      tma{
113 name="L40"> ass="srv  unsigt" cON (1<2 hr1525941add>pmd2     25o {
nsma_initialized>pmd  93pmd2     25o {
p"sre
2     25o {
nsncun>pmd=ad>pmdpmd2     25o {
NULL"srec a>, 2fn co     nexnsigned long ptent) &am hre>pmd2fn co     ms=" (1<2 hr152594pmd
cgadpmd2     25o {
  "srepoprot5">2fn co     ms=" (1<2 hr152594pmd) )
11<7sref">ptent) &am<<<<<<<1add>pmd2fn co     ms=" (1<2 hr152594pmd
cladd=ENOMEMssasortc6mla>2     25o {
  "srepoprot5">2fn co     ms=" (1<2 hr152594pmd
+ unsigne/a>2/>,26mla>2     25o {
  "srepoprot5">2fn co     >izela>2     25o {
sizeme="oc.c#L104" id="L104113                  retnext" clb nakc.c#L104" id="L10411end<23)} f="mm/vmalloc.c#L1373 (!pud3411=pu>11=ps="sref2>end<23)/a>) &amass="srv  unsigt" cON (1<2 hr1525941add>pmd2fn co     ms=" (1<2 hr152594pmd
+ unsigne/a>2/>,2tma{
2fn co     >izela>2     25o {
sizeme=" cgadd>pmd2     25o {
  "srepoprot5">2fn co     ms=" (1<2 hr152594pmd)c.c#L104" id="L104WAR(1114ic int 2/>,26mla>2     25o {
  "srepoprot5">2fn co     nexnsigned long 1143s="sref2>endlass="srv  unsigpla>2     25o {
p"sre
pmd2     25o {
  "srec.c#L104" id="L104114 name(1ne23411nex>114/a>2/.c#L104" id="L103//a>, 11146+code=a11tor r**nsigned l3ng 1146    aname="L132"> 1 a/a de"s*1147d 1 a/a de *   _a na_register__arly"- register ssmaoa na _arly"durf1foboot"s hreoc.c#L104" id="L13NE_SPIN11=8+code=a11a>()
<3411a>(>114     aname="L132"> 1 a/a de * @vm:   _>,L137"to register"s hreoc.c#L104" id="L13NE_SPIN11=9+code=a11t(1149aname="L132"> 1 a/a de * @align: requested aligna/a "s hreoc.c#L104" id="L13NE_SPIN1153+code=a11()3115l    aname="L132"> 1 a/a de *"s hreoc.c#L104" id="L13NE_SPIN1151+code=a115 which hel23 hig23r1151151    aname="L132"> 1 a/a de * Tfis function is u2ed to register kernel vmoa na befo"e)
1152    aname="L132"> 1 a/a de * "L13NE__init() is c13Ned.  @vmpoprosize923/s@vmpoproflags should contain1153    aname="L132"> 1 a/a de * proper values on fllry923/sother fields should be zero.  On1154    aname="L132"> 1 a/a de * vmpoproas=" contains the a41155aname="L132"> 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN11(6+code=a11" class=rb_n4"  3
1156    aname="L132"> 1 a/a de * DO NOT USE THIS FUNCTION UNLESS YOU KNOW WHAT YOU'RE DOING.>p hreoc.c#L104" id="L13NE_SPIN1157+code=a11>  84 list_h3e= {
3511>  >11(7d 1 a/a de *
2     25o {
  _a na_register__arly,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137       mla>2     25o {
  "sre, a>, 11(9)
endstatic a>, 2     25o {
  _init_off     a>, 116ss="sref">WARpmdc.c#L104" id="L103//a>, 11162+code=a11ssdud" clas1c#L23" id23611ssd>116VIRTU" id="L104" ca h3" crb_n1163+code=a11 84 DEFINE_S3INLOC3611 84>1163s="sref">pmdpmd
pmd1add>pmd3611laL>116 name="L40"> ass="srv  unsig  _init_offla>2     25o {
  _init_off     pmd1add>pmdpmd
+ unsigne/a>2/>,26mla>2     25o {
  "srepoprot5">2fn co     >izela>2     25o {
sizeme="o"- >pmd116/a>2/.c#L104" id="L103//a>, 11166+code=a11de=addr" class=23ref"23611de=>116"sref">ptent<>pmd2     25o {
  "srepoprot5">2fn co     ms=" (1<2 hr152594pmd
pmdc.c#L104" id="L103//a>, 11167+code=a11mds are48216ectc3dby e3"11mds>116md11 8s="sref">pmd2     25o {
  _a na_ms=__arly 137       mla>2     25o {
  "sreoc.c#L104" id="L103//a>, 11169+code=a11ole_siz"code=nr"3class3611ole>116ss="s(111=111171IRTUt" class="srefinsert__initla>2     25o {
__init     a>, 117ame=")
,L137"> 137        unsa nasigned long  137       ed long 2a>, c.c#L104" id="L1041174s="sref">,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      tma{
11=5name="L40">  ur alloc.cv       isigned long pmdc.c#L104" id="L103//a>, 11176+code=a11alloc.c#L130" id3code=3711all>117 href="mm/vmalloc.hrr3 117Ns="sref"=ENOMEMssasortcfor_each_possible_cpusigned long 1add>pmdpmdo )
11=                  ret>,L137"> 137        unsb2     25o {
  unsb, 
lass="srv  unsignbqla>2     25o {
 bq>pmdc.c#L104" id="L103//a>, 11179+code=a11"80   1     2a hre2711"80>1179.c#L104" id="L103//a>, 11183+code=a11      end<23)>pmd2     25o {
 bq>pmd
1addrLs_" ctm+_v  un unsb2     25o {
  unsb, de=ENOMEMssasortcisigned long pmdoc.c#L104" id="L103//a>, 11181+code=a11" c_no64/tlf">ad2rallo2.11" c>118ss="sref">WAR/>, 2     25o {
cgd" c 1add="+code=nextpgd_offsebqla>2     25o {
 bq>pmdpoprot5">2fn corresplext" class="sref2>  9next" clt5">2fn correspINIT_LIST_HEADhref="+code=nexINIT_LIST_HEAD>1add="+code=nextpgd_offsebqla>2     25o {
 bq>pmdpoprot5">2fn corresp2     25o {
118 name1 11is2" cla2811ame>1185name="L40"> aname="L132"> 1 a/a de"s Import existf1fovmncun fllries. *
 " claconst2ass="2811m_7>118"sref">ptentpmd2     25o {
nsncun>pmd=a> 137      tma{
 137      tma{
2fn co     nexnsigned long 2811cod>1187sref">ptent) &am> 137       ed long 2a>, 
2     25o {
kz04izeofd>,L137"> 137        unsa nasigned long , 118                  ret=ENOMEMssasortc6ed long 2a>, poprot5">2fn co     flagsla>2     25o {
end<23)ass="srefinsertned long 2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre
2fn co     ms=" (1<2 hr152594pmdc.c#L104" id="L103//a>, 11193+code=a11clas1s="sr19e119end<23)>pmd2a>, poprot5">2fn co     oniendla>2     25o {
oniend"sre
2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre
+ unsigne/a>2/>,2tma{
2fn co     >izela>2     25o {
sizeme="c.c#L104" id="L103//a>, 11191+code=a11e" 199d31748216b28_3/02911e" >119ss="sref">WAR/>, 2a>, poprot5">2fn co     omla>2     25o {
  "sre
119ame="L93">  9next" clt5">2fn corresp__insert_  unsa nasigned long 1addrLs_" ctm+_v  uned long 2a>, addr2/a>);2911las>119 name1 > 137        unsa na_pcpu_holmla>2     25o {
  unsa na_pcpu_holm11c href="mm/vmalloc.hrr3  !18f2ack o2911" c>119Ns="sref"=ENOMEMssasortc6sma_initializedla>2     25o {
nsma_initialized>pmd
2     25o {
trum>pmdc.c#L104" id="L103//a>, 11198+code=a11class="comment">2    12911cla>11c     (11199.c#L104" id="L103//a>, 112=3+code=a12=3+ce=next" cls=2sref"2912=3+>120l    aname="L132"> 1 a/a de"s* 1 a/a de * sma_kernel_ran=2_no1202    aname="L132"> 1 a/a de * @as=": tnes= of the VMoa na to smare hreoc.c#L104" id="L13NE_SPIN12=3+code=a12= 1 a/a de * @size: tize9of the VMoa na to smare hreoc.c#L104" id="L13NE_SPIN12=4+code=a12=ass="sref">addr2/a>);2912=as>1204    aname="L132"> 1 a/a de * @prot: pege protection flags to usere hreoc.c#L104" id="L13NE_SPIN12=5+code=a12=gd" class="sref2>pgd12912=gd>1205aname="L132"> 1 a/a de * @peges: peges to smare hreoc.c#L104" id="L13NE_SPIN12=6+code=a12=oc.c#L15" id=a 2r1 1206    aname="L132"> 1 a/a de *re hreoc.c#L104" id="L13NE_SPIN12=7+code=a12= clas 1/a> !18f2ack o2912= c>1207d 1 a/a de * MmagPFN_UP(@size) peges at @as=".  The VMoa na @as="923/s@sizeme hreoc.c#L104" id="L13NE_SPIN12=8+code=a12=lass="comment">2    12912=la>120     aname="L132"> 1 a/a de * specify should have been a41209aname="L132"> 1 a/a de * friends.>p hreoc.c#L104" id="L13NE_SPIN1213+code=a12" class="sref">23ot121l    aname="L132"> 1 a/a de *"s hreoc.c#L104" id="L13NE_SPIN1211+code=a1286-64 a/a de/asm3 p2 (311286->1211    aname="L132"> 1 a/a de * NOTE:"s hreoc.c#L104" id="L13NE_SPIN1212+code=a12t ne="+ hrchp_pt3efise3112t n>1212    aname="L132"> 1 a/a de * Tfis function does NOT do923y cache do notc.3#L2" 3112a r>1213    aname="L132"> 1 a/a de * responsible 1 a/a de * befo"e c13Nf1fotfis function.>p hreoc.c#L104" id="L13NE_SPIN1215+code=a12(1215aname="L132"> 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN12"6+code=a12dr" class="sref23addr23112dr">1216    aname="L132"> 1 a/a de * RETURNS:"s hreoc.c#L104" id="L13NE_SPIN1217+code=a12a href="+co" cla3s="sr3f12a h>1217d 1 a/a de * The number of peges smagf=9on success, -errno on failu"e.>p hreoc.c#L104" id="L13NE_SPIN1218+code=a12 class="line" na3e="L13612 cl>121     aname="L132"> 1 a/a de *
>12"9 ur alloc.cv       sma_kernel_ran=2_no2     25o {
sma_kernel_ran=2_no1addpmd,dizela>2     25o {
sizeme="d.c#L104" id="L103//a>, 11223+code=a12d="L119" class="3ine" 3a12d=">122ps="sref2>end<23)/a>) &amnext"de=nextp1alloc1pgprot_tsigned long , ,L137"> 137      pegela>2     25o {
pege     *lass="srv  unsigpegesla>2     25o {
peges"sre<" id="L104" ca h3" crb_n1221+code=a12d="     /a> 1= <3 href3"12d=">1221me=")
  9ext" class="srv  unsigvsma_page_ran=2_no2     25o {
vsma_page_ran=2_no1add>pmdpmd, a>, , , 1225aname="L132"> 1 a/a de"s*  40="+co3e=pte32120">>1226    aname="L132"> 1 a/a de * unsma_kernel_ran=2_no 1 a/a de * @as=": tnes= of the VMoa na to unsma 1 a/a de * @size: tize9of the VMoa na to unsma1229aname="L132"> 1 a/a de * 1303312123 aname="L132"> 1 a/a de * UnsmagPFN_UP(@size) peges at @as=".  The VMoa na @as="923/s@sizeme hreoc.c#L104" id="L13NE_SPIN1231+code=a12 class="line" na3e="L13312 cl>1231    aname="L132"> 1 a/a de * specify should have been a41232    aname="L132"> 1 a/a de * friends.>p hreoc.c#L104" id="L13NE_SPIN1233+code=a12ddr" class="sref3>addr3312ddr>1233    aname="L132"> 1 a/a de *1234    aname="L132"> 1 a/a de * NOTE:"s hreoc.c#L104" id="L13NE_SPIN1235+code=a12ine" name="L13523 13523312ine>1235aname="L132"> 1 a/a de * Tfis function does NOT do923y cache  1 a/a de * responsible1237d 1 a/a de * befo"e c13Nf1fotfis function923/sp hreoc.c#L104" id="L13NE_SPIN1238+code=a12"u" claef="+2" i3="L133312"u">123     aname="L132"> 1 a/a de *
12, , pud3412=pu>12=ps="s)
WARass="srv  unsigvunsma_page_ran=2signed long 1add>pmdpmd, a>, 124ic in(11243s="sunsigne/a>2/>,2EXPORT_SYMBOL_GPLla>2     25o {
EXPORT_SYMBOL_GPL>1addrLs_" ctm+_v  uunsma_kernel_ran=2_no2     25o {
unsma_kernel_ran=2_no1ad)c.c#L104" id="L103//a>, 11244+code=a12="+code=pud" cl23s="s23412="+>124 name1ne23412nex>1245aname="L132"> 1 a/a de"s* 1 a/a de * unsma_kernel_ran=2 - unsmagkernel VMoa na923/s1247d 1 a/a de * @as=": tnes= of the VMoa na to unsma 1 a/a de * @size: tize9of the VMoa na to unsma 1 a/a de * 1 a/a de * Similar to unsma_kernel_ran=2_no 1 a/a de * the unsmapf1fo13/stlb92fter.>p hreoc.c#L104" id="L13NE_SPIN12(2+code=a12"Lef"rearea>)
1252    aname="L132"> 1 a/a de *
1253    t" class="srefinsertunsma_kernel_ran=2la>2     25o {
unsma_kernel_ran=2>1addpmd,dizela>2     25o {
sizeme="<" id="L104" ca h3" crb_n12(4+code=a12    pgd" classea3 14de3p12   >1254    )
125e="L93">  93<2     25o {
end"sre
pmd
+ unsigne/a>2/>,2>izela>2     25o {
sizeme="c.c#L104" id="L103//a>, 112(6+code=a12" class=rb_n4"  3
125 href="mm/vmalloc.hrr3   84 list_h3e= {
3512>  >125Ns="sref"=ENOMEMssasortcflush_cache_ unsmala>2     25o {
1add>pmdpmd, a>, pmd1add>pmdpmd, a>, 1259s="sref">pmd2     25o {
1add>pmdpmd, a>, 126"a hr.c#L104" id="L103//a>, 11262+code=a12ssdud" clas1c#L23" id23612ssd>126VIRTU ur alloc.cv       sma_  sa nala>2     25o {
sma_  sa na>1add>,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1ad, a>, ,L137"> 137      pegela>2     25o {
pege     *llass="srv  unsigpegesla>2     25o {
peges"sre<" id="L104" ca h3" crb_n1263+code=a12 84 DEFINE_S3INLOC3612 84>1263)
3612laL>126 name="L40"> pmd
1adpoprot5">2fn co     ms=" (1<2 hr152594pmdc.c#L104" id="L103//a>, 11265+code=a12set_k126e="L93">  93<2     25o {
end"sre
pmd
+ unsigne/a>2/>,2a nasigned long 1adpoprot5">2fn co     >izela>2     25o {
sizeme=" - >pmd126"sref">ptent< ur alloc.cv       er" (1<2 hr152594126md12 8s="sref">pmd1add>pmdpmd, a>, , 1269s="sref" hre>pmd127ps="sref2>end<23)lass="srv  unsigpegesla>2     25o {
peges"sre +127ss="sref">WAR/>, 127ic int 1274s="sref"ext" class="srv  unsiger" (1<2 hr15259412=5name}.c#L104" id="L103//a>, 11276+code=a12alloc.c#L130" id3code=3712all>127 hrefunsigne/a>2/>,2EXPORT_SYMBOL_GPLla>2     25o {
EXPORT_SYMBOL_GPL>1addrLs_" ctm+_v  usma_  sa nala>2     25o {
sma_  sa na>1ad127     aname="L132"> 1 a/a de/*ll Old "L13NE_ intirfaces *ll
   1     2a hre2712"80>1279rLs_" ctm+_v  uDEFINE_RWLOCKla>2     25o {
DEFINE_RWLOCK>1addrLs_" ctm+_v  unsncun_lext" class="sref2>nsncun_lext>1ad128,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137       mncunla>2     25o {
nsncun>pmd=.c#L104" id="L103//a>, 11281+code=a12" c_no64/tlf">ad2rallo2.12" c>128"a hr.c#L104" id="L103//a>, 11282+code=a12r         return2-ssr 2812r  >128ame="static t" class="srefinsertsxt"a_  m3NE__omla>2     25o {
sxt"a_  m3NE__om>1add>,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137       mla>2     25o {
  "sre, >,L137"> 137        unsa nasigned long  137       ed long 2a>, d.c#L104" id="L103//a>, 11283+code=a12g 1283s="sref2>end<23)))))))))))))))2     25o {
(<1a 2ref="2812hre>1284    )
 11is2" cla2812ame>1285name="L40"> > 137        la>2     25o {
  "srepoprot5">2fn co     flagsla>2     25o {
2     25o {
 " claconst2ass="2812m_7>128"sref">ptent<>pmd2     25o {
  "srepoprot5">2fn co     ms=" (1<2 hr152594pmd
2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="srec.c#L104" id="L103//a>, 11287+code=a12code=next" cls="2ref">2812cod>128Ns="sref"=ENOMEMssasortc6sla>2     25o {
  "srepoprot5">2fn co     >izela>2     25o {
sizeme=" 2a>, poprot5">2fn co     oniendla>2     25o {
oniend"sre
- >pmd2a>, poprot5">2fn co     oniv>
 5">pmd<2[N]L2254 retnes="srec.c#L104" id="L103//a>, 11288+code=a12;
pmd2     25o {
  "srepoprot5">2fn co     c13Nerla>2     25o {
c13Ner"sre 2     25o {
c13Ner"srec.c#L104" id="L103//a>, 11289+code=a1286-64 a/a de/asm2 put 2n1286->1289s="sref">pmd2a>, poprot5">2fn co     omla>2     25o {
  "sre
2     25o {
  "srec.c#L104" id="L104129end>pmd2a>, poprot5">2fn co     flagsla>2     25o {
129ss="s}.c#L104" id="L103//a>, 11292+code=a12/vmalloc.c#L2" i2=a hr2912/vm>129VIRTU" id="L104" ca h3" crb_n1293+code=a12  137        _>,L137la>2     25o {
  _>,L137     *> 137       mla>2     25o {
  "sre<" id="L104" ca h3" crb_n1294+code=a12lass="sref">addr2/a>);2912las>1294    )
 >,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      tma{
12c href="mm/vmalloc.hrr3  !18f2ack o2912" c>129Ns="sref"=ENOMEMssasortc6sla>2     25o {
  "srepoprot5">2fn co     flagsla>2     25o {
2    12912cla>1298s="sref">pmd1299s="sref"for e>pmd2     25o {
p"sre
2     25o {
nsncun>pmd=ad>pmdpmd2     25o {
NULL"srec a>, 2fn co     nexnsigned long 130ps="sref2>end<23) hre>pmd2fn co     ms=" (1<2 hr152594pmd
cgadpmd2     25o {
  "srepoprot5">2fn co     ms=" (1<2 hr152594pmd)
WAR/>, 130ic int pmd2     25o {
  "srepoprot5">2fn co     nexnsigned long addr2/a>);2913=as>1304s="sref"lass="srv  unsigpla>2     25o {
p"sre
2     25o {
  "srec.c#L104" id="L104 > 137      write_unlext" class="sref2>write_unlext>1add="+code=nextp1alloc1vmncun_lext" class="sref2>nsncun_lext>1ad1306    }.c#L104" id="L103//a>, 113=7+code=a13= clas 1/a> !18f2ack o2913= c>130md2    12913=la>130     static t" class="srefinsertinsert_  u3NE__omla>2     25o {
insert_  u3NE__om>1add>,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137       mla>2     25o {
  "sre, >,L137"> 137        unsa nasigned long  137       ed long 2a>, d.c#L104" id="L103//a>, 113=9+code=a13=code=next" cls=2sref"2913=co>130ss="sref2>end<23)))))))))))))))2     25o {
23ot131ps="s)
WARass="srv  unsigsxt"a_  m3NE__omla>2     25o {
sxt"a_  m3NE__om>1add> 137       mla>2     25o {
  "sre, > 137       ed long 2a>, d/a>, 2     25o {
c13Ner"sre131ic int 2/>,2insert_  u3NE__omncunla>2     25o {
insert_  u3NE__omncun>1add> 137       mla>2     25o {
  "sredo notc.3#L2" 3113a r>1313    (11315static >,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      __get_  sa na_n   la>2     25o {
__get_  sa na_n   >1addizela>2     25o {
sizeme="d.c#L104" id="L103//a>, 113"6+code=a13dr" class="sref23addr23113dr">131"sref">ptent) &am2     25o {
>
 5">pmd<2[N]L2254tnes="sred.c#L104" id="L103//a>, 113"7+code=a13a href="+co" cla3s="sr3f13a h>1317sref">ptent) &am2     25o {
end"sre,< ur alloc.cv       n   la>2     25o {
n   >1ad, ass="srv  unsiggfp_tsigned long >131ss="sref2>end>,L137"> 137        unsa nasigned long  137       ed long 2a>, c.c#L104" id="L104end>,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1adc.c#L104" id="L104 1= <3 href3"13d=">132"a hr.c#L104" id="L103//a>, 11322+code=a13L93" id="L933 clas3=13132ic int 2/>,2t" cON (1<2 hr1525941add>pmd2     25o {
in_intirrupn>1add)pmd2     25o {
ptent) &am ur alloc.cv       bitla>2     25o {
bin"sre
pmd2     25o {
1add>pmdizela>2     25o {
sizeme=")c.c#L104" id="L103//a>, 113d5+code=a13L9        40="+co3e=pte32130">>132"sref">ptent) &am hre>pmd2     25o {
bin"sre
cgadd>pmd2     25o {
IOREMAP_MAX_ORDER"sre<" id="L104" ca h3" crb_n13d7+code=a13>WARN_ON   s3ruct 3213>WA>1327sref">ptent) &am<<<<<<<2     25o {
bin"sre
pmd2     25o {
IOREMAP_MAX_ORDER"srec.c#L104" id="L103//a>, 113d8+code=a13L9_ 86132                  retf="mm hre>pmd2     25o {
bin"sre
cladd=ENOMEMssasortca#L1_SHIFThref="+code=nexa#L1_SHIFT"sre<" id="L104" ca h3" crb_n13d9+code=a13ef="+2!= 132ss="sref2>end<23)))))))))ass="srv  unsigbitla>2     25o {
bin"sre
pmd 130331313311WAR/>, 2     25o {
bin"srec.c#L104" id="L103//a>, 11332+code=a13href="+code=ppmd3 clas3313hre>133ic int 133 name="L40"> ass="srv  unsig>izela>2     25o {
sizeme=" 1add>pmdizela>2     25o {
sizeme=")c.c#L104" id="L103//a>, 11335+code=a13ine" name="L13523 13523313ine>1335s="sref" hre>pmd2     25o {
unlikely>1add!>pmdizela>2     25o {
sizeme=")<" id="L104" ca h3" crb_n1336+code=a13a de/asm- p2a> *3a hr23313a d>133"sref">ptent) &amext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n1337+code=a13 h virtualref="e3sa hr3313 h >133md1338s="sref">pmd1ad
2     25o {
kz041add>izeofd*> 137      a nasigned long 1ad), a>, 2     25o {
GFP_RECLAIM_MASK>1ad, ass="srv  unsign   la>2     25o {
n   >1ad)c.c#L104" id="L103//a>, 11339+code=a13"line" name="Lef3>1add3313"li>1339s="sref" hre>pmd2     25o {
unlikely>1add!>pmd1ad)<" id="L104" ca h3" crb_n1343+code=a13=pud" class="sre3">pud3413=pu>134ps="sref2>end<23)ext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n1341+code=a13ine" name="L>   3to_lf3f13ine>134"a hr.c#L104" id="L103//a>, 11342+code=a13line" name=56pte3t" cl3413lin>134ic int  1 a/a de/*1343    aname="L132"> 1 a/a de         * We a4ways a41344    aname="L132"> 1 a/a de         *
ne23413nex>1345name="L40"> > 137      >izela>2     25o {
sizeme=" +134Ns="sref"=ENOMEMssasortc6ed long 2a>, 
1add>pmdizela>2     25o {
sizeme=", a>, , pmd<2[N]L2254tnes="sred a>, , pmd2     25o {
IS_ERR>1add> 137       ed long 2a>, <) )
end<23)ass="srefinsertk2     25o {
kpmd1ad)c.c#L104" id="L103//a>, 11353+code=a13()3135ps="sref2>end<23)ext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n1351+code=a135 which hel23 hig23r135135ss="sref">WAR}.c#L104" id="L103//a>, 113(2+code=a13"Lef"rearea>)
135VIRTU" id="L104" ca h3" crb_n13(3+code=a13ref="+code=pgd_a3a_=1 3513ref>1353c int  1 a/a de/*1354    aname="L132"> 1 a/a de         * Whenotfis function9is c13Ned from __  u3NE__n   _ran=2,1355aname="L132"> 1 a/a de         * we do9not add "L_>,L137 to vmncun here to at" c1356    aname="L132"> 1 a/a de         * accessf1founinitialized members9of "L_>,L137 such as 1 a/a de         * peges and nr_peges fields. They will be set later.>p hreoc.c#L104" id="L13NE_SPIN13(8+code=a13>  84 list_h3e= {
3513>  >135     aname="L132"> 1 a/a de         * To distf1fuish it from others, we us2 a VM_UNLIST flag.>p hreoc.c#L104" id="L13NE_SPIN13(9+code=a13e" name="Lef_oc.3#L> 13513e" >1359aname="L132"> 1 a/a de         *
pmd2     25o {
136ss="sref">WAR/>, 2     25o {
sxt"a_  m3NE__om>1add> 137      a nasigned long 1ad, a>, 2     25o {
136ic int end<23)unsigne/a>2/>,2insert_  u3NE__omla>2     25o {
insert_  u3NE__om>1add> 137      a nasigned long 1ad, a>, 2     25o {
3613laL>136 name1136e="L93">  931366    }.c#L104" id="L103//a>, 11367+code=a13mds are48216ectc3dby e3"13mds>136md136     stL137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      __get_  sa nala>2     25o {
__get_  sa na>1addizela>2     25o {
sizeme="dd2     25o {
136ss="sref2>end<23)))))))))))))))am>
 5">pmd<2[N]L2254tnes="sred 2     25o {
end"sre<" id="L104" ca h3" crb_n1373+code=a13=1 href="+code=p3d_are3713=1 >137ps="s)
137ss="sref">WARext" class="srv  unsig__get_  sa na_n   la>2     25o {
__get_  sa na_n   >1adda>, , >
 5">pmd<2[N]L2254tnes="sred a>, , 137ic int 1374ass="srv  unsigEXPORT_SYMBOL_GPLla>2     25o {
EXPORT_SYMBOL_GPL>1addrLs_" ctm+_v  u__get_  sa nala>2     25o {
__get_  sa na>1ad137/a>2/.c#L104" id="L103//a>, 11376+code=a13alloc.c#L130" id3code=3713all>137 href>,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      __get_  sa na_c13Nerla>2     25o {
__get_  sa na_c13Ner>1addizela>2     25o {
sizeme="dd2     25o {
ptent) &am<<<<<<<<)))))))))))))am>
 5">pmd<2[N]L2254tnes="sred 2     25o {
end"sre,.c#L104" id="L104   1     2a hre2713"80>1379)
1380s="sref">WARext" class="srv  unsig__get_  sa na_n   la>2     25o {
__get_  sa na_n   >1adda>, , >
 5">pmd<2[N]L2254tnes="sred a>, , ad2rallo2.13" c>138ss="sref">WAR/>, (<1a 2ref="2813hre>1384    aname="L132"> 1 a/a de"s* 11is2" cla2813ame>1385aname="L132"> 1 a/a de *      get_  sa na  -ARexserv2 a contiguousgkernel virtualoa na " claconst2ass="2813m_7>1386    aname="L132"> 1 a/a de *      @size:          tize9of the a na2813cod>1387d 1 a/a de *      @138     aname="L132"> 1 a/a de * 1 a/a de *      Search anoa na of @size in the kernel virtualosmapf1fo1 na,139l    aname="L132"> 1 a/a de *      and exserv2d it for out purposes.  Rxt" cs the a na descriptor1391    aname="L132"> 1 a/a de *      on success or %NULL on failu"e.>p hreoc.c#L104" id="L13NE_SPIN1392+code=a13/vmalloc.c#L2" i2=a hr2913/vm>1392    aname="L132"> 1 a/a de *
 137        _>,L137la>2     25o {
  _>,L137     *> 137      get_  sa nala>2     25o {
get_  sa na>1addizela>2     25o {
sizeme="dd2     25o {
addr2/a>);2913las>1394    )
  93izela>2     25o {
sizeme="dd1d/a>, 139"sref">ptent) &ammmmmmmmmmmmmmmmm-1d/a>,  !18f2ack o2913" c>139N(12    12913cla>139811399stL137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      get_  sa na_c13Nerla>2     25o {
get_  sa na_c13Ner>1addizela>2     25o {
sizeme="dd2     25o {
140ps="sref2>end<23)))))))))))))))))t" cllass="srv  unsigc13Nerla>2     25o {
c13Ner"sre<" id="L104" ca h3" crb_n14=1+code=a14=" 199d31748216b28_3/02914=" >1401me=")
140ic int izela>2     25o {
sizeme="dd1d/a>, end<23)">ptent) &ammmmmmmmmmmmmmmmm-1d/a>, 2     25o {
c13Ner"sreaddr2/a>);2914=as>1404(1140 href>,atic >,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      find_  sa nala>2     25o {
find_  sa na>1addconst)t" cllass="srv  unsigms=" (1<2 hr152594pmd)
2    12914=la>140             >,L137"> 137        unsa nasigned long  137       ed long 2a>, c.c#L104" id="L104140ss="s.c#L104" id="L10423ot141end>pmd2a>, 
pmd1adddpmd)c.c#L104" id="L104141ss="sref">WAR hre>pmd2a>, 
="+co="+coarLs_" ctm+_v  uned long 2a>, poprot5">2fn co     flagsla>2     25o {
141ic int 2fn co     omla>2     25o {
  "srec.c#L104" id="L104do notc.3#L2" 3114a r>141ef="mm/vmallf="mm/vmalref="+c14"4+code=a14 (1415name}.c#L104" id="L103//a>, 114"6+code=a14dr" class="sref23addr23114dr">141 href="mm/vmalloc.hrr3  1 a/a de"s* 1 a/a de * sref"exmove_  sa na  -ARfind and exmove a continuousgkernel virtualoa na>1419aname="L132"> 1 a/a de *      @as=":          bas2 as="ess>1 hreoc.c#L104" id="L13NE_SPIN1423+code=a14d="L119" class="3ine" 3a14d=">142l    aname="L132"> 1 a/a de *>1 hreoc.c#L104" id="L13NE_SPIN1421+code=a14d="     /a> 1= <3 href3"14d=">1421    aname="L132"> 1 a/a de *      Search for the kernel VMoa na tnes=f1fo1t @as=", and exmove it.>p hreoc.c#L104" id="L13NE_SPIN1422+code=a14L93" id="L933 clas3=141422    aname="L132"> 1 a/a de *      Tfis function rxt" cs the found VMoa na,9butsusf1foit9is NOT safe 1 a/a de *      on SMP machsres, except for its tize9or flags.>p hreoc.c#L104" id="L13NE_SPIN1424+code=a14L9ed long 1424    aname="L132"> 1 a/a de *
1425stL137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      exmove_  sa nala>2     25o {
exmove_  sa na>1addconst)t" cllass="srv  unsigms=" (1<2 hr152594pmd)
  40="+co3e=pte32140">>142"sref)
ptent<>,L137"> 137        unsa nasigned long  137       ed long 2a>, c.c#L104" id="L104L9_ 86142811429s="sref">pmd2a>, 
pmd1adddpmd)c.c#L104" id="L104pmd2a>, 
="+co="+coarLs_" ctm+_v  uned long 2a>, poprot5">2fn co     flagsla>2     25o {
WAR/>, ,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137       mla>2     25o {
  "sre 2a>, poprot5">2fn co     omla>2     25o {
  "srec.c#L104" id="L104143VIRTU" id="L104" ca h3" crb_n1433+code=a14ddr" class="sref3>addr3314ddr>1433s="sref2>end<23) hre!d> 137       mla>2     25o {
  "srepoprot5">2fn co     flagsla>2     25o {
143 name="L40"> ref">WAR/>, ,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      tma{
 1 a/a de/* 1 a/a de                         * exmove from ncun and dis13NEw access to1437d 1 a/a de                         * tfis "L_>,L137 befo"e unsma. (as="ess ran=2>1 hreoc.c#L104" id="L13NE_SPIN1438+code=a14"u" claef="+2" i3="L133314"u">143     aname="L132"> 1 a/a de                         * confliction9is maintainf="by "L1p.)>1 hreoc.c#L104" id="L13NE_SPIN1439+code=a14"line" name="Lef3>1add3314"li>1439aname="L132"> 1 a/a de                         *
pud3414=pu>144ps="sref2>end<23)""""""""uss="srv  unsigwrite_lext" class="sref2>write_lext>1add="+code=nextp1alloc1vmncun_lext" class="sref2>nsncun_lext>1adWAR/>, pmd2     25o {
p"sre
2     25o {
nsncun>pmd=ad>pmdpmd2     25o {
  "srec a>, 2fn co     nexnsigned long 144ic int 1443s="sref2>end<23)">ptent2     25o {
p"sre 2fn co     nexnsigned long 144 name="L40"> ref">WAR/>, ne23414nex>1445s="sref"""""""""}.c#L104" id="L103//a>, 11446+code=a14tor r**nsigned l3ng 144 href="mm/vmalloc.hrr3 1447sref">ptent) &am> 137        unsdebug_1adda>, 2fn co     oniv>
 5">pmd<2[N]L2254 retnes="sre, a>, 2fn co     oniendla>2     25o {
oniend"sre2fn co     flf2_unsma_  unsa nasigned long 1adda>, end<23)ass="srefinsert6sla>2     25o {
  "srepoprot5">2fn co     >izela>2     25o {
sizeme=" -WAR/>, )
145ic int 1453c int 1454(1145/a>2/.c#L104" id="L103//a>, 114(6+code=a14" class=rb_n4"  3
145 href>,atic t" class="srefinsert__vunsmala>2     25o {
__vunsma>1addconst)t" cllass="srv  unsigms=" (1<2 hr152594pmd,< ur alloc.cv       dea42     25o {
dea4 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1adc.c#L104" id="L104145ss="s.c#L104" id="L104 rcu_hee3 {
1460s="sref" hre!>pmdpmd)
146ss="sref">WAR/>, 146VIRTU" id="L104" ca h3" crb_n1463+code=a14 84 DEFINE_S3INLOC3614 84>1463s="sref2>end hreda>, pmd) )
3614laL>146 name="L40"> ref">WARrLs_" ctm+_v  uWARN (1<2 hr1525941add1d/a>, >,Ling">"Tryf1foto vflf2() bad as="ess (%p)\n", 1465s="sref"""""""""ext" cc.c#L104" id="L1041466c int 146md1468s="sref">pmd1ad
2     25o {
exmove_  sa na>1adda>, 1469s="sref" hre>pmd2     25o {
unlikely>1add!>pmd1ad)< )
147ps="sref2>end<23)rLs_" ctm+_v  uWARN (1<2 hr1525941add1d/a>, >,Ling">"Tryf1foto vflf2() nonexcuneur vmoa na (%p)\n"147ss="sref">WAR/>, pmdpmd)c.c#L104" id="L104147ic int 147 name11475name="L40"> > 137      debug_check_no_lexts_2     25o {
debug_check_no_lexts_1adda>, 1adpoprot5">2fn co     >izela>2     25o {
sizeme=")c.c#L104" id="L1041476name="L40"> > 137      debug_check_no_obj_2     25o {
debug_check_no_obj_1adda>, 1adpoprot5">2fn co     >izela>2     25o {
sizeme=")c.c#L104" id="L104147md1478s="sref" hre>pmd2     25o {
dea4   1     2a hre2714"80>147ss="sref2>end<23) ur alloc.cv       ila>2     25o {
i>1adc.c#L104" id="L104ad2rallo2.14" c>148ss="sref">WAR/>, pmd2     25o {
i>1ad
, 2fn co     nr_pegessigned long ,  137      pegela>2     25o {
pa=2>1ad2     25o {
pa=2>1ad<1adpoprot5">2fn co     pegessigned long , (<1a 2ref="2814hre>148 name="L40"> ref">WAR/>, 1add!>pmd2     25o {
pa=2>1ad)c.c#L104" id="L104 11is2" cla2814ame>1485s="sref"""""""""""""""""uss="srefinsert__flf2_pegela>2     25o {
__flf2_pege>1adda>,  " claconst2ass="2814m_7>148"sref">ptent) &am}.c#L104" id="L103//a>, 11487+code=a14code=next" cls="2ref">2814cod>148md148                  ret hre>pmd1adpoprot5">2fn co     flagsla>2     25o {
2     25o {
VM_Va#L1S>pmd)
end<23)))))))))ass="srv  unsigv2     25o {
vpmd1adpoprot5">2fn co     pegessigned long 149ps="sref2>end<23)f="m.c#L104" id="L103//a>, 11491+code=a14e" 199d31748216b28_3/02914e" >149ss="sref">WAR/>, 2fn co     k2     25o {
kpmd1adpoprot5">2fn co     pegessigned long 149ic int addr2/a>);2914las>149 name="L40"> ass="srv  unsigk2     25o {
kpmd1ad)c.c#L104" id="L103//a>, 114c5+code=a14pgd" class="sref2>pgd12914pgd>149e="L93">  931496    }.c#L104" id="L103//a>, 11497+code=a14" clas 1/a> !18f2ack o2914" c>149md2    12914cla>149     aname="L132"> 1 a/a de"s*1499aname="L132"> 1 a/a de *      v1 hreoc.c#L104" id="L13NE_SPIN15=3+code=a15=3+ce=next" cls=2sref"2915=3+>150l    aname="L132"> 1 a/a de *      @as=":          memory bas2 as="ess>1 hreoc.c#L104" id="L13NE_SPIN15=1+code=a15=" 199d31748216b28_3/02915=" >1501    aname="L132"> 1 a/a de *>1 hreoc.c#L104" id="L13NE_SPIN15=2+code=a15=vmalloc.c#L2" i2=a hr2915=vm>1502    aname="L132"> 1 a/a de *      Flf2 the virtually continuousgmemory a na tnes=f1fo1t @as=", as>1 hreoc.c#L104" id="L13NE_SPIN15=3+code=a15= 1 a/a de *      obtainf="from "L14addr2/a>);2915=as>1504    aname="L132"> 1 a/a de *      NULL, no operation9is performed.>p hreoc.c#L104" id="L13NE_SPIN15=5+code=a15=gd" class="sref2>pgd12915=gd>1505aname="L132"> 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN15=6+code=a15=oc.c#L15" id=a 2r1 1506    aname="L132"> 1 a/a de *      Must9not be c13Ned in intirrupn context.>p hreoc.c#L104" id="L13NE_SPIN15=7+code=a15= clas 1/a> !18f2ack o2915= c>1507d 1 a/a de *
2    12915=la>150     t" class="srefinsertv2     25o {
v1509)
23ot151end>pmd1add>pmd2     25o {
in_intirrupn>1add)151ic int pmd)c.c#L104" id="L104do notc.3#L2" 3115a r>151ef="mm/vmallf="mm/vmalref="+c15"4+code=a15  ass="srv  unsig__vunsmala>2     25o {
__vunsma>1adda>, 1515name}.c#L104" id="L103//a>, 115"6+code=a15dr" class="sref23addr23115dr">151 hrefa>, 2     25o {
v 1 a/a de"s*>1519aname="L132"> 1 a/a de *      vunsma  -ARexleas2 virtualosmapf1foobtainf="by "L1p()>1 hreoc.c#L104" id="L13NE_SPIN1523+code=a15d="L119" class="3ine" 3a15d=">152l    aname="L132"> 1 a/a de *      @as=":          memory bas2 as="ess>1 hreoc.c#L104" id="L13NE_SPIN1521+code=a15d="     /a> 1= <3 href3"15d=">1521    aname="L132"> 1 a/a de *>1 hreoc.c#L104" id="L13NE_SPIN1522+code=a15L93" id="L933 clas3=151522    aname="L132"> 1 a/a de *      Flf2 the virtually contiguousgmemory a na tnes=f1fo1t @as=",>1 hreoc.c#L104" id="L13NE_SPIN1523+code=a15pmd" class="sre23>pmd23215pmd>1523    aname="L132"> 1 a/a de *      which was c natf="from the pege a ray pessf="to vm1p().>p hreoc.c#L104" id="L13NE_SPIN1524+code=a15L9ed long 1524    aname="L132"> 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN1525+code=a15L9       1 a/a de *      Must9not be c13Ned in intirrupn context.>p hreoc.c#L104" id="L13NE_SPIN15d6+code=a150">  40="+co3e=pte32150">>1526    aname="L132"> 1 a/a de *
1529s="sref">pmd1add>pmd2     25o {
in_intirrupn>1add) 1303315153end>pmd2     25o {
might_sleea>1add)c.c#L104" id="L103//a>, 11531+code=a15 class="line" na3e="L13315 cl>153ss="sref">WARass="srv  unsig__vunsmala>2     25o {
__vunsma>1adda>, 153ic in(1, 2     25o {
vunsma>1ad)c.c#L104" id="L103//a>, 11534+code=a15XPORT_SYMBOLf="+3sref"3315XPO>153 name1 1 a/a de"s* 1 a/a de *      vsma  -ARsma anoa ray of peges into virtually contiguousgnamc2>1 hreoc.c#L104" id="L13NE_SPIN1537+code=a15 h virtualref="e3sa hr3315 h >1537d 1 a/a de *      @peges:         a ray of pege pointirs>1 hreoc.c#L104" id="L13NE_SPIN1538+code=a15"u" claef="+2" i3="L133315"u">153     aname="L132"> 1 a/a de *      @count:         number of peges to sma>1 hreoc.c#L104" id="L13NE_SPIN1539+code=a15"line" name="Lef3>1add3315"li>1539aname="L132"> 1 a/a de *      @pud3415=pu>154l    aname="L132"> 1 a/a de *      @prot:          pege protection9for the smapf1f 1 a/a de *>1 hreoc.c#L104" id="L13NE_SPIN1542+code=a15line" name=56pte3t" cl3415lin>1542    aname="L132"> 1 a/a de *      Maps @count peges from @peges into contiguousgkernel virtual>1 hreoc.c#L104" id="L13NE_SPIN1543+code=a15XPORT_SYMBOLf="+3sref"3415XPO>1543    aname="L132"> 1 a/a de *      namc2.>p hreoc.c#L104" id="L13NE_SPIN1544+code=a15="+code=pud" cl23s="s23415="+>1544    aname="L132"> 1 a/a de *
ne23415nex>1545t" cllass="srv  unsigvsmala>2     25o {
vsma>1add>,L137"> 137      pegela>2     25o {
pa=2>1adptent) &am2     25o {
 137      pgprot_tsigned long  137      protsigned long pmd)
154md 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1adc.c#L104" id="L104(154ss="s.c#L104" id="L104)3155end>pmd2     25o {
might_sleea>1add)c.c#L104" id="L103//a>, 11551+code=a155 which hel23 hig23r155155"a hr.c#L104" id="L103//a>, 115(2+code=a15"Lef"rearea>)
155ic int pmdpmd)
1553s="sref2>end<23)ext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n15(4+code=a15    pgd" classea3 14de3p15   >155 name11555name="L40"> > 137      a nasigned long 1ad
2     25o {
get_  sa na_c13Ner>1adde>pmdpmd)d/a>, 155"sref">ptent) &ammmmmmmmmmmmmmmmm="L40"> > 137      __builtf1_ext" c_as="essla>2     25o {
__builtf1_ext" c_as="ess>1add0)155ss="s.c#L104" id="L104 rcu_hee3 {
1560s="sref" hre>pmd2     25o {
sma_  sa naref=d>pmd1ad,"> 137      protsigned long pmd,a="+code=nextp1alloc1pegessigned long 156ss="sref">WAR/>, 2     25o {
vunsma>1add>pmd1adpoprot5">2fn co     ms=" (1<2 hr152594pmd)c.c#L104" id="L104156ic int  DEFINE_S3INLOC3615 84>1563c int 3615laL>156 name1156e="L93">  932fn co     ms=" (1<2 hr152594pmdc" id="L104" ca h3" crb_n1566+code=a15de=addr" class=23ref"23615de=>1566    }.c#L104" id="L103//a>, 11567+code=a15mds are48216ectc3dby e3"15mds>156md, 2     25o {
vsma>1ad)c.c#L104" id="L104156811569static t" cl*> 137      __  u3NE__n   la>2     25o {
__  u3NE__n   >1addizela>2     25o {
sizeme="dd157ps="sref2>end<23)>WAR/>,  137      gfp_mast" class="sref2>gfp_mast 137      pgprot_tsigned long  137      protsigned long pmd,1157ss="sref">WAR/>, 2     25o {
n   >1ad,)t" cllass="srv  unsigc13Nerla>2     25o {
c13Ner"sre157ic instatic t" cl*> 137      __  u3NE__a na_n   la>2     25o {
__  u3NE__a na_n   >1add>,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1ad,"> 137      gfp_tsigned long  137      gfp_mast" class="sref2>gfp_mastend<23))>WAR/>,  137      protsigned long pmd,s ur alloc.cv       n   la>2     25o {
n   >1ad,)t" cllass="srv  unsigc13Nerla>2     25o {
c13Ner"sre<.c#L104" id="L1041574    )
1575name="L40"> const) ur alloc.cv       orderla>2     25o {
order>1ad
1576name="L40"> >,L137"> 137      pegela>2     25o {
pa=2>1adptent<, , 1578s="sref">pmd 137      nested_gfpsigned long 1ad
,  137      __GFP_ZEROla>2     25o {
__GFP_ZERO>1adc.c#L104" id="L104   1     2a hre2715"80>157ss="s.c#L104" id="L104end>pmd, 2fn co     >izela>2     25o {
sizeme=" -arLs_" ctm+_v  ua#L1_SIZEhref="+code=nexa#L1_SIZE nam) oprooproarLs_" ctm+_v  ua#L1_SHIFThref="+code=nexa#L1_SHIFT>pmdc.c#L104" id="L104ad2rallo2.15" c>158ss="sref">WARass="srv  unsigm ray_>izela>2     25o {
m ray_>ize"sre
, ,L137"> 137      pegela>2     25o {
pa=2>1ad1583s="sref">WARass="srv  unsigm nasigned long 1adpoprot5">2fn co     nr_pegessigned long (<1a 2ref="2815hre>158 name="L40"> aname="L132"> 1 a/a de"s Pleas2 not2 that the recursion9is >,Lictly bounded. *
 11is2" cla2815ame>1585s="sref" hre>pmdizela>2     25o {
m ray_>ize"sre
oproarLs_" ctm+_v  ua#L1_SIZEhref="+code=nexa#L1_SIZE nam) )
 " claconst2ass="2815m_7>158"sref">ptent) &amass="srv  unsigpegessigned long 2     25o {
__  u3NE__n   >1adda>, , 2815cod>1587sref">ptent) &am">ptent) &amass="srv  unsiga#L1_KERNELla>2     25o {
a#L1_KERNEL"sre, a>, 2     25o {
c13Ner"sre158                  retass="srv  unsigm nasigned long 1adpoprot5">2fn co     flagsla>2     25o {
2     25o {
VM_Va#L1S>pmdc.c#L104" id="L104158ss="sref2>end})f="m )
159ps="sref2>end<23)ass="srv  unsigpegessigned long 2     25o {
k u3NE__n   >1adda>, , 2     25o {
n   >1ad159ss="sref">WAR}.c#L104" id="L103//a>, 11592+code=a15/vmalloc.c#L2" i2=a hr2915/vm>159ic int 2fn co     pegessigned long WARass="srv  unsigm nasigned long 1adpoprot5">2fn co     c13Nerla>2     25o {
c13Ner"sre
2     25o {
c13Ner"srec.c#L104" id="L104addr2/a>);2915las>159 name="L40">  hre!>pmd1adpoprot5">2fn co     pegessigned long   93WARass="srv  unsigexmove_  sa nala>2     25o {
exmove_  sa na>1adda>, 2fn co     ms=" (1<2 hr152594pmd)c.c#L104" id="L104159"sref">ptent) &amass="srv  unsigk2     25o {
kpmd1ad)c.c#L104" id="L103//a>, 11597+code=a15" clas 1/a> !18f2ack o2915" c>1597sref">ptent) &amext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n1598+code=a15class="comment">2    12915cla>1598s="sref">WAR}.c#L104" id="L103//a>, 11599+code=a15+code=next" cls=2sref"2915+co>159ss="s.c#L104" id="L104160ps="sref2>endfor e>pmd2     25o {
i>1ad
, 2fn co     nr_pegessigned long , WAR/>, ,L137"> 137      pegela>2     25o {
pa=2>1ad2     25o {
pa=2>1adc" id="L104" ca h3" crb_n16=2+code=a16=vmalloc.c#L2" i2=a hr2916=vm>160ic int pmd 137      tmp_mast" class="sref2>tmp_mast"sre
addr2/a>);2916=as>160 name="L40"> ref">WAR hre>pmd2     25o {
n   >1ad
cladd0<.c#L104" id="L1042     25o {
u3NE__pegeref=d>pmd160"sref">ptent) &amf="m.c#L104" id="L103//a>, 116=7+code=a16= clas 1/a> !18f2ack o2916= c>1607sref">ptent) &am">ptent2     25o {
pa=2>1ad<2     25o {
u3NE__peges_n   ref=d>pmd2     25o {
n   >1ad,)ass="srv  unsigtmp_mast" class="sref2>tmp_mast"sre,)ass="srv  unsigorderla>2     25o {
order>1ad)c.c#L104" id="L103//a>, 116=8+code=a16=lass="comment">2    12916=la>16081160ss="sref2>end<23) hre>pmd2     25o {
unlikely>1add!>pmd2     25o {
pa=2>1ad)) )
23ot161ps="sref2>end<23)>WAR/>, aname="L132"> 1 a/a de"s Successfully a4WAR/>, 2fn co     m nasigned long 1adpoprot5">2fn co     nr_pegessigned long 2     25o {
i>1adc.c#L104" id="L1042     25o {
1adc.c#L104" id="L104do notc.3#L2" 3116a r>1613s="sref2>end<23)}.c#L104" id="L103//a>, 116"4+code=a16  ref">WAR>pmd1adpoprot5">2fn co     pegessigned long , 2     25o {
pa=2>1adc" id="L104" ca h3" crb_n1615+code=a16(1615s="sref"}.c#L104" id="L103//a>, 116"6+code=a16dr" class="sref23addr23116dr">161 href="mm/vmalloc.hrr3 2     25o {
sma_  sa naref=d>pmd1ad,"> 137      protsigned long pmd,a="+code=nextp1alloc1pegessigned long 2     25o {
1adc.c#L104" id="L104 1= >161ss="sref2>endext" class="srv  unsiga nasigned long 1adpoprot5">2fn co     ms=" (1<2 hr152594pmdc" id="L104" ca h3" crb_n1623+code=a16d="L119" class="3ine" 3a16d=">16211 1= <3 href3"16d=">1621    a>, 2     25o {
wa c_a3NE__pmd 137      orderla>2     25o {
order>1ad,.c#L104" id="L104end<23))>WAR/aname="L132">>,Ling">"L104 ref">WAR/>, , 2fn co     nr_pegessigned long 1adpoprot5">2fn co     >izela>2     25o {
sizeme=")c.c#L104" id="L104L9       > 137      v2     25o {
vpmd1adpoprot5">2fn co     ms=" (1<2 hr152594pmd)c.c#L104" id="L104  40="+co3e=pte32160">>1626s="sref2>endext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n16d7+code=a16>WARN_ON   s3ruct 3216>WA>1627sref}.c#L104" id="L103//a>, 116d8+code=a16L9_ 86162811629aname="L132"> 1 a/a de"s* 1303316163l    aname="L132"> 1 a/a de *      __  u3NE__n   _ran=2  -ARa4 1 a/a de *      @size:          a41632    aname="L132"> 1 a/a de *      @alhre:         desir2="alhrea/a me hreoc.c#L104" id="L13NE_SPIN1633+code=a16ddr" class="sref3>addr3316ddr>1633    aname="L132"> 1 a/a de *      @tnes=:            a na ran=2 tnes="s hreoc.c#L104" id="L13NE_SPIN1634+code=a16XPORT_SYMBOLf="+3sref"3316XPO>1634    aname="L132"> 1 a/a de *      @end:              a na ran=2 end"s hreoc.c#L104" id="L13NE_SPIN1635+code=a16ine" name="L13523 13523316ine>1635aname="L132"> 1 a/a de *      @gfp_mast:       1 a/a de *      @prot:          protection9mast9for the a41637d 1 a/a de *      @n   :          n    to use9for a4163     aname="L132"> 1 a/a de *      @c13Ner:        c13Ner'sdext" clas="ess>1 hreoc.c#L104" id="L13NE_SPIN1639+code=a16"line" name="Lef3>1add3316"li>1639aname="L132"> 1 a/a de *>1 hreoc.c#L104" id="L13NE_SPIN1643+code=a16=pud" class="sre3">pud3416=pu>164l    aname="L132"> 1 a/a de *      A41 hreoc.c#L104" id="L13NE_SPIN1641+code=a16ine" name="L>   3to_lf3f16ine>1641    aname="L132"> 1 a/a de *      a41 hreoc.c#L104" id="L13NE_SPIN1642+code=a16line" name=56pte3t" cl3416lin>1642    aname="L132"> 1 a/a de *      kernel virtual namc2, usf1fo1 pegetable protection9of @prot.>p hreoc.c#L104" id="L13NE_SPIN1643+code=a16XPORT_SYMBOLf="+3sref"3416XPO>1643    aname="L132"> 1 a/a de *
1644    t" cl*> 137      __  u3NE__n   _ran=2signed long izela>2     25o {
sizeme="ddne23416nex>1645s="sref""""""""""""""""">
 5">pmd<2[N]L2254tnes="sre, 2     25o {
end"sre,"> 137      gfp_tsigned long  137      gfp_mast" class="sref2>gfp_mastptent) &ammmmmmmmmde=nextp1alloc1pgprot_tsigned long  137      protsigned long pmd,s ur alloc.cv       n   la>2     25o {
n   >1ad,)t" cllass="srv  unsigc13Nerla>2     25o {
c13Ner"sre<.c#L104" id="L104164md 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1adc.c#L104" id="L104(164ss="sref2>endt" cllass="srv  unsigms=" (1<2 hr152594pmdc.c#L104" id="L104)3165endizela>2     25o {
 nal_>ize"sre
izela>2     25o {
sizeme="c.c#L104" id="L104 which hel23 hig23r165165"a hr.c#L104" id="L103//a>, 116(2+code=a16"Lef"rearea>)
165ic int pmdizela>2     25o {
sizeme=")c.c#L104" id="L1041653s="sref2>end hre!>pmdizela>2     25o {
sizeme=" ||ada>, pmd)
165 name="L40"> ref">WARgoto/a>, 1655name.c#L104" id="L1041656name="L40"> > 137      a nasigned long 1ad
2     25o {
__get_  sa na_n   ref=d>pmdizela>2     25o {
sizeme=", a>,  137      VM_UNLISThref="+code=nexVM_UNLISTptent) &am">ptent) &am, ass="srv  unsig>>
 5">pmd<2[N]L2254tnes="sre, a>,  137      n   la>2     25o {
n   >1ad,)ass="srv  unsiggfp_mast" class="sref2>gfp_mast 137      c13Nerla>2     25o {
c13Ner"srepmd1ad).c#L104" id="L103//a>, 116(9+code=a16e" name="Lef_oc.3#L> 13516e" >165ss="sref2>end<23)goto/a>, 166ss="sref">WARass="srv  unsigms=" (1<2 hr152594pmd
2     25o {
__  u3NE__a na_n   >1add>pmd1ad,"> 137      gfp_mast" class="sref2>gfp_mast 137      protsigned long pmd,s> 137      n   la>2     25o {
n   >1ad,)ass="srv  unsigc13Nerla>2     25o {
c13Ner"sre166ic int pmdpmd)
end<23)ext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n1664+code=a16laLIST_HEADf="+c3ref">3616laL>166 name1166e="L93">  93 1 a/a de"s1666    aname="L132"> 1 a/a de         * In this function, newly a41667d 1 a/a de         * to vmlisto1t __get_  sa na_n   (). so,s 79is as=ed her2.>p hreoc.c#L104" id="L13NE_SPIN1668+code=a16 class=rb_n4"  {3166     aname="L132"> 1 a/a de         *
1669s="sref">pmd2     25o {
insert_  u3NE__vmlist>1add>pmd1ad16711167ss="sref">WARaname="L132"> 1 a/a de"s1672    aname="L132"> 1 a/a de         * A)exf_count = 39is nee=ed because9the v _>,L1379and vsmasa nare hreoc.c#L104" id="L13NE_SPIN1673+code=a16a_pcpu_hole>pgd_3ffset3716a_p>1673    aname="L132"> 1 a/a de         * >,L137ures a41674    aname="L132"> 1 a/a de         * 104er2nces to the virtuallas="ess9of the v 13NE_'ed bNE_k.>p hreoc.c#L104" id="L13NE_SPIN1675+code=a16o have pfns corr3G6m="3716o h>1675aname="L132"> 1 a/a de         *
1676name="L40"> > 137      kmemleak_13NE_signed long 1add>pmdpmd, a>,  137      gfp_mast" class="sref2>gfp_mast1678s="sref"ext" class="srv  unsigas=" (1<2 hr152594pmdc.c#L104" id="L104   1     2a hre2716"80>167ss="s.c#L104" id="L104, ad2rallo2.16" c>168ss="sref">WARass="srv  unsigwa c_a3NE__2     25o {
wa c_a3NE__pmd>,Ling">"L104end<23))>WAR/a>, 168 name="L40"> ext" class="srv  unsigNULLla>2     25o {
NULL"srec" id="L104" ca h3" crb_n1685+code=a16ame="L114"> 11is2" cla2816ame>1685name}.c#L104" id="L103//a>, 11686+code=a16m_7"> " claconst2ass="2816m_7>168 href="mm/vmalloc.hrr3 2816cod>1687d 1 a/a de"s*168     aname="L132"> 1 a/a de *      __  u3NE__n     -ARa4 1 a/a de *      @size:          a4169l    aname="L132"> 1 a/a de *      @alhre:         desir2="alhrea/a me hreoc.c#L104" id="L13NE_SPIN1691+code=a16e" 199d31748216b28_3/02916e" >1691    aname="L132"> 1 a/a de *      @gfp_mast:      1692    aname="L132"> 1 a/a de *      @prot:          protection9mast9for the a4 1 a/a de *      @n   :          n    to use9for a4addr2/a>);2916las>1694    aname="L132"> 1 a/a de *      @c13Ner:        c13Ner'sdext" clas="ess>1 hreoc.c#L104" id="L13NE_SPIN1695+code=a16pgd" class="sref2>pgd12916pgd>1695aname="L132"> 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN16c6+code=a16loc.c#L15" id=a 2r1 1696    aname="L132"> 1 a/a de *      A41 hreoc.c#L104" id="L13NE_SPIN1697+code=a16" clas 1/a> !18f2ack o2916" c>1697d 1 a/a de *      a41 hreoc.c#L104" id="L13NE_SPIN1698+code=a16class="comment">2    12916cla>169     aname="L132"> 1 a/a de *      kernel virtual namc2, usf1fo1 pegetable protection9of @prot.>p hreoc.c#L104" id="L13NE_SPIN1699+code=a16+code=next" cls=2sref"2916+co>1699aname="L132"> 1 a/a de *
170ps="sstatic t" cl*> 137      __  u3NE__n   la>2     25o {
__  u3NE__n   >1addizela>2     25o {
sizeme="ddWAR/>, ))>WAR/a>,  137      gfp_mast" class="sref2>gfp_mast 137      pgprot_tsigned long  137      protsigned long pmd,1170ic int 2     25o {
n   >1ad,)t" cllass="srv  unsigc13Nerla>2     25o {
c13Ner"sre<.c#L104" id="L104addr2/a>);2917=as>170 name="L40"> ext" class="srv  unsig__  u3NE__n   _ran=2signed long pmdizela>2     25o {
sizeme=", a>, )>WAR/a>,  137      protsigned long pmd,s> 137      n   la>2     25o {
n   >1ad,)ass="srv  unsigc13Nerla>2     25o {
c13Ner"sre1706    }.c#L104" id="L103//a>, 117=7+code=a17= clas 1/a> !18f2ack o2917= c>170md2    12917=la>1708t" cl*> 137      __  u3NE_signed long 1addizela>2     25o {
sizeme="dda>,  137      gfp_mast" class="sref2>gfp_mast 137      pgprot_tsigned long  137      protsigned long pmd<.c#L104" id="L104170ss="s)
23ot171ps="sref2>endext" class="srv  unsig__  u3NE__n   la>2     25o {
__  u3NE__n   >1adda>, ,  137      protsigned long pmd,s-1,1WAR/>, )>WAR/a>, 171ic in(1do notc.3#L2" 3117a r>1713s="sa>, 1ad1715static >pmd2     25o {
inTUALs="srt" cl*> 137      __  u3NE__n   _flagsla>2     25o {
__  u3NE__n   _flags>1addizela>2     25o {
sizeme="d1171"sref">ptent) &ammmmmmmmmmmmmmmmm="L40">  ur alloc.cv       n   la>2     25o {
n   >1ad,)a>,  137      flagsla>2     25o {
izela>2     25o {
sizeme="dd1d/a>,  137      a#L1_KERNELla>2     25o {
a#L1_KERNEL"sre,
>171ss="sref2>end<23)/>, )>WAR/a>,  1= <3 href3"17d=">172"a hr.c#L104" id="L103//a>, 11722+code=a17L93" id="L933 clas3=171722    aname="L132"> 1 a/a de"s* 1 a/a de *      "L13NE_  -ARa4 1 a/a de *      @size:          a41725aname="L132"> 1 a/a de *      A41 hreoc.c#L104" id="L13NE_SPIN17d6+code=a170">  40="+co3e=pte32170">>1726    aname="L132"> 1 a/a de *      a4p hreoc.c#L104" id="L13NE_SPIN17d7+code=a17>WARN_ON   s3ruct 3217>WA>1727d 1 a/a de *>p hreoc.c#L104" id="L13NE_SPIN17d8+code=a17L9_ 86172     aname="L132"> 1 a/a de *      For t"> 1 3117 171 name1 1 3117 171 na1Lef363izeme="5vr1629aname="L132"> 1 a/a den     25o {
_()mapsteadal namc2.>p hreoc.c#L104" id="L13NE_SPIN16337code=a16 1 a/a de *
, 171mdizela>2     25o {
si-zeme="dd1d/a>, 2   5259   a#L cl>1ast 137      __GFP_HIGHMEMla>2     25o {
__GFP_HIGs>1add0)1721(1,  1 a/a de"s*163     aname="L132"> 1 a/a devz      -3NE_  -ARa41 hreoc.c#L104" id="L13NE_SPIN16397code=a16"line" name="Lef371add3716"li>1639aname="L132"> 1 a/a de *              a4 1 a/a de *      A41 hreoc.c#L104" id="L137E_SPIN16417code=a16ine" name="L>   37o_lf3716ine>1641    aname="L132"> 1 a/a de *      a4p hreoc.c#L104" id="L13NE_SPIN16427code=a16line" name=56pte37" cl3716lin>1642    aname="L132"> 1 a/a deTe"ftiguou4137ures a4p hreoc.c#L104" id="L13NE_SPIN16337code=a16XPORT_SYMBOLf="+37ref"3716XPO>1643    aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L13NE_SPIN16347code=a16="+code=pud" cl237="s237471724    aname="L132"> 1 a/a de *      For t"> 1 3117 171 name1 1 3117 171 na1Lef363izeme="5vr 1 a/a den     25o {
_()mapsteadal namc2.>p hreoc.c#L104" id="L13Na h, u16467code=a16tor r**nsigned l37g >1726    aname="L132"> 1 a/a de *
1545t" cllass="srvz +co__  u3NE_signed nz 1addizela>2     25o {
lagsendext" class="srv  unsig__  u3NE__n   _flagsla>2     25o {
__  u3NE__n   _fl   >1adda>, end<23)>WAReeeea>)>WAR/a>, 2   5259   a#L cl>1ast 137      __GFP_HIGHMEMla>2     25o {
__GFP_HIGASK"sre< | > 137      __GFP_ZEROla>2     25o {
__GFP_s>1add0), 116(27code=a16"Lef"rearea>)
1713s="sa>, 160ef="mm/vmallf="mm/vmal7a h, u16(47code=a16    pgd" classea3714de37571724    aname="L132"> 1 a/a de"s*1725aname="L132"> 1 a25o {
__n  r -3NE_  -ARazero a4<>1726    aname="L132"> 1 a *             a4 1 a/a de *>p hreoc.c#L104" id="L13Na h, u16587code=a16>  84 list_h37= {
3756"u">163     aname="L132"> 1 aT2 thasu {
_gftiguou41    1639aname="L132"> 1 ap hreoc.c#L104" id="L13Na h, u16637code=a16  84 rcu_hee37{
163l    aname="L132"> 1 a/a de *
1545t" cllass="srv  +co__n  r_  u3NE_signed ng 1addizela>2     25o {
lags171md,L137"> 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1adc.c#L104" id="L1047 crb_n16647code=a16laLIST_HEADf="+c37ef">3767=as>170 name1545t" cllass="srref    a nasigned ref 1adc.c#L104" id="L1047  h, u16(57code=a16set_k1655name.c#L104" id="L1047E_SPIN16667code=a16de=addr" class=237ef"23766all>1676name="L40"> > 1372     25o {
__  u3NE__n   >1adda>, , izela>2   SHMLBA1_KERNEL"sre,
ptent) &am">ptea>)>WAR/a>, 2   5259   a#L cl>1ast 137      __GFP_HIGHMEMla>2     25o {
__GFP_HIGASK"sre< | > 137      __GFP_ZEROla>2     25o {
__GFP_RNEL"sre,
161             /a>) &am">ptea>)>WAR/a>, 2     25o {
a#L1_KERN-zeme="dd1d/a>, 1669t 1ad)) )
159ps="sref2>end<23)ass="sra>      a nasigned long 1ad
2   find_v  usmaNE__n   >1adda>, 1add0)171ss="sref">WAR<23)ass="sra>      a nasigned long 1adpoprot5">2fn co     flagsla>2     25o {
2   tm+USERMAP 1adc.c#L104" id="L1047E_SPIN16727code=a16a 14     pgd" c237s=e23777=vm>170ic in1721(1pgd_37fset3773 cl>1718s="sref"ext" class="srref    a nasigned ref 1adc.c#L104" id="L1047E_SPIN16747code=a16code=end" class237r1723776XPO>1721(1, 168 href="mm/vmalloc.hrr37a h, u16777code=a16static int 1637d 1 a/a de"s*163     aname="L132"> 1 a/a dev     __  u3NE__n     -ARatiguou4a4   1     27 hre277686->1689aname="L132"> 1 a/a de *      @size:          a4169l    aname="L132"> 1 a/a de *      @n   :   uma   u3NE de"s*ad27allo2786ine>1641    aname="L132"> 1 NE de"s* 1 a/a de *      A41 hreoc.c#L104" id="L137a h, u16837code=a16g 1723    aname="L132"> 1 a/a de *      a4p hreoc.c#L104" id="L13Na h, u16847code=a16hre1bad(<1a 27ef="27871724    aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L13Na_SPIN16757code=a16ame="L114"> 11is27 cla27871725aname="L132"> 1 a/a de *      For t"> 1 3117 171 name1 1 3117 171 na1Lef363izeme="5vr, 116867code=a16m_7"> " claconst27ss="27870">>1726    aname="L132"> 1 a/a den     25o {
_()mapsteadal namc2.>p hreoc.c#L104" id="L13N2716cod>1687d 1 a/a de *
1708t" cl*> 1372   25o {
__  u3NE__n   >1addizela>2     25o {
si="L40">  ur alloc.cv       n   la>2     25o {
lags171ps="sref2>endext" class="srv  unsig__  u3NE__n   la>2     25o {
__  u3NE__n   >1adda>, , 2   5259   a#L cl>1ast 137      __GFP_HIGHMEMla>2     25o {
__GFP_HIGlags 137      a#L1_KERNELla>2     25o {
a#L1_KERNEL"sre,
171ss="sref">WAR/>, WAR<23)ass="srh2f="+con   la>2     25o {
n   >1ad,)a>, 171ic in(11713s="sa>, addr27a>);2797 171 name1 1 a/a de"s*1696    aname="L132"> 1 anz 1 hreoc.c#L104" id="L13NE_SPIN16977code=a16" clas 1/a> !18f27ck o2716" c>1697d 1 a *      @size        a427   12716cla>169     aname="L132"> 1 a *      @n    uma   u3NE de"s*1699aname="L132"> 1 NE de"s*169l    aname="L132"> 1 a *      A41 hreoc.c#L104" id="L138s="eud17=18code=a17=" 199d31748216b28_3/02806ine>1641    aname="L132"> 1 a *      a4p hreoc.c#L104" id="L138s="eud17=28code=a17=vmalloc.c#L2" i28a hr2806lin>1642    aname="L132"> 1 aTe"ftiguou4137ures a4p hreoc.c#L104" id="L138a h, u17=38code=a17=1643    aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L138a h, u17=48code=a17=ass="sref">addr28a>);28071724    aname="L132"> 1 a *      For t"> 1 3117 171 name1 1 3117 171 na1Lef363izeme="5vr 1 an     25o {
__  sa naapsteadal namc2.>p hreoc.c#L104" id="L138a h, u17=68code=a17=oc.c#L15" id=a 281 >1726    aname="L132"> 1 a/a de *
,   ur alloc.cv       n   la>2     25o {
lags28   12806a>(>171md>161ss="sref2>endext" class="srv  unsig__  u3NE__n   _flagsla>2     25o {
__  u3NE__n   _fl   >1adda>, 238t161ps="sref2>end<23)ea>)>WAR/a>, 2   5259   a#L cl>1ast 137      __GFP_HIGHMEMla>2     25o {
__GFP_HIGASK"sre< | > 137      __GFP_ZEROla>2     25o {
__GFP_s>1add0)1721(1, 117128code=a17t ne="+ hrchp_pt38fise3816"Le>1713s="sa>, do notc.38L2" 3816=160ef="mm/vmallf="mm/vmal8/a>, 117148code=a17 #ifndefags 137      a#L_EXEuVM_ALLOC (1<2 ha>      a#L_EXEu=160ef="mm/vmallf="mm/vmal8/="eud17=58code=a17(# def( 137      a#L_EXEuVM_ALLOC (1<2 ha>      a#L_EXEu=ags 137      a#L1_KERNELla>2     25o {
a#L1_KE160ef="mm/vmallf="mm/vmal8/ h, u17=68code=a17dr" class="sref238ddr23817dr">#endif160ef="mm/vmallf="mm/vmal8/a>, 117=78code=a17a href="+co" cla38="sr3817= c>170md 1 a/a de"s*1689aname="L132"> 1 a/a de25o {
__exe  "L13NE_  -ARa4169l    aname="L132"> 1 a/a de *      @size:          a4 1= <38href3826ine>1641    aname="L132"> 1 NE de"s* 1 a/a deKiguou-="Liguel _n   () fh pNE_  -ARa4 1 a/a deags9for the pege level a4 1 a/a deexe ufo1 petiguous kernel virtual namc2.>p hreoc.c#L104" id="L138E_SPIN17258code=a17L9       1 l namc2.>p hreoc.c#L104" id="L138E h, u17=68code=a170">  40="+co38=pte38170">>1726    aname="L132"> 1 a/a de *      For t"> 1 3117 171 name1 1 3117 171 na1Lef363izeme="5vrWARN_ON   s38uct 3817>WA>1727d 1 a/a den     25o {
_()mapsteadal namc2.>p hreoc.c#L104" id="L138E_SPIN17d88code=a17L9_ 86172     aname="L132"> 1 a/a de *
167ss="s.c#L104" id="L1048E_SPIN16338code=a16 1372   25o {
__exe _  u3NE_>1addizela>2     25o {
lags170ic inref2>endext" class="srv  unsig__  u3NE__n   la>2     25o {
__  u3NE__n   >1adda>, , 2   5259   a#L cl>1ast 137      __GFP_HIGHMEMla>2     25o {
__GFP_HIGlags 137      a#L_EXEuVM_ALLOC (1<2 ha>      a#L_EXEu=n71md, 1721(1, 2   def(1adda>, , 2   def(1adda>, #def( 137ags 1371ast 1372   5259   a#L cl>ags#elifme="dd1d/a>, 2   def(1adda>, , 2   def(1adda>, #def( 137ags 1371ast 1372   5259   a#L cl>ags 137ags 1372   5259   a#L cl>ags#endif160ef="mm/vmallf="mm/vmal8E_SPIN16338code=a16XPORT_SYMBOLf="+38ref"3846=160ef="mm/vmallf="mm/vmal8E_SPIN16348code=a16="+code=pud" cl238="s238471724    aname="L132"> 1 a/a de"s* 1 a/a de25o {
__32 "L13NE_  -ARa4>1726    aname="L132"> 1 a/a de *      @size:          a4WA>1727d 1 a/a de *>p hreoc.c#L104" id="L138a h, u16488code=a16a>()
<3846"u">163     aname="L132"> 1 a/a de *      A4p hreoc.c#L104" id="L138aidshreoc.8code=a16t(1689aname="L132"> 1 a/a defor the pege level a4p hreoc.c#L104" id="L138a h, u16538code=a16()38a hr3856163l    aname="L132"> 1 a/a de *
1addizela>2     25o {
lags)
171md1718s="sref"ext" class="srv  unsig__  u3NE__n   la>2     25o {
__  u3NE__n   >1adda>, , lags 137      a#L1_KERNELla>2     25o {
a#L1_KERNEL"sre,
165 name="L40"> >>>>>>>>>>>>>>-zeme="dd1d/a>, 1685name}.c#L104" id="L1038a h, u16468code=a16" class=rb_n4"  38>1713s="sa>, 1add0)163     aname="L132"> 1 a/a de"s*1639aname="L132"> 1 av  +co__co_n  r -3NE_  -ARazero a4< 1 a/a de *      @size:          a41641    aname="L132"> 1 NE de"s*1642    aname="L132"> 1 aTe"fhasu {
_gftiguou41     1 atorp a4   n  rvirtuap hreoc.c#L104" id="L138 crb_n16648code=a16laLIST_HEADf="+c38ef">38671724    aname="L132"> 1 a/a de *
1545t" cllass="srv  +co__co_n  r_  u3NE_signed ng 1addizela>2     25o {
lags171md 137        _>,L137la>2     25o {
  _>,L137     *> 137      a nasigned long 1adc.c#L104" id="L1048E h, u16588code=a16 class=rb_n4"  {38a161     1545t" cllass="srref    a nasigned ref 1adc.c#L104" id="L1048E_SPIN16698code=a16ole_siz"code=nr"38lass3866"80>167ss="s.c#L104" id="L1048a h, u16738code=a16=1 href="+code=p38_are3875cla>159ps="sa>t" cllass="srref    a nasigned ref 2     25o {
__  u3NE__n   >1adda>, , ASK"sre< | > 137      __GFP_ZEROla>2     25o {
__GFP_Rags 137      a#L1_KERNELla>2     25o {
a#L1_KERNEL"sre,
171ss="sref">WAR>>>>>>>>>>>>>-zeme="dd1d/a>, 170ic int 1ad)) )
2   find_v  usmaNE__n   >1adda>, 1add0)165 name="L40"> 37     *> 137      a nasigned long 1adpoprot5">2fn co     flagsla>2     25o {
2   tm+USERMAP 1adc.c#L104" id="L1048E_SPIN16758code=a16o have pfns corr386m="3877=gd>17051685name}.c#L104" id="L1038s_SPIN16668code=a16alloc.c#L130" id38ode=3816all>1676names="sref"ext" class="srref    a nasigned ref 1adc.c#L104" id="L1048a h, u16778code=a16static int 1685name}.c#L104" id="L1038s h, u16588code=a16igned long 1713s="sa>,    1     28 hre2816"80>167ss="s.c#L104" id="L1048a h, u16838code=a16       / NE de"s*ad28allo2886ine>1641    aname="L132"> 1  s04"  help r rout(p hreoc.c#L104" id="L138s_SPIN16728code=a16r         return28ssr 2886lin>1642    aname="L132"> 1 aIfeags9for tp hreoc.c#L104" id="L138a h, u16838code=a16g 1723    aname="L132"> 1 a/a de *
171 name1 11is28 cla28871715  ur alloc.cr1525ed_vongE__2   r1525ed_vongET_SYMchart" cllass="srbuf__2   bufGFP_Rachart" cllass="srv  unsigas=" (1<2 hr152594 " claconst28ss="2886all>171md2886>  >1657sref        >,L137"> 137,L137     *> 137

1adc.c#L104" id="L1048E_SPIN16888code=a16; ur alloc.crtpiaE__2 rtpiaE 1adc.c#L104" id="L1048E_SPIN16698code=a1686-64 a/a de/asm28put 2886"80>167ss="s.c#L104" id="L1048E_SPIN16938code=a16clas1s="sr19e171ps="swhile1ad)) ) 171ss="sref">WARzeme="dd 1371adc.c#L104" id="L1048E_SPIN16928code=a16/vmalloc.c#L2" i28a hr2897t n> na>1adc.c#L104" id="L1048E h, u16838code=a16 1718>>>>>>>>37 *> 1371addt" cllass="srv unsigas=" (1<2 hr152594<=& ~gs 137 MASK1_KERNELla>2 25oMASK 1adc.c#L104" id="L1048E h, u16848code=a16lass="sref">addr28a>);2896 >165 name="L40"> 37 *> 1371ad 2 25oSIZE 37 *> 1371adc.c#L104" id="L1048E_SPIN16758code=a16pgd" class="sref28pgd12897=gd>1705s="sref"t ef="rot, 171"sref">ptent) &am37 *> 1371ad 1adc.c#L104" id="L1048Ea hre16878code=a16" clas 1/a> !18f28ck o2896> >1657sref">ptent<37 *> 137

1ad 1adda>, 28 12896 cl>161 169l aname="L132"> / NE de"s*1699aname="L132"> 11111111111111111* To do safe accesugh pth169l aname="L132"> 11111111111111111* idk. Butsdex _gf idk herpetianughhat we neerfh pNdran=2 end"s hreoc.c#L104" id="L139E1SPIN17=39code=a16e" 199d31748216b29_3/02906ine>1641 aname="L132"> 11111111111111111* ges hngEotec25o { _()/vfrea na 25os4 to th1642 aname="L132"> 11111111111111111* ="Ligfrtualr1 ly n d. Ipsteadotechhat, we'lepn an=2 end"s hreoc.c#L104" id="L139E3SPIN17=39code=a16 1643 aname="L132"> 11111111111111111* ktor nap hreoc.c#L104" id="L139a h, u17=49code=a17=ass="sref">addr29a>);29071724 aname="L132"> 11111111111111111*a/a de * 1ad)) ) 171"sref">ptent) &am369l aname="L132"> / NE de"s* 1111111111111111111111111* we c expe USER0t171 na1Lef363izeme="5vr29 12906"u">163 aname="L132"> 1111111111111111111111111* _n () fdescrip () )/a de"s*1699aname="L132"> 1111111111111111111111111*a/a de * 239t161ps="sref2>end<23)1545t" cllass="srtor a nasigned tor 1ad 2 ktor_atomi T_SYMBOL>1adda>, 1add0)171ss="sref">WAR/>, t" cllass="srtemcpy a nasigned temcpyT_SYMBOL>1adda>, 2 bufGFP_Raa>t" cllass="srtor a nasigned tor , 1371add0)171ss="sref">WAR/>, t" cllass="srkuntor_atomi NE__n la>2 kuntor_atomi T_SYMBOL>1adda>, 1add0)do notc.39L2" 3913 cl>1718>>>>>>>>} elseags165 name="L40"> >>>>>>>>a>t" cllass="srtemsef a nasigned temsefT_SYMBOL>1adda>, 2 bufGFP_Ra0Rags 1371add0)(1655name.c#L104" id="L1049/ h, u17=69code=a17dr" class="sref239ddr23917dr">171"sref">ptentt" cllass="srv unsigas=" (1<2 hr152594<=+ na>1ad 1adc.c#L104" id="L1049/a>, 117=79code=a17a href="+co" cla39="sr3916> >1657sref">ptent<37 *> 1372 bufGFP_=+ na>1ad 1adc.c#L104" id="L1049/ h, u17=89code=a17 class="line" na39="L13916 cl>161 1"> ur alloc.crtpiaE__2 rtpiaE 1ad 1adc.c#L104" id="L1049/ h, u17=99code=a17/a> 1= >171ss="sref2>enda>1ad 1ad 1adc.c#L104" id="L1049/a>, 117239code=a17d="L119" class="39ne" 3926" c>161ps="s1685name}.c#L104" id="L1039s="eud17219code=a17d=" /a> 1= <39href392786->171ss="ss="sref"ext" class="srrtpiaE__2 rtpiaE 1adc.c#L104" id="L1049/2SPIN17=39code=a17L93" id="L9339clas3927t n>171ic in(1 ur alloc.cr1525ed_vwrite__2 r1525ed_vwriteT_SYMchart" cllass="srbuf__2 bufGFP_Rachart" cllass="srv unsigas=" (1<2 hr1525942>1ad)) ) 40="+co39=pte3927dr">171"sref >,L137"> 137
,L137 *> 137

1adc.c#L104" id="L1049E_SPIN17d79code=a17>WARN_ON s39uct 3926> >1657sref="L40"> ur alloc.crtpiaE__2 rtpiaE 1adc.c#L104" id="L1049E_SPIN17d89code=a17L9_ 86 na>1adc.c#L104" id="L1049E h, u17=99#L14=a16ef="+2!= >171ss="swhile1ad)) ) 161ps="sref2>endzeme="dd 1371adc.c#L104" id="L1049E_SPIN16319code=a16 class="line" na39="L13937d=">172"a hr.c#L104" id="L1039E_SPIN16329code=a16href="+code=ppmd39clas393286->171ss="sref">WAR37 *> 1371addt" cllass="srv unsigas=" (1<2 hr152594<=& ~gs 137 MASK1_KERNELla>2 25oMASK 1adc.c#L104" id="L1049E_SPIN16339code=a16ddr" class="sref39addr3933 cl>1718>>>>>>>>37 *> 1371ad 2 25oSIZE 37 *> 1371adc.c#L104" id="L1049E_SPIN16349code=a16XPORT_SYMBOLf="+39ref"3936 >165 name="L40"> t ef="rot, >>>>>>>37 *> 1371ad 1adc.c#L104" id="L1049E_SPIN17d69code=a16a de/asm- p2a> *39 hr23937dr">171"sref">ptentt" cllass="srp a nasigned f 1ad 1adda>, >1657sref">ptent<369l aname="L132"> / NE de"s*163 aname="L132"> 11111111111111111* To do safe accesugh pth1639aname="L132"> 11111111111111111* idk. Butsdex _gf idk herpetianughhat we neerfh pNdran=2 end"s hreoc.c#L104" id="L139E_SPIN16439code=a16=pud" class="sre39>pud3916=pu>164l aname="L132"> 11111111111111111* ges hngEotec25o { _()/vfrea na 25os4 to th 11111111111111111* ="Ligfrtualr1 ly n d. Ipsteadotechhat, we'lepn an=2 end"s hreoc.c#L104" id="L139E_SPIN16329code=a16line" name=56pte39" cl3916lin>1642 aname="L132"> 11111111111111111* ktor nap hreoc.c#L104" id="L139E_SPIN16339code=a16XPORT_SYMBOLf="+39ref"3916XPO>1643 aname="L132"> 11111111111111111*a/a de * t 1ad)) ) >>>>>>>369l aname="L132"> / NE de"s*>1726 aname="L132"> 1111111111111111111111111* we c expe USER0t171 na1Lef363izeme="5vrWA>1727d 1111111111111111111111111* _n () fdescrip () )/a de"s*163 aname="L132"> 1111111111111111111111111*a/a de * enddddddddd1545t" cllass="srtor a nasigned tor 1ad 2 ktor_atomi T_SYMBOL>1adda>, 1add0)end<23)a>t" cllass="srtemcpy a nasigned temcpyT_SYMBOL>1adda>, 1372 bufGFP_Raa>t" cllass="srlength a nasigned length 1add0)WAR/>, t" cllass="srkuntor_atomi NE__n la>2 kuntor_atomi T_SYMBOL>1adda>, 1add0)) 171ss="sref">WAR171ic in(11718>>>>>>>>37 *> 1371adc.c#L104" id="L1049a h, u16(49code=a16 pgd" classea3914de3916 >165 name="L40"> 37 *> 1372 bufGFP_=+ na>1ad 1adc.c#L104" id="L1049a h, u16(59code=a16de=nr" class=fla39de=p3957=gd>1705s="sref"1"> ur alloc.crtpiaE__2 rtpiaE 1ad 1adc.c#L104" id="L1049a h, u16469code=a16" class=rb_n4" 39171"sref">ptentt" cllass="srcounf a nasigned counfo { - na>1ad 1adc.c#L104" id="L1049a h, u16479code=a16> 84 list_h39= { 3956> >1657sref171ic in(1 84 list_h39= { 3956 cl>161 s="sref"ext" class="srrtpiaE__2 rtpiaE 1adc.c#L104" id="L1049a h, u16499code=a16e" name="Lef_oc.39L> 13956"li>171ic in(1 rcu_hee39{ 71ic in(11641 aname="L132"> 1 a/a de"s*1642 aname="L132"> 1 aaaaaavongE na- s=gEo104" id41 <4p hreoc.c#L104" id="L139a_SPIN16339code=a16 84 DEFINE_S39NLOC3967pmd>1723 aname="L132"> 1 aaaaaa@buf @size: pbuffer4 to s=gE _gfdatal namc2.>p hreoc.c#L104" id="L139a h, u16(49code=a16laLIST_HEADf="+c39ef">39671724 aname="L132"> 1 aaaaaa@r152 @size: vmsdext" cal namc2.>p hreoc.c#L104" id="L139a h, u16(59code=a16set_k1725aname="L132"> 1 a/a de@counf @size: number4tecbytough pbe s=gEal namc2.>p hreoc.c#L104" id="L139a h, u16469code=a16de=addr" class=239ef"239670">>1726 aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L139a h, u16479code=a16mds are48216ectc39by e3967>WA>1727d 1 a/a deR="sres #4tecbytougwhichsdextap hreoc.c#L104" id="L139a h, u16489code=a16 class=rb_n4" {39a163 aname="L132"> 1 a/a de(sn4" number4h p@counf).eR="sres 0 t <[_exta.._ext+counf) doesn'tl namc2.>p hreoc.c#L104" id="L139a h, u16499code=a16ole_siz"code=nr"39lass396686->1689aname="L132"> 1 a/a deincludesap hreoc.c#L104" id="L139a h, u16739code=a16=1 href="+code=p39_are3976163l aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L139a h, u16519code=a16l="+ef="+code=pg39aref3976ine>1641 aname="L132"> 1 Th1642 aname="L132"> 1 aaaaaartpvidataer @sizeat d h pN givenpbuffer.aIfeags9givenptiguou4rang an=2 end"s hreoc.c#L104" id="L139E_SPIN16739code=a16a_pcpu_hole>pgd_39fset3977pmd>1723 aname="L132"> 1 aaaaaao <[_exta.._ext+counf) includesaso4" valiEodext" c,idatae1724 aname="L132"> 1 aaaaaaprop r d o <@buf.aIfeagsre d ptiguou4holec,iagsy'lepbRazero-file d.l namc2.>p hreoc.c#L104" id="L139E_SPIN16759code=a16o have pfns corr396m="39771725aname="L132"> 1 a/a deIOREMAP41 p hreoc.c#L104" id="L139s_SPIN16669code=a16alloc.c#L130" id39ode=39770">>1726 aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L139a h, u16779code=a16static int 1637d 1 a/a deI <[_exta.._ext+counf) doesn'teincludesap hreoc.c#L104" id="L139a h, u16489code=a16igned long 163 aname="L132"> 1 a/a dev 25o { 1 , r="sres 0al namc2.>p hreoc.c#L104" id="L139s h, u16499code=a16"80 1 29 hre297686->1689aname="L132"> 1 a/a de bufeshouldpbe tiguou'p hreoc.c#L104" id="L139a h, u16839code=a16 1 a/a deags9 25oreshouldpguarantee Km+USER0tp hreoc.c#L104" id="L139s="eud16819code=a16" c_no64/tlf">ad29allo2986ine>1641 aname="L132"> 1 NE de"s* 1 a/a deNote: I fn nel opc,ivongE na 1 a/a deshouldpknowc25o { _()41 p hreoc.c#L104" id="L139s h, u16(49code=a16hre1bad(<1a 29ef="29871724 aname="L132"> 1 Thp hreoc.c#L104" id="L139s_SPIN16759code=a16ame="L114"> 11is29 cla29871725aname="L132"> 1 a/a dep hreoc.c#L104" id="L139s_SPIN16669code=a16m_7"> " claconst29ss="29870">>1726 aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L139s h, u16779code=a16code=next" cls="29ef">2916cod>1687d 1 a/a de * na>1adc.c#L104" id="L1049E_SPIN16699code=a1686-64 a/a de/asm29put 2986"80>a href="rot, 2 vongET_SYMchart" cllass="srbuf__2 bufGFP_Rachart" cllass="srv unsigas=" (1<2 hr1525942>1ad)) ) 171ss="s >,L137"> 137 _>,L137la>2 25o { _>,L137 *> 1371adc.c#L104" id="L1049E_SPIN16929code=a16/vmalloc.c#L2" i29a hr299286->171ss="schart" cllass="srvv unsigas=" (1<2 hvr152594t" cllass="srbuf25oar _>,L137la>2 buf25oar 1ad 2 bufGFP_9 na>1adc.c#L104" id="L1049E_SPIN16739code=a16 1718zeme="dd1adc.c#L104" id="L1049E h, u16849code=a16lass="sref">addr29a>);2996 >165 namezeme="dd171"sref1641 aname="L132"> 1 Don'te" idw ges fidw a/a de * !18f29ck o2996> >1657sreft 1add37 *> 137, 29 12996 cl>161 1>t" cllass="srcounf a nasigned counfo { = -3NE_>1add37 *> 137167ss="s.c#L104" id="L1020E_SPIN17=20E_SP=a16+code=next" cls=20E_S>20E_dr">171"sref17 *> 137 137list_ idknsigas=" (1<2 ha>list_ idk 1a/pre>67ss="s.c#L104" id="L1020E1SPIN17=20Eode=a16e" 199d31748216b20Eod>20E786->171ss="s to MBOL>1adda>, 1ad , 1adpoprot5">2fnnexf a nasigned nexf 1ad)) ) 20E286->171ss="sref">WAR37 *> 1372fna unsigas=" (1<2 hr152594<9 na>1adc.c#L104" id="L1020E3SPIN17=20Eode=a16 20E3 cl>1718>>>>>>>>t 2fnh2f="+co>izela>2 25o { 9->37 *> 1372 25oSIZE addr20Eod>20E6 >165 name="L40"> >>>>>>>>rtualnue9 na>1adc.c#L104" id="L1020E5SPIN17=20Eode=a16pgd" class="sref20Eod>20E7=gd>1705s="sref"while, 20E7dr">171"sref">ptent) &amt !18f20Eod>20E6> >1657sref">ptent<<<<<<<<<<<<<<<<1ad 2 finishaE594<9 na>1adc.c#L104" id="L1020E8SPIN17=20Eode=a16class="comment">20Eod>20E6 cl>161 /a>t" cllass="srbuf__2 bufGFP_9 na641 aname5o ing">'\0'/a de *9 na>1adc.c#L104" id="L1020E9SPIN17=20Eode=a16+code=next" cls=20Eod>20E7/a>>171ss="sref2>enddddddddda>t" cllass="srbuf__2 bufGFP_++9 na>1adc.c#L104" id="L10201_SPIN17=20code=a17" class="sref">220cod>20co/a>>171ss="sref2>enddddddddda>t" cllass="srv unsigas=" (1<2 hr152594<++9 na>1adc.c#L104" id="L102011SPIN17=20code=a1786-64 a/a de/asm20cod>20c786->171ss="sref">WAR/>, t" cllass="srcounf a nasigned counfo { --9 na>1adc.c#L104" id="L102012SPIN17=20code=a17t ne="+ hrchp_pt20cod>20c286->171ss="sref">WAR171ic in(1do notc.20cod>20c3 cl>1718>>>>>>>>37 *> 1372 no { 9 na>1ad 2fnh2f="+co>izela>2 25o { 9->37 *> 1372 25oSIZE 37 *> 13720c6 >165 name="L40"> t 2 no { 9 na>ef="rot, >>>>>>>37 *> 1372 no { 9 na>1ad 1adc.c#L104" id="L1020c6SPIN17=20code=a17dr" class="sref220cod>20c7dr">171"sref">ptent1adda>, 1adpoprot5">2fn co flagsla>2 25o { , 2 VM_IOREMAPo { llags20c6> >1657sref">ptent<<<<<<<<<37 *> 1372 r1525ed_vongET_SYMa>t" cllass="srbuf__2 bufGFP_Raa>t" cllass="srv unsigas=" (1<2 hr152594 1372 no { l>1add0)20c6 cl>161 elsef1641 aname="L132"> 1 IOREMAP41 20c7/a>>171ss="sref2>enddddddddda>t" cllass="srtemsef a nasigned temsefT_SYMBOL>1adda>, 2 bufGFP_Ra0Rags 1372 no { l>1add0)2 no { 9 na>1adc.c#L104" id="L1020c1SPIN17=20code=a17d=" /a> 1= <20cod>20c786->171ss="sref">WAR37 *> 1372 no { 9 na>1adc.c#L104" id="L1020c2SPIN17=20code=a17L93" id="L9320cod>20c286->171ss="sref">WAR37 *> 1371ad 2 no { 9 na>1adc.c#L104" id="L1020c3SPIN17=20code=a17pmd" class="sre220cod>20c3 cl>1718171ic in(1L9ed long 20c71>1ad 2 finishaE594<:71ic in(1L9 20c7=gd>170517 *> 137 137list_ idknsigas=" (1<2 ha>list_ idk 1aic in(1 40="+co20cod>20c6"80>167ss="s.c#L104" id="L102027SPIN17=20code=a17>WARN_ON s20cod>20c6> >1657sreft t" cllass="srbuf__2 bufGFP_9 na>1ad ,L137la>2 buf25oar 1adc.c#L104" id="L1020c9SPIN17=20#L14=a16ef="+2!= 20c7/a>>171ss="s1641 aname="L132"> 1 zero-fileptiguou4holeca a/a de * 20co> >1657sreft t" cllass="srbuf__2 bufGFP_9! na>1ad ,L137la>2 buf25oar t" cllass="srbuflen__2 buflen 20c786->171ss="sref">WAR37 *> 1371adda>, 2 bufGFP_Ra0Rags 1372 buflen t" cllass="srbuf__2 bufGFP_9->37 *> 137,L137la>2 buf25oar 1aic in(120c7t n> na>1adc.c#L104" id="L1020c3SPIN17=20code=a16ddr" class="sref20cod>20c3 cl>1718s="sref"ext" class="srbuflen__2 buflen 1aic in(120c7171ic in(1>1726 aname="L132"> 1 a/a de"s*20c6 h >1637d 1 a/a devwrite na- writeo104" id41 <4p hreoc.c#L104" id="L120c8SPIN17=20code=a16"u" claef="+2" i20cod>20c6"u">163 aname="L132"> 1 a/a de@buf @size: pbuffer4 to sourcefdatal namc2.>p hreoc.c#L104" id="L120c9SPIN17=20code=a16"line" name="Lef20cod>20c686->1689aname="L132"> 1 a/a de r152 @size: vmsdext" cal namc2.>p hreoc.c#L104" id="L1204_SPIN17=20code=a16=pud" class="sre20cod>20co86->1689aname="L132"> 1 a/a de counf @size: number4tecbytough pbe s=gEal namc2.>p hreoc.c#L104" id="L120c1SPIN17=20code=a16ine" name="L> 20cod>20c6ine>1641 aname="L132"> 1 NE de"s*20c6lin>1642 aname="L132"> 1 a/a deR="sres #4tecbytougwhichsdextap hreoc.c#L104" id="L120c3SPIN17=20code=a16XPORT_SYMBOLf="+20cod>20c7pmd>1723 aname="L132"> 1 a/a de(sn4" number4h p@counf).l namc2.>p hreoc.c#L104" id="L120c4SPIN17=20code=a16="+code=pud" cl220cod>20c71724 aname="L132"> 1 I <[_exta.._ext+counf) doesn'teincludesap hreoc.c#L104" id="L120c5SPIN17=20code=a16next" class="sr220cod>20c71725aname="L132"> 1 a/a de104" id41 , r="sres 0al namc2.>p hreoc.c#L104" id="L120c6SPIN17=20code=a16tor r**nsigned l20cod>20c70">>1726 aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L120c7SPIN17=20code=a16+co14/vmalloc.c220cod>20c6 h >1637d 1 a/a deTh163 aname="L132"> 1 a/a dertpvidataer @siapbuffer4h pths9givenp_exta I 1 a/a de[_exta.._ext+counf) includesaso4" valiEodext" c,idatae 1 a/a deprop r d o <@buf.aIfeagsre d ptiguou4holec,inoartpvih pholeal namc2.>p hreoc.c#L104" id="L12051SPIN17=20code=a165 which hel220cod>20c6ine>1641 aname="L132"> 1 IOREMAP41 p hreoc.c#L104" id="L120c2SPIN17=20code=a16"Lef"rearea>) 20c6lin>1642 aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L120c3SPIN17=20code=a16ref="+code=pgd_a20cod>20c7pmd>1723 aname="L132"> 1 a/a deI <[_exta.._ext+counf) doesn'teincludesap hreoc.c#L104" id="L120c4SPIN17=20code=a16 pgd" classea20cod>20c71724 aname="L132"> 1 v 25o { 1 , r="sres 0al namc2.>p hreoc.c#L104" id="L120c5SPIN17=20code=a16de=nr" class=fla20cod>20c71725aname="L132"> 1 a/a de@bufeshouldpbe tiguou'p hreoc.c#L104" id="L120c6SPIN17=20code=a16" class=rb_n4" 20cod>20c70">>1726 aname="L132"> 1 a/a deags9 25oreshouldpguarantee Km+USER0tp hreoc.c#L104" id="L120c7SPIN17=20code=a16> 84 list_h20cod>20c6 h >1637d 1 l namc2.>p hreoc.c#L104" id="L120c8SPIN17=20code=a16> 84 list_h20cod>20c6"u">163 aname="L132"> 1 a/a deNote: I fn nel opc,ivwrite na 1 a/a deshouldpknowc25o { _()41 p hreoc.c#L104" id="L1206_SPIN17=20code=a16 84 rcu_hee20cod>20co h >1637d 1 a/a deThp hreoc.c#L104" id="L120c1SPIN17=20code=a16 classdr" class120cod>20c6ine>1641 aname="L132"> 1 p hreoc.c#L104" id="L120c2SPIN17=20code=a16ssdud" clas1c#L220cod>20c6lin>1642 aname="L132"> 1 a/a de * 20c7a href="rot, 2 vwriteT_SYMchart" cllass="srbuf__2 bufGFP_Rachart" cllass="srv unsigas=" (1<2 hr15259420c72>1ad)) ) 20c7dr">171"sref >,L137"> 137 _>,L137la>2 25o { _>,L137 *> 1371adc.c#L104" id="L1020c7SPIN17=20code=a16mds are48216ectc20cod>20c6> >1657srefchart" cllass="srvv unsigas=" (1<2 hvr152594<9 na>1adc.c#L104" id="L1020c8SPIN17=20code=a16 class=rb_n4" {20cod>20c6 cl>161 zeme="dd 1372 buflen 1adc.c#L104" id="L1020c9SPIN17=20code=a16ole_siz"code=nr"20cod>20c7/a>>171ss="s="L40"> ur alloc.crtpiaE__2 rtpiaE 1adc.c#L104" id="L10207_SPIN17=20code=a16=1 href="+code=p20cod>20co=160ef="mm/vmallf="mm/vma2071SPIN17=20code=a16l="+ef="+code=pg20cod>20c786->171ss="s1641 aname="L132"> 1 Don'te" idw ges fidw a/a de * 20c7=vm>170ic int 1add37 *> 137, 1adc.c#L104" id="L1020c4SPIN17=20code=a16code=end" class220cod>20c6 >165 namegs 1372 buflen 1ad 1adc.c#L104" id="L102075SPIN17=20code=a16o have pfns corr20cod>20c6de=>1655name.c#L104" id="L102076SPIN17=20code=a16alloc.c#L130" id20cod>20c6 >165 namegs 137 137list_ idknsigas=" (1<2 ha>list_ idk 1a55name.c#L104" id="L102077SPIN17=20code=a16static int 20c6> >1657sref to MBOL>1adda>, 1ad , 1adpoprot5">2fnnexf a nasigned nexf 1ad)) ) 37 *> 1371adpoprot5">2fna unsigas=" (1<2 hr152594<9 na>1adc.c#L104" id="L102079SPIN17=20code=a16"80 1 20cod>20c7/a>>171ss="sref2>endt 2fnh2f="+co>izela>2 25o { 9->37 *> 1372 25oSIZE 20co/a>>171ss="sref2>endddddddddrtualnue9 na>1adc.c#L104" id="L102081SPIN17=20code=a16" c_no64/tlf">ad20cod>20c786->171ss="sref">WARwhile, WAR/>, 20c3 cl>1718>>>>>>>>>>>>>>>>>>>>>>>>gotona>1ad 2 finishaE594<9 na>1adc.c#L104" id="L102084SPIN17=20code=a16hre1bad(<1a 20cod>20c6 >165 name="L40"> >>>>>>>>a>t" cllass="srbuf__2 bufGFP_++9 na>1adc.c#L104" id="L102085SPIN17=20code=a16ame="L114"> 11is20cod>20c7=gd>1705s="sref">>>>>>>>37 *> 137 " claconst20cod>20c7dr">171"sref">ptent) &am37 *> 1371adc.c#L104" id="L102087SPIN17=20code=a16code=next" cls="20cod>20c6> >1657sref">ptent<171ic in(12fnh2f="+co>izela>2 25o { 9->37 *> 1372 25oSIZE 37 *> 137endt 2 no { 9 na>ef="rot, 20codr">171"sref">ptent) &am37 *> 1372 no { 9 na>1ad 1adc.c#L104" id="L102091SPIN17=20code=a16e" 199d31748216b20cod>20c786->171ss="sref">WARt 1adda>, 1adpoprot5">2fn co flagsla>2 25o { , 2 VM_IOREMAPo { ll=2>1ad)) ) 20c286->171ss="sref">WAR/>, t" cllass="srr1525ed_vwrite__2 r1525ed_vwriteT_SYMa>t" cllass="srbuf__2 bufGFP_Raa>t" cllass="srv unsigas=" (1<2 hr152594 1372 no { l>1a55name.c#L104" id="L102093SPIN17=20code=a16 20c3 cl>1718>>>>>>>>>>>>>>>>0"> ur alloc.crtpiaE__2 rtpiaE 1adc.c#L104" id="L102094SPIN17=20code=a16lass="sref">addr20cod>20c6 >165 name="L40"> 171ic in(1 ur alloc.cbuf__2 bufGFP_=+ na>1ad 2 no { 9 na>1adc.c#L104" id="L102096SPIN17=20code=a16loc.c#L15" id=a 20cod>20c7dr">171"sref">ptentt" cllass="srv unsigas=" (1<2 hr152594<=+ na>1ad 2 no { 9 na>1adc.c#L104" id="L102097SPIN17=20code=a16" clas 1/a> !18f20cod>20c6> >1657sref">ptent<37 *> 1371ad 2 no { 9 na>1adc.c#L104" id="L102098SPIN17=20code=a16class="comment">20cod>20c6 cl>161 171ic in(120c686->1>1ad 2 finishaE594<:71ic in(121E_dr">171"sref17 *> 137 137list_ idknsigas=" (1<2 ha>list_ idk 1aic in(121E786->171ss="st ur alloc.crtpiaE__2 rtpiaE 21E286->171ss="sref">WARs="sref09 na>1adc.c#L104" id="L1021E3SPIN17=21Eode=a16 2103 cl>1718s="sref"ext" class="srbuflen__2 buflen 1aic in(1addr21Eod>2107171ic in(121070">>1726 aname="L132"> 1 a/a de"s* !18f21Eod>2106 h >1637d 1 a/a deretor_104" id_rang 4a- torg104" id4for ugh puser637cel namc2.>p hreoc.c#L104" id="L121E8SPIN17=21Eode=a16class="comment">21Eod>2106"u">163 aname="L132"> 1 a/a de@104 @size: p104gh pcges (torgfull rang 4tep104)/a de"s*210686->1689aname="L132"> 1 a/a de r152 @size: vm4" id4tiguou/a de"s*221cod>211o86->1689aname="L132"> 1 a/a de pgoff @size: number4tecfor uginh pNdrr before firstcfor gh ptor < de"s* 1 NE de"s*2116lin>1642 aname="L132"> 1 a/a deR="sres @size:04 to succesu, -Exxx on failurel namc2.>p hreoc.c#L104" id="L121c3SPIN17=21code=a17a r3/0">do notc.21cod>2117pmd>1723 aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L121c4SPIN17=21code=a17 21171724 aname="L132"> 1 Th 1 a/a dehhat ita>1726 aname="L132"> 1 a/a deagat criteri p hreoc.c#L104" id="L121c7SPIN17=21code=a17a href="+co" cla21cod>2116 h >1637d 1 l namc2.>p hreoc.c#L104" id="L121c8SPIN17=21code=a17 class="line" na21cod>2116"u">163 aname="L132"> 1 a/a deSimilar4h pretor_pfn_rang () (see c#Ltiguou.c)/a de"s*211686->1689aname="L132"> 1 a/a de * ur alloc.cretor_104" id_rang nsigas=" (1<2 hontor_104" id_rang T_SYM >,L137"> 137 1 _>,L137la>2 21 _>,L137 *> 137,L137la>2 a594t" cllass="srv unsigas=" (1<2 hr152594 1= <21cod>21c786->171ss="sref">WARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRzeme="dd 137 _>,L137la>2 25o { _>,L137 *> 1371aic in(1L9ed long 2126 >165 namezeme="dd 137,L137la>2 a594<9 na>1adpoprot5">2fn 25oar _>,L137la>2 25oar 1aic in(1L9 21c7=gd>1705zeme="ddizela>2 u 25o { 9 n37 *> 137,L137la>2 a594<9 na>1adpoprot5">2fn 2enE__2 v 2enE 37 *> 137,L137la>2 a594<9 na>1adpoprot5">2fn 25oar _>,L137la>2 25oar 1aic in(1 40="+co21cod>21c6"80>167ss="s.c#L104" id="L102127SPIN17=21code=a17>WARN_ON s21cod>21c6> >1657sreft t" cllass="sr 25oSIZE1_KERNELla>2 25oSIZE 1addt" cllass="srv unsigas=" (1<2 hr152594t" cllass="srEINVALnsigas=" (1<2 hEINVAL 1aic in(12126"80>167ss="s.c#L104" id="L10213_SPIN17=21code=a16171"sref17 *> 137 1372 find_ 21 T_SYMa>t" cllass="srv unsigas=" (1<2 hr1525941add0)213786->171ss="st ur alloc.c1 nsigas=" (1<2 hr 213286->171ss="sref">WARs="sref-a>t" cllass="srEINVALnsigas=" (1<2 hEINVAL 1aic in(1213486->171ss="st t" cllass="srv nsigas=" (1<2 hr 1adpoprot5">2fn co flagsla>2 25o { , 2 VM_USERMAPo { ll160ef="mm/vmallf="mm/vma2135SPIN17=21code=a16ine" name="L135221cod>2137=gd>1705s="sref"s="sref-a>t" cllass="srEINVALnsigas=" (1<2 hEINVAL 1aic in(1 *21cod>2136"80>167ss="s.c#L104" id="L1021c7SPIN17=21code=a16 h virtualref="e21cod>2136> >1657sreft t" cllass="sruh2f="+co>izela>2 u 25o { 9+, 2 25oSHIFT594ef="rot, 2fnh2f="+co>izela>2 25o { 9->37 *> 1372 25oSIZE 2136 cl>161 s="sref-a>t" cllass="srEINVALnsigas=" (1<2 hEINVAL 1aic in(1167ss="s.c#L104" id="L10214_SPIN17=21code=a16=pud" class="sre21cod>214_dr">171"sref17 *> 1371ad , 2 25oSHIFT594<>1aic in(11ad)) ) 214286->171ss="sref">WAR >,L137"> 137
137t" cllass="srv unsigas=" (1<2 hr1525941add0)2143 cl>1718>>>>>>>>t"L40"> ur alloc.cre _>,L137la>2 re 1aic in(121c71aic in(1 ur alloc.cre _>,L137la>2 re 137t" cllass="sr104 _>,L137la>2 a594, , 171"sref">ptent ur alloc.cre _>,L137la>2 re ptent<<<<<<<<(2147 na>1adc.c#L104" id="L102149SPIN17=21code=a16t(2147/a>>171ss="sref2>endf="rot, 2 25oSIZE 1aic in(1)21cod>215o cl>1718>>>>>>>>37 *> 1371ad 2 25oSIZE 1aic in(1 which hel221cod>215786->171ss="sref">WAR37 *> 137izela>2 u 25o { 9- na>1ad 2 25oSIZE 1aic in(1) 215286->171ss="s}Rwhile2156=160ef="mm/vmallf="mm/vma21c4SPIN17=21code=a16 pgd" classea21cod>2156 >165 nameg641 aname="L132"> 1 Prev32" "things" lik ptiguou4migra () ? VM_ 25o ne d 1 eanup...1 a/a de * 2157=gd>170517 *> 137,L137la>2 a594<9 na>1adpoprot5">2fn 2 co flagsla>2 2 co =gd>1| na>1ad 2 VM_RESERVED 1aic in(12156"80>167ss="s.c#L104" id="L1021c7SPIN17=21code=a16> 84 list_h21cod>2156> >1657srefs="sref09 na>1adc.c#L104" id="L1021c8SPIN17=21code=a16> 84 list_h21cod>21c6"u">171ic in(11add0)21c6ine>1641 aname="L132"> / l namc2.>p hreoc.c#L104" id="L121c2SPIN17=21code=a16ssdud" clas1c#L221cod>21c6lin>1642 aname="L132"> 1 Imple132" 1 ahaveoonual namc2.>p hreoc.c#L104" id="L121c4SPIN17=21code=a16laLIST_HEADf="+c21cod>21671724 aname="L132"> 1 a/a de * 21c715451ad 13721c7dr">2>1ad)) ) 2167 na>1adc.c#L104" id="L1021c9SPIN17=21code=a16ole_siz"code=nr"21cod>2166"80>167ss="s.c#L104" id="L10217_SPIN17=21code=a16=1 href="+code=p21cod>21co=sta (c>t"L40"> ur alloc.cfnsigas=" (1<2 hfT_SYMa>t" cllass="srpte_ _>,L137la>2 pte_ T_SYL137 *> 1372 pteT_SYsif="rot, ,L137la>2 pgtable_ T_SYLf="rot, ,L137la>2 tableT_SYsizeme="ddt" cllass="srdatansigas=" (1<2 hdatal adlags21c7=vm>170ic ina>t" cllass="srpte_ _>,L137la>2 pte_ T_SYL1*137 *> 137,L137la>2 p 1371add0)217486->171ss="st 137,L137la>2 p 1ad)) ) 137,L137la>2 p 1372 pteT_SY>1add0)2177dr">171"sref">ptent<(137 *> 137,L137la>2 p 1adc.c#L104" id="L102177SPIN17=21code=a16static int 21c6> >1657sref171ic in(121c6 cl>161 s="sref09 na>1adc.c#L104" id="L102179SPIN17=21code=a16"80 1 21cod>21c7/a>>171ic in(1ad21cod>2186ine>1641 aname="L132"> 1 a/a de"s* 1 a/a de4" id_ 21 -e4" idats9a rang 4teptiguouodext" c 637cel namc2.>p hreoc.c#L104" id="L12183SPIN17=21code=a16g 1 a/a de@ 25 @size: 254tepags9areal namc2.>p hreoc.c#L104" id="L12184SPIN17=21code=a16hre1bad(<1a 21cod>21871724 aname="L132"> 1 @ptes @size: r="sres ags9PTEs4 to ags9aext" c 637cel namc2.>p hreoc.c#L104" id="L12185SPIN17=21code=a16ame="L114"> 11is21cod>21871725aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L12186SPIN17=21code=a16m_7"> " claconst21cod>21870">>1726 aname="L132"> 1 ize: R="sres @size:NULL on failure, v 25o { on succesul namc2.>p hreoc.c#L104" id="L12187SPIN17=21code=a16code=next" cls="21cod>2116cod>1687d 1 l namc2.>p hreoc.c#L104" id="L12188SPIN17=21code=a16; 163 aname="L132"> 1 a/a deTh 1 a/a de4" idatsscfor tablesgh ptoreagat rang .deNo actualptorpingsan=2 end"s hreoc.c#L104" id="L1219_SPIN17=21code=a16clas1s="sr19e219o86->1689aname="L132"> 1 a/a ded pc s aal namc2.>p hreoc.c#L104" id="L12191SPIN17=21code=a16e" 199d31748216b21cod>2196ine>1641 aname="L132"> 1 NE de"s*2196lin>1642 aname="L132"> 1 a/a deIf @ptest2197pmd>1723 aname="L132"> 1 a/a de4" idatsd4 to ags9VM41 d pr="sre aal namc2.>p hreoc.c#L104" id="L12194SPIN17=21code=a16lass="sref">addr21cod>21971724 aname="L132"> 1 a/a de * 137 _>,L137la>2 25o { _>,L137 *> 137t" cllass="sr 25_ _>,L137la>2 25_ T_SYLf="rot, , ,L137la>2 pte_ T_SYL1*f="rot, 2 fte l adlags2197dr">2>1ad)) ) !18f21cod>21c6> >1657sref >,L137"> 137 _>,L137la>2 25o { _>,L137 *> 1371aic in(121cod>2197 na>1adc.c#L104" id="L102199SPIN17=21code=a16+code=next" cls=21cod>2197/a>>171ss="s17 *> 137 137izela>2 25o { sif="rot, 2 VM_IOREMAPo { s 220odr">171"sref">ptent) &am171ss="s17 *> 1371aic in(122E786->171ss="st 137 13722E286->171ss="sref">WARs="sref37 *> 1371aic in(12206=160ef="mm/vmallf="mm/vma22E4SPIN17=22Eode=a16lass="sref">addr22Eod>2206 >165 nameg641 aname="L132"> 1 /a de * 111111111*eTh22070">>1726 aname="L132"> 111111111*eteptiguouovirtualpdext" c 637ceoda atorpsd4inh pt"it_mmal namc2.>p hreoc.c#L104" id="L122E7SPIN17=22Eode=a16" clas 1/a> !18f22Eod>2206 h >1637d 111111111*a/a de * 22Eod>22E6 cl>161 t 137,L137"> 1371addt" cllass="srv nsigas=" (1<2 hr 1adpoprot5">2fnv unsigas=" (1<2 hr15259422E7/a>>171ss="sref2>enddddddddd171ss="s17 *> 137izela>2 25o { sif="rot, , 2 fte l ad ? & >,L137"> 1372 fte l ad :n37 *> 1371ad)) ) 222cod>22co/a>>171ss="sref2>endf="rot, 2 free_ 21 T_SYMa>t" cllass="sr1 nsigas=" (1<2 hr 1aic in(122c786->171ss="sref">WARs="sref37 *> 1371aic in(1do notc.22cod>2216=160ef="mm/vmallf="mm/vma22c4SPIN17=22code=a17 22c6 >165 names="sref37 *> 1371aic in(1(2217171ic in(1>1>1ad 1aic in(12216 h >1aic in(12216"u">1545, 2 free_ 21 T_SYM >,L137"> 137 _>,L137la>2 25o { _>,L137 *> 137 1= 137 _>,L137la>2 25o { _>,L137 *> 137,L137la>2 re 1aic in(1 1= <22cod>22c786->171ss="s37 *> 137,L137la>2 re 1372 remove_ 21 T_SYMa>t" cllass="sr1 nsigas=" (1<2 hr 1adpoprot5">2fnv unsigas=" (1<2 hr1525941aic in(1L93" id="L9322cod>2227=vm>170ic ina>t" cllass="srBUG_ONnsigas=" (1<2 hBUG_ONT_SYMa>t" cllass="srre _>,L137la>2 re 1ad 1aic in(1L9ed long 2227171ic in(1L9 22c7=gd>1>1ad 40="+co22cod>22c6"80>167ss="s.c#L104" id="L102227SPIN17=22code=a17>WARN_ON s22cod>22c6> >#ifdef>a>1ad 2 CONFIG_SMP"80>167ss="s.c#L104" id="L102228SPIN17=22code=a17L9_ 8622c6 cl>sta (c> >,L137"> 137ap21 __2 a>ap21 _>,L137 *> 1372 n37<_to_v T_SYM >,L137"> 137,L137la>2 rb_n37< _>,L137 *> 1372 n 222686->2>1ad)) ) 223_dr">171"srefs="sref37 *> 1372 no { 9? >,L137"> 137,L137la>2 rb_32"ryT_SYMa>t" cllass="srn__2 no { Ra >,L137"> 137ap21 __2 a>ap21 _>,sif="rot, ,L137la>2 rb_n37< _>,) :n37 *> 1371aic in(1223786->171ic in(122c7t n> na>1adc.c#L104" id="L1022c3SPIN17=22code=a16ddr" class="sref22cod>2237pmd>1723 aname="L132"> 1 a/a de"s*22371724 aname="L132"> 1 p 2 ind_nexf_prev - ind ags9nexfoda aprev a>ap21 surrounding @e ran=2 end"s hreoc.c#L104" id="L12235SPIN17=22code=a16ine" name="L135222cod>22371725aname="L132"> 1 a@e r: target dext" cT_=2 end"s hreoc.c#L104" id="L12236SPIN17=22code=a16a de/asm- p2a> *22cod>22c70">>1726 aname="L132"> 1 a@pnexf: ou 1 g4 to ags9nexfoa>ap21 _=2 end"s hreoc.c#L104" id="L12237SPIN17=22code=a16 h virtualref="e22cod>22c6 h >1637d 1 a@pprev: ou 1 g4 to ags9previousoa>ap21 _=2 end"s hreoc.c#L104" id="L12238SPIN17=22code=a16"u" claef="+2" i22cod>22c6"u">163 aname="L132"> 1 _=2 end"s hreoc.c#L104" id="L12239SPIN17=22code=a16"line" name="Lef22cod>22c686->1689aname="L132"> 1 aR="sres % est eiagsr to bothetepnexfoda aprev d pfound,l namc2.>p hreoc.c#L104" id="L1224_SPIN17=22code=a16=pud" class="sre22cod>22co86->1689aname="L132"> 1 a/a deeeee%falsest no a>ap21 existcT_=2 end"s hreoc.c#L104" id="L122c1SPIN17=22code=a16ine" name="L> 22cod>22c6ine>1641 aname="L132"> 1 NE de"s*22c6lin>1642 aname="L132"> 1 aFind a>ap21 s enEodext" cesetepwhichsenclose @e r. ie.st notl namc2.>p hreoc.c#L104" id="L122c3SPIN17=22code=a16XPORT_SYMBOLf="+22cod>22c7pmd>1723 aname="L132"> 1 aNULL, *pnexf9 na>va2enE9 na>e@enEodnEo*pprev9 na>va2enE9 la> n@e r.l namc2.>p hreoc.c#L104" id="L122c4SPIN17=22code=a16="+code=pud" cl222cod>22c71724 aname="L132"> 1 a/a de * 171"sref">ptent<<<<<<<<<<<<<<<< >,L137"> 137ap21 __2 a>ap21 _>,L1*f="rot, ptent<<<<<<<<<<<<<<<< >,L137"> 137ap21 __2 a>ap21 _>,L1*f="rot, 2 fprevT_SYlags,L137"> 137,L137la>2 rb_n37< _>,L137 *> 1372 n 137,L137la>2 4p21 _roo ,L137"> 137,L137la>2 rb_n37< _>,>1aic in(1)22cod>225o cl>1718 >,L137"> 137ap21 __2 a>ap21 _>,L137 *> 1372 v 1371aic in(1 which hel222cod>225786->1aic in(1) 225286->171ss="swhile2 n 1ad)) ) 2253 cl>1718>>>>>>>>37 *> 1372 v 137,L137la>2 rb_32"ryT_SYMa>t" cllass="srn__2 no { Ra >,L137"> 137ap21 __2 a>ap21 _>,sif="rot, ,L137la>2 rb_n37< _>,)>1aic in(12256 >165 nameeeeeeeeet 1372 enE ef="rot, 2 v 1adpoprot5">2fn a2enE__2 va2enE 2257=gd>1705s="sref">>>>>>>>37 *> 1372 n 1372 n 1adpoprot5">2fnrb_lef _>,L137la>2 rb_lef l ad>1aic in(12257dr">171"sref">ptent 1372 enE ef="rot, 2 v 1adpoprot5">2fn a2enE__2 va2enE ptent<<<<<<<<<37 *> 1372 n 1372 n 1adpoprot5">2fnrb_righ _>,L137la>2 rb_righ l ad>1aic in(1 84 list_h22cod>2256 cl>161 else1aic in(1endddddddddb k>1aic in(1 rcu_hee22cod>226o cl>1718171ic in(1226786->1aic in(12267=vm>170ic int ur alloc.cnv__2 v 1372 falsel ad>1aic in(122671aic in(12265=vm>170ic int , 2 v 1adpoprot5">2fn a2enE__2 va2enE ef="rot, 2 enE 1ad)) ) 2267dr">171"sref">ptent<*f="rot, 1ad 2 v 1aic in(12266> >1657sref">ptent<*f="rot, 2 fprevT_SYL n37 *> 1372 n37<_to_v T_SYM1adpoprot5">2fnrb_prev flagsla>2 rb_prevT_SYM&(137 *> 1371adpoprot5">2fnrb_n37< _>,L137la>2 rb_n37< _>,))>1aic in(122c6 cl>161 }1ad)) ) 2267/a>>171ss="sref2>end*f="rot, 2 fprevT_SYL n37 *> 1372 v 1aic in(1end*f="rot, 1ad 2 n37<_to_v T_SYM1adpoprot5">2fnrb_nexf a nasigned rb_nexfT_SYM&(137 *> 1372 fprevT_SYl9 na>1adpoprot5">2fnrb_n37< _>,L137la>2 rb_n37< _>,))>1aic in(122c786->171ss="s171ic in(122c7=vm>170ic ins="sref37 *> 137,L137la>2 e 1aic in(1pgd_22cod>2276=171ic in(122771aic in(122771725aname="L132"> 1 a/a de"s*22770">>1726 aname="L132"> 1 af 2determc.c2enE9- ind ags9highest r1525edpdext" c between two a>ap21 cT_=2 end"s hreoc.c#L104" id="L12277SPIN17=22code=a16static int 2276 h >1637d 1 a@pnexf: in/ou 1 g4 to ags9nexfoa>ap21 _=2 end"s hreoc.c#L104" id="L12278SPIN17=22code=a16igned long 2276"u">163 aname="L132"> 1 a@pprev: in/ou 1 g4 to ags9previousoa>ap21 _=2 end"s hreoc.c#L104" id="L12279SPIN17=22code=a16"80 1 22cod>227686->1689aname="L132"> 1 a@r1525: r1525132" _=2 end"s hreoc.c#L104" id="L1228_SPIN17=22code=a16 1 _=2 end"s hreoc.c#L104" id="L12281SPIN17=22code=a16" c_no64/tlf">ad22cod>2286ine>1641 aname="L132"> 1 aR="sres determc.cd enEodext" c _=2 end"s hreoc.c#L104" id="L12282SPIN17=22code=a16r return22cod>2286lin>1642 aname="L132"> 1 _=2 end"s hreoc.c#L104" id="L12283SPIN17=22code=a16g 1 aFind ags9highest r1525edpdext" c between *@pnexfodnEo*@pprev below _=2 end"s hreoc.c#L104" id="L12284SPIN17=22code=a16hre1bad(<1a 22cod>22871724 aname="L132"> 1 VMALLOC_END. *@pnexfodnEo*@pprev d padjus sd4soghhat ags9a1525ed _=2 end"s hreoc.c#L104" id="L12285SPIN17=22code=a16ame="L114"> 11is22cod>22871725aname="L132"> 1 downpdext" c ic between tgs9enEodext" ceseteptgs9two a>ap21 c.l namc2.>p hreoc.c#L104" id="L12286SPIN17=22code=a16m_7"> " claconst22cod>22870">>1726 aname="L132"> 1 l namc2.>p hreoc.c#L104" id="L12287SPIN17=22code=a16code=next" cls="22cod>2216cod>1687d 1 Pl ce noteghhat ags9aext" c r="sre a by agp hreoc.c#L104" id="L12288SPIN17=22code=a16; 163 aname="L132"> 1 ainside *@pnexfoa>ap21 .deThe 25or p hreoc.c#L104" id="L12289SPIN17=22code=a1686-64 a/a de/asm22cod>228686->1689aname="L132"> 1 ahhat.l namc2.>p hreoc.c#L104" id="L1229_SPIN17=22code=a16clas1s="sr19e229o86->1689aname="L132"> 1 a/a de * 2296ine>sta (c>zeme="dd 137ap21 __2 a>ap21 _>,L1*f="rot, 22c286->171ss="sref">WAR/>, ,L137"> 137ap21 __2 a>ap21 _>,L1*f="rot, 2 fprevT_SYs 22c3 cl>1718>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>zeme="ddaddr22cod>22972>1ad)) ) 2 v " id=2enE 1ad 2 VMALLOC_END t" cllass="sr1"525 flagsla>2 v1525 1aic in(122c7dr">171"srefzeme="dd1aic in(1 !18f22cod>2296 h >1aic in(122cod>2296 cl>161 t 1372297/a>>171ss="sref2>endf="rot, 2fnva25oar _>,L137la>2 a25oar t" cllass="sr1"525 flagsla>2 v1525 2 v " id=2enE 1aic in(1230odr">171"srefelse1aic in(123E786->171ss="sref2>endf="rot, 2 v " id=2enE 1aic in(12307t n> na>1adc.c#L104" id="L1023E3SPIN17=23Eode=a16 2303 cl>1718while, 2 fprevT_SYL&&m3137 *> 1372 fprevT_SYl9 na>1adpoprot5">2fn a2enE__2 va2enE ef="rot, addr23Eod>2306 >165 nameeeeeeeee*f="rot, 1372 fprevT_SY>1aic in(12fnrb_prev flagsla>2 rb_prevT_SYM&(137 *> 1371adpoprot5">2fnrb_n37< _>,L137la>2 rb_n37< _>,))>1aic in(12307dr">171"sref171ic in(1 !18f23Eod>2306 h >1aic in(123Eod>2306 cl>161 s="sreff="rot, 2307/a>>171ic in(1223cod>231o=160ef="mm/vmallf="mm/vma2311SPIN17=23code=a1786-64 a/a de/asm23cod>2316ine>1641 aname="L132"> 1 a/a de"s*2316lin>1642 aname="L132"> 1 apcpu_r t_ 21 s -e4" idats9104" id 1 s to percpue4" idator/a de"s*do notc.23cod>2317pmd>1723 aname="L132"> 1 @offsets: 1 ray>containing offsetetepeach9areal namc2.>p hreoc.c#L104" id="L123c4SPIN17=23code=a17 23171724 aname="L132"> 1 @ 25s: 1 ray>containing 254tepeach9areal namc2.>p hreoc.c#L104" id="L123c5SPIN17=23code=a17(23171725aname="L132"> 1 a@nr_ s: ags9number4tec1 s h pN" idatsl namc2.>p hreoc.c#L104" id="L123c6SPIN17=23code=a17dr" class="sref223cod>23170">>1726 aname="L132"> 1 a@r1525: r1525132",pN" 32"ri ugin @offsetsodnEo@ 25s mu5o>bs9a1525ed4h pthic _=2 end"s hreoc.c#L104" id="L12317SPIN17=23code=a17a href="+co" cla23cod>2316 h >1637d 1 l namc2.>p hreoc.c#L104" id="L12318SPIN17=23code=a17 class="line" na23cod>2316"u">163 aname="L132"> 1 aR="sres k04" id'd v 25o { po="Lig 1 ray>po="Ling h pN" idatsd _=2 end"s hreoc.c#L104" id="L123c9SPIN17=23code=a17/a> 1= 1 a>s="sref"v 25o { s on succesu,e%NULL on failure _=2 end"s hreoc.c#L104" id="L1232_SPIN17=23code=a17d="L119" class="23cod>232o86->1689aname="L132"> 1 _=2 end"s hreoc.c#L104" id="L12321SPIN17=23code=a17d=" /a> 1= <23cod>2326ine>1641 aname="L132"> 1 aPercpue4" idator wants h pus pcongru32" 1 amaintain ags9offsetsodm hrepercpue4 c.deTh 1 congru32" 1 bs9sdatLige apretty far, di5oance between two 1 s easily going upan=2 end"s hreoc.c#L104" id="L12325SPIN17=23code=a17L9 23271725aname="L132"> 1 ah pgigabytsc.deTo 11545<="LigacLing with regulao 104" idu,ethesean=2 end"s hreoc.c#L104" id="L12326SPIN17=23code=a170"> 40="+co23cod>23270">>1726 aname="L132"> 1 a1 s d pa" idatsd fromah p.l namc2.>p hreoc.c#L104" id="L12327SPIN17=23code=a17>WARN_ON s23cod>2326 h >1637d 1 l namc2.>p hreoc.c#L104" id="L12328SPIN17=23code=a17L9_ 862326"u">163 aname="L132"> 1 aDespits9itso="Lplidatsd look, ag232686->1689aname="L132"> 1 ado5s everythingah p-downpdnEosdans 1 s romahgs9enEolookingafor/a de"s*233o86->1689aname="L132"> 1 amatchingaslot.deWhile2336ine>1641 aname="L132"> 1 aexistingaa>ap21 ,ethe b ce dext" c ic pullsd downph pfit ags/a de"s*2336lin>1642 aname="L132"> 1 a1 .deSdanning 1 anecesuary datae resgd pinserted and ags result p hreoc.c#L104" id="L12334SPIN17=23code=a16XPORT_SYMBOLf="+23cod>23371724 aname="L132"> 1 a/a de * 137 _>,L137la>2 25o { _>,L1137 *> 137zeme="dd 137171"sref">ptent<<<<<<<<<<<<<<<<<<<<<37 *> 137,L137la>2 25_ T_SYL137 *> 137,L137la>2 25sT_SYs>t"L40"> ur alloc.cnr_ s__2 nr_ sT_SYs 2336> >1657sref">ptent<<<<<<<<<<<<<<<endf="rot, ,L137la>2 25_ T_SYLf="rot, 2 v1525 23372>1ad)) ) zeme="dd,L137la>2 4" id=25oar T_SYL n37 *> 1372fnVMALLOC_START1_KERNELla>2 VMALLOC_STARTT_SYs>f="rot, 2 v1525 1aic in(1171"srefcon5o>zeme="dd2 v " id=2enE 1ad 2 VMALLOC_END t" cllass="sr1"525 flagsla>2 v1525 1aic in(1,L137"> 137ap21 __2 a>ap21 _>,L1*f="rot, 137 *> 1372 frevT_SYsL137 *> 1371aic in(1234286->171ss="s >,L137"> 137 _>,L137la>2 25o { _>,L1137 *> 1372 sT_SY>1aic in(12343 cl>1718t"L40"> ur alloc.c1 nsigas=" (1<2 hr f="rot, , 2 gast21 f="rot, 2 term21 T_SY>1aic in(12346 >165 namezeme="dd, ,L137la>2 5oar T_SYs>f="rot, 2 enE f="rot, 2 gast2enET_SY>1aic in(1, , 2 furgeE 1ad 2 falsel ad>1aic in(12346"80>167ss="s.c#L104" id="L1023c7SPIN17=23code=a16+co14/vmalloc.c223cod>2346> >1657srefg641 aname="L132"> 1 verify parlocLigs4and 4" idats9datae ureug a/a de * , 2 v1525 t" cllass="sr 25oMASK flagsla>2 25oMASK ur alloc.cis_power_of_2nsigas=" (1<2 his_power_of_2T_SYMa>t" cllass="sr1"525 flagsla>2 v1525 1aic in(1(2347/a>>171ss="s to Ma>t" cllass="srgast21 __2 gast21 f="rot, , , 2 nr_ sT_SY>ef="rot, 1aic in(1 which hel223cod>235786->171ss="sref">WAR37 *> 1372 enE 1ad ,L137la>2 5oar T_SY9+df="rot, ,L137la>2 25sT_SY[f="rot, ) 2357t n> na>1adc.c#L104" id="L1023c3SPIN17=23code=a16ref="+code=pgd_a23cod>2353 cl>1718>>>>>>>>3641 aname="L132"> 1 is everythingaa1525ed4properly?g a/a de * 2356 >165 nameeeeeeeeef="rot, ur alloc.cIS_ALIGNED flagsla>2 IS_ALIGNEDT_SYMa>t" cllass="sroffsets a nasigned offsetsT_SY[f="rot, , 2 v1525 1aic in(12357=gd>1705s="sref"f="rot, ur alloc.cIS_ALIGNED flagsla>2 IS_ALIGNEDT_SYMa>t" cllass="sr 25s _>,L137la>2 25sT_SY[f="rot, , 2 v1525 1aic in(12356"80>167ss="s.c#L104" id="L1023c7SPIN17=23code=a16> 84 list_h23cod>2356> >1657sref">ptent<3641 aname="L132"> 1 detect ags9area with ags9highest rext" c a/a de * , ,L137la>2 5oar T_SY9&na>ef="rot, enddddddddda>t" cllass="srgast21 __2 gast21 1aic in(1 rcu_hee23cod>236o=160ef="mm/vmallf="mm/vma23c1SPIN17=23code=a16 classdr" class123cod>236786->171ss="sref">WAR to Ma>t" cllass="srv 2nsigas=" (1<2 hr 2 ef="rot, , 2 nr_ sT_SY>ef="rot, 236286->171ss="sref">WAR/>, 1ad 1aic in(1 DEFINE_S23cod>2363 cl>1718>>>>>>>>/>, 1ad , ,L137la>2 25sT_SY[f="rot, 23671aic in(12367=gd>1705s="sref">>>>>>>>t 1371ad 2367dr">171"sref">ptent<<<<<<<<<<<<<<<<1aic in(12366 h >1aic in(12366 cl>161 f="rot, na>1ad ,L137la>2 5oar T_SY9&&ma>t" cllass="sr5oar 2nsigas=" (1<2 h5oar 2T_SY9&la>ef="rot, 2 enE 1aic in(12367/a>>171ss="sref2>end f="rot, n37 *> 1372 enE t" cllass="srenE2nsigas=" (1<2 henE2 ef="rot, ,L137la>2 5oar T_SYl>1aic in(1end171ic in(123c786->171ss="s171ic in(123c7=vm>170ic inf="rot, 2 gast2enET_SY9 na>1ad , ,L137la>2 25sT_SY[f="rot, 2 gast21 1aic in(1pgd_23cod>2376=160ef="mm/vmallf="mm/vma23c4SPIN17=23code=a16code=end" class223cod>2376 >165 namet , 2 v " id=2enE , ,L137la>2 4" id=25oar T_SYL&la>ef="rot, 2 gast2enET_SYls2>1ad)) ) t" cllass="sr e _>,L137la>2 e 1aic in(12377dr">171"sref">ptent 1371aic in(1237786->171ss="s171ic in(12377 na>1adc.c#L104" id="L102379SPIN17=23code=a16"80 1 23cod>2377/a>>171ss="s17 *> 1372 sT_SY9 na>1ad 2 kc" id=T_SYMa>t" cllass="srnr_ s__2 nr_ sT_SYs 25ofaf="rot, 2 sT_SY[0])sif="rot, 2 GFP_KERNEL 1aic in(1 1371ad 2 kc" id=T_SYMa>t" cllass="srnr_ s__2 nr_ sT_SYs 25ofaf="rot, ad23cod>238786->171ss="st ur alloc.cnvs a nasigned vasT_SY9|| !0"> ur alloc.cn4s__2 sT_SYl1aic in(1238286->171ss="sref">WARgotoma>t" cllass="srerr_free2nsigas=" (1<2 herr_free2l ad>1aic in(1ef="rot, , 2 nr_ sT_SY>ef="rot, 11is23cod>2387=gd>1705s="sref"f="rot, 1ad 2 kz" id=T_SYM 25ofa >,L137"> 137ap21 __2 a>ap21 _>,)sif="rot, 2 GFP_KERNEL 1aic in(1 " claconst23cod>2387dr">171"sref">ptent, 2 sT_SY[f="rot, 2 kz" id=T_SYM 25ofa >,L137"> 137 _>,L137la>2 25o { _>,)sif="rot, 2 GFP_KERNEL 1aic in(1ptent ur alloc.cnvs a nasigned vasT_SY[f="rot, ur alloc.cn4s__2 sT_SY[f="rot, 1aic in(12387/a>>171ss="s171ic in(1239o86->1>t" cllass="srs="ry _>,L137la>2 re"ryT_SY:71ic in(1239786->171ss="s37 *> 137,L137la>2 pin_="skT_SYM& >,L137"> 137ap21 _="sk _>,L137la>2 a>ap21 _="sk 1aic in(12397t n> na>1adc.c#L104" id="L102393SPIN17=23code=a16 23c3 cl>17183641 aname="L132"> 1 5oar addr23cod>239486->171ss="s37 *> 137, ,L137la>2 5oar T_SY9 na>1ad 1aic in(123c7dr">171"sref37 *> 1372 enE 1ad ,L137la>2 5oar T_SY9+df="rot, ,L137la>2 25sT_SY[f="rot, !18f23cod>2396 h >1aic in(123cod>2396 cl>161 t ur alloc.cp 2 ind_nexf_prev flagsla>2 f 2 ind_nexf_prevT_SYM >,L137"> 137ap21 _pcpu_holensigas=" (1<2 ha>ap21 _pcpu_holeT_SYs & >,L137"> 137,L137"> 1372 frevT_SY)ls2>1ad)) ) 2397/a>>171ss="sref2>endf="rot, 2 b ce 1ad 2 v " id=2enE , 2 gast2enET_SY>1aic in(1240o/a>>171ss="sref2>endgotoma>t" cllass="srfound__2 foundT_SY>1aic in(1240786->171ss="s171ic in(12407=vm>170ic inf="rot, 2 b ce 1ad 2 f 2determc.c2enET_SYM& >,L137"> 137,L137"> 1372 frevT_SYs>f="rot, 2 v1525 , 2 enE 1aic in(12406=160ef="mm/vmallf="mm/vma24E4SPIN17=24Eode=a16lass="sref">addr24Eod>2406 >165 namewhile,L137la>2 e 1ad)) ) t" cllass="srnexf a nasigned nexf t" cllass="srnexf a nasigned nexf 1adpoprot5">2fn a2enE__2 va2enE n37 *> 1372 b ce , 2 enE 1aic in(12407dr">171"sref">ptent, 2fn a2enE__2 va2enE ef="rot, 2 b ce , 2 enE 1aic in(1 !18f24Eod>2406 h >1aic in(124Eod>2406 cl>161 3641 aname="L132"> 1 /a de * 240686->1689aname="L132"> 11111111111111111* b ce migh have underflowed, rex gast2enE before _=2 end"s hreoc.c#L104" id="L1241_SPIN17=24code=a17" class="sref">224cod>241o86->1689aname="L132"> 11111111111111111* ="Lparingal namc2.>p hreoc.c#L104" id="L12411SPIN17=24code=a1786-64 a/a de/asm24cod>2416ine>1641 aname="L132"> 11111111111111111*a/a de * 241286->171ss="sref">WARt , 2 b ce , 2 gast2enET_SY=&la>ef="rot, ,L137la>2 4" id=25oar T_SYL+df="rot, 2 gast2enET_SYls2>1ad)) ) do notc.24cod>2413 cl>1718>>>>>>>>/>, 137,L137la>2 pin_un="skT_SYM& >,L137"> 137ap21 _="sk _>,L137la>2 a>ap21 _="sk 1aic in(12416 >165 nameeeeeeeeeref">WARt ur alloc.cpurgeE flagsla>2 furgeE 1ad)) ) >>>>>>>/>, 137ap21 _=azy _>,L137la>2 furge_a>ap21 _=azyT_SYMl>1aic in(1171"sref">ptent<<<<<<<<<<<<<<<<<0"> ur alloc.cpurgeE flagsla>2 furgeE t" cllass="sr e _>,L137la>2 e 1aic in(12416> >1657sref">ptent<<<<<<<<<<<<<<<t" cllass="srs="ry _>,L137la>2 re"ryT_SY>1aic in(12416 cl>161 171ic in(1 1= end gotoma>t" cllass="srerr_freensigas=" (1<2 herr_freel ad>1aic in(1end171ic in(1 1= <24cod>242786->1aic in(1L93" id="L9324cod>242286->171ss="sref">WAR3641 aname="L132"> 1 /a de * 11111111111111111* If9nexfooverlaps, move b ce downwards soghhat it'c _=2 end"s hreoc.c#L104" id="L12424SPIN17=24code=a17L9ed long 24271724 aname="L132"> 11111111111111111* righ below nexfodnEoags frecheckal namc2.>p hreoc.c#L104" id="L12425SPIN17=24code=a17L9 24271725aname="L132"> 11111111111111111*a/a de * 40="+co24cod>2427dr">171"sref">ptent2fn a25oar _>,L137la>2 a25oar ef="rot, 2 b ce , 2 enE 1ad)) ) ptent<<<<<<<<<37 *> 1372 b ce 1ad 2 f 2determc.c2enET_SYM& >,L137"> 137,L137"> 1372 frevT_SYs>f="rot, 2 v1525 , 2 enE 1aic in(1L9_ 862426 cl>161 f="rot, 2 term21 T_SY9 na>t" cllass="srv nsigas=" (1<2 hr 1aic in(12427/a>>171ss="sref2>end continue>1aic in(1end171ic in(1243786->1aic in(1243286->171ss="sref">WAR3641 aname="L132"> 1 /a de * 11111111111111111* If9prev overlaps, shift downpnexfodnEoprev dnEomove/a de * 24371724 aname="L132"> 11111111111111111* b ce soghhat it'c righ below new nexfodnEoags /a de * 11111111111111111*frecheckal namc2.>p hreoc.c#L104" id="L12436SPIN17=24code=a16a de/asm- p2a> *24cod>24370">>1726 aname="L132"> 11111111111111111*a/a de * 2436> >1657sref">ptent2fn a2enE__2 va2enE ef="rot, 2 b ce , ,L137la>2 5oar T_SYl s2>1ad)) ) 2436 cl>161 f="rot, 1ad 2 frevT_SY>1aic in(1end f="rot, 2 frevT_SY= n37 *> 1372 n37<_to_v T_SYM1adpoprot5">2fnrb_prev flagsla>2 rb_prevT_SYM&a>t" cllass="srnexf a nasigned nexf 1adpoprot5">2fnrb_n37< _>,L137la>2 rb_n37< _>,))>1aic in(1end f="rot, 2 b ce 1ad 2 f 2determc.c2enET_SYM& >,L137"> 137,L137"> 1372 frevT_SYs>f="rot, 2 v1525 , 2 enE 1aic in(1WAR f="rot, 2 term21 T_SY9 na>t" cllass="srv nsigas=" (1<2 hr 1aic in(1244286->171ss="sref">WAR/>, 1aic in(12443 cl>1718>>>>>>>>171ic in(124471aic in(1 1 /a de * >1726 aname="L132"> 11111111111111111*eTh 11111111111111111*eths9previousoone is hgs9termc.aloone, we're done./a de * 163 aname="L132"> 11111111111111111*a/a de * endf="rot, , 2 nr_ sT_SY> t" cllass="sr erm21 __2 term21 T_SYl1aic in(1 which hel224cod>245786->171ss="sref">WARRRRRRRRRb k> ) 245286->171ss="sref">WAR3="rot, ,L137la>2 5oar T_SY9 na>1ad 1aic in(12453 cl>1718>>>>>>>>3="rot, 2 enE 1ad ,L137la>2 5oar T_SY9+df="rot, ,L137la>2 25sT_SY[f="rot, 2456 >165 nameeeeeeeeef="rot, 2 f 2 ind_nexf_prevT_SYM >,L137"> 1372 b ce , 2 enE ,L137"> 137,L137"> 1372 frevT_SY)>1aic in(12457=gd>1705171ic in(12456"80> >,L137"> 1372 foundT_SY:71ic in(1 84 list_h24cod>2456> >1657srefg641 aname="L132"> 1 we've4 tund 4 fittingab ce,pinsert N" va'c *a/a de * ef="rot, , 2 nr_ sT_SY>ef="rot, end >,L137"> 137ap21 __2 a>ap21 _>,L11adpoprot5">2fn a__2 va 1ad 1aic in(1 rcu_hee24cod>246o=160ef="mm/vmallf="mm/vma24c1SPIN17=24code=a16 classdr" class124cod>246786->171ss="sref">WAR1adpoprot5">2fn a__2 va 1adpoprot5">2fn a25oar _>,L137la>2 a25oar 1372 b ce , 1aic in(1246286->171ss="sref">WAR1adpoprot5">2fn a__2 va 1adpoprot5">2fn a2enE__2 va2enE 1ad 2 va 1adpoprot5">2fn a25oar _>,L137la>2 a25oar , ,L137la>2 25sT_SY[f="rot, DEFINE_S24cod>2463 cl>1718>>>>>>>>f="rot, ap21 __2 __insert_a>ap21 T_SYM >,L137"> 1372 va 1aic in(12464=gd>1705171ic in(12467=gd>71ic in(12467dr">171"sref37 *> 137ap21 _pcpu_holensigas=" (1<2 ha>ap21 _pcpu_holeT_SY= n37 *> 1372 b ce , 2466 h >1aic in(12468=gd>1705f="rot, ,L137"> 137ap21 _="sk _>,L137la>2 a>ap21 _="sk 1aic in(12467/a>>1aic in(1 1 insert N" vm'c *a/a de * t" cllass="srv nsigas=" (1<2 hr ef="rot, , 2 nr_ sT_SY>ef="rot, 247286->171ss="sref">WAR1adpoprot5">2fninsert_a>a id=2vmnsigas=" (1<2 hinsert_a>a id=2vmT_SYM >,L137"> 1372 sT_SY[f="rot, , WAR1adpoprot5">2fnfcpu_r t_ 21 s a nasigned pcpu_r t_ 21 sT_SYl>1aic in(124771aic in(12477=gd>1705f="rot, , 1aic in(12477dr">171"srefs="sref37 *> 1372 sT_SY>1aic in(12476 h >1aic in(12477f="rot, 1 24cod>2477/a>>171ss="s to Ma>t" cllass="srv nsigas=" (1<2 hr ef="rot, , 2 nr_ sT_SY>ef="rot, 248o cl>1718>>>>>>>>37 *> 137, ad24cod>248786->171ss="sref">WAR1adpoprot5">2fnkfreensigas=" (1<2 hkfreel adaf="rot, 2 sT_SY[f="rot, 248286->171ss="s171ic in(1, (<1a 24cod>2486 >165 namef="rot, , 1aic in(1 11is24cod>2487=gd>1705f="rot, , 2 sT_SYl>1aic in(1 " claconst24cod>2487dr">171"srefs="sref37 *> 1371aic in(1 /* /a de * 249o86->1689aname="L132"> 1 apcpu_free_ 21 s - free2496ine>1641 aname="L132"> 1 a@ s:"v 25o { >po="Ler 1 ray re"sre a by pcpu_r t_ 21 s()/a de * 2496lin>1642 aname="L132"> 1 a@nr_ s: hgs9number ofpa" idatsd 1 sT_ de * 2497pmd>1723 aname="L132"> 1 T_ de * addr24cod>24971724 aname="L132"> 1 Free 1 a/a de * 24c7dr">1545<1adpoprot5">2fnfcpu_free_ 21 s a nasigned pcpu_free_ 21 sl ada >,L137"> 137 _>,L137la>2 25o { _>,L1137 *> 1372 sT_SYs>t"L40"> ur alloc.cnr_ s__2 nr_ sT_SYl !18f24cod>2496 h >2>1ad)) ) 24cod>2496 cl>161 t"L40"> ur alloc.cinsigas=" (1<2 hil ad>1aic in(12497/a>>1aic in(1250o/a>>171ss="s to Ma>t" cllass="srinsigas=" (1<2 hil ad9 n0>ef="rot, , 2 nr_ sT_SY>ef="rot, 250786->171ss="sref">WAR1adpoprot5">2fnfree_ 21 __2 free_ 21 l adaf="rot, 2 sT_SY[f="rot, 2507=vm>170ic inf="rot, , 2 sT_SYl>1aic in(12506=171ic in(1addr25Eod>2506 >#endif"s3641 aname="L132"> 1 CONFIG_SMP1 a/a de * 2507dr">#ifdefnf="rot, 2 CONFIG_PROC_FS=gd>71ic in(1 !18f25Eod>2506 h >static 1545<137 *> 137,L137la>2 s25oar ,L137"> 137,L11adpoprot5">2fnmnsigas=" (1<2 hmT_SYs>f="rot, ,L137la>2 loff_ _>,L11adpoprot5">2fnpos a nasigned posT_SYl 25Eod>2508=gd>1705f="rot, ,L137la>2 __acquir5sT_SYM& >,L137"> 137list_="sk _>,L137la>2 a>list_="skT_SYl 250686->2>1ad)) ) 225cod>2510/a>>171ss="s17 *> 137,L137la>2 loff_ _>,Lf="rot, 2 nl ad9 n11adpoprot5">2fnpos a nasigned posT_SY>1aic in(1251786->171ss="s >,L137"> 137 _>,L137la>2 25o { _>,L1 >,L137"> 137,L137la>2 T_SY>1aic in(1do notc.25cod>2513 cl>1718 >,L137"> 137,L137la>2 d_="skT_SYM& >,L137"> 137list_="sk _>,L137la>2 a>list_="skT_SYl>1aic in(12516 >165 namef="rot, ,L137la>2 T_SY= na>1ad ,L137la>2 a>listT_SY>1aic in(1(2517=gd>1705while2 nl ad9&na>e0=&&ma>t" cllass="sra _>,L137la>2 T_SYls2>1ad)) ) 171"sref">ptent< h, hrerLs_" cn__2 nl ad-->1aic in(12516> >1657sref">ptent, ,L137la>2 T_SY= na>1ad ,L137la>2 T_SY9 na>1adpoprot5">2fnnexf a nasigned nexf 1aic in(12516 cl>161 171ic in(1 1= ur alloc.cn__2 nl adl ends="sref37 *> 137,L137la>2 T_SY>1aic in(1 1= <25cod>252786->1aic in(1L93" id="L9325cod>252286->171ss="ss="sref37 *> 1371aic in(1L9 2527=gd>71ic in(1 40="+co25cod>2527dr">static 1545<137 *> 137,L137"> 137,L11adpoprot5">2fnmnsigas=" (1<2 hmT_SYs>1545<137 *> 137

f="rot, ,L137la>2 loff_ _>,L11adpoprot5">2fnpos a nasigned posT_SYl 137 _>,L137la>2 25o { _>,L1 >,L137"> 137,L137la>2 T_SY= na>1ad 1aic in(12527/a>>1aic in(12fnpos a nasigned posT_SY>1aic in(1253186->171ss="ss="sref37 *> 137,L137la>2 T_SY9 na>1adpoprot5">2fnnexf a nasigned nexf 1aic in(1253286->171ic in(12537static 1545<37 *> 137,L137"> 137,L11adpoprot5">2fnmnsigas=" (1<2 hmT_SYs>1545<137 *> 137

, ,L137la>2 __releas5sT_SYM& >,L137"> 137list_="sk _>,L137la>2 a>list_="skT_SYl >2>1ad)) ) 2536> >1657sref >,L137"> 137,L137la>2 d_un="skT_SYM& >,L137"> 137list_="sk _>,L137la>2 a>list_="skT_SYl>1aic in(12536 cl>171ic in(1,L137"> 137,L11adpoprot5">2fnmnsigas=" (1<2 hmT_SYs> >,L137"> 137 _>,L137la>2 25o { _>,L1 >,L137"> 137,L137la>2 T_SYl 254286->171ss="st 1371ad)) ) 2543 cl>1718>>>>>>>>zeme="dd ur alloc.cnr__2 nrT_SYs>1 >,L137"> 137,L137la>2 cou"LersT_SY= na>1ad 2fnprivatensigas=" (1<2 hprivate 1aic in(125471aic in(1 ur alloc.ccou"Lers _>,L137la>2 cou"LersT_SYl 171"sref">ptent<<<<<<<<1aic in(12546 h >1aic in(1(2546 cl>161 3>1ad ,L137la>2 memse l adaf="rot, ,L137la>2 cou"LersT_SY, 0s>f="rot, 2 nr_n37<_ids _>,L1 25ofazeme="dd1aic in(1(2547/a>>1aic in(1)25cod>255o cl>1718>>>>>>>> to Ma>t" cllass="srnr__2 nrT_SY9 n0>ef="rot, 2 nrT_SY9&la>ef="rot, ,L137la>2 T_SY9 na>1adpoprot5">2fnnr_pag5s _>,L137la>2 nr_pag5sT_SY>ef="rot, 2 nrT_SY++l WARRRRRRRRRf="rot, ,L137la>2 cou"LersT_SY[f="rot, 2 fag5_to_niEl adaf="rot, ,L137la>2 T_SY9 na>1adpoprot5">2fnpag5s _>,L137la>2 pag5sT_SY[f="rot, 2 nrT_SY])]++>1aic in(1) 2557t n> na>1adc.c#L104" id="L1025c3SPIN17=25code=a16ref="+code=pgd_a25cod>2553 cl>1718>>>>>>>>3="rot, , 2 nrT_SYs>17 *> 1372556 >165 nameeeeeeeees="sref"t , ,L137la>2 cou"LersT_SY[f="rot, 2 nrT_SY]) 2557=gd>1705s="sref"1718>>>>>>>>3="rot, , &quoa>eN%u=%u&quoa>/a de *s>f="rot, 2 nrT_SYs>17 *> 137,L137la>2 cou"LersT_SY[f="rot, 2 nrT_SY])>1aic in(12557dr">171"sref171ic in(1 84 list_h25cod>2556> >171ic in(1 84 list_h25cod>2557 na>1adc.c#L104" id="L102559SPIN17=25code=a16e" name="Lef_oc.25cod>2557/a>>static t"L40"> ur alloc.cs_show a nasigned s25how ,L137"> 137,L11adpoprot5">2fnmnsigas=" (1<2 hmT_SYs>1545<137 *> 137

256786->171ss="s >,L137"> 137 _>,L137la>2 25o { _>,L1 >,L137"> 137,L137la>2 T_SY= na>1ad 1aic in(12567t n> na>1adc.c#L104" id="L1025c3SPIN17=25code=a16 84 DEFINE_S25cod>2563 cl>1718 >,L137"> 137f641 aname5o ing">&quoa>0x%p-0x%pe%7ld&quoa>/a de *s na>1adc.c#L104" id="L1025c4SPIN17=25code=a16laLIST_HEADf="+c25cod>2566 >165 nameeeeeeeeef="rot, ,L137la>2 T_SY9 na>1adpoprot5">2fnaddr__2 addrT_SYs>17 *> 137,L137la>2 T_SY9 na>1adpoprot5">2fnaddr__2 addrT_SY=+df="rot, ,L137la>2 T_SY9 na>1adpoprot5">2fn 25nsigas=" (1<2 hs 25T_SYs>17 *> 137,L137la>2 T_SY9 na>1adpoprot5">2fn 25nsigas=" (1<2 hs 25T_SY)>1aic in(12567=gd>71ic in(12567dr">171"sreft , ,L137la>2 T_SY9 na>1adpoprot5">2fnc" ier__2 c" ierT_SYl ptent, , &quoa>e%pS&quoa>/a de *s>f="rot, ,L137la>2 T_SY9 na>1adpoprot5">2fnc" ier__2 c" ierT_SYl>1aic in(12567 na>1adc.c#L104" id="L1025c9SPIN17=25code=a16ole_siz"code=nr"25cod>2567/a>>171ss="st , ,L137la>2 T_SY9 na>1adpoprot5">2fnnr_pag5s _>,L137la>2 nr_pag5sT_SYl 257o cl>1718>>>>>>>>37 *> 137f641 aname5o ing">&quoa>epag5s=%d&quoa>/a de *s>f="rot, ,L137la>2 T_SY9 na>1adpoprot5">2fnnr_pag5s _>,L137la>2 nr_pag5sT_SYl>1aic in(1257786->1aic in(1257286->171ss="st 137,L137la>2 T_SY9 na>1adpoprot5">2fnphys_addr__2 phys_addrT_SYl f641 aname5o ing">&quoa>ephys=%llx&quoa>/a de *s>azeme="dd 137,L137la>2 T_SY9 na>1adpoprot5">2fnphys_addr__2 phys_addrT_SYl>1aic in(125771aic in(12577=gd>1705t 137,L137la>2 T_SY9 na>1adpoprot5">2fnflags _>,L137la>2 flagsT_SY9&ma>t" cllass="srVM_IOREMAP _>,L137la>2 VM_IOREMAPT_SYl 2577dr">171"sref">ptent< h, hrerLs_" cseq_printfnsigas=" (1<2 hseq_printfl adaf="rot, &quoa>eioremap&quoa>/a de *l>1aic in(12576 h >1aic in(12576 cl>161 t 137,L137la>2 T_SY9 na>1adpoprot5">2fnflags _>,L137la>2 flagsT_SY9&ma>t" cllass="srVM_ALLOCnsigas=" (1<2 hVM_ALLOC 1 25cod>2577/a>>171ss="sref2>endf="rot, , &quoa>e104" id&quoa>/a de *l>1aic in(1ad25cod>258786->171ss="st 137,L137la>2 T_SY9 na>1adpoprot5">2fnflags _>,L137la>2 flagsT_SY9&ma>t" cllass="srVM_MAP _>,L137la>2 VM_MAPT_SYl WAR3="rot, , &quoa>e104p&quoa>/a de *l>1aic in(12fnflags _>,L137la>2 flagsT_SY9&ma>t" cllass="srVM_USERMAP _>,L137la>2 VM_USERMAPT_SYl 11is25cod>2587=gd>1705s="sref"3="rot, , &quoa>euser&quoa>/a de *l>1aic in(1 " claconst25cod>2587dr">1aic in(12fnflags _>,L137la>2 flagsT_SY9&ma>t" cllass="srVM_VPAGES__2 VM_VPAGEST_SYl 2586 cl>161 3>1ad , &quoa>e1pag5s&quoa>/a de *l>1aic in(12587/a>>1aic in(12590/a>>171ss="s17 *> 137f7 *> 137,L137la>2 T_SYl>1aic in(12591/a>>171ss="s17 *> 137f641 aname5o ing">'\n'/a de *l>1aic in(1259286->171ss="ss="sref0>1aic in(12596=171ic in(1addr25cod>25971aic in(1 1371 >,L137"> 1378s="s_op a nasigned a>8s="s_opT_SY= n2>1ad)) ) 2597dr">171"sref. >,L137"> 137,L137la>2 5oar T_SY9 na>1ad ,L137la>2 s25oar 1adc.c#L104" id="L102597SPIN17=25code=a16" clas 1/a> !18f25cod>2597dr">171"sref. >,L137"> 1371ad 1adc.c#L104" id="L102598SPIN17=25code=a16class="comment">25cod>2596 cl>161 . >,L137"> 1371ad 1adc.c#L104" id="L102599SPIN17=25code=a16+code=next" cls=25cod>2599 cl>161 . >,L137"> 1371ad 1adc.c#L104" id="L1026E_SPIN17=26E_SP=a16+code=next" cls=26E_S>260o/a>>}>1aic in(1260786->1aic in(12607=vm>static t"L40"> ur alloc.ca>8s="s_open__2 a>8s="s_open ,L137"> 137,L137la>2 in37< _>,L1 >,L137"> 137,L137la>2 in37< _>,s> >,L137"> 137,L11adpoprot5">2fnfilensigas=" (1<2 hfile _>,l 2606=2>1ad)) ) addr26Eod>2606 >165 namezeme="dd 1372 ptr 1ad ur alloc.cre _>,L137la>2 ref 1aic in(12607dr">1aic in(1 !18f26Eod>2607 >165 namet 1371ad)) ) 26Eod>2606 cl>161 3>1ad 2 ptr 1ad 2 k4" id=l adaf="rot, 2 nr_n37<_ids _>,L1 25ofazeme="ddf7 *> 1371aic in(12607/a>>171ss="sref2>endt , 2 ptr 1ad 226cod>261o/a>>171ss="sref2>end s="sref-a>1ad 261786->171ss="s171ic in(1, ,L137la>2 ref 1ad 2 seq_openl adaf="rot, 1378s="s_op a nasigned a>8s="s_opT_SYl>1aic in(1do notc.26cod>2613 cl>1718t ur alloc.cre _>,L137la>2 ref 1ad)) ) 2616 >165 nameeeeeeeee >,L137"> 137,L11adpoprot5">2fnmnsigas=" (1<2 hmT_SY= na>1ad 2fnprivate_dat __2 private_dat 1aic in(1(2617=gd>1705s="sref"3="rot, 2fnprivatensigas=" (1<2 hprivate 1ad 2 ptr 1aic in(1171"sref} else1aic in(12616> >1657sref">ptent, , 2 ptr 1aic in(12616 cl>161 s="sref37 *> 137,L137la>2 ref 1aic in(1 1= 1= <26cod>262786->static consts >,L137"> 1371 >,L137"> 1371ad)) ) ,L137"> 1372 openl adref">ptent< na>1ad 1adc.c#L104" id="L1026c3SPIN17=26code=a17pmd" class="sre226cod>262386->171ss="s. >,L137"> 137,L137la>2 readl adref">ptent< na>1ad ,L137la>2 seq_ d 1adc.c#L104" id="L1026c4SPIN17=26code=a17L9ed long 262486->171ss="s. >,L137"> 137,L137la>2 llseekl adref">pten na>1ad ,L137la>2 seq_lseek 1adc.c#L104" id="L1026c5SPIN17=26code=a17L9 262586->171ss="s. >,L137"> 137,L137la>2 releas586->171ss="s na>1ad 40="+co26cod>2627dr">}>1aic in(1WARN_ON s26cod>2626 h >1aic in(1L9_ 862626 cl>static t"L40"> ur alloc.c__ini _>,L137la>2 __ini 86->1 >,L137"> 137,L137la>2 prd=2vm8s="s_ini l ada1545l 262686->2>1ad)) ) 2630/a>>171ss="s17 *> 137&quoa>04" id=info&quoa>/a de *s>f="rot, ,L137"> 1371aic in(1263186->171ss="ss="sref0>1aic in(1263286->171ic in(1, ,L137la>2 module_ini l adaf="rot, ,L137la>2 prd=2vm8s="s_ini l adl>1aic in(12636 >#endif1aic in(1 *26cod>26370">>
The origc.aloLXR software by ags 1ic in(1LXR ="L1uni yl ads th lxr.e/aux.no kindly hostsd by 1ic in(1