linux/Documentation/flexible-arrays.txt
<<
24i v4./spa > v4./form > v4.a 24i v4 href="../linux+v3"v310/Documenta" /flexible-arrays.txt">24i v4.img src="../.sta" c/gfx/right.png" alt=">>">24./spa >24.spa class="lxr_search">24i 24i v4.input typn> hidden" namn> navtarget" ption> ">24i v4.input typn> text" namn> search" id> search">24i v4.butt submit">Search v4./form > ./spa >24.spa class="lxr_prefs" > v4.a href="+prefs?return=Documenta" /flexible-arrays.txt"24i v4 onclick="return ajax_prefs();">24i v4Prefs> v4./a>24./spa >i v4 4./div >i v4 4.form ac" ="ajax+*" method="post" onsubmit="return false;">24.input typn> hidden" namn> ajax_lookup" id> ajax_lookup" ption> ">2i v4 4./form >2i v4 4.div class="headingbott
i v4
i v4 v4 4.div id> search_results" class="search_results"> v >i v4 4./div > .div id> content" > .div id> file_contents"
ec/f0/c7a3bbc2adbe7f2b10060cde4b88227a44a9_3/0" 
L1" class="line" namn>
L1">4 41./a>Using flexible arrays i/othe kernel

L2" class="line" namn>
L2">4 42./a>Last updated for ="v332

L3" class="line" namn>
L3">4 43./a>Jonatha  Corbet <corbet@lwn.net>

L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large contiguous memory alloca"
	 s ca  be unreliable i/othe Linux kernel.2
L6" class="line" namn>
L6">4 46./a>Kernel programmers will sometimes respond to this problem by alloca"
ng2
L7" class="line" namn>
L7">4 47./a>pages with vmalloc().  This solu11
L6">4 46./a>Kernel programmers wi2it systems,d>
L7" class="line" namn>
L7">4 47./a>pages w8th vmal8oc().  This solu11paceid>
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2paceible-arrith vmall rtag"d>
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2
L6">4 46./a>Kernel 1f="Docum1enta"
	 /flexible-array1s.txt1L5" id>
L5" class="line" namn>
L5">4 45./a>Large c1ontiguou1s memory alloca"
	 s ca1  be 1nreliIntmanyDocsee,e-arrneays.txt kernelfromwith vmall ocument	 /minrraysbyd>
L4" class="line" namn>
L4">4 44./a>2lfromwsth ver parts;e-arr
	 /flexible-a libraryd>
L4" class="line" namn>
L4">4 44./a>2
L6" class="line" namn>
L6">4 46./a>Kernel 18th vmal18oc().  This solu11
L5" class="line" namn>
L5">4 45./a>Large c19th vmal19oc().  This solu11
L2" class="line" namn>
L2">4 42./a>Last upd0exible 20rrays i/othe kernel

L2">4 42./a>Last updlexible 2arrays i/othe kernel

L2">4 42./a>Last upddated forr ="v332

wn s>Ke"Dara entt"-ard>
L4" class="line" namn>
L4">4 44./a>2
L4">4 44./a>2
L2" class="line" namn>
L2">4 42./a>Last updontiguou2s memory alloca"
	 s ca2  be 2nrelioper" namoc"It's id>o wor1 w6./nta"-att"
	 /flexible-arrdow6.tin
ernaid>
L2" class="line" namn>
L2">4 42./a>Last updprogramm2ers will sometimes resp2ond t2 thisva knta"tt"h v; ifi/otcurrineeaccummn
	 cum4./a>llexioss">4 ,e-arns-ard>
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large c29th vmal29oc().  This solu11
L3" class="line" namn>
L3">4 43./a>Jonatha 0exible 30rrays i/othe kernel

L5" class="line" namn>
L5">4 45./a>Large c3lexible 3arrays i/othe kernel

L5_5./a>.h4" id>
L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large c3  Corbet  <corbet@lwn.net>

 *
	 /_5./a>_h vmalin
t	 eline_size,d>
L5" class="line" namn>
L5">4 45./a>Large c3f="Docum3enta"
	 /flexible-array3s.txt34Docutentttttttttttttttttttttttttttttttttttttunsngnaysin
n
	trned>
L5" class="line" namn>
L5">4 45./a>Large c3ontiguou3s memory alloca"
	 s ca3  be 35Docutentttttttttttttttttttttttttttttttttttttgfp_t"
	ags)id>
L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large c3ith vmal3loc().  This solu11
L4" class="line" namn>
L4">4 44./a>2.c" nen
	agsd>
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2Ke effe./eod>
L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large c4  Corbet4 <corbet@lwn.net>4
o ioss">4 "
	 def@lw"
	 /flexible-arraeecompiexi
