linux/drivers/char/random.c
<<
>>
Prefs
   1/*
   2 * random.c -- A strong random number generator
   3 *
   4 * Copyright Matt Mackall <mpm@selenic.com>, 2003, 2004, 2005
   5 *
   6 * Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999.  All
 *
 0/a7v/opt28.6
  
      1<1a>/*
1   2<1a> * ran1.aRediongiton vas of sourcelcods&husthultain ehe abovelcoight Thpan>
1   3<1a> * iTs&per="ss valno/gfe in ia h"> iTsty,pan>
1   4<1a> * Coppppiickugbot ehe dioss=imgenof wardomties.pan>
1   5<1a> *

&husthulprodufe ehe abovelcoight Thpan>
1   6<1a> * Copllowbot dioss=imgenin ehepan>

 *e Tse or promotepan>

20/a7v2opt28.6
  
  
2   1<2a>/*
    2<2a> * ranALTERNATIVELY,ls);" produfa maydbe diongiton/d undee ehe terms ofpan>
2   3<2a> *2   4<2a> * CoprequiTsd INSTEAD OF ehe abovelultngion="asAll(T);" ss=use ispan>
2   5<2a> *ie; badlinterion="adbetween ehe GPLaandpan>
2   6<2a> * Copehe ultngion="as tentainedlinha BSD-stylelcoight Th.)pan>
 *
30/a7v3opt28.6
  
  
3   1<3a>/*
3   2<3a> * ranLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,lORpan>
    3<3a> *
3   4<3a> * CopOF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,nDATA,lOR PROFITS; ORpan>
3   5<3a> *
3   6<3a> * CopLIABILITY,aWHETHERlIN CONTRACT, STRICTpLIABILITY,aOR TORTpan>
 *
40/a7v4opt28.6
  
  
4   1<4a>4   2<4a> * /span>
4   3<4a> *
    4<4a> * Copan>
4   5<4a> *viron 
4   6<4a> * Copom. urn fas goodndom number geh, suitable m>r cryptographic use.pan>
 *r seegbot TCP sequencember geh, om. oeher places wheTs&it ispan>
50/a7v5opt28.6
  
  
5   1<5a>/*
5   2<5a> * ranodorry of optor<="apan>
5   3<5a> *
5   4<5a> * Copan>
    5<5a> *
5   6<5a> * Copeo produfe erulyndom nu ber gehavalo computge --- ahavppose. eopan>
 *rtunr
 attackerspeo guesspan>
60/a7v6opt28.6
  
  
6   1<6a>/*viron viron 
6   2<6a> * ranhusthbe /ra. m>r outside attackerspeo obterve,lom. use thaypeopan>
6   3<6a> *viron 
6   4<6a> * Copfromlinside s)e kernel.pan>
6   5<6a> *
    6<6a> * CopSources of dom.c#ness fromls)e ">viron 
 *r aapan>
70/a7v7opt28.6
  
  tropyapool", which ;" mix/d usbot a CRC-like muncn va.pan>
7   1<7a>/*7   2<7a> * ranehe uom.c#ness ;" no/ chosen maliciously,mom. it is fasthenough thaypan>
7   3<7a> *
7   4<7a> * CopAsndom nu bytes aTs mix/d into ehe "> ropyapool,nehe uout" ns keeppan>
7   5<7a> *
7   6<7a> * Copehe uom number generator
 *
< of ehe "">tropyapool"AllThe SHAahash avoidspan>
80/a7v8opt28.6
  
  tropyapoolAllIt ;" believe. eopan>
8   1<8a>/*8   2<8a> * ranabout ehe input of SHAafromli>< outputAllEvs" if it is possible eopan>
8   3<8a> *
8   4<8a> * Copren fa/d fromls)eneratortropyaiapan>
8   5<8a> *
8   6<8a> * Copreason,nehe uout" nhdecreases i>< internal estimate of how manypan>
tropyapoolnas iypan>
 *
90/a7v9opt28.6
  
  
9   1<9a>/*
9   2<9a> * ranable eohinfee ehe fun fe output of ehe erator
9   3<9a> *
9   4<9a> * Copno/ believe. eoabe feasible, but theTs&is a remote possibilityApan>
9   5<9a> *
9   6<9a> * Copof purposehApan>
 *
 00/a7 006.28.6
  
  
 01/a7 0a>/*102/a7 0a> * ranbe use. fromlwithinhehe kernel:pan>
103/a7 0a> *
104/a7 0a> * Copppp  void ert_dom.c#_bytes(void *buf,lint nbytes);pan>
105/a7 0a> *
106/a7 0a> * CopT);" ;nterfacelwill urn falehe ulqueste. ber genof dom.c# bytes,pan>
 *
  0/a71/opt28.6
  
  r use when s/cyahighpan>
  1/a7 1a>/*r example, m>r keynerator<="ad/span>
11   211a> * ranons-time pads),nas iylwill onlyndrn ajaxhmaximum of ehe ber genofpan>
11   311a> *
11   411a> * Coptentainedlinhehe ">tropyapool.pan>
11   511a> *
11   611a> * CopThe /devnudom.c#ldevgfe voespno/ have s);" limit,mom. will urn fapan>

 *tropyapoolneoarer/rage,pan>

120/a712opt28.6
  
  
12   112a>/*
1    212a> * ranExportedlinterfaces ---- inputpan>
12   312a> *
12   412a> * Copan>
12   512a> *viron 
12   612a> * Copfromls)endevgfes aTs:pan>
 *

130/a713opt28.6
  
  
13   113a>/*
13   213a> * ranppp  void add_disk_dom.c#ness(ongufa eradisk *disk);pan>
1    313a> *
13   413a> * Copadd_devgfe_dom.c#ness() is f>r adgbot data to ehe dom nu poolnehaypan>
13   513a> *
13   613a> * CopT);" would be thing" like MAC adgurtses >r serie;mber geh, oe ehepan>
tropyato ehepan>
 *ie;izes ehe poolneohdifferent ue=""s f>r devgfespan>
tropypan>
140/a714opt28.6
  
  
14   114a>/*
14   214a> * Copadd_input_dom.c#ness() uses ehe input layer interruptatimbot,nas wellnaspan>
14   314a> * e="hninformr<="apfromls)en/ra.waTsApan>
1    414a> * Copan>
14   514a> *
14   614a> * Copinputs to ehe "> ropyapool. Usbot ehe cyclelcountgehaam. ehe irq sourcepan>
 *
150/a715opt28.6
  
  <,avalo per-disk_devt basis,aas inputato ehepan>
15   115a>/* ropyapool. Note thayphigh-speed solid tic/e vers/s with s/cyalowpan>
15   215a> * ranseek eime" vopno/ make foe goodnsources of "> ropy,nas eheir seekpan>
15   315a> *.pan>
15   415a> * Copan>
1    515a> *
15   615a> * Copparpicular dom.c#ness sourceAllThey vops);" by keepbot erack ofls)epan>
 eimbots.pan>
 *
160/a716opt28.6
  
  
16   116a>/*
16   216a> * ranWhen any optor<=ot systsm ticrts up, iylwill gops)roughma sequencepan>
16   316a> *
16   416a> * Copif ehe ticrt-up voespno/ involvelinterion="adwith refuman optor
16   516a> *
1    616a> * Cop">tropyapoolnbelow ehe value in ">tropy_countAllIaloedge eopan>
 *tropyapoolnacross shut-dowaslom. ticrt-upsAllTo vops);", put thepan>

170/a717opt28.6
  
  
17   117a>/*
17   217a> * rannnnnnecho "Ini>ie;izirandom number generator
17   317a> *
17   417a> * Copppppp# Carcyaandom numseeg fromlsicrt-up to sicrt-uppan>
17   517a> * ropyapoolpan>
17   617a> * Coppppppif [ -f $dom.c#_seeg ]; eheapan>
 *
180/a718opt28.6
  
  
18   118a>/*
18   218a> * rannnnnnddpif=/devnudom.c#lof=$dom.c#_seeg count=1 bs=51a>
18   318a> *
18   418a> * Copam. ehe m>llowbot l" ns inham appropriate scriptawhich ;" run aspan>
18   518a> *
18   618a> * Copan>
 * ropyapoolpan>
190/a719opt28.6
  
  
19   119a>/*
19   219a> * ranaaaaachmod 600 $dom.c#_seegpan>
19   319a> *
19   419a> * Co>
19   519a> *r example, "apmosthmodern systsms usbot ehe Systsm V ini>>
19   619a> * Copscripth, such cods&fragt"> " would be foundaiapan>
 *
200/a72006.28.6
  
  < of ehe "> ropyapoolpan>
201/a720a>/* ropyapool aypan>
202/a720a> * ransicrt-upAll(T)e 9;o, dd9;o,  in ehe addin va to ehe bootup scriptais topan>
203/a720a> *r es/cyasicrt-up,pan>
204/a720a> * Copevs" if ehe systsm crash/s without execu<=ot rc.0.)llEvs" withpan>
205/a720a> *
206/a720a> * Copof ehe "> ropyapool requiTss knowledge of ehe pTsvious his
 *
2 0/a72/opt28.6
  
  
2 1/a721a>/*
21   221a> * ranThe /devndom.c# vers/c undee Lx+v3 uses min>r ber geha8 am. 9 ofpan>
21   321a> *
21   421a> * Cop/devndom.c# and /devnudom.c#lcreatedlalready,nehey can be createdpan>
21   521a> *
21   621a> * Copan>
 *
220/a722opt28.6
  
   ":pan>
22   122a>/*
     222a> * rapan>
22   322a> *r tenstgufabot s)isndom number generator
22   422a> * CopfromlPretty GoodnPersacy9;o,  hdom number generator
22   522a> *
22   622a> * Copber generator ropypan>
 *
230/a723opt28.6
  
  
23   123a>/*
23   223a> * rapan>
2    323a> *23   423a> * CopRFC517a0, "Rom.c#ness Rement">dan vaslf>r Security", by Dvaaldpan>
23   523a> *
23   623a> * Co/pan>
lx+v3/utse="L.h>lx+v3/modulL.h>240/a724opt28#iickugel<href="driiickuge/lx+v3/kernel.hlass="linf="d">lx+v3/kernel.h>24   124a>lx+v3/major.h>24   224a>lx+v3/stgbot.h>24   324a>lx+v3/fcntl.h>2    424a>lx+v3/slab.h>24   524a>lx+v3/dom.c#Lh>24   624a>lx+v3/poll.h>.hlass="linf="d">lx+v3/ini>.h>lx+v3/fs.h>lx+v3/erahd.h>250/a725opt28#iickugel<href="driiickuge/lx+v3/interrupt.hlass="linf="d">lx+v3/interrupt.h>25   125a>lx+v3/m#Lh>25   225a>lx+v3/spinlock.h>25   325a>lx+v3/percpu.h>25   425a>lx+v3/cryptohash.h>2    525a>lx+v3/fips.h>25   625a>lx+v3/peracL.h>lx+v3/kmemcheck.h>CONFIG_GENERIC_HARDIRQS>260/a726opt28# iickugel<href="driiickuge/lx+v3/irq.hlass="linf="d">lx+v3/irq.h>26   126a>26   226a>26   326a>asm/processor.h>26   426a>asm/uaccess.h>26   526a>asm/irq.h>2    626a>asm/irq_regs.h>asm/io.h>CREATE_TRACE_POINTS>270/a727opt28#iickugel<href="driiickuge/eracL/evs">eracL/evs">27   127a>27   227a> * /apan>
27   327a> *
27   427a> * Co/pan>
27   527a>INPUT_POOL_WORDS>27   627a>OUTPUT_POOL_WORDS>SEC_XFER_SIZE>EXTRACT_SIZE>280/a728opt28#define href="dri+cods=LONGSlass="lins="d">LONGSpt28(href="dri+cods=xlass="lins="d">xpt28) (((href="dri+cods=xlass="lins="d">xpt28) + sizeof(unsigne. long) - 1)/sizeof(unsigne. long)) href="drivers/char/random.c#L7" 28id="L1" 28class="line" name="L1">28   128a>28   228a> * /apan>
28   328a> * ropyabef Ts&ws&wake up iaread "apan>
28   428a> * Cop/devndom.c#AllShould be enoughmto vopa significantndrseeg.pan>
28   528a> *
28   628a>dom.c#_read_wakeup_tf="sh> *
 ropyacount falls undee this ber genof bia , ehen wepan>
290/a729opt28.6
  
  
29   129a>/*
29   229a> * ra/pan>
29   329a>dom.c#_wri/e_wakeup_tf="sh>29   429a>29   529a> *
29   629a> * CopWhen ehe input pool goespos/c trickle_tf="sh, sicrt droppbot mostpan>
="aApan>
 *
300/a73006.28tic/iclint href="dri+cods=trickle_tf="shlass="lins="d">trickle_tf="sh>__read_mostly>INPUT_POOL_WORDS>301/a730a>302/a730a>DEFINE_PER_CPUpt28(int, href="dri+cods=trickle_countlass="lins="d">trickle_countpt28)2 href="drivers/char/random.c#L7" 303d="L2" 30class="line" name="L3">303/a730a>304/a730a> * /apan>
305/a730a> *
306/a730a> * Copof degree .poolword" os/c GF(2)AllThe tapslf>r various sizes aTspan>

 * " aTs&apan>

3 0/a73/opt28.6
  
  
3 1/a731a>/*
31   231a>poolinfo>31   331a>poolword">31   431a>tap1>tap2>tap3>tap4>tap5>31   531a>poolinfo_nable>31   631a> * /a x^128 + x^103 + x^76 + x^51 +x^25 + x + 1 -- 105oh/pan>
 * /a x^32 + x^26 + x^20 + x^14 + x^7 + x + 1 -- 15oh/pan>
320/a732opt28#if 0 href="drivers/char/random.c#L7" 32id="L1" 32class="line" name="L1">32   132a> * /a x^2048 + x^1638 + x^1231 + x^819 + x^411 + x + 1  -- 115oh/pan>
3    232a>32   332a>32   4324> * /a x^1024 + x^817 + x^615 + x^412 + x^204 + x + 1 -- 290oh/pan>
32   532a>32   632a> * /a x^1024 + x^819 + x^616 + x^410 + x^207 + x^2 + 1 -- 115oh/pan>
330/a733opt28aaaaaaaaan class="comment"> * /a x^512 + x^411 + x^308 + x^208 + x^104 + x + 1 -- 225oh/pan>
33   1331>33   233a>3    3333pt28aaaaaaaaan class="comment"> * /a x^512 + x^409 + x^307 + x^206 + x^102 + x^2 + 1 -- 95oh/pan>
33   4334>33   5335pt28aaaaaaaaan class="comment"> * /a x^512 + x^409 + x^309 + x^205 + x^103 + x^2 + 1 -- 95oh/pan>
33   6336> * /a x^256 + x^205 + x^155 + x^101 + x^52 + x + 1 -- 125oh/pan>
340/a734opt28 href="drivers/char/random.c#L7" 3iid="L1" 34class="line" name="L1">34   134a> * /a x^128 + x^103 + x^78 + x^51 + x^27 + x^2 + 1 -- 70oh/pan>
34   23426.28aaaaaaaa{ 128,  103,aaaa78,aaaa 51,aaaa 27,aaaa 2 }, href="drivers/char/random.c#L7" 3iid="L3" 34class="line" name="L3">34   334a>3    4344> * /a x^64 + x^52 + x^39 + x^26 + x^14 + x + 1 -- 15oh/pan>
34   534a>34   634a>POOLBITS>poolword">350/a735opt28#define href="dri+cods=POOLBYTESlass="lins="d">POOLBYTES>poolword">35   135a>35   235a> * /apan>
35   335a> *r ehe purposes of better mixbot,&ws&use ehe CRC-32 polynomial aspan>
35   435a> * Copwellaeoamake a twisaed Gratorlized Feedback Shift Reigsterpan>
3    535a> *
35   635a> * Cop(See M. Matsumoeoa& Y. Kurita,71992AllTwisaed GFSRnerator

 *

360/a736opt28.6
  
  
36   136a>/*r suggestiot s)isApan>
36   236a> * rapan>
36   336a> *
36   436a> * Cop"  facn it almosthcertainly isn9;o, tAllNoneeheless, ehe brre.ucibls facn/sspan>
36   536a> *
3    636a> * Cops)aypperiodicity isano/ a tenceraApan>
 *
370/a737opt28.6
  
  
37   137a>/*37   137a> * /apan>

< hashAen wepanriveddriers/charjob" 36class="line" name="L7 636 *
ess#L6s href 36class="line" name="L7 636 * Co/pan>



en>
< hvertr vers/),s/chL7"attar/rach4" 35class="line" name="L4">35   435a>
< hvertr vers/, he/sm.c#anco/sspshuffl" 36class="line" name="L7 636
(L7" 31w"L1" 23class="line" name="L1">23   123a> * /apan>

 * ropyabef Ts&ws& 36class="line" name="L7 636 * Cop/devndom.c#3llSho3ld be enoughmto vopa significanrs/cef="drindom.c#lets 20id="L6"char/rand"drrive(

< hash 36class="line" name="L7 636 *
204/a720a>
<>20ns  20class="line" name="L4">204/a720a>
rs/char/random.c#L7" 2883="L "38href="drivers/char/random.c#L7s&more sortpanef="lom.cinimy7" 20attar/raan>
204/a720a> *

204/a720a>
  
   r3pyaco3nt falls undee this ber genof bore sortpanef=Har/ivers/chaa fixini 30id="L6",  22sers*#an bossume href 228lass="line" name="L7 6228/a7228>3  
  

/*
 f 228lass="line" name="L7 6228/a7228> * ra/pan>

 ropyabef Ts&ws&" 34class="line" name="L5">34   534a>29   529a> *
29   629a> * CopWhen ehe in3ut po3l goespos/c trickle_tf="sh, sicS">poolglobtr m.c#id="" 35class="line" name="L4">35   435a>3  
  34   534a> *
DEFINE_PER_CPUpt28(intCLARE_WAIT_QUEUE_HEADcods=trickle_counCLARE_WAIT_QUEUE_HEAD"d">tns="d">dom.c#_wri/e_waandom.ci/char/random.c#Lri/e_waandom.ci/30class="line" name="L3">303/a730a>DEFINE_PER_CPUpt28(intCLARE_WAIT_QUEUE_HEADcods=trickle_counCLARE_WAIT_QUEUE_HEAD"d">tns="d">dom.c#_wri/e_wa/random.i/char/random.c#Lri/e_wa/random.i/30class="line" name="L3">303/a730a>tinfo>31   531a>302/a730a>32   132a>DEFINE_PER_CPUpt28(ib"drchar/random.c#Lb"dr_read_mostly>31   531a>tns="d">dom.c#_wdebugchar/random.c#Ldebug1claf="drivers/char/rb"drchar/random.c#Lb"dr_rea, 0644ass="line" name="L3">303/a730a> *
INPUT_POOL_WORDS>tns="d">dom.c#_wfm303/a730a> * CopWhen ehe in4oolwo40aaaa2 }, hrefclatns="d">dom.c#_wdebugchar/random.c#Ldebug1cla) \s="line" name="L3">303/a730a>tns="d">dom.c#_wKERN_unBUG/random.c#L7" 3KERN_unBUG_read_CPU time am.2iid="">drivers/char an>7;04d an>7;04d an>7;04d:"driver 34clas \s="line" name="L3">303/a730a> *
303/a730a>303/a730a>4  
  303/a730a>/*
303/a730a>##="drivers/char/rargchar/random.c#Larg1cla); }#L7"L1 (0ss="line" name="L1">28   128a>28   128a>tap="d">INPUT_POOL_WORDS>tns="d">dom.c#_wfm28   128a>poo34class="line" name="L7 634 * /a x^148 + x412class="line" name="L7 63234   534a> * /a x^34 + x^41s/char/random.c#L7" 289d="Lo  34class="line" name="L5">34   534a> * /a x^2448 + 42c#Apan>
34   534a>32   4324> * /a x^1424 + 4^817 +info>31   531a>31   631a>34   534a> * /a x^1424 + 4^819 + x^616 +info>31   531a>tap3>__u3=31cla0p7{ href="drivers/crandom.c#L7" 313d="31clss="line" name="L5">31   531a>31   531a> * /a x^542 + x4411 + x^308 + info>31   531a>31   531a>3    3333pt28a4aaaaaaan 4lass="comment"> * /a x^542 + x4409 + x^307 + x^206 + x^102 + x^2 + 1 -ando-/randp.c#L:oc" 34class="line" name="L5">34   534a>31   531a> * /a x^542 + x4409 + x^309 + 8id="L1" "drivers/char/radd_ptrchar/random.c#Ladd_ptr31clss="line" name="L5">31   531a>31   531a>31   531a> * /a x^246 + x4205 + x^155 + ref="dri+cods=tap2len wepaito"Lcrandom.c#L7" 31en wepaito"Lc1class="line" name="L5">31   531a>31   531a>tap3>__u8_read_mostly>31   531a> * /a x^148 + x4103 + ass="line" name="L7 6348/a7348>3    3333pt28a4ref="driv4rs/char/random.c#L7" 3ii4="L4"4430las">DEFINE_PER_CPUpt28(i__u3="lins="d">tap3>__u3=31cla31   531a> * /a x^64 + x^4440las">DEFINE_PER_CPUpt28(i__u3="lins="d">tap3>__u3=31cla31   531a>DEFINE_PER_CPUpt28(i__u3="lins="d">tap3>__u3=31cla31   531a>tinfo>31   631a>
34   634a>driver hashdriver 34classs="line" name="L6">34   634a>34   634a>tn>
34   634a> * /apan>
34   634a> *r ehe pur4oses 4f bettass="line" name="L7 6348/a7348> * Copwellaeoamak4 a tw459class="line" name="L5">29   529a> *
tinfo>31   631a> * Cop(See M. Mat4umoeo4565 + x^155 + .
34   634a>4  
  driverb.c#Ld="driver 34classs="line" name="L6">34   634a> *34   634a>
34   634a>4  
  
tn>
34   634a>/*34   634a> * rapan>
 *32   4324> * Cop"  facn it 4lmost464348ls="d">tinfo>31   631a> *
34   634a> * Cops)aypperiod4city 4665 + x^155 + .drivernonb.c#Ld="driver 34classs="line" name="L6">34   634a>4  
  

34   634a> *tn>
34   634a>34   634a>4  
  /*27   227a> * /apan>
DEFINE_PER_CPUpt28(i__u3="lins="d">tap3>__u3=31claers/dnE_PER_CPUpt28(ia href="drivers/char/randoa href="driL6" 381class="line" name="L6">31   631a> *34   634a> * Co/pan>
29   629a>4="dri+cods=SEC_XFER_SIZE4ass="47href="drivers/char/random.c#L7Tiirefrandom.gdris byte/ranhar/ranen wepandriverd"drariver.  It d * /apan>
 * ropyabef Ts&ws&witan>
 * Cop/devndom.c#4llSho4ld be enoughmto vopa significan/ranen wepan *
28   628a>
E_PER_CPUpt28(i_mix_p"dr_byte/"lins="d">tap3>_mix_p"dr_byte/"d">tinfo>
0p7{ href="driveinchar/random.c#L h1class="line" name="L6">34   634a>4rs/char/random.c#L7" 2884="L "48819 + x^616 +olword">>>>>>>>>>>>>ref="dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">f="drivers/char/r__u8"lins="d">tap3>__u8_read_mostly>28   128a> *
31   631a>4  
   r4pyaco48aaa 1 }, href8id="L1" RQS>f="drivers/char/rjchar/random.c#Lj"d">f="drivers/char/rass="lins="d">tap2>tap3>tap4>tap5>31   531a>4  
  31   531a>/*31   531a> * ra/pan>
tap3>byte/"d">INPUT_POOL_WORDS>< hchar/random.c#L h1class="line" name="L5">31   531a>tap3>__u3=31cla31   531a>29   529a> *
tap2>tap2>31   531a> * CopWhen ehe in4ut po4969 + x^307 + x_PER_CPUpt28(iass="lins="d">tap3>tap3>31   531a>4  
  tap4>tap4>31   531a> *
tap5>tap5>31   531a>4rs/char/random.c#L7" 3004="L1"499aaa2 }, hrefp7{ href="driveassom.c#L7" 315d="L4" 31claINPUT_POOL_WORDS>31   531a>34   134a>tass="line" name="L3">303/a730a>tUT_POOL_WORDS>303/a730a>INPUT_POOL_WORDS>tUT_POOL_WORDS>303/a730a>29   529a> *
28   628a> * CopWhen ehe in5oolwo50aaaa2 }, hrefL7"L1 ("dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">--)ass="line" name="L6">31   631a>tap3>rol3="d">t0p7{ href="drivebyte/"lins="d">tap3>byte/"d">++f="drivers/char/r hash_ro"L6"char/random.c#L hash_ro"L6"31clIn>
303/a730a> *
INP("dri+cods=tap2lichar/random.c#L "d">I- 1)In>
303/a730a>330/a733opt28a55  
  <^205 + x^103 + x^2 + 1 -XOR re/charm.c#ous 4" sL6" 28class="line" name="L6">28   628a>/*
]ss="line" name="L5">31   531a>I+ x_PER_CPUpt28(iass="lins="d">tap2>
31   531a>I+ x_PER_CPUpt28(iass="lins="d">tap3>
31   531a>I+ x_PER_CPUpt28(iass="lins="d">tap4>
31   531a>I+ x_PER_CPUpt28(iass="lins="d">tap5>
31   531a> * /a x^158 + x51619 + x^616 +olword">I+ x_PER_CPUpt28(iassom.c#L7" 315d="L4" 31cla)In>
31   531a> * /a x^35 + x^51819 + x^616 +olword"><^205 + x^103 + x^2 + 1 -Mix n>
28   628a>]INP("dri+cods=tap2lwrandom.c#L7" 31"1claIclasclash3) ^nE_PER_CPUpt28(ia href="drivers/char/randoa href="driL6" 3"dri+cods=tap2lwrandom.c#L7" 31"1claIc>
31   531a>34   134a> * /a x^2548 + 52119 + x^616 +olword">< tenceraApan>
29   629a> ropyabef Ts&wsLLLLLLLLLLLLLLLL* As/n>
 * /a x^1524 + 52d be enoughmto vopa significLLLLLLLLLLLLLLLL* ro"L6om.risrsL6as/suc>
28   628a> * /a x^1524 + 52819 + x^616 +olword">< char/random.c#L "d">I? 7p: 14ss="line" name="L5">31   531a>31   531a>330/a733opt28a5aaaaaaan 5lass="comment"> * /a x^552 + x530aaa2 }, hrefp7{ href="driveACCESS_ONC/char/random.c#LACCESS_ONC/"d">tUT_POOL_WORDS>< hash_ro"L6"char/random.c#L hash_ro"L6"31clss="line" name="L5">31   531a>tUT_POOL_WORDS>ss="line" name="L5">31   531a>tass="line" name="L3">303/a730a> * /a x^552 + x532class="line" name="L4">32   4324>dom.c#_woucrandom.c#L7" 31ouc31clss="line" name="L1">28   128a> * /a x^552 + x53519 + x^616 +olword">andotns="d">dom.c#_wjchar/random.c#Lj"d">INP0a "dri+cods=tap2ljchar/random.c#Lj"d">Iinf= 16a "dri+cods=tap2ljchar/random.c#Lj"d">++ss="line" name="L1">28   128a>>>>>>>>>(tns="d">dom.c#_w__u3="lins="d">tap3>__u3=31cla0)ns="d">dom.c#_woucrandom.c#L7" 31ouc31cls3"dri+cods=tap2ljchar/random.c#Lj"d">]INPUT_POOL_WORDS>I- "dri+cods=tap2ljchar/random.c#Lj"d">)In>
31   531a>31   531a> * /a x^256 + x5205 + s="line" name="L5">31   531a>DEFINpan>
E_PER_CPUpt28(i__mix_p"dr_byte/"lins="d">tap3>__mix_p"dr_byte/"d">tinfo>
0p7{ href="driveinchar/random.c#L h1class="line" name="L6">34   634a>>>>>>>>>>>>>>ref="dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">f="drivers/char/r__u8"lins="d">tap3>__u8_read_mostly>28   128a> * /a x^158 + x5103 + ss="line" name="L6">31   631a>tUT_POOL_WORDS>tap3>nbyte/"d">f="drivers/char/r_RET_IP_"lins="d">tap3>_RET_IP_31class="line" name="L3">303/a730a>tap3>_mix_p"dr_byte/"d">tp7{ href="driverchar/random.c#Lr31cl,ap7{ href="driveinchar/random.c#L h1clas="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">f="drivers/char/roucrandom.c#L7" 31ouc31clsss="line" name="L3">303/a730a> * /a x^65 + x^5440las}s="line" name="L5">31   531a>tap3>mix_p"dr_byte/"d">tinfo>
0p7{ href="driveinchar/random.c#L h1class="line" name="L6">34   634a>>>>>>>>>>>>ref="dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">f="drivers/char/r__u8"lins="d">tap3>__u8_read_mostly>28   128a>31   631a>tap3>flag/"d">ss="line" name="L5">31   531a>34   134a>tUT_POOL_WORDS>tap3>nbyte/"d">f="drivers/char/r_RET_IP_"lins="d">tap3>_RET_IP_31class="line" name="L3">303/a730a> * /apan>
tn>
tap3>flag/"d">ass="line" name="L3">303/a730a> *r ehe pur5oses 5509 + x^307 + x_PER_CPUpt28(i_mix_p"dr_byte/"lins="d">tap3>_mix_p"dr_byte/"d">tp7{ href="driverchar/random.c#Lr31cl,ap7{ href="driveinchar/random.c#L h1clas="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">f="drivers/char/roucrandom.c#L7" 31ouc31clsss="line" name="L3">303/a730a> * Copwellaeoamak5 a tw55aaaa2 }, href"dri+cods=tap2l" 25_unid="_irqrestorschar/random.c#L" 25_unid="_irqrestors"d">tn>
tap3>flag/"d">ass="line" name="L3">303/a730a> *
31   531a> * Cop(See M. Mat5umoeo552class="line" name="L7 6325  
  31   631a> *tap3>__u3=31claaaaaaaaaaa31   531a>ss="line" name="L5">31   531a>5  
  
31   531a>/*31   531a> * rapan>
31   531a> * * Cop"  facn it 5lmost569class="line" name="L5">29   529a> *29   629a> * Cops)aypperiod5city 56 goespos/c trickle_tf="sh, sicTiiref="anesr 36class="line" name="L7 6365  
  
andoive128Aa hf="dririve/chumessL6as/any 36class="line" name="L7 636 *="L Lakenimy7" " caller" 36class="line" name="L7 63628   628a>5  
  tpan>
E_PER_CPUpt28(ifash_mixchar/random.c#Lfash_mix"d">tinfo>ref="dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">ss="line" name="L1">28   128a>/*31   631a> * /apan>
tap3>byte/"d">INPUT_POOL_WORDS>< hchar/random.c#L h1class="line" name="L5">31   531a> *tap3>__u3=31claaaaaaaaaaa31   531a> * Co/pan>
INPUT_POOL_WORDS>31   531a>31   531a>tap3>nbyte/"d">--)ass="line" name="L6">31   631a>tap3>rol3="d">t0p7{ href="drivebyte/"lins="d">tap3>byte/"d">++f="drivers/char/r hash_ro"L6"char/random.c#L hash_ro"L6"31clIn>
In>
31   631a>olword">I+ 1)In>
31   531a>In>

31   531a>++In>
31   531a> * /apan>
31   531a> *ss="line" name="L5">31   531a> * Cop/devndom.c#5llSho58aaaa2 }, href"dri+cods=tap2lfchar/random.c#Lf31cl-clas< hash_ro"L6"char/random.c#L hash_ro"L6"31clss="line" name="L5">31   531a> *
31   531a>28   628a> *
28   628a> r5pyaco58is t)aypi/ be a goodnnon-cryp" 28class="line" name="L6">28   628a>5  
  tpan>
E_PER_CPUpt28(icredit_en wepaia hrchar/random.c#Lvredit_en wepaia hr"d">tinfo>ss="line" name="L1">28   128a>/*31   631a> * ra/pan>
31   531a>32   4324>ss="line" name="L1">28   128a> *
returnss="line" name="L5">31   531a> * CopWhen ehe in5ut po592class="line" name="L7 6325  
  tpCPU time am.2iid="">driverad"dd>%dnen wepanvreditsg/ra%s\ndriver 34class="dri+cods=tap2lnb hrchar/random.c#Lna hr"d">s="dri+cods=tap2lrchar/random.c#Lr31cl-clas303/a730a> *
303/a730a>tUT_POOL_WORDS>303/a730a>ss="line" name="L3">303/a730a>/*27   227a>dom.c#_wen wepaivers/char/random.c#Len wepaivers/1claIinf= 0)ass="line" name="L6">31   631a>tpCPU time am.2iid="">drivernegac#L6"en wepa/o="Lflow\ndriver 34clasass="line" name="L3">303/a730a>303/a730a> *
dom.c#_wen wepaivers/char/random.c#Len wepaivers/1claIilashUT_POOL_WORDS>ss="line" name="L1">28   128a> * CopWhen ehe in6oolwo60619 + x^616 +olword">ss="line" name="L3">303/a730a>dom.c#_wcmpxchgrandom.c#L7" 31cmpxchg"d">tn>
28   128a> *
go/ra"dri+cods=tap2lretrychar/random.c#Lretryaaa2ss="line" name="L3">303/a730a>330/a733opt28a66  
  Iilash0)ass="line" name="L6">31   631a>/*
ss="line" name="L3">303/a730a>clatns="d">dom.c#_wrchar/random.c#Lr31cl-clas28   128a>olword">31   531a>31   531a> * /a x^168 + x6169 + x^307 + x_PER_CPUpt28(iarace_credit_en wepaia hrchar/random.c#Larace_credit_en wepaia hr"d">tUT_POOL_WORDS>s="dri+cods=tap2len wepaivers/char/random.c#Len wepaivers/1clafs="line" name="L7 6348/a7348>>>>>>>>>>>>>word">tap3>_RET_IP_31class="line" name="L3">303/a730a> * /a x^36 + x^6105 + s="line" name="L5">31   531a>28   628a>

_a ad_wak
up_" ugshchar/random.c#Lr628a>_a ad_wak
up_" ugsh1claa ss="line" name="L6">31   631a> * /a x^2648 + 62119 + x^616 +olword">tn>
_a ad_wa.c31class="line" name="L3">303/a730a>tn>
f="drivers/char/rSIGIOrandom.c#L7" 31SIGIO"d">f="drivers/char/rPOLL_INvers/char/rando 2LL_IN31class="line" name="L3">303/a730a>31   531a> * /a x^1624 + 6240las}s="line" name="L5">31   531a>28   628a> * /a x^1624 + 62href="drivers/char/random.c#L 28class="line" name="L6">28   628a>28   628a>28   628a> * /a x^562 + x63 collbs vas when feg ;quot;dooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" 28class="line" name="L6">28   628a>27   227a>28   628a> * /a x^562 + x632clasinfo>31   631a>ss="line" name="L3">303/a730a> * /a x^562 + x63519 + x^616 +RQS>f="drivers/char/rlopc_del#L="lins="d">tap3>lopc_del#L="d">ss="line" name="L3">303/a730a>tap3>dontivers/_en wepaaaa2:1ss="line" name="L5">31   531a>31   531a> * /a x^266 + x6205 + s="line" name="L5">31   531a>28   628a>28   628a> * /a x^168 + x64-dowa time am. urload/d into ep"drsg/rahelp  hitializeahremg/rauniquarm.luer" 36class="line" name="L7 636 ropyabef Ts&ws&wNdriehar/rf="aris anynen wepa, itef="meantg/raapan>
L6" 36class="line" name="L7 636 * /a x^66 + x^64d be enoughmto vopa significanprodrim#har/rannonb.c#Ld="f="drihavd="fsimilar  hitial s"L6"196class="line" name="L7 63628   628a>tap3>add_device_ 629a>nesr"d">ters/dnpan>
0p7{ href="drivebufchar/random.c#Lbuf"d">f=8id="L1" ref="dri+cods=tap2leizechar/random.c#Leize31clss="line" name="L1">28   128a>31   631a>INPUT_POOL_WORDS>t) ^nE_PER_CPUpt28(ijiffieschar/random.c#Ljiffies"d">ss="line" name="L3">303/a730a>34   134a>tap3>mix_p"dr_byte/"d">tn>
f="dri+cods=tap2leizechar/random.c#Leize31clf="dri+cods=tap2lNULLchar/random.c#LNULL31class="line" name="L3">303/a730a> * /apan>
tap3>mix_p"dr_byte/"d">tn>

,veizeoft)f="dri+cods=tap2lNULLchar/random.c#LNULL31class="line" name="L3">303/a730a> *r ehe pur6oses 6509 + x^307 + x_PER_CPUpt28(imix_p"dr_byte/"lins="d">tap3>mix_p"dr_byte/"d">tn>
f="dri+cods=tap2leizechar/random.c#Leize31clf="dri+cods=tap2lNULLchar/random.c#LNULL31class="line" name="L3">303/a730a> * Copwellaeoamak6 a tw65aaaa2 }, href"dri+cods=tap2lmix_p"dr_byte/"lins="d">tap3>mix_p"dr_byte/"d">tn>

,veizeoft)f="dri+cods=tap2lNULLchar/random.c#LNULL31class="line" name="L3">303/a730a> *
31   531a> * Cop(See M. Mat6umoeo652clas"dri+cods=tap2lEXPORT_SYMBOLchar/random.c#LEXPORT_SYMBOL"d">tUT_POOL_WORDS>nesr"lins="d">tap3>add_device_ 629a>nesr"d">ass="line" name="L3">303/a730a> *tinfo>ss="line" name="L3">303/a730a>330/a733opt28a66  
  
28   628a>/*28   628a> * rapan>
 * ropyabef Ts&ws&wharhowAmanypa hreof en wepar/rf="calliha="ari1" /rahref="dr" 36class="line" name="L7 636 * Cop"  facn it 6lmost66d be enoughmto vopa significa 36class="line" name="L7 636 * * Cops)aypperiod6city 66 goespos/c trickle_tf="sh, sichrefvypieharevent+L7"ch ju/dnhappeL1".  Tiiref="currentlyr0-255>and196class="line" name="L7 636
ando hterruptr" 36class="line" name="L7 636 *28   628a>6  
  tpan>
E_PER_CPUpt28(iadd_versr_ 628a>nesr"lins="d">tap3>add_versr_ 628a>nesr"d">tinfo>28   128a>/*31   631a> * /apan>
31   631a> *RQS>ss="line" name="L3">303/a730a> * Co/pan>
8id="L1" "drivers/char/rvycleschar/random.c#Lvycles"d">ss="line" name="L3">303/a730a>8id="L1" "drivers/char/rnumchar/random.c#Lnum31clss="line" name="L3">303/a730a>303/a730a>f="drivers/char/rdel#L="lins="d">tap3>del#L="d">f="drivers/char/rdel#L="lins="d">tap4>del#L=31clss="line" name="L3">303/a730a>31   531a>t)ss="line" name="L3">303/a730a>
28   628a>

28   628a> * /apan>
dom.c#_w__/rf=_cpu_inc_return"lins="d">tap3>__/rf=_cpu_inc_return"d">tUT_POOL_WORDS>
28   128a> *go/ra"dri+cods=tap2loucrandom.c#L7" 31ouc31clas="line" name="L6">28   628a> * Cop/devndom.c#6llSho689class="line" name="L5">29   529a> *


INPUT_POOL_WORDS>ss="line" name="L3">303/a730a>INPUT_POOL_WORDS>t)ss="line" name="L3">303/a730a>

303/a730a> *
tap3>mix_p"dr_byte/"d">tn>



303/a730a> r6pyaco6830lass="line" name="L1">330/a733opt28a66  
  28   628a>/*nesr we prod"dry"ari1"" 36class="line" name="L7 636 * ra/pan>
 ropyabef Ts&wsLLLLLLLL*  h ordedorivmak
28   628a> *
 * CopWhen ehe in6ut po6969 + x^307 + clat!"dri+cods=tap2ls"L6"char/random.c#Ls"L6"19 +-clastap3>dontivers/_en wepaaaa2a ss="line" name="L6">31   631a>6  
  INPUT_POOL_WORDS>

I- "dri+cods=tap2ls"L6"char/random.c#Ls"L6"19 +-classs="line" name="L3">303/a730a> *
INPUT_POOL_WORDS>

ss="line" name="L3">303/a730a>330/a733opt28a7c/iclint 7ref="dri+cods=trickle_tf7"shla70019 + x^616 +olword">tap3>del#L="d">INPUT_POOL_WORDS>I- "dri+cods=tap2ls"L6"char/random.c#Ls"L6"19 +-classs="line" name="L3">303/a730a>/*INPUT_POOL_WORDS>ss="line" name="L3">303/a730a> * ra/pan>
303/a730a>tap4>del#L=31clINPUT_POOL_WORDS>tap3>del#L="d">I- "dri+cods=tap2ls"L6"char/random.c#Ls"L6"19 +-clastap3>lopc_del#L="d">ss="line" name="L3">303/a730a>tap3>lopc_del#L="d">INPUT_POOL_WORDS>tap3>del#L="d">ss="line" name="L3">303/a730a> *
 * CopWhen ehe in7oolwo70619 + x^616 +olword">clatIinf= 0)s="line" name="L7 6348/a7348>>>>>>>>>INP-UT_POOL_WORDS>ss="line" name="L3">303/a730a> *
clattap3>del#L="d">Iinf= 0)s="line" name="L7 6348/a7348>olword">tap3>del#L="d">INP-UT_POOL_WORDS>tap3>del#L="d">ss="line" name="L3">303/a730a>7  
  clattap4>del#L=31clIinf= 0)s="line" name="L7 6348/a7348>/*
x^307 + x_PER_CPUpt28(idel#L="lins="d">tap4>del#L=31clINP-UT_POOL_WORDS>tap4>del#L=31clss="line" name="L3">303/a730a>clatns="d">dom.c#_wdel#Lrandom.c#L7" 31del#L"d">Iilas x_PER_CPUpt28(idel#L="lins="d">tap3>del#L="d">)s="line" name="L7 6348/a7348>olword">INPUT_POOL_WORDS>tap3>del#L="d">ss="line" name="L3">303/a730a>clatns="d">dom.c#_wdel#Lrandom.c#L7" 31del#L"d">Iilas x_PER_CPUpt28(idel#L="lins="d">tap4>del#L=31cl)s="line" name="L7 6348/a7348>olword">INPUT_POOL_WORDS>tap4>del#L=31clss="line" name="L3">303/a730a> * /a x^178 + x712class="line" name="L7 632ar/random.c#L7" 29id="/  28class="line" name="L6">28   628a> * /a x^37 + x^71uch less sensitrs/ s)anmehe                 *odel#Lef="nowAminimum absoluteodel#L" 36class="line" name="L7 636 * /a x^2748 + 72-dowa time am. urload/d intooooooooo        *" 28class="line" name="L6">28   628a>tn>
28   628a>olword">16 +olword">tintf="drivers/char/rfl/"lins="d">tap3>flr"d">tUT_POOL_WORDS>clasclas1), 11)ass="line" name="L3">303/a730a> * /a x^1724 + 72419 + x^616 +}s="line" name="L5">31   531a>303/a730a>t)ss="line" name="L3">303/a730a> * /a x^1724 + 72href=}s="line" name="L5">31   531a>31   531a>
E_PER_CPUpt28(iadd_ hash_r628a>nesr"lins="d">tap3>add_ hash_r628a>nesr"d">t8id="L1" ref="dri+cods=tap2lvypichar/random.c#Laypi31cl,v8id="L1" ref="dri+cods=tap2ltap2char/random.c#Lvap21clafs="line" name="L6">28   628a> * /a x^572 + x73019 + x^616 +olword">>>>>>>>>>>>>>>>>>8id="L1" ref="dri+cods=tap2lm.luechar/random.c#Lm.lue31cl)s="line" name="L7 6348/a7348>31   631a>t8id="L1" d20ra303/a730a> * /a x^572 + x732class="line" name="L4">32   4324>28   628a> * /a x^572 + x73519 + x^616 +clatns="d">dom.c#_wm.luechar/random.c#Lm.lue31cl ==areturnss="line" name="L5">31   531a> * /a x^276 + x73aaaa2 }, hrefp7{ href="driveDEBUG_ENTchar/random.c#LDEBUG_ENT"d">tpCPU time am.2iid="">driver303/a730a>303/a730a>tap3>add_versr_ 628a>nesr"d">tn>
fs="line" name="L6">28   628a> * /a x^178 + x74119 + x^616 +olword">x^307 +      tUT_POOL_WORDS>dom.c#_wcap2char/random.c#Lvap21cla clasclash4) ^nE_PER_CPUpt28(im.luechar/random.c#Lm.lue31cl)ss="line" name="L3">303/a730a>31   531a>tUT_POOL_WORDS>nesr"lins="d">tap3>add_ hash_r628a>nesr"d">)ss="line" name="L3">303/a730a> * /a x^67 + x^749class="line" name="L5">29   529a>tp7{ href="driveDEFINE_PER_CPUchar/random.c#LDEFINE_PER_CPU"d">tinfo>tap3> rq_r628a>nesr"d">)ss="line" name="L3">303/a730a>tap3>add_ hterrupt_r628a>nesr"d">tint="drivers/char/r rq"lins="d">tap3> rqaaa2f=int="drivers/char/r rq_flagr"lins="d">tap3> rq_flagr31cl)s="line" name="L7 6348/a7348>31   631a>303/a730a>
tUT_POOL_WORDS>< rq_r628a>nesr"lins="d">tap3> rq_r628a>nesr"d">)ss="line" name="L3">303/a730a>tap3>pt_regr19 + x^616 +ol0p7{ href="driveregr"lins="d">tap3>regr19 + NPUT_POOL_WORDS>tap3>geti rq_regr"d">t)ss="line" name="L3">303/a730a> * /apan>
<<<<<<<<<<ss="line" name="L3">303/a730a> *r ehe pur7oses 7509 + x^307 + x_PER_CPUpt28(i__u3="lins="d">tap3>__u3=31claaaaaaaaaaax^307 + x_PER_CPUpt28(i hashchar/random.c#L hash31cl[4]f="drivers/char/rvycleschar/random.c#Lvycles"d">INPUT_POOL_WORDS>t)ss="line" name="L3">303/a730a> * Copwellaeoamak7 a tw759class="line" name="L5">29   529a> *
I^nE_PER_CPUpt28(ijiffieschar/random.c#Ljiffies"d">ss="line" name="L3">303/a730a> * Cop(See M. Mat7umoeo7569 + x^307 + x_PER_CPUpt28(i hashchar/random.c#L hash31cl[1]INPUT_POOL_WORDS>< rq"lins="d">tap3> rqaaa2ss="line" name="L3">303/a730a>dom.c#_wregr"lins="d">tap3>regr19 +a ss="line" name="L6">31   631a> * * C>tap3>__u6d be PUT_POOL_WORDS>< p"lins="d">tap3> p"d">INPUT_POOL_WORDS>tUT_POOL_WORDS>tap3>regr19 +ass="line" name="L3">303/a730a>x_PER_CPUpt28(i hashchar/random.c#L hash31cl[2]INPUT_POOL_WORDS>< p"lins="d">tap3> p"d">ss="line" name="L3">303/a730a>7  
  
tap3> p"d">Iclasclash32ss="line" name="L3">303/a730a>/*31   531a> * rapan>
303/a730a> *tUT_POOL_WORDS>303/a730a> * Cop"  facn it 7lmost769class="line" name="L5">29   529a> *28   628a> * Cops)aypperiod7city 76619 + x^616 +olwo!"dri+cods=tap2lvers_afterchar/random.c#Lvers_after"d">tUT_POOL_WORDS>28   628a>
returnss="line" name="L5">31   531a> *31   531a>31   531a>7  
  34   134a>/*

31   531a> * /apan>
tap3>__mix_p"dr_byte/"d">tUT_POOL_WORDS>
303/a730a> *28   628a> * Co/pan>
and196class="line" name="L7 63628   628a>dom.c#_wcycleschar/random.c#Lvycles"d">IN=h0)ass="line" name="L6">31   631a>clattap3> rq_flagr31cl n>
tap3>__IRQF_TIMER19 +a ss="line" name="L6">31   631a>>>>>>>>>clatx^307 +      d">returnss="line" name="L5">31   531a> * /apan>
31   531a> *} elses="line" name="L5">31   531a> * Cop/devndom.c#7llSho78419 + x^616 +olword">oooooooo31   531a> *
31   531a>tUT_POOL_WORDS>303/a730a>31   531a> *
31   531a> r7pyaco7830las#ifdef x_PER_CPUpt28(iCONFIG_BLOCKchar/random.c#LCONFIG_BLOCK5 + s="line" name="L5">31   531a>7  
  
E_PER_CPUpt28(iadd_disk_r628a>nesr"lins="d">tap3>add_disk_r628a>nesr"d">tinfo>/*31   631a> * ra/pan>
returnss="line" name="L5">31   531a>28   628a> *
tpCPU time am.2iid="">driverdiskrevent+%d:%d\ndriver 34clasfs="line" name="L6">28   628a> * CopWhen ehe in7ut po79619 + x^616 +olword">efp7{ href="driveMAJOR"lins="d">tap3>MAJOR"d">tUT_POOL_WORDS>tUT_POOL_WORDS>tap3>MINOR"d">tUT_POOL_WORDS>tUT_POOL_WORDS>303/a730a>7  
   *
nesr"lins="d">tap3>add_versr_ 628a>nesr"d">t"dri+cods=tap2ldiskchar/random.c#Ldisk9 + -clastUT_POOL_WORDS>303/a730a>31   531a>31   531a>/*27   227a> * ra/pan>
28   628a> ropyabef Ts&ws& 28class="line" name="L6">28   628a> *
 * CopWhen ehe in8oolwo80 goespos/c trickle_tf="sh, siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii" 28class="line" name="L6">28   628a> *
tUT_POOL_WORDS>tap3>extrac6_en wepa"d">tinfo>
0p7{ href="drivebufchar/random.c#Lbuf"d">fs="line" name="L7 6338/a7338>olword">}, hrefp7{ href="driveeize_/char/random.c#Lsize_/ be PUT_POOL_WORDS>tap3>nbyte/"d">f=int="drivers/char/rmin"lins="d">tap3>min"d">f=int="drivers/char/rrsvdchar/random.c#Lrsvd31class="line" name="L3">303/a730a>8  
  34   134a>/*
28   628a>28   628a> ropyabef Ts&ws&wfromahref=rimaryf="dr /rahrefeecoivaryfextrac6om.g="dr" WL mak
"d8class="line" name="L6">28   628a>treseed'" 36class="line" name="L7 63628   628a> * /a x^188 + x812class="d">tpan>
E_PER_CPUpt28(ixfsr_secoivary_p"drchar/random.c#Lxfsr_secoivary_p"dr"d">tinfo>tap3>nbyte/"d">)s="line" name="L7 6348/a7348>31   631a> * /a x^38 + x^81aaaa2 }, hrefp7{ href="drive__u3="lins="d">tap3>__u3=31claaa"dri+cods=tap2lvmp"lins="d">tap3>vmp31cl["dri+cods=tap2lOUTPUT_POOL_WORDS"lins="d">tap3>OUTPUT_POOL_WORDS31cl]ss="line" name="L3">303/a730a>330/a733opt28a8f 0 href=8drivers/char/random.c#L78 32id82019 + x^616 +clatns="d">dom.c#_wrchar/random.c#Lr31cl-clastap3>nbyte/"d">can8Ic>

28   628a> * /a x^2848 + 82119 + x^616 +olwo"dri+cods=tap2lrchar/random.c#Lr31cl-clastap3>POOLBITS19 +a ss="line" name="L6">31   631a>28   628a>int="drivers/char/rrsvdchar/random.c#Lrsvd31cl =PUT_POOL_WORDS>_read_wak
up_" ugsh1cla/4as="line" name="L6">28   628a> * /a x^1824 + 82419 + x^616 +olword">int="drivers/char/rbyte/"lins="d">tap3>byte/"d">c=PUT_POOL_WORDS>tap3>nbyte/"d">as="line" name="L6">28   628a>28   628a> * /a x^1824 + 82819 + x^616 +olword">tap3>byte/"d">c=PUT_POOL_WORDS>tintf="drivers/char/rbyte/"lins="d">tap3>byte/"d">f="drivers/char/rr628a>_read_wak
up_" ugshchar/random.c#Lr628a>_read_wak
up_" ugsh1cla / 8ass="line" name="L3">303/a730a>28   628a>x_PER_CPUpt28(ibyte/"lins="d">tap3>byte/"d">c=PUT_POOL_WORDS>tintf="drivers/char/rbyte/"lins="d">tap3>byte/"d">f=eizeofttap3>vmp31cl))ss="line" name="L3">303/a730a> * /a x^582 + x834class="line" name="L1">34   134a>tpCPU time am.2iid="">drivergod="fvotreseed+%sAwith+%dpa hredriver 34class="line" name="L1">34   134a>driver(%dpof+%dprequeshed)\ndriver 34clasfs="line" name="L6">28   628a> * /a x^582 + x83319 + x^616 +olword">olword">16UT_POOL_WORDS>tap3>nars"d">,vx_PER_CPUpt28(ibyte/"lins="d">tap3>byte/"d">can8,vx_PER_CPUpt28(inbyte/"lins="d">tap3>nbyte/"d">can8f="drivers/char/rrchar/random.c#Lr31cl-clas303/a730a>29   529a> * /a x^582 + x83519 + x^616 +olword">x_PER_CPUpt28(ibyte/"lins="d">tap3>byte/"d">c=PUT_POOL_WORDS>tap3>extrac6_en wepa"d">tns="d">dom.c#_wrchar/random.c#Lr31cl-clastap3>vmp31clf="drivers/char/rbyte/"lins="d">tap3>byte/"d">fs="line" name="L5">29   529a>^616 +olword">olword">16UT_POOL_WORDS>_read_wak
up_" ugshchar/random.c#Lr628a>_read_wak
up_" ugsh1cla / 8f="drivers/char/rrsvdchar/random.c#Lrsvd31class="line" name="L3">303/a730a>tap3>mix_p"dr_byte/"d">tp7{ href="driverchar/random.c#Lr31cl,np7{ href="drivevmp"lins="d">tap3>vmp31clf="drivers/char/rbyte/"lins="d">tap3>byte/"d">f="dri+cods=tap2lNULLchar/random.c#LNULL31class="line" name="L3">303/a730a> * /a x^286 + x83819 + x^616 +olword">tUT_POOL_WORDS>tap3>byte/"d">*8ass="line" name="L3">303/a730a>31   531a>31   531a> * /a x^188 + x847class="line" name="L2">27   227a>34   134a> ropyabef Ts&ws&wTheseefunc6om.sfextrac6s r628a>nesr fromahrefdriveren weparp"drdriver,Ariv 34class="line" name="L1">34   134a> * /a x^68 + x^84d be enoughmto vopa significanreturns it  h afbuffsr" 36class="line" name="L7 636treseedd="fwhileahrs1c6class="line" name="L7 636
starvd="fohrsr read"L7" 36class="line" name="L7 636 * /apan>
28   628a> *r ehe pur8oses 852class="line" name="L4">32   4324> * Copwellaeoamak8 a tw859class="d">tUT_POOL_WORDS>tap3>acvers/1clatinfo>tap3>nbyte/"d">f=int="drivers/char/rmin"lins="d">tap3>min"d">fs="line" name="L4">32   4324> *
>>>>>>int="drivers/char/rreservedchar/random.c#Lreserved"d">)s="line" name="L7 6348/a7348> * Cop(See M. Mat8umoeo8569 + ss="line" name="L6">31   631a><"drivers/char/rflagr"lins="d">tap3>flagr31clss="line" name="L3">303/a730a> *31   531a>28   628a>8  
  
tap3>flagr31class="line" name="L3">303/a730a>/*27   227a> * rapan>
tap3>BUG_ON"d">tns="d">dom.c#_wrchar/random.c#Lr31cl-clastap3>POOLBITS19 +ass="line" name="L3">303/a730a> *tpCPU time am.2iid="">drivertryd="fvotextrac6+%dpa hrefroma%s\ndriver 34clasfs="line" name="L6">28   628a> * Cop"  facn it 8lmost86419 + x^616 +olword">oox_PER_CPUpt28(inbyte/"lins="d">tap3>nbyte/"d">can8f="drivers/char/rrchar/random.c#Lr31cl-clastap3>nars"d">ass="line" name="L3">303/a730a> * * Cops)aypperiod8city 86619 + x^616 +28   628a>
dom.c#_wrchar/random.c#Lr31cl-clastap3>min"d"> +="drivers/char/rreservedchar/random.c#Lreserved"d">) ss="line" name="L6">31   631a> *tap3>nbyte/"d">c= 0ss="line" name="L5">31   531a>31   631a>8  
  28   628a>/*clatns="d">dom.c#_wrchar/random.c#Lr31cl-clastap3>nbyte/"d">c+="drivers/char/rreservedchar/random.c#Lreserved"d">IilasNPns="d">dom.c#_wrchar/random.c#Lr31cl-clas * /apan>
tap3>nbyte/"d">c= ns="d">dom.c#_wrchar/random.c#Lr31cl-classs="line" name="L5">31   531a> *32   4324> * Co/pan>
clatns="d">dom.c#_wrchar/random.c#Lr31cl-clasdom.c#_wnbyte/"lins="d">tap3>nbyte/"d">c+="drivers/char/rreservedchar/random.c#Lreserved"d">)s="line" name="L7 6348/a7348>olword">dom.c#_wnbyte/"lins="d">tap3>nbyte/"d">*8ss="line" name="L5">31   531a>elses="line" name="L5">31   531a>>>>>>>>>dom.c#_wreservedchar/random.c#Lreserved"d">ss="line" name="L5">31   531a>31   531a>clat_wr he_wak
up_" ugshchar/random.c#Lr628a>_wr he_wak
up_" ugsh"d">) ss="line" name="L6">31   631a>>>>>>>>>x_PER_CPUpt28(iwak
_up_ hterruptidrivers/char/randowak
_up_ hterruptidri1clatn>
ass="line" name="L3">303/a730a>x^307 + ass="line" name="L3">303/a730a> * /apan>
31   531a> *31   531a> * Cop/devndom.c#8llSho889class="line" name="L5">29   529a> *
tpCPU time am.2iid="">driverdebi/d="f%dpen weparvreditrefroma%s%s\ndriver 34clasfs="line" name="L6">28   628a>efp7{ href="drivenbyte/"lins="d">tap3>nbyte/"d">can8f="drivers/char/rrchar/random.c#Lr31cl-clastap3>nars"d">f="drivers/char/rrchar/random.c#Lr31cl-clasdriverdriver 34clas :PUCPU time am.2iid="">driver (unlim hed)driver 34clasass="line" name="L3">303/a730a> *
tap3>flagr31class="line" name="L3">303/a730a> r8pyaco8830lass="line" name="L1">330/a733opt28a88  
  tap3>nbyte/"d">as="line" name="L6">28   628a>/*31   531a> * ra/pan>
303/a730a>tpan>
E_PER_CPUpt28(iextrac6_bufchar/random.c#Lextrac6_buf1clatinfo>31   631a> *
as="line" name="L6">28   628a> * CopWhen ehe in8ut po89619 + x^616 +unom.gss="line" name="L6">31   631a>tap3>__u3=31clax_PER_CPUpt28(iwvers/char/randow31cl[5]ss="line" name="L3">303/a730a> *
8id="L1" RQS><"drivers/char/rlchar/random.c#Ll31cl["dri+cods=tap2lLONGS"lins="d">tap3>LONGS"d">tns="d">dom.c#_wEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl)]ss="line" name="L3">303/a730a>dom.c#_whashchar/random.c#Lhash"d">as="line" name="L6">28   628a>tap3>__u3=31clax_PER_CPUpt28(iwork4clcivers/char/randowork4clci31cl["dri+cods=tap2lSHA_WORKSPACE_WORDS"lins="d">tap3>SHA_WORKSPACE_WORDS31cl]ss="line" name="L3">303/a730a>/*303/a730a> * ra/pan>
<"drivers/char/rflagr"lins="d">tap3>flagr31clss="line" name="L3">303/a730a>32   4324>28   628a> *
tns="d">dom.c#_whashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31class="line" name="L3">303/a730a> * CopWhen ehe in9oolwo9069 + x^307 + x_PER_CPUpt28(ispin_RQcki rqsavechar/random.c#Lspin_RQcki rqsave1clatn>
tap3>flagr31class="line" name="L3">303/a730a>c= 0s="drivers/char/r random.c#L7" 31i"d">Iilas x_PER_CPUpt28(irchar/random.c#Lr31cl-clasI+=+16)s="line" name="L7 6348/a7348> *
tns="d">dom.c#_whashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31cl,otdom.c#_wrchar/random.c#Lr31cl-clas)f="dri+cods=tap2lwork4clcivers/char/randowork4clci31class="line" name="L3">303/a730a>330/a733opt28a99  
  28   628a>/*
* WL mixahrefhash backfintoahrefp"drfvotprevent+backtracLd=" 28class="line" name="L6">28   628a>* attacLs (wrareehrefattacLer knowsahrefs="dipof+hrefp"dr 28class="line" name="L6">28   628a> ropyabef Ts&wsolword">* plusahrefcurrent+oucputr,
628fattemptsfvotfi28fpreviour 36class="line" name="L7 636* ouputr)f=unlessahrefhash func6om.gc/c be in="Lted. Ba"d8class="line" name="L6">28   628a>* mixd="fat least a SHA1 worthpof+hash data+back,rwe mak
"d8class="line" name="L6">28   628a> * /a x^198 + x91 goespos/c trickle_tf="sh, sLLLLLLLL6 brute-forcd="fvreffeedbackfas+hardfas+brute-forcd="fvre"d8class="line" name="L6">28   628a> * /a x^39 + x^91uch less sensitrs/ s)anmehe LLLLLLLL6" 28class="line" name="L6">28   628a>tap3>__mix_p"dr_byte/"d">tUT_POOL_WORDS>dom.c#_whashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31cl,oeizeoft."dri+cods=tap2lwvers/char/randow31claf=ns="d">dom.c#_wextrac6char/random.c#Lextrac631class="line" name="L3">303/a730a>tap3>flagr31class="line" name="L3">303/a730a> * /a x^2948 + 927class="line" name="L2">27   227a>28   628a> ropyabef Ts&wsolword">* Totapan>
duplicates,rwe atomicallyfextrac6 a portom.gof+hre 28class="line" name="L6">28   628a> * /a x^1924 + 92d be enoughmto vopa significolword">* p"drfwhileamixd=",
628fhash oodefinalfvers" 36class="line" name="L7 636*" 28class="line" name="L6">28   628a>char/random.c#Lsha_transfor>"d">tns="d">dom.c#_whashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31cl,ons="d">dom.c#_wextrac6char/random.c#Lextrac631clf="dri+cods=tap2lwork4clcivers/char/randowork4clci31class="line" name="L3">303/a730a> * /a x^1924 + 92819 + x^616 +"dri+cods=tap2lmemse/char/random.c#Lmemse/"d">tns="d">dom.c#_wextrac6char/random.c#Lextrac631clf=0,oeizeoft303/a730a>tns="d">dom.c#_wwork4clcivers/char/randowork4clci31clf=0,oeizeoft303/a730a>330/a733opt28a9aaaaaaan 9lass="comment"> * /a x^592 + x930aaa2 }, href"r/random.c#L7" 29id="/  28class="line" name="L6">28   628a>* I.gc/seahrefhash func6om.ghas some recogniz"drifoucput 28class="line" name="L6">28   628a>* pattern,rwe fol" it  h half. Thus,rwe always feed+back 28class="line" name="L6">28   628a> * /a x^592 + x93of bia hof "> ropyabef Ts&wsolword">* twice asAmuchfdata+asAwifoucput" 36class="line" name="L7 636*" 28class="line" name="L6">28   628a> * /a x^592 + x935aaa2 }, hrefp7{ href="drivehashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31cl[0] ^= ns="d">dom.c#_whashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31cl[3]ss="line" name="L3">303/a730a>."dri+cods=tap2lwvers/char/randow31cl[1] ^= ns="d">dom.c#_whashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31cl[4]ss="line" name="L3">303/a730a>."dri+cods=tap2lwvers/char/randow31cl[2] ^= ns="d">dom.c#_wrol3="lins="d">tap3>rol3="d">tns="d">dom.c#_whashchar/random.c#Lhash"d">."dri+cods=tap2lwvers/char/randow31cl[2],+16ass="line" name="L3">303/a730a> * /a x^296 + x9305 + s="line" name="L5">31   531a>28   628a>* If we have ararchitecturalfhardware r628a> numbed196class="line" name="L7 636 * /a x^198 + x94-dowa time am. urload/d int+olword">* generator, mixahrat  h, too" 36class="line" name="L7 636*" 28class="line" name="L6">28   628a>c= 0s="drivers/char/r random.c#L7" 31i"d">Iilas x_PER_CPUpt28(iLONGS"lins="d">tap3>LONGS"d">tns="d">dom.c#_wEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl)s="drivers/char/r random.c#L7" 31i"d">++) ss="line" name="L6">31   631a> * /a x^69 + x^94419 + x^616 +olword">8id="L1" RQS><"drivers/char/rvrandom.c#L7" 31v31clss="line" name="L3">303/a730a>clat!"dri+cods=tap2larch_get_r628a>_RQS>random.c#L7" 31arch_get_r628a>_RQS>1clatn>
^616 +olbreakss="line" name="L3">303/a730a>."dri+cods=tap2llchar/random.c#Ll31cl["dri+cods=tap2l random.c#L7" 31i"d">] ^= ns="d">dom.c#_wvrandom.c#L7" 31v31clss="line" name="L3">303/a730a>31   531a>330/a733opt28a9efine hre9="dri+cods=POOLBYTESlass9"lins950aaa2 }, hrefp7{ href="drivememcpa"lins="d">tap3>memcpa"d">tns="d">dom.c#_woucrandom.c#L7" 31ouc31cl, n>
f="dri+cods=tap2lEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl)ss="line" name="L1">330/a733opt28a9eaaaaa{ 59rs/char/random.c#L7" 35i9="L2"951aaa2 }, hrefp7{ href="drivememse/char/random.c#Lmemse/"d">tn>
f=0,oeizeoftaass="line" name="L3">303/a730a> * /apan>
31   531a> *r ehe pur9oses 952class="line" name="L4">32   4324> * Copwellaeoamak9 a tw959class="d">tUT_POOL_WORDS>tap3>extrac6_en wepa"d">tinfo>
0p7{ href="drivebufchar/random.c#Lbuf"d">fs="line" name="L4">32   4324> *
>>>>>>6 +olword">tap3>nbyte/"d">f=int="drivers/char/rmin"lins="d">tap3>min"d">f=int="drivers/char/rreservedchar/random.c#Lreserved"d">)s="line" name="L7 6348/a7348> * Cop(See M. Mat9umoeo9569 + ss="line" name="L6">31   631a>as="line" name="L6">28   628a> *tap3>vmp31cl["dri+cods=tap2lEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl]ss="line" name="L3">303/a730a>330/a733opt28a99  
  
tap3>trace_extrac6_en wepa"d">tUT_POOL_WORDS>tap3>nars"d">f="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">f=UT_POOL_WORDS>330/a733opt28a9/*tUT_POOL_WORDS>dom.c#_wnbyte/"lins="d">tap3>nbyte/"d">)ss="line" name="L1">330/a733opt28a9 * rapan>
tap3>nbyte/"d">c= ns="d">dom.c#_wacvers/"lins="d">tap3>acvers/1clatUT_POOL_WORDS>dom.c#_wnbyte/"lins="d">tap3>nbyte/"d">f=ns="d">dom.c#_wmin"lins="d">tap3>min"d">f="drivers/char/rreservedchar/random.c#Lreserved"d">)ss="line" name="L1">330/a733opt28a9 *32   4324> * Cop"  facn it 9lmost96419 + x^616 +whileatUT_POOL_WORDS>tap3>nbyte/"d">) ss="line" name="L6">31   631a> *x_PER_CPUpt28(iextrac6_bufchar/random.c#Lextrac6_buf1clatUT_POOL_WORDS>dom.c#_wvmp"lins="d">tap3>vmp31cl)ss="line" name="L1">330/a733opt28a9 * Cops)aypperiod9city 96619 +s="line" name="L1">330/a733opt28a9
clat) ss="line" name="L6">31   631a> *>>>>>>>>8id="L1" RQS><"drivers/char/rflagr"lins="d">tap3>flagr31clss="line" name="L3">303/a730a>330/a733opt28a99  
   x^616 +"dri+cods=tap2lspin_RQcki rqsavechar/random.c#Lspin_RQcki rqsave1clatn>
tap3>flagr31class="line" name="L3">303/a730a>/*olword">clat!"dri+cods=tap2lmemcmp"lins="d">tap3>memcmp1clatUT_POOL_WORDS>tap3>vmp31clf="drivers/char/rrchar/random.c#Lr31cl-clasf="dri+cods=tap2lEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl))s="line" name="L7 6348/a7348> * /apan>
driverHardware RNG
duplicatedfoucput!\ndriver 34clasass="line" name="L3">303/a730a> *olword">p7{ href="drivememcpa"lins="d">tap3>memcpa"d">tns="d">dom.c#_wrchar/random.c#Lr31cl-clasf="dri+cods=tap2lvmp"lins="d">tap3>vmp31clf="drivers/char/rEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl)ss="line" name="L1">330/a733opt28a9 class="c9mment"> * Co/pan>
 x^616 +"dri+cods=tap2lspin_unlQcki rqugstorschar/random.c#Lspin_unlQcki rqugstors1clatn>
tap3>flagr31class="line" name="L3">303/a730a>}s="line" name="L5">31   531a>c= ns="d">dom.c#_wmin_/char/random.c#Lmin_/"d">tintf="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">f=ns="d">dom.c#_wEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl)ss="line" name="L1">330/a733opt28a9 aaaaaan 9="dri+cods=SEC_XFER_SIZE9ass="97819 + x^616 +olword">p7{ href="drivememcpa"lins="d">tap3>memcpa"d">tns="d">dom.c#_wbufchar/random.c#Lbuf"d">f="dri+cods=tap2lvmp"lins="d">tap3>vmp31clf="drivers/char/r random.c#L7" 31i"d">)ss="line" name="L1">330/a733opt28a9 ef="driv9="dri+cods=EXTRACT_SIZEl9ss="l97819 + x^616 +olword">tap3>nbyte/"d">c-NPns="d">dom.c#_w random.c#L7" 31i"d">as="line" name="L6">28   628a>ns="d">dom.c#_wbufchar/random.c#Lbuf"d">I+=+ns="d">dom.c#_w random.c#L7" 31i"d">as="line" name="L6">28   628a>UT_POOL_WORDS>dom.c#_w random.c#L7" 31i"d">as="line" name="L6">28   628a>31   531a> * /apan>
303/a730a> *28   628a> * Cop/devndom.c#9llSho98aaaa2 }, href"7{ href="drivememse/char/random.c#Lmemse/"d">t"dri+cods=tap2lvmp"lins="d">tap3>vmp31clf=0,oeizeofttap3>vmp31cl))ss="line" name="L3">303/a730a> *
303/a730a>31   531a> *
31   531a> r9pyaco9830lass="d">tUT_POOL_WORDS>tinfo>
p7{ href="drive__userchar/random.c#L__user"d">
0p7{ href="drivebufchar/random.c#Lbuf"d">fs="line" name="L4">32   4324>9  
   x^616 +16 +olword">UT_POOL_WORDS>tap3>nbyte/"d">)s="line" name="L7 6348/a7348>/*31   631a> * ra/pan>
as="line" name="L6">28   628a>tap3>vmp31cl["dri+cods=tap2lEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl]ss="line" name="L3">303/a730a>29   529a> *
tUT_POOL_WORDS>tap3>nars"d">f="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">f=UT_POOL_WORDS>330/a733opt28a9 * CopWhen ehe in9ut po9969 + x^307 + x_PER_CPUpt28(ixfsr_secoivary_p"drchar/random.c#Lxfsr_secoivary_p"dr"d">tUT_POOL_WORDS>dom.c#_wnbyte/"lins="d">tap3>nbyte/"d">)ss="line" name="L1">330/a733opt28a9tap3>nbyte/"d">c= ns="d">dom.c#_wacvers/"lins="d">tap3>acvers/1clatUT_POOL_WORDS>dom.c#_wnbyte/"lins="d">tap3>nbyte/"d">f=0f=0)ss="line" name="L1">330/a733opt28a9 *
31   531a>tap3>nbyte/"d">) ss="line" name="L6">31   631a>10c/19 + x^616 +olword">clat31   631a>/*10c119 + x^616 +olword">olword">clatUT_POOL_WORDS>31   631a> * ra/pan>
10c=31claaaaaaaaaaax^307 + lword x^616 +clat10c319 + x^616 +olword">olword">>>>>>>>>>>>>>>>>UT_POOL_WORDS>tap3>ERESTARTSYS"d">as="line" name="L6">28   628a>10c419 + x^616 +olword"> x^616 +++++++++breakss="line" name="L3">303/a730a> *
10c519 + x^616 +olword">>>>>>>6 }s="line" name="L5">31   531a> * CopWhen ehe in10cme>10c619 + x^616 +olword">^616 +olUT_POOL_WORDS>303/a730a>10c819 + x^616 +olword">}s="line" name="L5">31   531a> *
10c05 + s="line" name="L5">31   531a>10c919 + x^616 +olword">ns="d">dom.c#_wextrac6_bufchar/random.c#Lextrac6_buf1clatUT_POOL_WORDS>dom.c#_wvmp"lins="d">tap3>vmp31cl)ss="line" name="L1">330/a733opt28a101/iclint 10  
  10  19 + x^616 +olword">c= ns="d">dom.c#_wmin_/char/random.c#Lmin_/"d">tintf="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">f=ns="d">dom.c#_wEXTRACT_SIZE"lins="d">tap3>EXTRACT_SIZE31cl)ss="line" name="L1">330/a733opt28a10 1iclint 10mment">/*
10 119 + x^616 +olword">clatns="d">dom.c#_wcepaito_userchar/random.c#Lcepaito_user"d">tns="d">dom.c#_wbufchar/random.c#Lbuf"d">f="dri+cods=tap2lvmp"lins="d">tap3>vmp31clf="drivers/char/r random.c#L7" 31i"d">)) ss="line" name="L6">31   631a>as="line" name="L6">28   628a>10 319 + x^616 +olword">olword">breakss="line" name="L3">303/a730a>}s="line" name="L5">31   531a>10 egrees="line" name="L7 6348/a7348> * /a x^110las>10 619 + x^616 +olword">tap3>nbyte/"d">c-NPns="d">dom.c#_w random.c#L7" 31i"d">as="line" name="L6">28   628a>10 819 + x^616 +olword">p7{ href="drivebufchar/random.c#Lbuf"d">I+=+ns="d">dom.c#_w random.c#L7" 31i"d">as="line" name="L6">28   628a> * /a x^310las>10 819 + x^616 +olword">dom.c#_w random.c#L7" 31i"d">as="line" name="L6">28   628a>10 9aaa2 }, href}s="line" name="L6">28   628a>10drgrees="line" name="L7 6348/a7348> * /a x^210las>10d1aaa2 }, hrefpr/random.c#L7" 29id="/ eWipefdata+just returnedffromamemory>*" 28class="line" name="L6">28   628a>10d2aaa2 }, hrefp7{ href="drivememse/char/random.c#Lmemse/"d">t"dri+cods=tap2lvmp"lins="d">tap3>vmp31clf=0,oeizeofttap3>vmp31cl))ss="line" name="L3">303/a730a>10d2class="line" name="L4">32   4324> * /a x^110las>10d419 + x^616 +returnPUT_POOL_WORDS>303/a730a>10d58las}s="line" name="L5">31   531a>10d619 +s="line" name="L1">330/a733opt28a10d7iclint 10lass="comment"> * /a x^110las>10dhref="drivers/char/random.c/  28class="line" name="L6">28   628a>10duch less sensitrs/ s)anmehe * This func6om.gisahrefexportedfkernel  hterface.  It returns some 28class="line" name="L6">28   628a>10d9ch less sensitrs/ s)anmehe * numbedgof+good r628a> numbeds,oeuit"drifandokey generatom.,oeeedd=" 28class="line" name="L6">28   628a> * /a x^510las>10lach less sensitrs/ s)anmehe * TCPoeequence numbeds,oetc.  It does not useahrefhw r628a> numbed196class="line" name="L7 63610l-dowa time am. urload/d int+* generator, claavail"dri; useaget_r628a>_byte/_arch()fandohrat" 36class="line" name="L7 63610lrs/char/random.c#L7" 29id="c*" 28class="line" name="L6">28   628a> * /a x^510las>10l2claspan>
p7{ href="driveget_r628a>_byte/char/random.c#Lget_r628a>_byte/"d">tpan>
0p7{ href="drivebufchar/random.c#Lbuf"d">f=int="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">)s="line" name="L7 6348/a7348>10laaaa2ss="line" name="L6">31   631a> * /a x^510las>10l5aaa2 }, hrefp7{ href="driveextrac6_en wepa"lins="d">tap3>extrac6_en wepa"d">tn>
f="dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">f=0f=0)ss="line" name="L1">330/a733opt28a10l6iclint 102,aa409,aa  309,aaaa205,102,a>10l68las}s="line" name="L5">31   531a>10lhref="s="d">dom.c#_wEXPORT_SYMBOL"lins="d">tap3>EXPORT_SYMBOL"d">t"dri+cods=tap2lget_r628a>_byte/char/random.c#Lget_r628a>_byte/"d">)ss="line" name="L1">330/a733opt28a10l8iclint 10lass="comment"> * /a x^210las>10l05 + s="line" name="L5">31   531a>10l9ch less sensitrs/ s)anmehe/  28class="line" name="L6">28   628a>10rsch less sensitrs/ s)anmehe * This func6om.gwill useahrefarchitecture-specificfhardware r628a> 28class="line" name="L6">28   628a> * /a x^110las>10r-dowa time am. urload/d int+* numbedggenerator clait  saavail"dri.  Trefarch-specificfhw RNG
will 28class="line" name="L6">28   628a>10rrs/char/random.c#L7" 29id="c* almost certainly be faster/thranwrat wegc/c do  h software, but  t 28class="line" name="L6">28   628a>10rof bia hof "> ropyabef Ts&ws*  saimpossidrifvot="Lifyahrat  t  saimplef Tsedfsecurely (ar 36class="line" name="L7 636 * /a x^610las>10rd be enoughmto vopa signific* opposed, to,oeay,ahrefAES encryptom.gof+aoeequence numbed usd="fa 36class="line" name="L7 63610rs/char/random.c#L7" 29id="Lo*okey known byahrefNSA).  So  t's useful clawegneedahrefspeed, but 28class="line" name="L6">28   628a>10r goespos/c trickle_tf="sh, s* only clawe're willd="fvo trust hrefhardware manufacturer not to 28class="line" name="L6">28   628a>10rhref="drivers/char/random.c#* have put  h a+back door" 36class="line" name="L7 63610ruch less sensitrs/ s)anmehe *" 28class="line" name="L6">28   628a>10r9claspan>
p7{ href="driveget_r628a>_byte/_archchar/random.c#Lget_r628a>_byte/_arch"d">tpan>
0p7{ href="drivebufchar/random.c#Lbuf"d">f=int="drivers/char/rnbyte/"lins="d">tap3>nbyte/"d">)s="line" name="L7 6348/a7348>10="aaa2ss="line" name="L6">31   631a>10=1aaa2 }, href>31 
0p7{ href="drivep"lins="d">tap3>p"d">c= ns="d">dom.c#_wbufchar/random.c#Lbuf"d">ss="line" name="L1">330/a733opt28a1052iclint 10mment"> * /apan>
10=2aaa2s="line" name="L3">303/a730a> *r ehe pur10mme>10=09 + x^307 + x_PER_CPUpt28(itrace_get_r628a>_byte/char/random.c#Ltrace_get_r628a>_byte/"d">t"dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">f=ns="d">dom.c#_w_RET_IP_char/random.c#L_RET_IP_31cl)ss="line" name="L1">330/a733opt28a10=4iclint 10mment"> * Copwellaeoamak10mme>10=419 + x^616 +whileatUT_POOL_WORDS>tap3>nbyte/"d">) ss="line" name="L6">31   631a> *
10=519 + x^616 +olword">8id="L1" RQS><"drivers/char/rvrandom.c#L7" 31v31clss="line" name="L3">303/a730a> * Cop(See M. Mat10mme>10=619 + x^616 +olword">int="drivers/char/rchunkchar/random.c#Lchunk"d">c= ns="d">dom.c#_wminchar/random.c#Lmin"d">t"dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">f=tint)eizeoft8id="L1" RQS>))ss="line" name="L3">303/a730a>10=38lass="line" name="L7 6338/a7338> *10=819 + x^616 +olword">clat!"dri+cods=tap2larch_get_r628a>_RQS>random.c#L7" 31arch_get_r628a>_RQS>1clatn>
>>>>>>>>breakss="line" name="L3">303/a730a>
10  19 + x^616 +olword">s="line" name="L3">303/a730a>/*10 119 + x^616 +olword">p7{ href="drivememcpa"lins="d">tap3>memcpa"d">tns="d">dom.c#_wp"lins="d">tap3>p"d">, n>
dom.c#_wchunkchar/random.c#Lchunk"d">)ss="line" name="L3">303/a730a> * rapan>
10 =31claaaaaaaaaaax^307p7{ href="drivep"lins="d">tap3>p"d">c+=+ns="d">dom.c#_wchunkchar/random.c#Lchunk"d">ss="line" name="L3">303/a730a> *10 319 + x^616 +olword">tap3>nbyte/"d">c-NPns="d">dom.c#_wchunkchar/random.c#Lchunk"d">ss="line" name="L3">303/a730a> * Cop"  facn it 10mme>10 419 + x^616 +}s="line" name="L5">31   531a> *10 egrees="line" name="L7 6348/a7348> * Cops)aypperiod10mme>10 619 + x^616 +clattap3>nbyte/"d">)s="line" name="L7 6348/a7348>
10 819 + x^616 +olword">p7{ href="driveextrac6_en wepa"lins="d">tap3>extrac6_en wepa"d">tn>
tap3>p"d">, "dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">f=0f=0)ss="line" name="L1">330/a733opt28a1068iclint 10mment"> *10 88las}s="line" name="L5">31   531a>10 9ref="s="d">dom.c#_wEXPORT_SYMBOL"lins="d">tap3>EXPORT_SYMBOL"d">t"dri+cods=tap2lget_r628a>_byte/_archchar/random.c#Lget_r628a>_byte/_arch"d">)ss="line" name="L1">330/a733opt28a107/iclint 10  
  10  grees="line" name="L7 6348/a7348>/*10 7class="line" name="L2">27   227a> * /apan>
10 rs/char/random.c#L7" 29id="/  28class="line" name="L6">28   628a> *10 of bia hof "> ropyabef Ts&ws*  nit_std_data -  nitialize p"drfwith system data"d8class="line" name="L6">28   628a> * Co/pan>
10 d be enoughmto vopa signific*"d8class="line" name="L6">28   628a>10 s/char/random.c#L7" 29id="Lo*o@r:fp"drfvot nitialize"d8class="line" name="L6">28   628a>10  goespos/c trickle_tf="sh, s*"d8class="line" name="L6">28   628a>10 href="drivers/char/random.c#* This func6om.gclearsahrefp"dr's en wepa vers/
628fmixes some system"d8class="line" name="L6">28   628a>10 uch less sensitrs/ s)anmehe * data intoahrefp"drfvotprepare itfandouse. Trefp"drfis not clearid1c8class="line" name="L6">28   628a>10 9ch less sensitrs/ s)anmehe * asahrat c/c only decreaseahrefen wepa inahrefp"dr" 36class="line" name="L7 63628   628a>10=7class="d">tpan>
p7{ href="drive nit_std_datarandom.c#L7" 31init_std_data"d">tinfo> * /apan>
10=2aaa2ss="line" name="L6">31   631a> *10=319 + x^616 +int="drivers/char/r random.c#L7" 31i"d">as="line" name="L6">28   628a> * Cop/devndom.c#10mme>10=aaaa2 }, href"7{ href="drivekvers_/char/random.c#Lkvers_/aaa2 c= ns="d">dom.c#_wkvers_get_rearchar/random.c#Lkvers_get_rear"d">t)ss="line" name="L1">330/a733opt28a1085iclint 10mment"> *
10=519 + x^616 +8id="L1" RQS><"drivers/char/rrvrandom.c#L7" 31rv31clss="line" name="L3">303/a730a>330/a733opt28a1087iclint 10rs/char/random.c#L7" 28810rs/>10=819 + x^616 +"dri+cods=tap2lrchar/random.c#Lr31cl-clas330/a733opt28a1088iclint 10mment"> *
10=aaaa2 }, hrefp7{ href="driverchar/random.c#Lr31cl-clas330/a733opt28a1089iclint 10  
   r10  
>10=9aaa2 }, hrefp7{ href="drivemix_p"dr_byte/"lins="d">tap3>mix_p"dr_byte/"d">tUT_POOL_WORDS>
,oeizeoftaf=ns="d">dom.c#_wNULL"lins="d">tap3>NULL"d">)ss="line" name="L1">330/a733opt28a109/iclint 10  
  10  aaa2 }, hrefandotc= p7{ href="driverchar/random.c#Lr31cl-clastap3>p"drinfo31cl-clastap3>POOLBYTES31cls>cclas 0s="drivers/char/r random.c#L7" 31i"d">I-=oeizeoft31   631a>/*10 119 + x^616 +olword">clat!"dri+cods=tap2larch_get_r628a>_RQS>random.c#L7" 31arch_get_r628a>_RQS>1clatn>
31   631a> * ra/pan>
10 =31claaaaaaaaaaax^307 + lwordbreakss="line" name="L3">303/a730a>tap3>mix_p"dr_byte/"d">tUT_POOL_WORDS>
dom.c#_wNULL"lins="d">tap3>NULL"d">)ss="line" name="L1">330/a733opt28a1094iclint 10rs/char/random.c#L7" 29i10rs/>10 419 + x^616 +}s="line" name="L5">31   531a> *
10 5aaa2 }, hrefp7{ href="drivemix_p"dr_byte/"lins="d">tap3>mix_p"dr_byte/"d">tUT_POOL_WORDS>tap3>uts /a "d">t),oeizeoft*tUT_POOL_WORDS>tap3>uts /a "d">t)))f=ns="d">dom.c#_wNULL"lins="d">tap3>NULL"d">)ss="line" name="L1">330/a733opt28a1096iclint 10mment"> * CopWhen ehe in10mme>10 68las}s="line" name="L5">31   531a>10 38lass="line" name="L7 6338/a7338> *
10 uch less sensitrs/ s)anmehe/  28class="line" name="L6">28   628a>10 9ch less sensitrs/ s)anmehe * Noteahrat setup_arch()fmay call add_device_r628a>ness() 28class="line" name="L6">28   628a>110sch less sensitrs/ s)anmehe * RQS>/*110-dowa time am. urload/d int+* with some platfor> dependd i data ="Ly earla inahrefboot 28class="line" name="L6">28   628a> * ra/pan>
110rs/char/random.c#L7" 29id="c* process. But  t limits our optom.s here. We must use"d8class="line" name="L6">28   628a> ropyabef Ts&ws* s="d">allyfallocatedfinfo>28   628a>110d be enoughmto vopa signific*  nitializatom.s a splete at a spileavers" We should also 28class="line" name="L6">28   628a> *
110s/char/random.c#L7" 29id="Lo*otakegc/deanot to o="Lwriteahrefprecious per platfor> data"d8class="line" name="L6">28   628a> * CopWhen ehe in11cme>110 goespos/c trickle_tf="sh, s* weawedeage="n" 36class="line" name="L7 636110href="drivers/char/random.c#*" 28class="line" name="L6">28   628a> *
11c05 + s="d">tint="drivers/char/rr628_ nitializechar/random.c#Lr628_ nitialize"d">tpan>)s="line" name="L6">31   631a>11c919 +ss="line" name="L6">31   631a>1110aaa2 }, hrefp7{ href="drive nit_std_datarandom.c#L7" 31init_std_data"d">tn>
)ss="line" name="L1">330/a733opt28a11 1iclint 11mment">/*
1111aaa2 }, hrefp7{ href="drive nit_std_datarandom.c#L7" 31init_std_data"d">tn>
330/a733opt28a11 2iclint 11a href="dri+cods=poolinf11a h>1112aaa2 }, hrefp7{ href="drive nit_std_datarandom.c#L7" 31init_std_data"d">tn>
330/a733opt28a11 3iclint 11href="dri+cods=poolword"11hre>11 319 + x^616 +returnP0ss="line" name="L1">330/a733opt28a1114iclint 11href="dri+cods=tap1lass=11hre>11 419 +}s="line" name="L5">31   531a>11 egreep7{ href="drivemoduri_ nit"lins="d">tap3>moduri_ nit"d">tUT_POOL_WORDS>)ss="line" name="L1">330/a733opt28a11 6iclint 11lass="comment"> * /a x^111las>111619 +s="line" name="L1">330/a733opt28a11 7iclint 118,  103,aaaa76,aaaa 51,a118, >11 819 +#ifdeffp7{ href="driveCONFIG_BLOCKchar/random.c#LCONFIG_BLOCK19 +s="line" name="L1">330/a733opt28a11 8iclint 11lass="comment"> * /a x^311las>11 819 +pan>
p7{ href="driver628_ nitialize_diskchar/random.c#Lr628_ nitialize_disk"d">tinfo>31   631a>111919 +ss="line" name="L6">31   631a>1120aaa2 }, hrefinfo>330/a733opt28a1121iclint 11lass="comment"> * /a x^211las>1127class="line" name="L2">27   227a>11d2aaa2 }, hrefpss sensitrs/ s)anmehe/  28class="line" name="L6">28   628a>112of bia hof "> ropyabef Ts&wsssssssss* If kzalloc returns null, weajust won't useahrat en wepa"d8class="line" name="L6">28   628a> * /a x^111las>112d be enoughmto vopa significssssssss* source" 36class="line" name="L7 636112s/char/random.c#L7" 29id="Lossssssss*" 28class="line" name="L6">28   628a>11269 + x^307 + x_PER_CPUpt28(is="dechar/random.c#Ls="de1clac= ns="d">dom.c#_wkzallocchar/random.c#Lkzalloc"d">tiizeoftinfo>dom.c#_wGFP_KERNEL"lins="d">tap3>GFP_KERNEL"d">)ss="line" name="L1">330/a733opt28a11d7iclint 11lass="comment"> * /a x^111las>112819 + x^616 +clatUT_POOL_WORDS>31   631a>112819 + x^616 +olword">char/random.c#Lr628a> 2lac= ns="d">dom.c#_ws="dechar/random.c#Ls="de1class="line" name="L1">330/a733opt28a1129iclint 11rs/char/random.c#L7" 3i011rs/>11d9ch l}s="line" name="L5">31   531a> * /a x^511las>11lach l#enddfs="line" name="L5">31   531a>1137class="line" name="L2">27   227a>11lrs/chs="d">tUT_POOL_WORDS>27   227a> * /a x^511las>11l2clastinfo>31 
p7{ href="drive__userchar/random.c#L__user"d">
0p7{ href="drivebufchar/random.c#Lbuf"d">f>UT_POOL_WORDS>tap3>nbyte/"d">f>UT_POOL_WORDS>
0p7{ href="driveppos"lins="d">tap3>ppos1cla)s="line" name="L6">31   631a>11laaaa2ss="line" name="L6">31   631a> * /a x^511las>11l5aaa2 }, hrefp7{ href="driveseize_/char/random.c#Lseize_/ be PUT_POOL_WORDS>f="drivers/char/rretvarchar/random.c#Lretvar1clac= 0f=ns="d">dom.c#_wcers/char/random.c#Lvers/1clac= 0ss="line" name="L1">330/a733opt28a11l6iclint 112,aa409,aa  309,aaaa205,112,a>113619 +s="line" name="L1">330/a733opt28a1137iclint 11rs/char/random.c#L7" 3i811rs/>113819 + x^616 +clatUT_POOL_WORDS>tap3>nbyte/"d">c== 0)s="line" name="L7 6348/a7348> * /a x^211las>113819 + x^616 +olword">returnP0ss="line" name="L1">330/a733opt28a1139iclint 116,aa205,aaa 155,aaa 101,116,a>11330lass="line" name="L1">330/a733opt28a114/iclint 11rs/char/random.c#L7" 3ii11rs/>1140aaa2 }, hrefwhileatUT_POOL_WORDS>tap3>nbyte/"d">cclas 0) ss="line" name="L6">31   631a> * /a x^111las>114119 + x^616 +olword">p7{ href="drivenchar/random.c#Ln"d">c= ns="d">dom.c#_wnbyte/"lins="d">tap3>nbyte/"d">ss="line" name="L1">330/a733opt28a1142iclint 118,  103,aaaa78,aaaa 51,a118, >114=31claaaaaaaaaaax^307clatUT_POOL_WORDS>cclas UT_POOL_WORDS>tap3>SEC_XFER_SIZE1cla)s="line" name="L6">31   631a>114319 + x^616 +olword">olword">p7{ href="drivenchar/random.c#Ln"d">c= ns="d">dom.c#_wSEC_XFER_SIZE"lins="d">tap3>SEC_XFER_SIZE1class="line" name="L1">330/a733opt28a1144iclint 11lass="comment"> * /a x^611las>1149class="line" name="L5">29   529a>114519 + x^616 +olword">x_PER_CPUpt28(iDEBUG_ENTchar/random.c#LDEBUG_ENT"d">tUCPU time am.2iid="">driverreadd="g%d bits\ndriver 34clas, "dri+cods=tap2lnchar/random.c#Ln"d">*8)ss="line" name="L1">330/a733opt28a11r6iclint 11"drivers/char/random.c#L11"dr>114619 +s="line" name="L1">330/a733opt28a11r7iclint 11vers/char/random.c#L7" 311ver>114819 + x^616 +olword">p7{ href="drivenchar/random.c#Ln"d">c= ns="d">dom.c#_wextrac6_en wepa_userchar/random.c#Lextrac6_en wepa_user"d">tn>
f="dri+cods=tap2lnchar/random.c#Ln"d">)ss="line" name="L1">330/a733opt28a11r8iclint 11rs/char/random.c#L7" 3i911rs/>11405 + s="line" name="L5">31   531a>114919 + x^616 +olword">ns="d">dom.c#_wDEBUG_ENTchar/random.c#LDEBUG_ENT"d">tUCPU time am.2iid="">driverread gotg%d bits (%d still needed)\ndriver 34clas,s="line" name="L5">31   531a>115019 + x^616 +olword"> x^616 +16"dri+cods=tap2lnchar/random.c#Ln"d">*8,atUT_POOL_WORDS>tap3>nbyte/"d">-"dri+cods=tap2lnchar/random.c#Ln"d">)*8)ss="line" name="L1">330/a733opt28a1151iclint 11rs/char/random.c#L7" 35i11rs/>1157class="line" name="L2">27   227a> * /apan>
115=31claaaaaaaaaaax^307clatUT_POOL_WORDS>c== 0) ss="line" name="L6">31   631a> *r ehe pur11mme>115319 + x^616 +olword">olword">clattap3>f_flagr31cl=n>
) ss="line" name="L6">31   631a> * Copwellaeoamak11mme>115419 + x^616 +olword">word"> x^616 +16"dri+cods=tap2lretvarchar/random.c#Lretvar1clac= -"dri+cods=tap2lEAGAINchar/random.c#LEAGAIN1class="line" name="L1">330/a733opt28a11=5iclint 11mment"> *
11=519 + x^616 +olword">>>>>>>>>>>>>>>>>breakss="line" name="L3">303/a730a> * Cop(See M. Mat11mme>11=619 + x^616 +olword">>>>>>>>>}s="line" name="L5">31   531a>11=38lass="line" name="L7 6338/a7338> *11=819 + x^616 +olword">^616 +16"dri+cods=tap2lDEBUG_ENTchar/random.c#LDEBUG_ENT"d">tUCPU time am.2iid="">driversleepd="?\ndriver 34clasass="line" name="L3">303/a730a>11530lass="line" name="L1">330/a733opt28a116/iclint 11  
  
11  19 + x^616 +olword">^616 +16"dri+cods=tap2lwai6_even _ hterruptidrichar/random.c#Lwai6_even _ hterruptidri"d">tUT_POOL_WORDS>_read_wai6char/random.c#Lr631a>_read_wai6"d">fs="line" name="L1">330/a733opt28a1161iclint 11mment">/*11 119 + x^616 +olword">olword">^616 +16"dri+cods=tap2linput_p"drchar/random.c#Linput_p"dr"d">.ns="d">dom.c#_wen wepaivers/char/random.c#Len wepaivers/1clacclas=s="line" name="L1">330/a733opt28a1162iclint 11mment"> * rapan>
11 =31claaaaaaaaaaax^307777777777777777777777777777777777UT_POOL_WORDS>_read_wakeup_tPOOshchar/random.c#Lr628a>_read_wakeup_tPOOsh"d">)ss="line" name="L1">330/a733opt28a1163iclint 11mment"> *1162class="line" name="L4">32   4324> * Cop"  facn it 11mme>116419 + x^616 +olword">word"> x"dri+cods=tap2lDEBUG_ENTchar/random.c#LDEBUG_ENT"d">tUCPU time am.2iid="">driverawake\ndriver 34clasass="line" name="L3">303/a730a> *11 egrees="line" name="L7 6348/a7348> * Cops)aypperiod11mme>116619 + x^616 +olword">>>>>>>>>clatUT_POOL_WORDS>31   631a>
11 819 + x^616 +olword">7777777777777777UT_POOL_WORDS>tap3>ERESTARTSYS"d">as="line" name="L6">28   628a> *116819 + x^616 +olword">^616 +1666666666breakss="line" name="L3">303/a730a>116919 + x^616 +olword">>>>>>>>>}s="line" name="L5">31   531a>11  grees="line" name="L7 6348/a7348>/*117119 + x^616 +olword">olword">continuess="line" name="L3">303/a730a> * /apan>
117=31claaaaaaaaaaax^307}s="line" name="L5">31   531a> *1172class="line" name="L4">32   4324> * Co/pan>
117419 + x^616 +olword">clatUT_POOL_WORDS>cclas 0) ss="line" name="L6">31   631a>117519 + x^616 +olword">>>>>>>>>UT_POOL_WORDS>ss="line" name="L3">303/a730a>117619 + x^616 +olword">>>>>>>>>breakss="line" name="L3">303/a730a>117819 + x^616 +olword">}s="line" name="L5">31   531a>117819 + x^616 +olword">dom.c#_wnchar/random.c#Ln"d">ss="line" name="L3">303/a730a>117919 + x^616 +olword">ns="d">dom.c#_wbufchar/random.c#Lbuf"d">I+=+ns="d">dom.c#_wnchar/random.c#Ln"d">ss="line" name="L3">303/a730a>tap3>nbyte/"d">c-NPns="d">dom.c#_wnchar/random.c#Ln"d">ss="line" name="L3">303/a730a>118119 + x^616 +olword">breaks +olword">28   628a> * /apan>
118=31claaaaaaaaaaax^307777777777777777728   628a> *11=319 + x^616 +}s="line" name="L5">31   531a> * Cop/devndom.c#11mme>1189class="line" name="L5">29   529a> *
11=519 + x^616 +returnPtns="d">dom.c#_wcers/char/random.c#Lvers/1clac?>303/a730a>31   531a>11838lass="line" name="L7 6338/a7338> *
11805 + s="d">tUT_POOL_WORDS>27   227a> r11  
>1189ref="s="d">dom.c#_wu 631a>_readchar/random.c#Lu 631a>_read"d">tinfo>31 
p7{ href="drive__userchar/random.c#L__user"d">
0p7{ href="drivebufchar/random.c#Lbuf"d">f>UT_POOL_WORDS>tap3>nbyte/"d">f>UT_POOL_WORDS>
0p7{ href="driveppos"lins="d">tap3>ppos1cla)s="line" name="L6">31   631a>119"aaa2ss="line" name="L6">31   631a>/*11 119 + x^616 +returnPUT_POOL_WORDS>tn>
f="dri+cods=tap2lnbyte/"lins="d">tap3>nbyte/"d">ass="line" name="L3">303/a730a> * ra/pan>
11 =31cl}s="line" name="L5">31   531a>32   4324>11 419 +s="d">t8id="L1" ints="line" name="L4">32   4324> *
119egreep7{ href="drive 631a>_polrchar/random.c#Lr631a>_polr"d">tinfo>tap3>polr_t"dri1claa06"dri+cods=tap2lwai6char/random.c#Lwai61cla)s="line" name="L6">31   631a> * CopWhen ehe in11mme>11 68lasss="line" name="L6">31   631a>119819 + x^616 +8id="L1" intfp7{ href="drivemaskchar/random.c#Lmask"d">ss="line" name="L3">303/a730a> *
11905 + s="line" name="L5">31   531a>1199aaa2 }, hrefp7{ href="drivepolr_wai6char/random.c#Lpolr_wai61clatUT_POOL_WORDS>
f6"dri+cods=tap2lwai6char/random.c#Lwai61cla)ss="line" name="L3">303/a730a>1200aaa2 }, hrefp7{ href="drivepolr_wai6char/random.c#Lpolr_wai61clatUT_POOL_WORDS>
f6"dri+cods=tap2lwai6char/random.c#Lwai61cla)ss="line" name="L3">303/a730a>/*1201aaa2 }, hrefp7{ href="drivemaskchar/random.c#Lmask"d">c= 0ss="line" name="L1">330/a733opt28a12c2iclint 12cment"> * ra/pan>
120=31claaaaaaaaclatUT_POOL_WORDS>.ns="d">dom.c#_wen wepaivers/char/random.c#Len wepaivers/1clacclas=7UT_POOL_WORDS>_read_wakeup_tPOOshchar/random.c#Lr628a>_read_wakeup_tPOOsh"d">)s="line" name="L1">330/a733opt28a12c3iclint 12cef="dri+cods=dom.c#_wri12cef>120319 + x^616 +olword">c|=7UT_POOL_WORDS>c|7UT_POOL_WORDS>ss="line" name="L3">303/a730a>120431claaaaaaaaclatUT_POOL_WORDS>.ns="d">dom.c#_wen wepaivers/char/random.c#Len wepaivers/1clacclas UT_POOL_WORDS>_write_wakeup_tPOOshchar/random.c#Lr628a>_write_wakeup_tPOOsh"d">)s="line" name="L1">330/a733opt28a12c5iclint 12cment"> *
120519 + x^616 +olword">x_PER_CPUpt28(imaskchar/random.c#Lmask"d">c|=7UT_POOL_WORDS>c|7UT_POOL_WORDS>ss="line" name="L3">303/a730a> * CopWhen ehe in12cme>120619 + x^616 +returnPUT_POOL_WORDS>ss="line" name="L3">303/a730a>120href=}s="line" name="L5">31   531a> *
12005 + s="line" name="L5">31   531a>12c919 +s="d">tints="line" name="L5">31   531a>1210aaa2"dri+cods=tap2lwrite_p"drchar/random.c#Lwrite_p"dr"d">tinfo>const c31 
p7{ href="drive__userchar/random.c#L__user"d">
0p7{ href="drivebufferchar/random.c#Lbuffer"d">f>UT_POOL_WORDS>330/a733opt28a12 1iclint 12mment">/*
1211aaa2ss="line" name="L6">31   631a>tap3>byte/"d">ss="line" name="L1">330/a733opt28a12 3iclint 12href="dri+cods=poolword"12hre>12 319 + x^616 +p7{ href="drive__urs/char/ranom.c#L__ulrs/ch="drivers/char/rbufchar/random.c#Lbuf"d">[16]ss="line" name="L1">330/a733opt28a12 4iclint 12href="dri+cods=tap1lass=12hre>121431claaaaaaaaconst c31 
p7{ href="drive__userchar/random.c#L__user"d">
0p7{ href="drivep"lins="d">tap3>p"d">c= ns="d">dom.c#_wbufferchar/random.c#Lbuffer"d">ss="line" name="L1">330/a733opt28a12 5iclint 12cods=poolinfo_nablelass=12cod>121egrees="line" name="L7 6348/a7348> * /a x^112las>121619 + x^616 +whileatUT_POOL_WORDS>31   631a>121819 + x^616 +olword">p7{ href="drivebyte/"lins="d">tap3>byte/"d">c= ns="d">dom.c#_wminchar/random.c#Lmin"d">t"dri+cods=tap2lcers/char/random.c#Lvers/1cla,oeizeoft))ss="line" name="L3">303/a730a> * /a x^312las>121819 + x^616 +olword">clat"dri+cods=tap2lcepaifra>_userchar/random.c#Lcepaifra>_user"d">tn>
f="dri+cods=tap2lp"lins="d">tap3>p"d">, "dri+cods=tap2lbyte/"lins="d">tap3>byte/"d">))s="line" name="L6">31   631a>121919 + x^616 +olword">>>>>>>>>returnP-"dri+cods=tap2lEFAULTchar/random.c#LEFAULT"d">ss="line" name="L1">330/a733opt28a122/iclint 12drivers/char/random.c#L712dri>122 grees="line" name="L7 6348/a7348> * /a x^212las>122119 + x^616 +olword">p7{ href="drivecers/char/random.c#Lvers/1clac-NPns="d">dom.c#_wbyte/"lins="d">tap3>byte/"d">ss="line" name="L1">330/a733opt28a12d2iclint 1248,316a8,   1231,   819,1248,>122=31claaaaaaaaaaax^307p7{ href="drivep"lins="d">tap3>p"d">c+=+ns="d">dom.c#_wbyte/"lins="d">tap3>byte/"d">ss="line" name="L1">330/a733opt28a12d3iclint 12rs/char/random.c#L7" 32i12rs/>1222class="line" name="L4">32   4324> * /a x^112las>122419 + x^616 +olword">ns="d">dom.c#_wmix_p"dr_byte/"lins="d">tap3>mix_p"dr_byte/"d">tUT_POOL_WORDS>f="dri+cods=tap2lbyte/"lins="d">tap3>byte/"d">f=ns="d">dom.c#_wNULL"lins="d">tap3>NULL"d">)ss="line" name="L1">330/a733opt28a12d5iclint 1224, 817,aaaa615,aaaa412,1224,>122519 + x^616 +olword">x_PER_CPUpt28(icond_OOschedchar/random.c#Lcond_OOsched"d">t)ss="line" name="L1">330/a733opt28a12d6iclint 12rs/char/random.c#L7" 32i12rs/>12269 + x^307 + }s="line" name="L5">31   531a> * /a x^112las>12238lass="line" name="L7 6338/a7338>122819 + x^616 +returnP0ss="line" name="L1">330/a733opt28a1229iclint 12rs/char/random.c#L7" 3i012rs/>12d9ch l}s="line" name="L5">31   531a> * /a x^512las>123 grees="line" name="L7 6348/a7348>1237class="d">tUT_POOL_WORDS>_writechar/random.c#Lr628a>_write"d">tinfo>onst c31 
p7{ href="drive__userchar/random.c#L__user"d">
0p7{ href="drivebufferchar/random.c#Lbuffer"d">fs="line" name="L7 6348/a7348>123=31claaaaaaaaaaax^307777777777777UT_POOL_WORDS>UT_POOL_WORDS>
0p7{ href="driveppos"lins="d">tap3>ppos1cla)s="line" name="L6">31   631a> * /a x^512las>12l2classs="line" name="L6">31   631a>123aaaa2 }, href"7{ href="driveeize_/char/random.c#Lsize_/ be PUT_POOL_WORDS>ss="line" name="L1">330/a733opt28a12l5iclint 12lass="comment"> * /a x^512las>123egrees="line" name="L7 6348/a7348>12369 + x^307 + x_PER_CPUpt28(iretchar/random.c#Lret"d">c= ns="d">dom.c#_wwrite_p"drchar/random.c#Lwrite_p"dr"d">tn>
f>UT_POOL_WORDS>330/a733opt28a12l7iclint 12rs/char/random.c#L7" 3i812rs/>123819 + x^616 +clatUT_POOL_WORDS>)s="line" name="L6">31   631a> * /a x^212las>123819 + x^616 +olword">returnPUT_POOL_WORDS>ss="line" name="L1">330/a733opt28a12l9iclint 126,aa205,aaa 155,aaa 101,126,a>1239aaa2 }, hrefp7{ href="driveretchar/random.c#Lret"d">c= ns="d">dom.c#_wwrite_p"drchar/random.c#Lwrite_p"dr"d">tn>
f>UT_POOL_WORDS>330/a733opt28a124/iclint 12rs/char/random.c#L7" 3ii12rs/>1240aaa2 }, hrefclatUT_POOL_WORDS>)s="line" name="L6">31   631a> * /a x^112las>124119 + x^616 +olword">returnPUT_POOL_WORDS>ss="line" name="L1">330/a733opt28a1242iclint 128,  103,aaaa78,aaaa 51,a128, >1242aaa2s="line" name="L3">303/a730a>124319 + x^616 +returnPtns="d">dom.c#_wseize_/char/random.c#Lseize_/ be )UT_POOL_WORDS>330/a733opt28a1244iclint 12lass="comment"> * /a x^612las>124419 +}s="line" name="L5">31   531a>124egrees="line" name="L7 6348/a7348>124619 +s="d">tRQS><"drivers/char/rr628a>_ioctrchar/random.c#Lr631a>_ioctr"d">tinfo>f>8id="L1" intfp7{ href="drivecmdchar/random.c#Lcmd"d">f>8id="L1" RQS><"drivers/char/rar>random.c#L7" 31arg"d">)s="line" name="L6">31   631a>124819 +ss="line" name="L6">31   631a>124819 + x^616 +intfp7{ href="drivesizechar/random.c#Lsize"d">f>UT_POOL_WORDS>330/a733opt28a1249iclint 12="dri+cods=POOLBITSlass=12="d>124919 + x^616 +intfp7{ href="drive__userchar/random.c#L__user"d">
0p7{ href="drivep"lins="d">tap3>p"d">c= (intfp7{ href="drive__userchar/random.c#L__user"d">
0)UT_POOL_WORDS>random.c#L7" 31arg"d">ss="line" name="L1">330/a733opt28a125/iclint 12="dri+cods=POOLBYTESlass12="d>125019 + x^616 +int="drivers/char/rretvarchar/random.c#Lretvar1class="line" name="L1">330/a733opt28a1251iclint 12rs/char/random.c#L7" 35i12rs/>1257class="line" name="L2">27   227a> * /apan>
125=31claaaaaaaaswitchat"dri+cods=tap2lcmdchar/random.c#Lcmd"d">) ss="line" name="L6">31   631a> *r ehe pur12mme>125319 + x^616 +casea"dri+cods=tap2lRNDGETENTCNTchar/random.c#LRNDGETENTCNT19 +:s="line" name="L6">31   631a> * Copwellaeoamak12mme>125419 + x^616 +olword">28   628a> *
12=519 + x^616 +olword">clatUT_POOL_WORDS>tUT_POOL_WORDS>.ns="d">dom.c#_wen wepaivers/char/random.c#Len wepaivers/1claf="dri+cods=tap2lp"lins="d">tap3>p"d">))s="line" name="L6">31   631a> * Cop(See M. Mat12mme>12=619 + x^616 +olword">>>>>>>>>returnP-"dri+cods=tap2lEFAULTchar/random.c#LEFAULT"d">ss="line" name="L1">330/a733opt28a1257iclint 12  
  125819 + x^616 +olword">returnP0ss="line" name="L1">330/a733opt28a12=8iclint 12mment"> *12=819 + x^616 +casea"dri+cods=tap2lRNDADDTOENTCNTchar/random.c#LRNDADDTOENTCNT19 +:s="line" name="L6">31   631a>125919 + x^616 +olword">clat!"dri+cods=tap2lcap"dri"lins="d">tap3>cap"dri"d">tUT_POOL_WORDS>))s="line" name="L6">31   631a>
12  19 + x^616 +olword">^616 +16returnP-"dri+cods=tap2lEPERMchar/random.c#LEPERM"d">ss="line" name="L1">330/a733opt28a1261iclint 12mment">/*12 119 + x^616 +olword">clatUT_POOL_WORDS>tUT_POOL_WORDS>tap3>p"d">))s="line" name="L6">31   631a> * rapan>
12 =31claaaaaaaaaaax^30777777777returnP-"dri+cods=tap2lEFAULTchar/random.c#LEFAULT"d">ss="line" name="L1">330/a733opt28a1263iclint 12mment"> *126319 + x^616 +olword">tap3>credi6_en wepa_bits"d">tn>
f>UT_POOL_WORDS>330/a733opt28a1264iclint 12mment"> * Cop"  facn it 12mme>126419 + x^616 +olword">returnP0ss="line" name="L1">330/a733opt28a1265iclint 12mment"> *126519 + x^616 +casea"dri+cods=tap2lRNDADDENTROPYchar/random.c#LRNDADDENTROPY19 +:s="line" name="L6">31   631a> * Cops)aypperiod12mme>126619 + x^616 +olword">clat!"dri+cods=tap2lcap"dri"lins="d">tap3>cap"dri"d">tUT_POOL_WORDS>))s="line" name="L6">31   631a>
12 819 + x^616 +olword">77777777returnP-"dri+cods=tap2lEPERMchar/random.c#LEPERM"d">ss="line" name="L1">330/a733opt28a1268iclint 12mment"> *126819 + x^616 +olword">clatUT_POOL_WORDS>tUT_POOL_WORDS>tap3>p"d">++))s="line" name="L6">31   631a>126919 + x^616 +olword">>>>>>>>>returnP-"dri+cods=tap2lEFAULTchar/random.c#LEFAULT"d">ss="line" name="L1">330/a733opt28a127/iclint 12  
  127 19 + x^616 +olword">clatUT_POOL_WORDS>330/a733opt28a1271iclint 12mment">/*127119 + x^616 +olword">olword">returnP-"dri+cods=tap2lEINVAL"lins="d">tap3>EINVAL"d">ss="line" name="L1">330/a733opt28a1272iclint 12mment"> * /apan>
127=31claaaaaaaaaaax^307clatUT_POOL_WORDS>tUT_POOL_WORDS>f>UT_POOL_WORDS>tap3>p"d">++))s="line" name="L6">31   631a> *127319 + x^616 +olword">olword">returnP-"dri+cods=tap2lEFAULTchar/random.c#LEFAULT"d">ss="line" name="L1">330/a733opt28a1274iclint 12mment"> * Co/pan>
127419 + x^616 +olword">"drivers/char/rretvarchar/random.c#Lretvar1clac= ns="d">dom.c#_wwrite_p"drchar/random.c#Lwrite_p"dr"d">tn>
f>(>onst c31 
p7{ href="drive__userchar/random.c#L__user"d">
0)UT_POOL_WORDS>tap3>p"d">,s="line" name="L1">330/a733opt28a1275iclint 12="dri+cods=INPUT_POOL_WO12="d>127519 + x^616 +olword">>>>>>>>>16 +olword">"drivers/char/rsizechar/random.c#Lsize"d">)ss="line" name="L1">330/a733opt28a12 6iclint 12="dri+cods=OUTPUT_POOL_W12="d>127619 + x^616 +olword">clatUT_POOL_WORDS>330/a733opt28a1277iclint 12="dri+cods=SEC_XFER_SIZE12="d>127819 + x^616 +olword">olword">returnP"drivers/char/rretvarchar/random.c#Lretvar1class="line" name="L1">330/a733opt28a1278iclint 12="dri+cods=EXTRACT_SIZEl12="d>127819 + x^616 +olword">tap3>credi6_en wepa_bits"d">tn>
f>UT_POOL_WORDS>330/a733opt28a12 9iclint 12rs/char/random.c#L7" 28012rs/>127919 + x^616 +olword">returnP0ss="line" name="L1">330/a733opt28a128/iclint 12="dri+cods=LONGSlass="li12="d>128 19 + x^616 +casea"dri+cods=tap2lRNDZAPENTCNTchar/random.c#LRNDZAPENTCNT19 +:s="line" name="L6">31   631a>128119 + x^616 +casea"dri+cods=tap2lRNDCLEARPOOL"lins="d">tap3>RNDCLEARPOOL19 +:s="line" name="L6">31   631a> * /apan>
128=31claaaaaaaaaaax^30728   628a> *128319 + x^616 +olword">clat!"dri+cods=tap2lcap"dri"lins="d">tap3>cap"dri"d">tUT_POOL_WORDS>))s="line" name="L6">31   631a> * Cop/devndom.c#12mme>128419 + x^616 +olword">word"> xreturnP-"dri+cods=tap2lEPERMchar/random.c#LEPERM"d">ss="line" name="L1">330/a733opt28a1285iclint 12mment"> *
128519 + x^616 +olword">x_PER_CPUpt28(ia733_ nitializechar/random.c#Lr628_ nitialize"d">t)ss="line" name="L1">330/a733opt28a1286iclint 12ref="dri+cods=dom.c#_rea12ref>128619 + x^616 +olword">returnP0ss="line" name="L1">330/a733opt28a1287iclint 12rs/char/random.c#L7" 28812rs/>128819 + x^616 +default:s="line" name="L6">31   631a> *
128819 + x^616 +olword">returnP-"dri+cods=tap2lEINVAL"lins="d">tap3>EINVAL"d">ss="line" name="L1">330/a733opt28a1289iclint 12  
   r12  
>128919 + x^616 +}s="line" name="L5">31   531a>129"aaa2}s="line" name="L5">31   531a>/*1297class="line" name="L2">27   227a> * ra/pan>
129rs/chs="d">tint="drivers/char/rr628om_fasyncchar/random.c#Lr628om_fasync"d">tint="drivers/char/rfdchar/random.c#Lfd"d">f>info>tap3>firp"d">f>int="drivers/char/ronchar/random.c#Lon"d">)s="line" name="L6">31   631a>31   631a>129419 + x^616 +returnP"drivers/char/rfasync_helperchar/random.c#Lfasync_helper"d">tUT_POOL_WORDS>f>p7{ href="drivefirp"lins="d">tap3>firp"d">f>"drivers/char/ronchar/random.c#Lon"d">,fn>
)ss="line" name="L1">330/a733opt28a1295iclint 12mment"> *
129egree}s="line" name="L5">31   531a> * CopWhen ehe in12mme>129619 +s="line" name="L1">330/a733opt28a1297iclint 12  
  129819 +>onst info>31   631a> *
129819 + x^616 +.ns="d">dom.c#_wreadchar/random.c#Lread"d"> c= ns="d">dom.c#_wr628a>_readvers/char/randor628om_read"d">,s="line" name="L1">330/a733opt28a1299iclint 12rs/char/random.c#L7" 30012rs/>1299aaa2 }, href.ns="d">dom.c#_wwritechar/random.c#Lwrite"d">c= ns="d">dom.c#_wr628a>_writechar/random.c#Lr628a>_write"d">,s="line" name="L1">330/a733opt28a13c/iclint 13c/ichar/random.c#L7" 30013c/i>1300aaa2 }, href.ns="d">dom.c#_wpolrchar/random.c#Lpolr"d"> c= ns="d">dom.c#_wr628a>_polrchar/random.c#Lr631a>_polr"d">,s="line" name="L1">330/a733opt28a13c1iclint 13cment">/*1301aaa2 }, href.ns="d">dom.c#_wunlQcked_ioctrchar/random.c#LunlQcked_ioctr"d">c= ns="d">dom.c#_wr628a>_ioctrchar/random.c#Lr631a>_ioctr"d">,s="line" name="L1">330/a733opt28a13c2iclint 13cment"> * ra/pan>
130=31claaaaaaaa.ns="d">dom.c#_wfasyncchar/random.c#Lfasync"d">c= ns="d">dom.c#_wr628a>_fasyncchar/random.c#Lr628om_fasync"d">,s="line" name="L1">330/a733opt28a13c3iclint 13cef="dri+cods=dom.c#_wri13cef>130319 + x^616 +.ns="d">dom.c#_wllseekchar/random.c#Lllseek"d">c= ns="d">dom.c#_wnoop_llseekchar/random.c#Lnoop_llseek"d">,s="line" name="L1">330/a733opt28a13c4iclint 13cs/char/random.c#L7" 29i13cs/>130431cl}ss="line" name="L1">330/a733opt28a13c5iclint 13cment"> *
130egrees="line" name="L7 6348/a7348> * CopWhen ehe in13cme>130619 +>onst info>31   631a>130719 + x^616 +.ns="d">dom.c#_wreadchar/random.c#Lread"d"> c= ns="d">dom.c#_wu 631a>_readchar/random.c#Lu 631a>_read"d">,s="line" name="L1">330/a733opt28a13c8iclint 13cment"> *
130819 + x^616 +.ns="d">dom.c#_wwritechar/random.c#Lwrite"d">c= ns="d">dom.c#_wr628a>_writechar/random.c#Lr628a>_write"d">,s="line" name="L1">330/a733opt28a13c9iclint 13cs/char/random.c#L7" 30013cs/>1309aaa2 }, href.ns="d">dom.c#_wunlQcked_ioctrchar/random.c#LunlQcked_ioctr"d">c= ns="d">dom.c#_wr628a>_ioctrchar/random.c#Lr631a>_ioctr"d">,s="line" name="L1">330/a733opt28a131/iclint 13  
  1310aaa2 }, href.ns="d">dom.c#_wfasyncchar/random.c#Lfasync"d">c= ns="d">dom.c#_wr628a>_fasyncchar/random.c#Lr628om_fasync"d">,s="line" name="L1">330/a733opt28a13 1iclint 13mment">/*
1311aaa2 }, href.ns="d">dom.c#_wllseekchar/random.c#Lllseek"d">c= ns="d">dom.c#_wnoop_llseekchar/random.c#Lnoop_llseek"d">,s="line" name="L1">330/a733opt28a13 2iclint 13a href="dri+cods=poolinf13a h>1312aaa2}ss="line" name="L1">330/a733opt28a13 3iclint 13href="dri+cods=poolword"13hre>1312class="line" name="L4">32   4324>28   628a>131egree28   628a> * /a x^113las>131619 +28   628a>131819 +28   628a> * /a x^313las>131819 +28   628a>131919 +28   628a>132 grees="line" name="L7 6348/a7348> * /a x^213las>132119 +28   628a>132=31cl UUID 28class="line" name="L6">28   628a>1322clas28   628a> * /a x^113las>132419 +void ns="d">dom.c#_wgener"de_r628om_uuidchar/random.c#Lgener"de_r628om_uuid"d">t8id="L1" c31 
p7{ href="driveuuid_ou/char/random.c#Luuid_ou/"d">[16])s="line" name="L6">31   631a>132519 +ss="line" name="L6">31   631a>13269 + x^307 + x_PER_CPUpt28(iget_r628om_byte/"lins="d">tap3>get_r628om_byte/"d">tUT_POOL_WORDS>, 16)ss="line" name="L1">330/a733opt28a13d7iclint 13lass="comment"> * /a x^113las>132719 + x^616 + gener"d"on *" 28class="line" name="L6">28   628a>132819 + x^616 +p7{ href="driveuuid_ou/char/random.c#Luuid_ou/"d">[6]c= (p7{ href="driveuuid_ou/char/random.c#Luuid_ou/"d">[6]cn>
330/a733opt28a1329iclint 13rs/char/random.c#L7" 3i013rs/>132919 + x^616 +28   628a> * /a x^513las>1330aaa2 }, hrefp7{ href="driveuuid_ou/char/random.c#Luuid_ou/"d">[8]c= (p7{ href="driveuuid_ou/char/random.c#Luuid_ou/"d">[8]cn>
330/a733opt28a1331iclint 132,aa411,aa  308,aaa 208,132,a>1337clas}s="line" name="L5">31   531a>133=31cl"dri+cods=tap2lEXPORT_SYMBOL"lins="d">tap3>EXPORT_SYMBOL"d">tUT_POOL_WORDS>)ss="line" name="L1">330/a733opt28a13l3iclint 13lass="comment"> * /a x^513las>1332class="line" name="L4">32   4324>133431cl28   628a> * /a x^513las>133egree28   628a>133619 +28   628a>133819 +28   628a> * /a x^213las>133819 +28   628a>13330lass="line" name="L1">330/a733opt28a134/iclint 13rs/char/random.c#L7" 3ii13rs/>1340aaa2#ifdeffp7{ href="driveCONFIG_SYSCTL"lins="d">tap3>CONFIG_SYSCTL0lass="line" name="L1">330/a733opt28a1341iclint 13lass="comment"> * /a x^113las>1347class="line" name="L2">27   227a>1342aaa2#includecclas="line" ninclude/a78ux/sysctr.hchar/randfm.c#Ll78ux/sysctr.haaa2class="line" name="L2">27   227a>1342class="line" name="L4">32   4324> * /a x^613las>134419 +s="d">tintfp7{ href="drivemin_read_tPOOshchar/random.c#Lmin_read_tPOOsh"d">c= 8f>"drivers/char/rmin_write_tPOOshchar/random.c#Lmin_write_tPOOsh"d">ss="line" name="L1">330/a733opt28a1345iclint 13,aa 52,aaaa 39,aaaa 26,a13,aa>134egrees="d">tintfp7{ href="drivemax_read_tPOOshchar/random.c#Lmax_read_tPOOsh"d">c= ns="d">dom.c#_wINPUT_POOL_WORDS"lins="d">tap3>INPUT_POOL_WORDS1claa0 32ss="line" name="L1">330/a733opt28a1346iclint 13"drivers/char/random.c#L13"dr>134619 +s="d">tintfp7{ href="drivemax_write_tPOOshchar/random.c#Lmax_write_tPOOsh"d">c= ns="d">dom.c#_wINPUT_POOL_WORDS"lins="d">tap3>INPUT_POOL_WORDS1claa0 32ss="line" name="L1">330/a733opt28a1347iclint 13vers/char/random.c#L7" 313ver>134819 +s="d">tc31 
p7{ href="drivesysctr_bootidchar/random.c#Lsysctr_bootid"d">[16]ss="line" name="L1">330/a733opt28a1348iclint 13rs/char/random.c#L7" 3i913rs/>13405 + s="line" name="L5">31   531a>134919 +28   628a>135019 + 28class="line" name="L6">28   628a>135119 +clait is, 28class="line" name="L6">28   628a> * /apan>
135=31cl28   628a> *r ehe pur13mme>1352clas28   628a> * Copwellaeoamak13mme>135431cl28   628a> *
135egree28   628a> * Cop(See M. Mat13mme>135619 +28   628a>135819 +28   628a> *135819 +s="d">tintfp7{ href="driveproc_do_uuidchar/random.c#Lproc_do_uuid"d">tUT_POOL_WORDS>tap3>ctr_t"dri1claa0p7{ href="drivet"dri"lins="d">tap3>t"dri1claf>int="drivers/char/rwritechar/random.c#Lwrite"d">,s="line" name="L1">330/a733opt28a13=9iclint 13  
  135919 + x^616 +olword">>>>>>>>>void ns="d">dom.c#_w__userchar/random.c#L__user"d">
0p7{ href="drivebufferchar/random.c#Lbuffer"d">f>UT_POOL_WORDS>tap3>lenp"d">f>UT_POOL_WORDS>
0p7{ href="driveppos"lins="d">tap3>ppos1cla)s="line" name="L6">31   631a>
136"aaa2ss="line" name="L6">31   631a>/*1361aaa2 }, hrefp7{ href="drivectr_t"dri"lins="d">tap3>ctr_t"dri1claans="d">dom.c#_wfake_t"dri"lins="d">tap3>fake_t"dri"d">ss="line" name="L1">330/a733opt28a1362iclint 13mment"> * rapan>
13 =31claaaaaaaa8id="L1" c31 
p7{ href="drivebufchar/random.c#Lbuf"d">[64]f>UT_POOL_WORDS>[16],
0p7{ href="driveuuidchar/random.c#Luuid"d">ss="line" name="L1">330/a733opt28a1363iclint 13mment"> *1362class="line" name="L4">32   4324> * Cop"  facn it 13mme>136419 + x^616 +p7{ href="driveuuidchar/random.c#Luuid"d">c= ns="d">dom.c#_wt"dri"lins="d">tap3>t"dri1cla-clasns="d">dom.c#_wdata"lins="d">tap3>data"d">ss="line" name="L1">330/a733opt28a1365iclint 13mment"> *136519 + x^616 +clat!"dri+cods=tap2luuidchar/random.c#Luuid"d">) ss="line" name="L6">31   631a> * Cops)aypperiod13mme>136619 + x^616 +olword">p7{ href="driveuuidchar/random.c#Luuid"d">c= ns="d">dom.c#_wtmp_uuidchar/random.c#Ltmp_uuid"d">ss="line" name="L1">330/a733opt28a1367iclint 13  
  
13 819 + x^616 +olword">ns="d">dom.c#_wgener"de_r628om_uuidchar/random.c#Lgener"de_r628om_uuid"d">t"dri+cods=tap2luuidchar/random.c#Luuid"d">)ss="line" name="L1">330/a733opt28a1368iclint 13mment"> *136819 + x^616 +} else ss="line" name="L6">31   631a>136919 + x^616 +olword">s="d">tUT_POOL_WORDS>t"dri+cods=tap2lbootid_spinlQckchar/random.c#Lbootid_spinlQck"d">)ss="line" name="L1">330/a733opt28a137/iclint 13  
  137 grees="line" name="L7 6348/a7348>/*137119 + x^616 +olword">UT_POOL_WORDS>tn>
)ss="line" name="L1">330/a733opt28a1372iclint 13mment"> * /apan>
137=31claaaaaaaaaaax^307clat!"dri+cods=tap2luuidchar/random.c#Luuid"d">[8])s="line" name="L6">31   631a> *137319 + x^616 +olword">olword">ns="d">dom.c#_wgener"de_r628om_uuidchar/random.c#Lgener"de_r628om_uuid"d">t"dri+cods=tap2luuidchar/random.c#Luuid"d">)ss="line" name="L1">330/a733opt28a1374iclint 13mment"> * Co/pan>
137419 + x^616 +olword">"drivers/char/repin_unlQckchar/random.c#Lepin_unlQck"d">tn>
)ss="line" name="L1">330/a733opt28a1375iclint 13="dri+cods=INPUT_POOL_WO13="d>137519 + x^616 +}s="line" name="L5">31   531a>137619 +s="line" name="L1">330/a733opt28a1377iclint 13="dri+cods=SEC_XFER_SIZE13="d>137819 + x^616 +"drivers/char/repid=tfchar/random.c#Lepid=tf"d">t"dri+cods=tap2lbufchar/random.c#Lbuf"d">,+"%pU" 28clasf>UT_POOL_WORDS>)ss="line" name="L1">330/a733opt28a1378iclint 13="dri+cods=EXTRACT_SIZEl13="d>13705 + s="line" name="L5">31   531a>1379aaa2 }, hrefp7{ href="drivefake_t"dri"lins="d">tap3>fake_t"dri"d">.ns="d">dom.c#_wdata"lins="d">tap3>data"d">c= ns="d">dom.c#_wbufchar/random.c#Lbuf"d">ss="line" name="L1">330/a733opt28a138/iclint 13="dri+cods=LONGSlass="li13="d>1380aaa2 }, hrefp7{ href="drivefake_t"dri"lins="d">tap3>fake_t"dri"d">.ns="d">dom.c#_wmaxlenchar/random.c#Lmaxlen"d">c= eizeoft)ss="line" name="L1">330/a733opt28a1381iclint 13rs/char/random.c#L7" 28i13rs/>1387class="line" name="L2">27   227a> * /apan>
138=31claaaaaaaareturnP"drivers/char/rproc_do2iid=""har/random.c#Lproc_do2iid=""d">tn>
tap3>fake_t"dri"d">f6"dri+cods=tap2lwritechar/random.c#Lwrite"d">,="drivers/char/rbufferchar/random.c#Lbuffer"d">f>UT_POOL_WORDS>tap3>lenp"d">f>UT_POOL_WORDS>tap3>ppos1cla)ss="line" name="L1">330/a733opt28a1383iclint 13mment"> *138319 +}s="line" name="L5">31   531a> * Cop/devndom.c#13mme>138419 +s="line" name="L5">31   531a> *
138egrees="d">tintfp7{ href="drivesysctr_p"drsizechar/random.c#Lsysctr_p"drsize"d">c= ns="d">dom.c#_wINPUT_POOL_WORDS"lins="d">tap3>INPUT_POOL_WORDS1claa0 32ss="line" name="L1">330/a733opt28a1386iclint 13ref="dri+cods=dom.c#_rea13ref>138619 +externP"drivers/char/rctr_t"dri"lins="d">tap3>ctr_t"dri1claans="d">dom.c#_wr628om_t"dri"lins="d">tap3>r628om_t"dri"d">[]ss="line" name="L1">330/a733opt28a1387iclint 13rs/char/random.c#L7" 28813rs/>138819 +"drivers/char/rctr_t"dri"lins="d">tap3>ctr_t"dri1claans="d">dom.c#_wr628om_t"dri"lins="d">tap3>r628om_t"dri"d">[]c= ss="line" name="L6">31   631a> *
138819 + x^616 +ss="line" name="L6">31   631a> r13  
>138919 + x^616 +olword">.ns="d">dom.c#_wproche ""har/random.c#Lproche "19 + x^616 =+"p"drsize" 28clasfs="line" name="L6">31   631a>139 19 + x^616 +olword">.ns="d">dom.c#_wdata"lins="d">tap3>data"d">ccccccccccc=fn>
fs="line" name="L6">31   631a>/*139119 + x^616 +olword">.ns="d">dom.c#_wmaxlenchar/random.c#Lmaxlen"d">ccccccccc=feizeoftint)fs="line" name="L6">31   631a> * ra/pan>
139=31claaaaaaaaaaax^307.ns="d">dom.c#_wmc#_char/random.c#Lmc#_"d">ccccccccccc=f0444fs="line" name="L6">31   631a>.ns="d">dom.c#_wproc_h631lerchar/random.c#Lproc_h631ler19 + x^= ns="d">dom.c#_wproc_dointvecchar/random.c#Lproc_dointvec"d">fs="line" name="L6">31   631a>139419 + x^616 +}fs="line" name="L6">31   631a> *
139519 + x^616 +ss="line" name="L6">31   631a> * CopWhen ehe in13mme>139619 + x^616 +olword">.ns="d">dom.c#_wproche ""har/random.c#Lproche "19 + x^616 =+"en wepa_avail" 28clasfs="line" name="L6">31   631a>139819 + x^616 +olword">.ns="d">dom.c#_wmaxlenchar/random.c#Lmaxlen"d">ccccccccc=feizeoftint)fs="line" name="L6">31   631a> *
139819 + x^616 +olword">.ns="d">dom.c#_wmc#_char/random.c#Lmc#_"d">ccccccccccc=f0444fs="line" name="L6">31   631a>139919 + x^616 +olword">.ns="d">dom.c#_wproc_h631lerchar/random.c#Lproc_h631ler19 + x^= ns="d">dom.c#_wproc_dointvecchar/random.c#Lproc_dointvec"d">fs="line" name="L6">31   631a>140 19 + x^616 +olword">.ns="d">dom.c#_wdata"lins="d">tap3>data"d">ccccccccccc=fn>
.ns="d">dom.c#_wen wepaivers/char/random.c#Len wepaivers/1clafs="line" name="L6">31   631a>/*1401aaa2 }, href}fs="line" name="L6">31   631a> * ra/pan>
140=31claaaaaaaass="line" name="L6">31   631a>.ns="d">dom.c#_wproche ""har/random.c#Lproche "19 + x^616 =+"read_wakeup_tPOOshold" 28clasfs="line" name="L6">31   631a>140419 + x^616 +olword">.ns="d">dom.c#_wdata"lins="d">tap3>data"d">ccccccccccc=fn>
tap3>r628om_read_wakeup_tPOOsh1clafs="line" name="L6">31   631a> *
140519 + x^616 +olword">.ns="d">dom.c#_wmaxlenchar/random.c#Lmaxlen"d">ccccccccc=feizeoftint)fs="line" name="L6">31   631a> * CopWhen ehe in14cme>140619 + x^616 +olword">.ns="d">dom.c#_wmc#_char/random.c#Lmc#_"d">ccccccccccc=f0644fs="line" name="L6">31   631a>140819 + x^616 +olword">.ns="d">dom.c#_wproc_h631lerchar/random.c#Lproc_h631ler19 + x^= ns="d">dom.c#_wproc_dointvec_minmaxchar/random.c#Lproc_dointvec_minmax1clafs="line" name="L6">31   631a> *
140819 + x^616 +olword">.ns="d">dom.c#_wextra1char/random.c#Lextra1"d">ccccccccc=fn>
fs="line" name="L6">31   631a>140919 + x^616 +olword">.ns="d">dom.c#_wextra2char/random.c#Lextra2"d">ccccccccc=fn>
fs="line" name="L6">31   631a>1410aaa2 }, href}fs="line" name="L6">31   631a>/*
1411aaa2 }, hrefss="line" name="L6">31   631a>dom.c#_wproche ""har/random.c#Lproche "19 + x^616 =+"write_wakeup_tPOOshold" 28clasfs="line" name="L6">31   631a>141319 + x^616 +olword">.ns="d">dom.c#_wdata"lins="d">tap3>data"d">ccccccccccc=fn>
tap3>r628om_write_wakeup_tPOOsh"d">fs="line" name="L6">31   631a>.ns="d">dom.c#_wmaxlenchar/random.c#Lmaxlen"d">ccccccccc=feizeoftint)fs="line" name="L6">31   631a>141519 + x^616 +olword">.ns="d">dom.c#_wmc#_char/random.c#Lmc#_"d">ccccccccccc=f0644fs="line" name="L6">31   631a> * /a x^114las>141619 + x^616 +olword">.ns="d">dom.c#_wproc_h631lerchar/random.c#Lproc_h631ler19 + x^= ns="d">dom.c#_wproc_dointvec_minmaxchar/random.c#Lproc_dointvec_minmax1clafs="line" name="L6">31   631a>141819 + x^616 +olword">.ns="d">dom.c#_wextra1char/random.c#Lextra1"d">ccccccccc=fn>
fs="line" name="L6">31   631a> * /a x^314las>141819 + x^616 +olword">.ns="d">dom.c#_wextra2char/random.c#Lextra2"d">ccccccccc=fn>
fs="line" name="L6">31   631a>1419aaa2 }, href}fs="line" name="L6">31   631a>1420aaa2 }, hrefss="line" name="L6">31   631a> * /a x^214las>142119 + x^616 +olword">.ns="d">dom.c#_wproche ""har/random.c#Lproche "19 + x^616 =+"boot_id" 28clasfs="line" name="L6">31   631a>142=31claaaaaaaaaaax^307.ns="d">dom.c#_wdata"lins="d">tap3>data"d">ccccccccccc=fn>
fs="line" name="L6">31   631a>142319 + x^616 +olword">.ns="d">dom.c#_wmaxlenchar/random.c#Lmaxlen"d">ccccccccc=f16fs="line" name="L6">31   631a> * /a x^114las>142419 + x^616 +olword">.ns="d">dom.c#_wmc#_char/random.c#Lmc#_"d">ccccccccccc=f0444fs="line" name="L6">31   631a>142519 + x^616 +olword">.ns="d">dom.c#_wproc_h631lerchar/random.c#Lproc_h631ler19 + x^= ns="d">dom.c#_wproc_do_uuidchar/random.c#Lproc_do_uuid"d">fs="line" name="L6">31   631a>14269 + x^307 + }fs="line" name="L6">31   631a> * /a x^114las>142719 + x^616 +ss="line" name="L6">31   631a>142819 + x^616 +olword">.ns="d">dom.c#_wproche ""har/random.c#Lproche "19 + x^616 =+"uuid" 28clasfs="line" name="L6">31   631a>142919 + x^616 +olword">.ns="d">dom.c#_wmaxlenchar/random.c#Lmaxlen"d">ccccccccc=f16fs="line" name="L6">31   631a> * /a x^514las>143 19 + x^616 +olword">.ns="d">dom.c#_wmc#_char/random.c#Lmc#_"d">ccccccccccc=f0444fs="line" name="L6">31   631a>143119 + x^616 +olword">.ns="d">dom.c#_wproc_h631lerchar/random.c#Lproc_h631ler19 + x^= ns="d">dom.c#_wproc_do_uuidchar/random.c#Lproc_do_uuid"d">fs="line" name="L6">31   631a>14329 + x^307 + }fs="line" name="L6">31   631a> * /a x^514las>143319 + x^616 +{+}s="line" name="L5">31   531a>143431cl}ss="line" name="L1">330/a733opt28a14l5iclint 14lass="comment"> * /a x^514las>143egree#endif0728   628a>143619 +s="line" name="L1">330/a733opt28a14l7iclint 14rs/char/random.c#L7" 3i814rs/>143819 +s="d">tUT_POOL_WORDS>[tap3>MD5_MESSAGE_BYTES9 + x/ 4] ns="d">dom.c#_w____cachedom._al="L1""lins="d">tap3>____cachedom._al="L1""d">ss="line" name="L1">330/a733opt28a14l8iclint 14lass="comment"> * /a x^214las>14305 + s="line" name="L5">31   531a>14330lass="d">tintfp7{ href="drive__ nit"lins="d">tap3>__ nit9 + xtap3> 631a>_int_secre/_ nit"d">tvoid)s="line" name="L6">31   631a>144"aaa2ss="line" name="L6">31   631a> * /a x^114las>1441aaa2 }, hrefp7{ href="driveget_r628om_byte/"lins="d">tap3>get_r628om_byte/"d">tUT_POOL_WORDS>< 631a>_int_secre/char/random.c#L 631a>_int_secre/"d">, eizeoft))ss="line" name="L1">330/a733opt28a1442iclint 148,  103,aaaa78,aaaa 51,a148, >144=31claaaaaaaareturnP0ss="line" name="L1">330/a733opt28a1443iclint 14rs/char/random.c#L7" 3ii14rs/>144319 +}s="line" name="L5">31   531a> * /a x^614las>144419 +UT_POOL_WORDS>tap3>l"de_ nitcall"d">tUT_POOL_WORDS>< 631a>_int_secre/_ nit"lins="d">tap3> 631a>_int_secre/_ nit"d">)ss="line" name="L1">330/a733opt28a1445iclint 14,aa 52,aaaa 39,aaaa 26,a14,aa>144egrees="line" name="L7 6348/a7348>144619 +28   628a>144819 +28   628a>144819 + 28class="line" name="L6">28   628a>144919 +28   628a>145019 +28   628a>145119 +28   628a> * /apan>
145219 +s="d">tUT_POOL_WORDS>tap3>DEFINE_PER_CPU"d">tUT_POOL_WORDS><__u32char/random.c#L__u3231cla[tap3>MD5_DIGEST_WORDS31cl]f>UT_POOL_WORDS>)ss="line" name="L1">330/a733opt28a14=3iclint 14mment"> *r ehe pur14mme>1452clas8id="L1" intfp7{ href="driveget_r628om_intchar/random.c#Lget_r628om_int"d">tvoid)s="line" name="L6">31   631a> * Copwellaeoamak14mme>145431clss="line" name="L6">31   631a> *
1455aaa2 }, hrefp7{ href="drive__u32char/random.c#L__u3231cla0p7{ href="drivehashchar/random.c#Lhash"d">ss="line" name="L1">330/a733opt28a14=6iclint 14mment"> * Cop(See M. Mat14mme>14569 + x^307 + 8id="L1" intfp7{ href="drivere/char/random.c#L e/"d">ss="line" name="L1">330/a733opt28a14=7iclint 14  
  145819 +s="line" name="L1">330/a733opt28a14=8iclint 14mment"> *145819 + x^616 +clatUT_POOL_WORDS>tn>
))s="line" name="L6">31   631a>145919 + x^616 +olword">returnP"drivers/char/rretchar/random.c#L e/"d">ss="line" name="L1">330/a733opt28a146/iclint 14  
  
146 grees="line" name="L7 6348/a7348>/*1461aaa2 }, hrefp7{ href="drivehashchar/random.c#Lhash"d">^= ns="d">dom.c#_wget_cpu_varchar/random.c#Lget_cpu_var"d">tUT_POOL_WORDS>)ss="line" name="L1">330/a733opt28a1462iclint 14mment"> * rapan>
14 =31cls="line" name="L1">330/a733opt28a1463iclint 14mment"> *1463aaa2 }, hrefp7{ href="drivehashchar/random.c#Lhash"d">[0] += ns="d">dom.c#_wcurrentchar/random.c#Lcurrent"d">-clasns="d">dom.c#_wpidchar/random.c#Lpid"d">c+ ns="d">dom.c#_wjiffie/"lins="d">tap3>jiffie/"d">c+ ns="d">dom.c#_wget_cycle/"lins="d">tap3>get_cycle/"d">t)ss="line" name="L1">330/a733opt28a1464iclint 14mment"> * Cop"  facn it 14mme>146419 + x^616 +p7{ href="drivemd5_ta73sformchar/random.c#Lmd5_ta73sform"d">tUT_POOL_WORDS>f>UT_POOL_WORDS>< 631a>_int_secre/char/random.c#L 631a>_int_secre/"d">)ss="line" name="L1">330/a733opt28a1465iclint 14mment"> *1465aaa2 }, hrefp7{ href="driveretchar/random.c#L e/"d">^= ns="d">dom.c#_whashchar/random.c#Lhash"d">[0]ss="line" name="L1">330/a733opt28a1466iclint 14"L6">31   631a>146t 13lass="comment"> * /a x^213las>133819 +_int_secre/"d">)ss="line" name="L1">330/a733opt28a14emd5_ta73sformchar/r82name="L1">330/a733opt28a1463iclint 14mment"> *148om_uuid"d">t"dri+cods=ta42luui46arch_get_r628om_intchar/random.c#Larch_g136919 + x^416 +o4word">s="d">tUef14  
>146 grees="line" name="L7 6348/a7348>/*t"dri+cods=tap2l4ootid4spinlQns="d">tap3>l"de_ nitcall"d">tUT_POOtpt13mme>147119 + x^616 +olword">UT_4OOL_W4RDS>tn>
 UUID 28class="line" name=4s="line" n4me="L6">31   631a> *line" vepplinge()Uef14  randt"dri4cods=4731cltn>
<428   628a>28   628a>,+28   628a>lens="d">d28   628a>1314="7" 29wise*line" vepd" 28class="line" name="L6">28   628a>dom.c#_4data"lins="d">tap3>data"d4>c= n47name="L6">28   628a>tap3>DEFINE_PER_CPU"dd">dom.c#_4maxlenchar/random.c#Lmaxl4n"d">4= eizemsacn va1long_CPU"lins="d">tap3>DEFINE_PER_CPU"ddtn>
 *31   ndint 14msacn va1longPUT_POOL_WORDS1cs>143 19 + x^616 +ord">.n/char/rretchar/random.c#L e/"d">ss="id=""d">tn4
r/random.c#L__u3231cla0p7{ href="drim.c#13mme>438419 +s="line" name="L5"431   48s="d">dom.c#_msacn va1longPUT_POOL_WORDS1clinge65aaa2 }, hrefp7{ g6iclint 13ref="dri+codsen  name="L6">31   ndint  -PUT_POOL_WORDS1cs>143 19 + x^616 +ord">.n -PUT_POOL_WORDS1clsprt+ x^616 +olword"sprtint p 1461iclint 14mment">/*148egrees="d">tintfp7{ href4"driv4sysctr_p"drsizechar/random.c#Lsysctr_p"d4size"d">c=4ns="d">dom.c#_wINPUT_POOL4WORDS48 * Cops)aypperiod13ref="dri+codsen  name="L6">31   ndint  13rst 13ref="dri+codslsprt+ x^616 +olword"sprtint Cop"  facn it 14mms>143 19 + x^616 +ord">.n/char/rretchar/random.c#L e/"d">ss="iZE13="d>148om_t"dri"lins="d">tap3>r428om_48nmaxchar/random.c#Lpr  531a> * /awr628om_t"4ri"lins="d">tap3>r628om_t4dri"d487rd">s="d">tUef14  
>146 grees="linP30/aALIGN43 19 + x^616 +P30/aALIGN="line" name="L1">330/a733opt28a1445431clss="line" name="L6">31   63) i+codPUT_POOL_WORDS1clinge65aaa2 }, hrefp7{ g6iclinop"  facn it 14mmlsprt+ x^616 +olword"sprtint 28a1463iclint 14mment"> *4r13  
>138919 + x^616 +ol4ord">4ns="d"ns="d">tap3>l"de_ nitcall"d">tUT_POO x^616 =+<4/random.c#L2iid="">"4"drsi4e"


mentorigi 3i9LXR softwad>14ya2 },="d">tap3http://source/"dge.net/projects/lxr">LXR a> tap3mailto:lxr@lme=".no +oxr@lme=".noint .
oxr.lme=".no kindly hostva1by ="d">tap3http://www.redpill-lmepro.no +Redpill Lmepro ASint 14provcderi+coLme=" andoult/ranand lint 13c service sipan>1995.