ime"8.1 :d>
L3" class="line" namn>
L3">4 43./a>Jonatha4f="Documeenta"
	 /flexible-arrayss.txt4L5" id>
L5" class="line" namn>
L5">4 45./a>Large c4ontiguou4s memory alloca"
	 s ca4  be 45DocutentDEFINE_FLEX_ARRAY(
	 s,t	 eline_size, 
	trn)id>
L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large c4ith vmal4loc().  This solu11sinea def@liref="ofnaum4./a>l8.1 w/fetgnvenlu11<;x-ard>
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large co0exible 50rrays i/othe kernel

L3" class="line" namn>
L3">4 43./a>Jonatha5lexible 5arrays i/othe kernel

L5" class="line" namn>
L5">4 45./a>Large codated fo5r ="v332
_kup(struct"
	 /_5./a> *5./a>,tunsngnaysin
n	 eline_nred>
L5" class="line" namn>
L5">4 45./a>Large c5  Corbet5 <corbet@lwn.net>5

L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large coontiguouss memory alloca"
	 s ca   be 55", t nlexch v"
ng2,sine-arriosiref=d>
L5" class="line" namn>
L5">4 45./a>Large coprogramm5ers will sometimes resp5ond t56 /flindicrraysbyn	 eline_nr (which muiblentlummn
nta"-arr aximum specifiays8arnd>
L5" class="line" namn>
L5">4 45./a>Large coith vmal5loc().  This solu11l8asncrearedloc"Ifnauyx kernel.2
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2
L4" class="line" namn>
L4">4 44./a>2
L5" class="line" namn>
L5">4 45./a>Large c6lexible 6arrays i/othe kernel
4y
L5" class="line" namn>
L5">4 45./a>Large c6dated fo6r ="v332
itu" nam, sneep" i ineet>
4 45./a>Largatyra5">4 45./a>Large c3ontiguou3s memory alrnelothe kernel

L5" class=p, t ner60taierid>
L.tlexible-a lexiccompli7el
6iPo7id>xiccompli7el

Lss="line6 namn>
L5">4 45./a>Larg6 coon6iguouGFP_ATOMIC>
L4"t9th vmal class, but,gt;tene2ithrs="li"51ete" 4
L
ng2,strickth vmo enta"-a namnclaslassa86s="line" namn>
L4">hre2a 0exbe
L4t3s memory alrnelothe kernel

Lalloca"
nng24 45./a>"
	d>
L 5arrays i/othe kernel

L5" cl68asncrea6edloc"Ifnauyx kernel.2<6 href67ble 6arrays i/othe kernel

L5">4 45./a>Largestartt5 <corbet@lwn.net>5

L4" c6ass="line" namn>
L4">4 64./a>69s)id>
L4" class="line" namn>
L4"4 45./a>Largenr_iays8ars
L5" cl7ss="line7 namn>
L5">4 45./a>Larg7 c6le7ible 6arrays i/othe kernel
7y,sine-afunx_loosiref=enta"-a namn="line" L4"t9thiays8arsys-ard>
Large coed fo1r ="v332
rrtxtcodn
	;ter 441r ="v332

L.tl7xible7a lex	 eline_nred>
L)arriosL4" nhiays8arLarge amnine" ne-aguainetass=a hre 4arrays i/othe kernel
4 45./a>Larg7 coon7iguoubss"> 60rrays i/othe kernel

L5" cl7
ng2
L5" cl7th vmallooc" namn>
L6">4 46./a>Ke href77ble 6arrays i/othe kernel
4 45./a>Large c5  Corbeum5enta"
	 /flexible-array5s.txt5L5" id>
L5" cl7d>
L4" c7ass="line" namn>
L4">4 74./a>7ible 50rrays i/othe kernel
4 45./a>Larg8 c6le80size, whd>
L4" class="liaa wine" class="l="lin c5  Co,gtr NULLrd>
e am50rrays i/othe kernel
8yrrt50rrays i/othe kernel
85" class8p, t ner60taierid>
L.tl8xible8a lexNot-a namnit44./a>24 44a wine" camn>
nhiays8arL5" cl4 <corbet@lwn.net>4
8ss="line8 namn>
L5">4 45./a>Larg8 coon8iguouh/ednev" cbeenen>
L4">4 44./a>2rr4 <corbet@lwn.net>4
8
ng2
L4"amnch vma;nchs="lin4 44./a>2Large c6datiays8arsyhre2n46./ld>
ss="l4 4zen>
L7">o1r ="v332

L6">4 46./a>K8 href87ble class=ne" namn>
_FREE (ss="li86/ed0x6amn>4">4 44./a> wisonted fo)upddae59thl58oc().  This solu11;x-ard>line" namn>
4 4>
L4"> c6datintriefo4r ="v332

L5" cl8d>
L4" c8ass="line" namn>
L4">4 84./a>89 lexNot-a nam,rd>
 c6datiays8arsyhre2" namn>rrJonath__GFP_ZEROe2ithylass="lioc().  This solu114 45./a>Larg9 c6le90arr ax="l4 4zen>
L7ne" nod>
L>4 47wisonine"ass="a hrhss="al28oc().  This solu11
L5" cl9= ioss">9yJonccompliclearrrJonat 30rrays i/othe kernel

L5" cl95" class9p, t ner60taierid>
L.tl9xible93d fo5r ="v332
4 45./a>Larg9 coon94nsngnaysin
n	 eline_nreclearL5" class="line" namn>
L5">4 45./a>Large c5  Corbeum5enta"
	 /flexible-array5s.txt5L5" id>
L5" cl9
ng2,sine-afunx_loosiref=set./a>2
_FREE od>
d>
L4"6arrays i/othe kernel

L6">4 46./a>K9 href97ble ne" >
L4" 4>
La" namn>t whieximn>rrJiays8arLas"a hr" namn>rrJamn>t whn>
L5"6arrays i/othe kernel
eartxtNot-a namnclear4 ,e-"6arrays i/othe kernel
99yraeecompiexdoes"a hrre4./aeel 1f=>
La" nmmeocin>rrJonathit;uquirre1 erbet1 <corbet@lwn.net>1

wn s>KerrJi
ime" namn>
L4",arrio 30rrays i/othe kernel

L5" cl10mAnd,nam 0.2< systems,euse ofn>pac01c6le ed fo5r ="v332

L5um5enta"
	 /flexible-array5s.txt5L5" id>
L5" cl10e ofn-arr0systemid>
L6" class="lin03c6le 3d fo5r ="v332

L5">4 45./a>Large04c6le 4size, whd>
L4" class=neg" nveyd>
Len
	agsd>ammerssd>s="line"c,sine-afunx_loosiorks60t
s>2
L4" clor>ammers 45.aia Cora h >6i but50rrays i/othe kernel
lfromwsth ver part06c6le 6a>,sne" namn>
_FREE bytaysbdda(1)nit4./a>2
L(2)nit4ass="a hriork50rrays i/othe kernel

L6" clas07c6le 7ble inel 1f/a>Jo
ernaidammershre2" namn>rrJonath__GFP_ZEROt50rrays i/othe kernel

L5">4 45./a>Large08c6le  vmal19oc().  This solu112
L4">4 44.a5lexible 5arrays i/othe kernel

L5" cl1 .2pace1c6le1ss="line"4 44.	 eline_nrelaer_amn>
L5" class="line" namn>
L5um5enta"
	 /flexible-array5s.txt5L5" id>
L5" cl1xibummura  ole-arrtrtasl" nam ="heaas>Ke11orbet4 <corbet@lwn.net>4
1ce ofn-arrrsystemid>
L6" class="linne" n1mn>
L6ine-arrioslaers2" nliays8ars, butlexivesel 1f/a>Jonatselfys-eplacet50rrays i/othe kernel

L5">4 45./a>Largee c1o1tiguouFaer Corbet>kers="l/a>Jonatha 0exible 30rrays i/othe kernel

L5" cl1csee,e-arrrneays.txt kernelfromwithh vma115ble 6arrays i/othe kernel
lfromwsth ver partts;e-1rr
	 /ine"4 44.	 eline_nrelaerL5" class="line" namn>
L5um5enta"
	 /flexible-array5s.txt5L5" id>
L5" cl1xmake /fleextask easierid>
L6" classs="l117ble 6arrays i/othe kernel

L5">4 45./a>Largee c191h vmalAsernel athwriclase2ithrs=hre2n4" narsernee" namn>
L3">4 4iL5">4 45in>4 46arrays i/othe kernel

L7modulesm5enta"
	 /flexible-array5s.txt5L5" id>
L5" cl1accummays1via cumin
egextindexammS1parsx12rnellexat4ass="7./a
L4">24 44.a5L4" classitt50rrays i/othe kernel

39thoriginamnLXR" iftwhre2bL5" cl0rrays i/http://source
L4ge="Do/pro4" cl/lxr">LXR" hrmunity mad,el ath ne"ri kernl varsloosbL50rrays i/45ille lxr@44./a.no">lxr@44./a.no mad.
e4b8822a44a9 snta4 subfoot-r">
lxr.44./a.no kiexlizeds specif0rrays i/http://www.rrepss=-44.pro.no">Rrepss=rnelpro AS mad,ess="linagsd>nel prcorm lt4 ,e-"d le-arrdows=servic"-aria>Ke1995.
e4b88227a/body22a/htmlt"