linux/crypto/gcm.c
<<
9.5" /spaion /formon a 9.5" href="../linux+v3 v8/crypto/gcm.c">9.5" img src="../.static/gfx/right.png" alt=">>">9. /spaion9. spai class="lxr_search">9.5"9.5" input typluehidden" namluenavtarget" n value">9.5" input typluetext" namluesearch" iduesearch">9.5" butttiotypluesubmit">Search9.5" Prefsn /a>9. /spaion5" /divon5" form acopti="ajax+*" method="post" onsubmit="return false;">9. input typluehidden" namlueajax_lookup" idueajax_lookup" n value">95" /formon95" div class="headingbotttm">n div iduefile_contents"o
 
1 /a> spai class="comment">/* /spaion
 
2 /a> spai class="comment"> * GCM: Galois/Counter Mode. /spaion
 
3 /a> spai class="comment"> * /spaion
 
4 /a> spai class="comment"> * Copyright (c) 2007 Nokia Siemens Networks - Mikko Herranen <mh1@iki.fi> /spaion
 
5 /a> spai class="comment"> * /spaion
 
6 /a> spai class="comment"> * This program is free software; you cai redistribute it and/or modify it /spaion
 
7 /a> spai class="comment"> * under the terms of the GNU General Public License versptio2 as published /spaion
 
8 /a> spai class="comment"> * by the Free Software Foundaopti. /spaion
 
9 /a> spai class="comment"> */ /spaion
 8.11aon
 11 /a>#include <crypto/gf128mul.h /a>>n
 12 /a>#include <crypto/internal/aead.h /a>>n
 13 /a>#include <crypto/internal/skcipher.h /a>>n
 14 /a>#include <crypto/internal/hash.h /a>>n
 15 /a>#include <crypto/scatterwalk.h /a>>n
 16 /a>#include <crypto/hash.h /a>>n
 17 /a>#include "internal.h /a>"n
 18 /a>#include <linux/compleopti.h /a>>n
 19 /a>#include <linux/err.h /a>>n
 20 /a>#include <linux/init.h /a>>n
 21 /a>#include <linux/kernel.h /a>>n
 22 /a>#include <linux/module.h /a>>n
 23 /a>#include <linux/slab.h /a>>n
 2411aon
 25 /a>struct
 a href="+code=gcm_instance_ctx" class="sref">gcm_instance_ctx /a> {n
 26 /a>        struct
 a href="+code=crypto_skcipher_spawn" class="sref">crypto_skcipher_spawn /a>  a href="+code=ctr" class="sref">ctr /a>;n
 27 /a>        struct
 a href="+code=crypto_ahash_spawn" class="sref">crypto_ahash_spawn /a>  a href="+code=ghash" class="sref">ghash /a>;n
 28 /a>};n
 2911aon
 30 /a>struct
 a href="+code=crypto_gcm_ctx" class="sref">crypto_gcm_ctx /a> {n
 31 /a>        struct
 a href="+code=crypto_ablkcipher" class="sref">crypto_ablkcipher /a> * a href="+code=ctr" class="sref">ctr /a>;n
 32 /a>        struct
 a href="+code=crypto_ahash" class="sref">crypto_ahash /a> * a href="+code=ghash" class="sref">ghash /a>;n
 33 /a>};n
 3411aon
 35 /a>struct
 a href="+code=crypto_rfc4106_ctx" class="sref">crypto_rfc4106_ctx /a> {n
 36 /a>        struct
 a href="+code=crypto_aead" class="sref">crypto_aead /a> * a href="+code=child" class="sref">child /a>;n
 37 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=nonce" class="sref">nonce /a>[4];n
 38 /a>};n
 3911aon
 40 /a>struct
 a href="+code=crypto_rfc4543_ctx" class="sref">crypto_rfc4543_ctx /a> {n
 41 /a>        struct
 a href="+code=crypto_aead" class="sref">crypto_aead /a> * a href="+code=child" class="sref">child /a>;n
 42 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=nonce" class="sref">nonce /a>[4];n
 43 /a>};n
 4411aon
 45 /a>struct
 a href="+code=crypto_rfc4543_req_ctx" class="sref">crypto_rfc4543_req_ctx /a> {n
 46 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=auth_tag" class="sref">auth_tag /a>[16];n
 47 /a>        struct
 a href="+code=scatterlist" class="sref">scatterlist /a>  a href="+code=cipher" class="sref">cipher /a>[1];n
 48 /a>        struct
 a href="+code=scatterlist" class="sref">scatterlist /a>  a href="+code=payload" class="sref">payload /a>[2];n
 49 /a>        struct
 a href="+code=scatterlist" class="sref">scatterlist /a>  a href="+code=assoc" class="sref">assoc /a>[2];n
 50 /a>        struct
 a href="+code=aead_request" class="sref">aead_request /a>  a href="+code=subreq" class="sref">subreq /a>;n
 51 /a>};n
 5211aon
 53 /a>struct
 a href="+code=crypto_gcm_ghash_ctx" class="sref">crypto_gcm_ghash_ctx /a> {n
 54 /a>        unsigned int
 a href="+code=cryptlen" class="sref">cryptlen /a>;n
 55 /a>        struct
 a href="+code=scatterlist" class="sref">scatterlist /a> * a href="+code=src" class="sref">src /a>;n
 56 /a>        void (* a href="+code=compleoe" class="sref">compleoe /a>)(struct
 a href="+code=aead_request" class="sref">aead_request /a> * a href="+code=req" class="sref">req /a>, int
 a href="+code=err" class="sref">err /a>);n
 57 /a>};n
 5811aon
 59 /a>struct
 a href="+code=crypto_gcm_req_priv_ctx" class="sref">crypto_gcm_req_priv_ctx /a> {n
 60 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=auth_tag" class="sref">auth_tag /a>[16];n
 61 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=iauth_tag" class="sref">iauth_tag /a>[16];n
 62 /a>        struct
 a href="+code=scatterlist" class="sref">scatterlist /a>  a href="+code=src" class="sref">src /a>[2];n
 63 /a>        struct
 a href="+code=scatterlist" class="sref">scatterlist /a>  a href="+code=dst" class="sref">dst /a>[2];n
 64 /a>        struct
 a href="+code=crypto_gcm_ghash_ctx" class="sref">crypto_gcm_ghash_ctx /a>  a href="+code=ghash_ctx" class="sref">ghash_ctx /a>;n
 65 /a>        unptio{n
 66 /a>                struct
 a href="+code=ahash_request" class="sref">ahash_request /a>  a href="+code=ahreq" class="sref">ahreq /a>;n
 67 /a>                struct
 a href="+code=ablkcipher_request" class="sref">ablkcipher_request /a>  a href="+code=abreq" class="sref">abreq /a>;n
 68 /a>        }  a href="+code=u" class="sref">u /a>;n
 69 /a>};n
 7.11aon
 71 /a>struct
 a href="+code=crypto_gcm_setkey_result" class="sref">crypto_gcm_setkey_result /a> {n
 72 /a>        int
 a href="+code=err" class="sref">err /a>;n
 73 /a>        struct
 a href="+code=compleopti" class="sref">compleopti /a>  a href="+code=compleopti" class="sref">compleopti /a>;n
 74 /a>};n
 7511aon
 76 /a>static void * a href="+code=gcm_zeroes" class="sref">gcm_zeroes /a>;n
 7711aon
 78 /a>static  a href="+code=inline" class="sref">inline /a> struct
 a href="+code=crypto_gcm_req_priv_ctx" class="sref">crypto_gcm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypto_gcm_reqctx /a>(n
 79 /a>        struct
 a href="+code=aead_request" class="sref">aead_request /a> * a href="+code=req" class="sref">req /a>)n
 8.11ao{n
 81 /a>        unsigned long
 a href="+code=align" class="sref">align /a> =
 a href="+code=crypto_aead_alignmask" class="sref">crypto_aead_alignmask /a>( a href="+code=crypto_aead_reqtfm" class="sref">crypto_aead_reqtfm /a>( a href="+code=req" class="sref">req /a>));n
 8211aon
 83 /a>        return (void *) a href="+code=PTR_ALIGN" class="sref">PTR_ALIGN /a>(( a href="+code=u8" class="sref">u8 /a> *) a href="+code=aead_request_ctx" class="sref">aead_request_ctx /a>( a href="+code=req" class="sref">req /a>),
 a href="+code=align" class="sref">align /a> + 1);n
 84 /a>}n
 8">
 76 /a>static void * a hre86" idueL86" class="line" namlueL767>
 768/a>static void *  href="+code=crypto_gcm_setkey_rene" idass="sref">crypto_gcm_setkey_rene" a>( aruct
 a href="+code=crypto_aeasyncequest" class="sref">aeypto_aeasyncequest" a> * a href="+code=req" class="sref">req /a>, int
 a href="+code=err" class="sref">err /a>);n/a>static void * a hre86" idueL778 class="line" namlueL778>
 7787ao{n>
 788/a>        struct
 a href="+code=scypto_gcm_setkey_result" class="sref">crypto_gcm_setkey_result /a> {na href="+code=req"lt" class="sref">crsult /a> {n a href="+code=crq" class="sref">req /a>, -t; /shref="+code=dstataclass="sref">dstataa>;n
 7981aon
 8.9/a>         aif a href="+code=rer" class="sref">err /a>); == - href="+code=reEINPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL819 class="line" namlueL819>
 819/a>        un      return (
 8291aon
 839/a>        re href="+code=req"lt" class="sref">crsult /a> {-t; /shref="+code=dsr" class="sref">err /a>); =a href="+code=err" class="sref">err /a>;n
 8494a>        re href="+code=rempleoe" class="sref">compleoe /a>)((&/shref="+code=dsq"lt" class="sref">crsult /a> {-t; /shref="+code=dsmpleopti" class="sref">compleopti /a>;nn
 8"95a>}n
 7696aon
 7797a>static vot
 a href="+code=cryptlegcm_setkey_rclass="sref">crypto_gcm_setkey_ra>( aruct
 a href="+code=crypto_aead" class="sref">crypto_aead /a> * a href="+code=chad" class="sref">crad /a> *, cons a href="+code=cr" class="sref">u8 /a> *)  href="+code=cry_rclass="sref">cry_ra>( ,a href="crypto/gcm.c#L839 idueL8"9 class="line" namlueL8"9>
 7898a>        un      reeeeeeeeeeeeeesigned int
 a href="+code=cry_rn" class="sref">cry_rn" a>);n/a>static void * a hre869 idueL9"  class="line" namlueL9">>
 7999ao{n>
 8">>a>        struct
 a href="+code=scypto_gcm_sex" class="sref">crypto_gcm_ctx /a> {na href="+code=ctr" class="sref">cry /a> {n a href="+code=crypto_aead_alx" class="sref">crypto_gcad_alx" a>( a href="+code=read" class="sref">crad /a> *n/a>        struct
 a href="+code=crypto_aeash" class="sref">crypto_ahash /a> * a href="+code=ghash" class="sref">ghash /a>;nn a href="+code=cry" class="sref">cry /a> {-t; /shref="+code=dsash" class="sref">ghash /a>;n/a>        struct
 a href="+code=crypto_ahakcipher" class="sref">crypto_ablkcipher /a> * a href="+code=ctr" class="sref">ctr /a>;nn a href="+code=cry" class="sref">cry /a> {-t; /shref="+code=dsr" class="sref">ctr /a>;n/a>        struct
 a4a>        un      reshref="+code=dsbe12 class="sref">u8be12 a>  a href="+code=cosh" class="sref">ghsh /a>;n5a>        un      reshref="+code=ds" class="sref">u8 /a>  a href="+code=iauvclass="sref">inlva>[2]8n6aon/a>                struct
 a href="+code=abypto_gcm_setkey_result" class="sref">crypto_gcm_setkey_result /a> {nshref="+code=dsq"lt" class="sref">crsult /a> {1aon9a>                struct
 a href="+code=abatterlist" class="sref">scatterlist /a>  a href="+code=src class="sref">ias/a>[16]n
 8110a>                struct
 a href="+code=ablkcipher_request" class="sref">ablkcipher_request /a>  a href="+code=abq" class="sref">req /a>, 1
 8"1/a>        st} a href="+code=cttataclass="sref">dstataa>;n
 111/a>        int
 a href="+code=err" class="sref">err /a>;n
 11 /a>#ia href="crypto/gcm.c#L731" idueL14"" class="line" namlueL14"">
 1114a>        re href="+code=rempto_ablkcipher /_clear_flag class="sref">gcmpto_ablkcipher /_clear_flag a>( a href="+code=cry" class="sref">ctr /a>;n a href="+code=alCRYPTO_TFM_REQ_MASKclass="sref">ctCRYPTO_TFM_REQ_MASKa> *n
 1115a>        re href="+code=rempto_ablkcipher /_tke_flag class="sref">gcmpto_ablkcipher /_tke_flag a>( a href="+code=cry" class="sref">ctr /a>;n a href="+code=alypto_gcad_algke_flag class="sref">gcmpto_abld_algke_flag a>( a href="+code=read" class="sref">crad /a> *n &/a href="crypto/gcm.c#L841" idueL16"" class="line" namlueL16"">
 111/a>                stttttttttttttttttttt href="+code=alCRYPTO_TFM_REQ_MASKclass="sref">ctCRYPTO_TFM_REQ_MASKa> *n
 1111aon
 1118a>        re href="+code=rer" class="sref">err /a>); =a href="+code=ermpto_ablkcipher /_tkey_rclass="sref">crypto_gclkcipher /_tkey_ra>( a href="+code=cry" class="sref">ctr /a>;n a href="+code=aly_rclass="sref">cry_ra>( ,a href="+code=cry_rn" class="sref">cry_rn" a>);n
 1119a>          if a href="+code=rer" class="sref">err /a>);n/a>static void * a hre861" idueL201" class="line" namlueL201">
 2120a>                stturn (v href="+code=err" class="sref">err /a>;n
 21 /a>#ia href="crypto/gcm.c#L731" idueL12"  class="line" namlueL12">>
 112/a>         a href="+code=u8mpto_abld_altke_flag class="sref">gcmpto_abld_altke_flag a>( a href="+code=read" class="sref">crad /a> * a href="+code=alypto_gcakcipher /_gke_flag class="sref">gcmpto_ablkcipher /_gke_flag a>( a href="+code=cry" class="sref">ctr /a>;nn &/a href="crypto/gcm.c#L841" idueL231" class="line" namlueL231">
 2123a>                stttttttttttttttttttttttt href="+code=alCRYPTO_TFM_RES_MASKclass="sref">ctCRYPTO_TFM_RES_MASKa> *n
 2111aon
 2125a>        re href="+code=retataclass="sref">dstataa>;n =a href="+code=erkzall" class="sref">askzall" a>( arizeof a href="+code=cotataclass="sref">dstataa>;n) +a href="+code=alypto_gcakcipher /_q /rizeclass="sref">gcmpto_ablkcipher /_q /rizea>( a href="+code=cry" class="sref">ctr /a>;nn,a href="crypto/gcm.c#L831" idueL261" class="line" namlueL261">
 212/a>                stttttttt href="+code=crGFP_KERNELclass="sref">ctGFP_KERNELa> *n
 21 /a>        stif a! href="+code=cotataclass="sref">dstataa>;n)a href="crypto/gcm.c#L841" idueL18"" class="line" namlueL281">
 212 a>  a             stturn (v- href="+code=reENOMEMclass="sref">erENOMEMa>;n
 includm.c#L83" idueL83" class="line" namlueL2pto_gcm_setkey_r " class="sref">u8 /a> *) a href="+code"linerypto13ss="sref">u8 /a>  a href="+cc#L2_ /a>;nncrsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;ncompleopti /a>;nn
 31 /a1>        struct
 a href=1"+cod13ss="sref">u8 /a>  a href="+csg_c#L2__rene" a>( aruct
 sg_c#L2__ref">ctr /a>;nn,a hreff="crypto/gcm.c#L841" idueLf">ctr /a>;ncrsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n>crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n
 32 /a1>        struct
 a href=1"+cod13abld_altke_flag class="sref"de=abq" class="sre clasm /a>( a href="+code=abq" class="sre clasm /ass="sref">crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n
 13 /a>##include <crsult /a> {-tde=abq" class="sre clasctatbacsk /a>( a href="de=abq" class="sre clasctatbacsass="sref">crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n
 2111onttt href="+code=alCRYPTO_TFM_RES_MASKclass="sref">ctCRYPTO_TFM_RL841Y_BACKLOGKa> *n
 35 /a1>struct
 a href="+code=c1rypto13=ds" class="sref">u8 ode=alCRYPTO_TFM_RES_MASKclass="sref">c">crypto_gcm_setkey_rene" a>( aruct
 a href="+code=crypto_aeasy"9 class="line" namlueL8"1"1">
 212/>        struct
 a href=1"+cod13ttttttt href="+code=alCRYPTO_TFM_REQ_MASSSSSSsref">crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n
 21 />         a href="+code=1u8" c1ass="sref">u8 /a>  a href="+cde=abq" class="sre clascne" k /a>( a href="de=abq" class="sre clascne" ass="sref">crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;nctr /a>;n;nn,a hreff="crypto/gcm.c#L841" idueLf">ctr /a>;n
 212 >};n>crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n;nn,a hreff="crypto/gcm.c#L841" idueLf">ctr /a>;n
 40 /a1>struct
 a href="+code=c1rypto14ss="sref">u8 /a>  a href="+c="+code=ermpto_ablkcipher /_tkey_rclass="sref">crypto_gclkcipencne" k /a>( a href="ef">crypto_gclkcipencne" ass="sref">crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n
 41 /a1>        struct
 a href=1"+cod1=crypto_aead" ">err /a>); == - href="+code=reEINPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || /a>  a href="+c="+code=ermpto_ablkcipher /s="sref">erEINPROGRBUSY>static void * aBUSYipher 14"0 class="line" namlueL1">
 42 /a1>         a href="+code=1u8" c1ass="sref">u8 ref">u8 /a>  a href="+c="+code=ermpto_ablkcipher /_tkey_rclass="srwaL2_for_ /a>;nn( aruct
 waL2_for_ /a>;nn
 13 /a>>};ncrsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;ncompleopti /a>;nn
 4411a1onef">dstataa>;n)a hreic void * a hre861" idueL201" class="line" namlueL2">
 45 /a1>struct
 a href="+code=c1rypto14=ds" class="sref">u8 ode=alCR/a>  a href="+c="+code=ermpto_ablkcipher /_tkey_rclass="srf="crypto/gcm.c#L841" idueLf">ctr /a>;ncompleopti"crypto/gcm.c#L731" idueL211" class="line" namlueL2">
 46 /a1>         a href="+code=1u8" c1ass="sref">u8 69 class="line" namlueL761">
 47 /a1>        struct
 a href=1"+cod14dueL18"" class="line" namlueL1">
 48 /a1>        struct
 a href=1"+cod1=scatterlist" ">err /a>);n/a>static void * a hre861" idueL201" class="line" namlueL2">
 49 /a1>        struct
 a href=1"+cod14="+code=abatterlist" goto_tkey_rclass="srou="crypto/gcm.c#Lou=dueL211" class="line" namlueL2">
 50 /a1>        struct
 a href=1"+cod15ueL11" class="line" namlueL11"">
 51 /a1>};nu8 /a>  a href="+cash" class="blkcipher /_clear_flag a>( a href="ss="blkcipher /_f">ctr /a>;nn,a hrefref="crypto/gcm.c#L3310 idueLASKclass="sref">ctCRYPTO_TFM_REQ_MASKa> *n
 5211a1ongcmpto_" clasipher /_gke_flag a>( a href="+c" clasipher /_f">ctr /a>;nn,a hrefref="crypto/gcm.c#L3310 idueLASKclass="sref">c>gcmpto_abld_algke_flag a>( a href="+code=read" class="sref">crad /a> *n &/a href="crypto/gcm.c#L841" idueL16"" class="line" namlueL1">
 53 /a1>struct
 a href="+code=c1rypto15ttttttttttt href="+code=alCRYPTO_TFMKclass="sref">ctCRYPTO_TFM_REQ_MASKa> *n
 4411a1>        unsigned int
 a1 href15ablkcipher /_clear_flag clas="+code=ermpto_ablkcipher /_tkey_rclass="sref">cryp" clasip /_tkey_ra>( a href="+code" clasip /_f">ctr /a>;nn,a hrefref="crypto/gcm.c#L3310 idueLAS /a> *) a href="+code=aead_request_ctx" clsref">crsult /a> {-tf="crypto/gcm.c#L841" idueLf">ctr /a>;n>crsult /a> {-tef="+code=cosh" class="sref">L82" class="line" namlueL821">
 55 /a1>        struct
 a href=1"+cod15ablkcipher /_tke_flag class="sref">gabld_altke_flag a>( a href="+code=read" class="sref">crad /a> * a href="+code=alypto_gcakcipher /_gke_flag class="sref">g" cla_algke_flag a>( a href="+code=re" cla_algke_flf">ctr /a>;nn,a hrefref="crypto/gcm.c#L3310 idueL idueL16"" class="line" namlueL1">
 46 /a1>        void (* a href=1"+cod15ttttttt href="+code=alCRYPTO_TFM_REKclass="sref">ctCRYPTO_TFM_RES_MASKa> *n
 57 /a1>};n
 5811a1on
 49 /a1>struct
 a href="+code=c1rypto159blkcipher /_tke_flag class=k it  a href="+code=c it f">ctr /a>;nn,a hreff="crypto/gcm.c#L841" idueLL241" class="line" namlueL2">
 60 /a1>         a href="+code=1u8" c1ass="sref">u8 ref">err /a>;n
 61 /a1>         a href="+code=1u8" c1ass="s69 class="line" namlueL761">
 62 /a1>        struct
 a href=1"+cod16ueL839 class="line" namlueL831">
 63 /a1>        struct
 a href=1"+cod16cm_ghassetkey_rclass="sref">crypto_gcm_setkeycm.cr /_q /rizea>( a href="+co_setkeycm.cr /_lass="lass="sref">crypto_aead /a> * a href="+code=chad" class="sref">crad /a> *, consm /a>( a href="+com /ass=," class="line" namlueL821">
 64 /a1>        struct
 a href=1"+cod16=dsbe12 class="sref">ttt href="+code=al class="sref">cry_rn" a>);n/cm.cr /_q /rizea>( a hrcm.cr /_lass201" class="line" namlueL2">
 65 /a1>        unptio{n
 16 /a>##include < *) a href="cm.cr /_q /rizea>( a hrcm.cr /_lass2 14"0 class="line" namlueL1">
 67 /a1>                struct
1 a hr1f="+code=ablkccase 4:8"" class="line" namlueL1">
 68 /a1>        }  a href="+cod1e=u" 1lass="sref">u case 8:8"" class="line" namlueL1">
 49 /a1>};nu case 12:8"" class="line" namlueL1">
 7.11a1onu case 13:8"" class="line" namlueL1">
 61 /a1>struct
 a href="+code=c1rypto171ss="sref">u case 14:8"" class="line" namlueL1">
 72 /a1>        int
 a href="+c1ode=e1r" class="srefcase 15:8"" class="line" namlueL1">
 63 /a1>        struct
 a href=1"+cod1=compleopti" ccase 16:8"" class="line" namlueL1">
 64 /a1>};nbreak7" class="line" namlueL17">>
 65 /a1on
 16 /a>>static void * a href="+1code=17ttttttt href="+code=as="sref">erENOMEMa>;n
 7711a1on
 78 /a1>static  a href="+code=i1nline17dueL19"0 class="line" namlueL1">
 79 /a1>        struct
 a href=1"+cod1=aead_request"s="sref08" class="line" namlueL18">>
 7.11a1o{n
 81 /a1>        unsigned long
 1a hre18dueL12"  class="line" namlueL1">
 8211a1oncrypto_gcc#L2_ ne" k /a>( a href="ef">cryo_gcc#L2_ ne" lass="lass="sref">crypto_aelkcipher_request /a>  a href="+code=abq" class="sref">recrad /a> *, cons e=a_f="crypto/gcm.c#L68"=a_f="ass=," class="line" namlueL821">
 83 /a1>        return (void *)1 a hr18ttttttttttt href="+code=alCRYPTO_TFM_RE class="sref">aead_request /a> * a href="+code=req" class="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /a1>}nttt href="+code=al class="sref">cry_rn" a>);n/ine" href="crypto/gcm.c#L55" idueL5201" class="line" namlueL2">
 8">
 176 /a>static void * a hr1e86" 18o/gcm14"0 class="line" namlueL17>
 768/a1>static void *  href="+c1ode=c18crypto_aead" class="sref">crypto_aead /a> * a href="+code=child" class="sref">child /a>;ncrypto_gcad_alx" qtfm /a>( a href="+code=req" class="sref">req /a>));n>
 7711a1o{ncrypto_ahx /a> {na href="+code=ctr" class="sref">cry /a> {n a href="+code=crypto_aead_alx" class="sref">crypto_gcad_alx" a>( a href="+code=read" class="sref">crad /a> *n>
 788/a1>        struct
 a href=1"+cod1=scypto_gcm_setkey_result" class="sref">crypto_cm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypiv_ctx /a> * a hrepd_alx" class="sref">crypto_gcad_greqctx /a>(n));n>
 79 /a1onscatterlist /a>  a href="+code=assoc" class="sref">dstataa>;n) +a hrf="crypto/gcm.c#L64" idu9" class="line" namlueL19">>
 7.11a1>         aif a href="+c1ode=r19ss="sref">u8 /a>  a href="+c__be>        stcm.c#L__be> s="srref">compleopti /gcm.chref="crypto/gcm.gcm.clx" class="sref">cryptopu_gcmbe>        stcm.c#Lopu_gcmbe> ueL79L84" class="line" namlueL8419>
 819/a1>        un      return 1(
 8291a1onctr /a>;n>crsult /a> {-tpiv_ctx /a> * a hrepd_alx" f">ctr /a>;n
 839/a1>        re href="+code=1req"l1" class="sref">crsult /a> {-tmemcp_tkey_ra>( a hrememcp_ueL79q /a>));nctr /a>;ncrsult /a> {-t /gcm.chref="crypto/gcm.gcm.clx" , 482" class="line" namlueL8219>
 64 /a1>        re href="+code=1rempl19dueL251" class="line" namlueL29>
 8"95a1>}n( aruct
 sg_c#L2_tableueL79q /a>));n * a hrepd_alx" f">ctr /a>;n
 768/a1onu8 /a>  a href="+csg_clasbufne" a>( aruct
 sg_clasbufueL79q /a>));n * a hrepd_alx" f">ctr /a>;n));n * a hrepd_alx" f">ctr /a>;n>crsult /a> {-tpiv_ctx /a> * a hrepd_alx" f">ctr /a>;n
 7711a1>static vot
 a href="+co1de=cr19ss="sref">u8 /a>  a href="+cto/gcm.c#L1_sg_chaief="crypto/gcm.cto/gcm.c#L1_sg_chaieueL79q /a>));n * a hrepd_alx" f">ctr /a>;n));nctr /a>;n
 788/a1>        un      reeeeee1eeeee19dueL19"0 class="line" namlueL1>>
 7999a1o{ncryptpiv_ctx /a> * a hrepd_alx" f">ctr /a>;n>
 20 /a>##include <err /a>); == - hrf="crypto/gcm.c#L82" iduef">ctr /a>;n, -t; /shref="+code=dstataclass="sref">dstataa>;n2a>        struct
 a href2"+cod2=crypto_aeash"ipher /_tke_flag class=sg_c#L2_tablene" a>( aruct
 sg_c#L2_tableueL79q /a>));n * a hrepd_alx" f">ctr /a>;n2a>        struct
 a href2"+cod20ss="sref">u8 ref">u8 /a>  a href="+csg_clasbufne" a>( aruct
 sg_clasbufueL79q /a>));n * a hrepd_alx" f">ctr /a>;n));n * a hrepd_alx" f">ctr /a>;n>crsult /a> {-tpiv_ctx /a> * a hrepd_alx" f">ctr /a>;n2a>        struct
 a  a href="+cto/gcm.c#L1_sg_chaief="crypto/gcm.cto/gcm.c#L1_sg_chaieueL79q /a>));n * a hrepd_alx" f">ctr /a>;n));nctr /a>;n
 2411aoa>        un      reshre2="+co2e=dsbe12 class="sref">u8be12 a>  a hrrf="crypto/gcm.c#L64" iduclass="sref">cryptpiv_ctx /a> * a hrepd_alx" f">ctr /a>;n2a>        un      reshre2="+co2e=ds" class="s69 class="line" namlueL7626"06
 8">2aon2a>                struct2 a hr20ss="sref">u8 /a>  a href="+cde=abq" class="sre clasm /a>( a href="+code=abq" class="sre clasm /ass="rad /a> *, cons e=a_f="crypto/gcm.c#L68"=a_f="ass=,ry /a> {-t; /shref="+code=dsr" class="sref">ctr /a>;n
 28 /a>aonerr /a>); =a hrefde=abq" class="sre clascne" k /a>( a href="de=abq" class="sre clascne" ass="rad /a> *, cons e=a_f="crypto/gcm.c#L68"=a_f="ass=,ry /a> {-t; /shrpiv_ctx /a> * a hrepd_alx" f">ctr /a>;n));n
 2911aoa>                struct2 a hr2f="+code=abatterlist"                      >cry_rn" a>);n/ine" href="crypto/gcm.c#L55" idueL5due"sref">>crsult /a> {-tpiv_ctx /a> * a hrepd_alx" f">ctr /a>;n
 8112a>                struct2 a hr2f="+code=ablkcipher_re                     >cry_rn" a>);n/f="crypto/gcm.c#L82" iduef">ctr /a>;n1
 8"12a>        st} a href="+c2de=ct21ss="s69 class="line" namlueL7622"">
 1112a>        int
 a href="+2ode=e21ueL839 class="line" namlueL8323"">
 11 2a>#ia href="crypto/gcm.c2ass=,ry /a> {-t; /shref="+code=dsr" cla2ea href="crypto/gcm.c2ass=,ry /a> {-t; /shref=2_re ry /a> {-t; /shref]n>crsult /a>">
 8">
 176 /a>static void * a 2e=rempto_2blkcipher /_clear_flag c2ass="2ref">g">2a>        struct
 a hree=rempto_2blkcipher /_tke_flag cla2s="sr2f">gcmpto_ablkcipher /_tke_fl"sref">>crsult /a>">
 8">"crypt= 0xfU"12a>        st} a href="+c2L83102idtttttt href="+code=alCRY2TO_TF2_REQ_MASKclass.c#L731" idueL211" cla"sref">>crsult /a>">
 8">"? 16 -1" idueL211" cla"sref">>crsult /a>">
 8">":.11a1o{n
 11112a>        int
 a href="+2L591020ass="sref">err /a>); =a h2ef="+21 7999a1o{nerr /a>);n2a>sta219a href="cryL2_ ne" k /a>( a hrecrypfref=">
=crypto_aeasy"9 clascrypfref=">
=crypo/gcmyncequest" a> * a href="+code=req" class="sref">req /a>, int
 a href="+code=err" class="sref">err a /a> {-t; /shrpiv_cpto/gcm.c#L57" idueL57" class="line" namlueL57">
 57 /a>};n( a hrecrypfref=final=crypto_aeasy"9 clascrypfref=final=crypo/gcmyncequest" a> * a href="+code=req" class="sref">req /a>, int
 a href="+code=err" class="sref">err a /a> {-t; /shrpiv_cpto/gcm.c#L57" idueL57" class="line" namlueL57">
 57 /a>};n>
 112/a>         a href="+co2e=u8mpto_2bld_altke_flag class="sr2f">gc22>crypto_gcc#f]ncrsult /a> {-tcrypfref=updaf"o/gcmyncequest" a> * a hrefss="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /a1>}nctCRYPTcm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypiv_ctx /a> * a hrepd_alx" class="sref">crypto_gcad_greqctx /a1>}ncry_rn" a>);priv_ctx /a> * a href=class="line"sref">req /a>, int
 a class="line"crypto/gcm.gcm.clx" cl"sref">crsult /a> {-t; /shref="+c/a1>}ndstataa>;n =a2href=22_TFM_RES_MASKclass="sref">c">cryhref="+code=src" class="sref">src /a>;n
 56 //a1>}nctGFP_KERNELa> *n>crsult /a>">
 8">
 176 /a>static void * a 2"+code=co2ataclass="sref">dstataa>2n)a h22 788/a>        struct
 a href=2n (v- hre2="+code=reENOMEMclass="s2ef">e22sref">crypto_cm_req_priv_ctx /a> * class="sref">ahreq /a>;nerr ahss="line" namlueL67">
 67 / ="crypto/gcm.gcm.clx"  /a>;n
 67 /a>                struct
2line" nam2ueL2pto_gcm_setkey_r " c2ass="2ref">u8 /a> *) a href="+code"l2nerypto132s="sref">u8 /a>  a href=2+cc#L2_ /a>;nn
 67 //gcm.c#L84" idueL8ef="+code=al_algke_flf">ctr /a>;8ef="+code=al_algk.c#L82" iduef">ctr /a>;n                struc=1"+cod132s="sref">u8 /a>  a href=2+csg_23ss=sg_c#L2_tablene" a"sref">cry_rn" a>);priv_ctx /a> * al"sref">crsult /a> {-t; /shref="+c/82" iduef">ctr /a>;n};n
 67 //gcm.c#L84" idueL);n>crsult /a>">
 8">
a>};ncrsult /a> 2-tde=23>
 1114a>        re href="+co2#1L35" 132dsbe12 class="sref">ttt 2ref="2code=alCRYPTO_.c#L731" idueL211" clann,a hrefref=updaf">crsult /a> {-tnn,a hrefref=updaf"o/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 /
a>};nu8 ode=2lCRYP23 7696aon2a>                struc=1u8" c1a2s="sref">u8 /a>  a href=2+cde=23o_gcm_setkey_ra>( aruct
 a hrefcrypfref=tomchaieueL79q /a>));crypfref=tomchao/gcmyncequest" a> * a hrefss="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /a1>}n>crsult /a> {-tfcm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypiv_ctx /a> * a hrepd_alx" class="sref">crypto_gcad_greqctx /a1>}ncry_rn" a>);n/ine" hre-t; /shref]nu8 /a>  a href=2+c="+24         >cry_rn" a>);n/f="cryptpriv_ctx /a> * a href=class="line"sref">req /a>, int
 a class="line"crypto/gcm.gcm.clx" cl"sref">crsult /a> {-t; /shref="+c
 176 /a>static void * a 2=1"+cod1=2rypto_aead" ">err /a>); 2= - h2ef="+ca>        struct
 a href=2=1u8" c1a2s="sref">u8 ref">u8 /a> 2a hre2="+c="+code=ercm_req_priv_ctx /a> * class="sref">ahreq /a>;nerr ahss="line" namlueL67">
 67 / ="crypto/gcm.gcm.clx"  /a>;n
 67 /a>        struct
 a href=2=tttttttt2tttttttttt href="+code=a2CRYsr24>
 1114a>        re href="+co2#1L45" 142dsbe12 class="sref">ef">2stata2>;n)a hreic vof="crypto/gcc#Lref="crypto/gq" class="sre clasctatbacsassef="crypto/gq" class="sreo/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 //gcm.c#L84" idueL8ef="+code=al_algke_flf">ctr /a>;8ef="+code=al_algk.c#L82" iduef">ctr /a>;n        re href="+co2#=rempto_2ds" class="sref">u8 ode=2lCR/a2  a href="+c="+code=ermpto_abl;n/f="cryptpriv_ctx /a> * al"sref">crsult /a> {-t; /shref="+c/82" iduef">ctr /a>;n};nu8 69 class="li2e" na24asbufne" a>( aruct
 sg_clasbufuef">ctr /a>;nn,a hreff="crypto/gcm.c#L841" idueLf">ctr /a>;n));n
 7711/82" iduef">ctr /a>mchaieueL79q /a>));tomchao/gc/a>};n
 67 //gcm.c#L84" idueL /a>;n));nmchaieueL79q /a>));tomchao/gc/a>};nerr /a>);n2a>sta24 7999a1o{n>
 7." idueL211" clann,a hrefref=updaf">crsult /a> {-tnn,a hrefref=updaf"o/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 /
a>};n        unsigned long2.1c#L52152s="sref">u8 /a>  a href=2+cash25>
 112/a>         a href="+co2#1L53" 152bld_altke_flag class="sr2f">gc25>crypto_gcc#f]n>crsult /a>crypfref="sro/gcmyncequest" a> * a hrefss="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /a1>}nctCRYPTO_TFMcm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypiv_ctx /a> * a hrepd_alx" class="sref">crypto_gcad_greqctx 
 176 /a>static void * a 2a1 href152blkcipher /_clear_flag c2as="+25ef">g">2a>        struct
 a hre=1"+cod152blkcipher /_tke_flag cla2s="sr2f">gabld_altkecm_req_priv_ctx /a> * class="sref">ahreq /a>;nerr ahss="line" namlueL67">
 67 / ="crypto/gcm.gcm.clx"  /a>;n
 67 /a>           struct
 a hre=1u8" c1a2tttttt href="+code=alCRY2TO_TF25aead /a> * a href="+code=child" class="sre>crygrefrefgcm_reqctx" class="sref">crygrefrefgccm.c#lass="sref">err gfgcm_reqctx" classgreqctx /a>crypto/gcm.gcm.clx"  /a>;n           struct
 a hre=1u8" c1a2ueL18"" class="line" nam2ueL1"25q" class="sre clasm /a>( a hulass="line" namlueugcm.c#L3310 idueL15"0 c"srgthclass="line" nam"srgthccm.ca>           struct
 a hre=1c#L39132eL59tkey_rclass="srou="c2ypto/25 7999a1o{nctr /"srgthclass="line" nam"srgthccm.c1" idueL211" clal"line" namlueL67ctx /a>code=child" clasnamlueL8dsbe12 clas class=namlueL8ds.c#L82" iduef">ctr /a>;n>crsult /a>issoc"srcm.c#l 8
a>};nu8 ref">err /a>2n;nncode=child" clasnamlueL8dsbe12 clas class=namlueL8ds.c#L82" iduef">ctr /gfgcm_reqctx" classgreqctx #L3210 idueL22" class5due"sref">>crsult /a> {-tpiv_ctx /l 8
a>};nctr / /a>;ncrypto/gcm.gcm.clx" "srgthclass="line" nam"srgthccm.c, 16
a>};nctr /a>;nn,a hreff="crypto/gcm.c#L841" idueLf">ctr /a>;n));n;n16
a>};ncry26q" class="sre clasctatbacsk /ef="crypto/gq" class="sre clasctatbacsassef="crypto/gq" class="sreo/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 //gcm.c#L84" idueL8ef="+code=al_algke_flf">ctr /a>;8ef="+code=al_algk.c#L82" iduef">ctr /a>;n        re href="+co2=1"+cod162dsbe12 class="sref">ttt 2ref="2code=al class="sref">cry_rn" a>);n/cm.crne" k /a>( a hrecrypfref=">
=crypto_aeasy"9 clascrypfref=">
=crypo/gc/82" iduef">ctr /a>;n};ngcmpto_ablkcipher /_tke_flref="crypto/gq" cla"sre clascne" ass="ref="crypto/gq" cla"sreo/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 //gcm.c#L84" idueL /a>;n));n 2) a h26REQ_MASSSSSSsref">crsult /a> {-tf="cr64" idu," classNULass="line" namluNULacm.c#L * a hrepd_alx" f">ctr"srgthclass="line" nam"srgthccm.c 8">2a>        struct
 au case 8:8"" c2ass="2ine" namlueL1"">>
 7." idueL211" clann,a hrefref=updaf">crsult /a> {-tnn,a hrefref=updaf"o/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 /
a>};nu case 12:8"" 2lass=2line" /a1>        unsigned long2#1L71" 172ss="sref">u case 13:8"" 2lass=27 51 /a1>};nu case 14:8"" 2lass=2line" to_gcc#f]n * a hrefss="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /a1>}n(           cm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypiv_ctx /a> * a hrepd_alx" class="sref">crypto_gcad_greqctx 
 176 /a>static void * a 2=1"+cod1=2ompleopti" ccase 16:8"" 2lass=2line" ">2a>        struct
 a hre.1c#L75172dsbe12 class="sref">brea27" cl2ss="line" namlcm_req_priv_ctx /a> * class="sref">ahreq /a>;nerr ahss="line" namlueL67">
 67 / ="crypto/gcm.gcm.clx"  /a>;n
 67 /a>           struct
 a hre.1="cry1t2blkcipher /_default:8"" 2lass=2line" >           struct
 a hre.1u8" c1a2tttttt href="+code=as="s2ef">e27asbufne" a>( aruct
 sg_clasb/ef="crypto/gq" class="sre clasctatbacsassef="crypto/gq" class="sreo/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 //gcm.c#L84" idueL8ef="+code=al_algke_flf">ctr /a>;8ef="+code=al_algk.c#L82" iduef">ctr /a>;n        re href="+co2#1L78" 172"+code=ablkc69 class="li2e" na2lueL761">
 78 "sref">cry_rn" a>);n/cm.crne" k /a>( a hrecrypfref=final=crypto_aeasy"9 clascrypfref=final=crypo/gc/82" iduef">ctr /a>;n};n(ef="crypto/gq" cla"sre clascne" ass="ref="crypto/gq" cla"sreo/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 //gcm.c#L84" idueLNULass="line" namluNULacm.c#L64" idu," class /a>;n0/a>};nu8 /a> *) a href="+code"l2c1#L81"1i2ueL869 class="line" naml2eL76128f="crypto/gcm.c#L731" idueL211" clann,a hrefref=finalto_aeasy"9 clasnn,a hrefref=finalo/gcm.c#L68"=a_f="assass="line" namlueL67">
 67 /
a>};n
 1112a>        int
 a href="#1L83" 1d2eL83cm_setkey_rene" idas2="sre28>
 11 2a>#ia href="crypto/gcm.)1 a hr182tttttttttt href="+code=a2CRYPT28ea href="cryL2_ ne" k /a>( a hre__crypfref=final=crypto_aeasy"9 clas__crypfref=final=crypo/gcmyncequest" a> * a hrefss="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /c#L57" idueL57" class="line" namlueL57">
 57 / 2a>#ia href="crypto/gcm.)1c#L75172dsbe12 class="sref">ttt 2ref="28ef">g">2a>        struct
 a hrer1e86" 182/gcm14"0 class="line" na2lueL128">gabld_altkecm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypiv_ctx /a> * a hrepd_alx" class="sref">crypto_gcad_greqctx /a>(n));n>
 79 /a1on * a href="+code=child" class="sre>crygrefrefgcm_reqctx" class="sref">crygrefrefgccm.c#lass="sref">err gfgcm_reqctx" classgreqctx /a>crypto/gcm.gcm.clx"  /a>;n           struct
 a hrec1#L81"182rypto_ahash_spawn" class2"sref28 5811a1oncrypto_re861" idueL201" class="line" namlueL2">
 45 /a1>struct
 a href="+code2#1L409 182catterlist" class="sref"2scatt28         >cry_rn" a>)code=child" class="srexo"line" namlueL822s="srexo".c#L841" idueLf">ctr /a>;n)id, "sref">>crsult /a> {-tpiv_ctx /a>64" idu," class /a>;n16
a>};nu8 /a>  a href=2+c__b29 51 /a1>};ncrsult /a> {-t; /shref="+c82" idueL8" class="line" namlueL18">>
 79a>64" idu," classs="line" namlueL57">
 57 /a>};ncrsult /a> 2-tmem29>
 1114a>        re href="+co2=1rempl192ueL251" class="line" nam2ueL292
 8"95ef="cryL2_ ne" k /a>( a hrecrypfref=final=crypto_aeasy"9 clascrypfref=final=crypo/gcmyncequest" a> * a href="+code=req" class="sref">req /a>, int
 a href="+code=err" class="sref">err a /a> {-t; /shrpiv_cpto/gcm.c#L57" idueL57" class="line" namlueL57">
 57 /14a>        re href="+co2=1e86" 182blkcipher /_tke_flag cla2s=sg_29
 768/a1>static void *  href="2#1L839 192s="sref">u8 /a>  a href=2+csg_29aead /a> * a href="+code=child" class="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /a>(n
 60a>};nu8 /a>  a href=2+cto/29 5811a1on29q" class="sre clascne" k /a>__crypfref=final=crypto_aeasy"9 clas__crypfref=final=crypo/gcm2" idueL8" class="line" namlueL18">>
 79a>64" idu," classs="line" namlueL57">
 57 /a>};n        unsigned long3incde=r203 class="sref">err /a>); 3= - h30 51 /a1>};n( a hre__crypfref=">
=crypto_aeasy"9 clas__crypfref=">
=crypo/gcmyncequest" a> * a hrefss="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /c#L57" idueL57" class="line" namlueL57">
 57 / 2a>#ia href="crypto/gcm3f2"+cod203s="sref">u8 ref">u8 /a> 3a hre3="+csg/a1>static void *  href="3r2f="cr203tttttttttt href="+co/a> 3a hre3="+cto/gcm.c#Lcm_req_priv_ctx /a> * a href="+code=crypto_gcm_reqctx" class="sref">crypiv_ctx /a> * a hrepd_alx" class="sref">crypto_gcad_greqctx /a>(n));n>
 79 /a1on 30 8"95a1>}n
 45 /8">2a>        struct
 a hr3c2L83102i3ueL17"0 class="line" nam3ueL2730REQ_MASSSSSSsref">crs" idueL201" class="line" namlueL2">
 45 /a>(n>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1onu8 /a>  a href=3+cde=30ueL761">
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || /a>  a href="+c="+code=ermpto_ablkcipher /s="sref">erEINPROGRBUSY>static void * aBUSYipher 14"0 class="line" namlueL1">
 42a1on};n>
 79a>64" idu," classs="line" namlueL57">
 57 /a>};n
 1114a>        re href="+co3e=rempto_3blkcipher /_clear_flag c3ass="31 8"95ef="cryL2_ ne" k /a>( a hrecrypfref=">
=crypto_aeasy"9 clascrypfref=">
=crypo/gcmyncequest" a> * a href="+code=req" class="sref">req /a>, int
 a href="+code=err" class="sref">err a /a> {-t; /shrpiv_cpto/gcm.c#L57" idueL57" class="line" namlueL57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  href="3c2L83102i3tttttt href="+code=alCRY3TO_TF31aead /a> * a href="+code=child" class="sref">req /a>, int
 a href="+code=err" class="sre" class="line" namlueL821">
 64 /a>(n
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k /a>__crypfref=">
=crypto_aeasy"9 clas__crypfref=">
=crypo/gcm2" idueL8" class="line" namlueL18">>
 79a>64" idu," classs="line" namlueL57">
 57 /a>};nerr /a>);n3lueL821">
 64 /a>(n
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a3531 8uef">ctr /a>;nreq /a>, int
 a hre3="+co32 class="sref">crypiv_ctx /a> * ">crypiv_3tx /a> * a hrepd_alx" cl3ss="s32ctx /a>(n));n>
 79 /a1on 30 8"95a1>}ncrypiv_ctx /a> * " * a hrefcm.gcm.clx" cl"sref">crs3lt /a32     struct
 a hr3c2L83102i3ueidueL56" 3lass="line" namlueL56">
356 //32sref">crs" idueL201" class="line" namlueL2">
 45 /a>(nd3tataa>2n)a h22 788/a> >>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || /ctx /a> *3class="sref">ahreq /a>;n3a hre32="sref">erEINPROGRBUSY>static void * aBUSYipher 14"0 class="line" namlueL1">
 42a1on
 67 / ="cry3to/gc32g3t2 a hr2f3"+code=ablkcipher_re    3     31 51 /a1>};n33ss="31 8"95efs="am2c#L781" i2uef">ctr /3>;n};n33" classs="line" namlueL57">
 57 /a>};nerr /a>);n3lueL821">
 64 /a>(n3 67 /33s="31 8"95ef="cryL2_ ne" k /a>(L211" cla3n,a hrefref=updaf">crsul3 /a> 3-tnn,a hrefref=updaf"o/gcm.c#L38"=a_f="a3sass="line" namlueL67">
367 /
33>, int
 a href="+code=err" class="sref">e" class="31 8"95efs="am2c#L781" ueL18"" class="31 8"95efs="am2c#L781" iref="31 8"95ef57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  hre hrefref=updaf"o/gcm.c#L38dueL56" 3 c1a2s="sref">u8 /a>  a 3ref=233 href="crypto/gcm.2=1u8" c1a2s="sref">u8RBUSY1 8uef">ctr /a>;n))3crypf3ef=tomf="crypcrypfref=finalto_ae hrefss="3ref">req /a>, int
 a hre3="+co33ead" class="sref">crad /a> *n
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k /">crypiv_3tx /a> * a hrepd_alx" cl3ss="s33L211" clal"line" namlueL67ctx3a href="c3ypto/gcm2c1rypto142s="sr3f">u833ss=namlueL8ds.c#L82" iduef">1" i2ueL18"" class="31 8"95efs="am2c#L781" i2ueL18"" class="31 8"95efs="am2c);n3lueL821">
 64 /a>(ncrs3lt /a34>gc25>crypto_gcc#f]nahreq /a>;n3a hre34sro/gcmyncequest" a> * a href3hss="line3 namlueL67">
 67 / ="cry3to/gc34rad /a> *, cons e=a_f="crypto/gci2ueL18"" class=""95efs="am2c#L781" i2ueL18"" class="efs="am2c#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a3531 8uef">ctr /a>;nerr 3cm.c#L68"3a_f="assass="line" namlu3L67">34gcm.clx"  /a>;n));n>
 79 /a1on 30 8"95a1>}ncrypiv_ctx /a> * ef">ctr /3>;n};n34ctx /a>(n           struct
 a hrec1#L81"182rypto_ahash_spawn" class2"sref28 5811a1oncrypto_re861" idueL3=ef="cryp3o/gcm.c#L63" idu, q /a>)3;n);n/f="cryptpriv_ctx /a> * a href=class="line"sref">sref">crypto_re861" idueL3=hrefss="3ssass="line" namlueL67">3 67 /34fref=">
=crypo/gcm2" idueL8" cL211" cla3n,a hrefref=updaf">crsul3 /a> 34rn" a>)code=child" class="srexo"line" namlueL822s="srexo".cef="crypcrypfref=finalto_ae8"=a_f="a3sass="line" namlueL67">
367 /
34, "sref">>crsult /a> {-tpiv_ctx /a>6/a> * a href=class="line"sref">d_greqctx 
/a1ong">2a>        srefgccm.ca>           struct
 a hrec1#L81"pher /_clear_fla /a>));ncrypiv_ctx /a> * "+co2#1L53" 152bld_altke_flag clas3="sr235{-t; /shref="+c
 176 /_clear_fla /a>BUG_ONref="crypto/gcmBUG_ON    s" class="srexo"l"+code=abatterlist" goto2tkey_24ne" namlueL18">>
 7." idu3ypt31cryp3ref="sref">>crsult /a>cr3pfref352" class="line" namlueL8222"02
 8">2," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=abatterlist" goto2tkey_2e hrefref=updaf"o/gcm.c#L3s="sref">3eq /a>, int
 a href="+co3e=err35">crypto_gcad_greqctx 
 176 /a>"line" namlueL8222"02
 8">2="sref">e" class="31 8"95efs="am2c#L781" ueL18"" class="31 8"95efs="am24ne" namlueL18">>
 7." idu3yLref="cr3/a> * a hrepd_alx" class3"sref3>crypto_gcad_greqctx 
Y>static void * aBUSYipher 14"0 class="line" namlueL1">
 42a1onahreq /a>;n3a hre35rypto/gcm./a>};n
 67 / ="cry3to/gc3.gcm.clx"  /a>>crypto_gcc#f]n3rr gfgcm_reqctx" classgr3qctx 35f=tomchao/gcmyncequest" a> * 3hccm.ca> 3         struct
 a hre=13#L39132eL59tkey_rclass="srou="c2ypt1" i2ueL18"" class="31 8"95efs="am2c#L781" i2ueL18"" class="31 8"95efs="am2c);n3lueL821">
 64 /a>(ncrypto_gcc#f]ncode=c3ild" clasnamlueL8dsbe12 3las c36q /a>, int
 a href="+code=err" class="srelass=""95efs="am2c#L781" ueL18"" class="efs="am2c#L781" iref="31 8"95ef57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  href="3c2L83102i3tttttt href="+code=alCRY3TO_TF31aead /a> * a href="+code=href="cry3to/gcm.c#L61" iidL," cla3s="li36"crypto/gcm.c#lass="sref">err 3=ef="cryp3o/gcm.c#L63" idu, q /a>)3;ncrad /a> *n
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k /cm.c#L68"3a_f="assass="line" namlu3L67">36tnn,a hrefref=updaf"o/gcm.c#L3
=crypo/g3/82" iduef">ctr /a>;n=a_f="crypto/gci2ueL18"" class=""95efs="am2c#L781" i2ueL18"" class="efs="am2c);n3lueL821">
 64 /a>(n3 67 /36de=23o_gcm_setkey_ra>( aruct
 3">ctr"srg3hclass="line" nam"srgthc3m.c 836f=tomchao/gcmyncequest" a> * 3L211" cla3n,a hrefref=updaf">crsul3 /a> 367 /a>, int
 a href="+code=err" ci2ueL18"" caccm.ss="31 8"95efs="am2c#L781" i2ueL18"" caccm.ss="31 8"95e"am2c#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a3531 8uef">ctr /a>;n
367 /
3>};nerr 3="=a_f="a3to172ss="sref">u case 1438"" 2369ff="crypto/gref">crad /a> *n));n>
 79 /a1on 30 8"95a1>}ncrypiv_ctx /a> * ypt31cryp3ref=finalto_aeasy"9 clas3rypfr370ff="crypto/gref">crad /a> *n           struct
 a hrec1#L81"182rypto_ahash_spawn" class2"sref28 5811a1oncrypto_re861" idueL3refss="sr3f">req /a>, int
 a href=3+code37" classs="line" namlueL57">
efrefgcto_aead" ">err /a>); 2= - h2ef="+ca>        struct
 a href=2=1u8" c1a2s="sref">u8 ref">u8 /a> 2a hre2sref">crypto_re861" idueL3ref="cryp3x /a> * a hrepd_alx" cla3s="sr3f">crypto_gcad_rn" a>);n/f="cryptpriv_ctx /a> * a href=class="line"sref">18221 7999a1o{nahreq /a>;n3a hre37tnn,a hrefref=updaf"o/gcm.c#L3hss="line3 namlueL67">
 67 / ="cry3to/gc3.gcm.clx"  /a>hild" class="srexo"line" namlueL822s="srexo".2ryptorypto>64" idu," classs="line" namlueL57">
 57 /a>};n6/a> * a href=class="line"sref">d_greqctx 
/a1ong">2a>        srefgccm.ca>           struct
 a hrec1#L81"pher /_clear_fla /a>));ncrypiv_ctx /a> * cm.c#L68"3a_f="assass="line" namlu3L67">37ataa>2n)a h22 788/a> >>
 79a>64" iduc1a2s="sref">u8 ref">u8 /a> 2a hre2d_greqctx 
/a1on * a href=class="line"sref">d?ef="+code=err" class="srelass=""95efs="am2c#L781" ueL18"" class="efs="am2 :="sref">crypiv_ctx /a> * c211" cla3o/gc/82" iduef">ctr /a>;3};n2="sref">e" class="31 8"95efs="am2c#L781" ueL18"" class="31 8"95efs="am2u="sref">crypiv_ctx /a> * c"=a_f="a3ssass="line" namlueL67">3 67 /37g3t2 a hr2f3"+code=abeL8222"02
 8">2," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=src" class="sref">src /a>;n64" idu," classs="line" namlueL57">
 57 /a>};n));ncrypiv_ctx /a> * =a_f="ass3ss="line" namlueL67">
 63 /
a>38{-t; /shref="+c
 176 Y>static void * aBUSYipher 14"0 class="line" namlueL1">
 42a1on};ncrypto_gcado_gcm_setkey_ra>( aruct
 3quest" a>3* a hrefss="sref">req /a3, int38tnn,a hrefref=updaf"o/gcm.c#L3ctx /a> *3a href="+code=crypto_gcm3reqct38gcm.clx"  /a>hild class="srexo"l"+code=abatterlist" goto2tkey_24 hrefref=updaf"o/gcm.c#L3cb/ef="cr3x" class="sref">crypto_g3ad_gr38 href="crypto/gcm.2=1{-tpiv_ctx /a>6i2ueL18"" class=""95efs="am2c#L781" i2ueL18"" class="efs="am2c);n3lueL821">
 64 /a>(n3rr gfgcm_reqctx" classgr3qctx 3a>crypto/gcm.gelse/_clear_flag c3ass="31 8"s211" cla3"line" namlueL2">
 45 /a3>stru38=="crypto/gcm./a>};n
 64 /a>(ncr38L211">crypto_gcc#f]n)38nn,a hrefref=finalo/gcm.c#L683lagfgcm_r3qctx" classgreqctx #L3213 idue39q /a>, int
 a href="+code=err" class="sreaccm.ss="31 8"95efs="am2c#L781" ueL18"" caccm.ss="31 8"95e"am2c#L781" iref="31 8"95ef57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  hre hrefref=updaf"o/gcm.c#L3; /shref=3+c82" idueL8" class="lin3" nam39 href="crypto/gcm.2=1"+cod132shref="+c
 176 Y1 8uef">ctr /a>;ncrypiv_ctx /a> *  a hrecry3fref=final=crypto_aeasy"3 clas39ctx /a>(n
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k /t" a> * a3href="+code=req" class="3ref">39     struct
 a hr3c2L83102i3uechild" cl3ss="sref">req /a>, int
 3 href39cm.c#L84" idueL /a>;n
 64 /a>(n
 64 /a>(n {>crypto_gcc#f]n>
 79a>34" id3," cla, int
 a href="+code=err" ci2ueL18"" caccm.s"95efs="am2c#L781" i2ueL18"" caccm.s"95e"am2c#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a3531 8uef">ctr /a>;ncrypiv_ctx /a> *4 a hre__c4ypfref=">
=crypto_aeasy"4 clas400ff="crypto/gref">crad /a> *n));n>
 79 /a1on 30 8"95a1>}ncrypiv_ctx /a> *4t" a> * a4hrefss="sref">req /a>, i4t
 a 40 href="crypto_rn" a>);n/f="cryptpriv_ctx /a> * a href=class="line"sref">sref">crypto_re861" idueL4ctx /a> *4a href="+code=crypto_gcm4reqct40__crypfref=final=crypo/gcmync4a hrepd_a4x" class="sref">crypto_g4ad_gr4qctx /a>(n
 45 /84>2a> 40rypto/gcm./a>};n6/a> * a href=class="line"sref">d_greqctx 
/a1ong">2a>        srefgccm.ca>    ass="s69 class="li3e" na3ef="crypto/gcc#L"srgthclass="line" nam"srgthccm.c1" idulu="sref">crypiv_ctx /a> *4t5" class4"s="sref">req /a>, int
 4ASSSS40 href="crypto/gcm.2=1{-tpiv_ctx /a>6BUG_ONref="crypto/gcmBUG_ON    s" class="srexo"l"+code=abatterlist" goto2tkey_24ne" namlueL18">>
 7." idu4asy"9 cla4crypfref=finalo/gcm2" id4eL8" 4lass="line" namlueL18">>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=abatterlist" goto2tkey_2e hrefref=updaf"o/gcm.c#L4a>  a hre4="+c="+code=ermpto_ablkc4pher 4s="sref">erEINPROGRBUSSSSSSSSSSSSSSSSSSSSSSSf="+code=err" class="sreaccm.ss="31 8"95efs="am2c#L781" ueL18"" caccm.ss="31 8"95e"am24ne" namlueL18">>
 7." idu4a8  a hre4=ine" namlueL18">>
 79a>4ned l4ng3t2 a hr2f3"+code=abY>static void * aBUSYipher 14"0 class="line" namlueL1">
 42a1on};n>
 79a>44" id41sro/gcmyncequest" a> * a href4"+co3e=re4pto_3blkcipher /_clear_f4ag c341eff="crypto/gcm.c#L64" idu,"i2ueL18"" caccm.ss="31 8"95efs="am2c#L781" i2ueL18"" caccm.ss="31 8"95e"am2c);n3lueL821">
 64 /a>(n
=crypto_aeasy"9 4lascr4pfref=>crypto_gcc#f]nreq /a>, int
 4 href4"+code, int
 a href="+code=err" class="sreaccm.s"95efs="am2c#L781" ueL18"" caccm.s"95e"am2c#L781" iref="31 8"95ef57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  hre531 8uef">ctr /a>;n
 64 /a>(n__crypf4ef=">
=crypto_aeasy"9 cl4s__cr41ead" class="sref">crad /a> *n
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k 4lass="lin4" namlueL18">>
 79a>64" 4du," 41L211" clal"line" namlueL67ctx495ef="2pa4/am2c#L781" i2ueL18"" cl4ss="341ss=namlueL8ds.c#L82" iduef">1" i2ueL18"accm.s"95efs="am2c#L781" i2ueL18"" caccm.s"95e"am2c);n3lueL821">
 64 /a>(ngc25>crypto_gcc#f]n * a href4 hrefss="4ref">req /a>, int
 a hre4="+co42rad /a> *, cons e=a_f="crypto/gci2ueL18"" chref="95efs="am2c#L781" i2ueL18"" chref="95e"am2c#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a3531 8uef">ctr /a>;ncrypiv_4tx /a> * a hrepd_alx" cl4ss="s42"crypto/gcm.c#lass="sref">err 4" * a hre4cm.gcm.clx" cl"sref">crs4lt /a42gcm.clx"  /a>;n));n>
 79 /a1on 30 8"95a1>}nerr 4"hild" cl4lass="line" namlueL56">
456 //42cm.c#L84" idueL /a>;nerr /a>); 2= - h2ef="+ca>        struct
 a href=2=1u8" c1a2s="sref">u8 ref">u8 /a> 2a hre2sref">crypto_re861" idueL4ic void *4a 2"+code=co2ataclass="s4ef">d42eff="crypto/g_rn" a>);n/f="cryptpriv_ctx /a> * a href=class="line"sref">18221 7999a1o{nahreq /a>;n4a hre42ypfref=final=crypo/gcm2" idue4hss="line4 namlueL67">
 67 / ="cry4to/gc42rn" a>)code=child" class="srexo"line" namlueL822s="srexo".2ryptorypto>64" idu," classass="s69 class="li3e" na3ef="crypto/gcc#L"srgthclass="line" nam"srgthccm.c1" idulef="crypcrypfref=finalto_a4#Lref="cr4pto/gq" class="sre clasc4atbac42, "sref">>crsult /a> {-tpiv_ctx /a>6/a> * a href=class="line"sref">d_greqctx 
/a1ong">2a>        srefgccm.ca>    ass="s69 class="li3e" na3ef="crypto/gcc#L"srgthclass="line" nam"srgthccm.c1" idulu="sref">crypiv_ctx /a> *4cm.c#L68"4a_f="assass="line" namlu4L67">43{-t; /shref="+c
 176 /_clear_fla /a>c1a2s="sref">u8 ref">u8 /a> 2a hre2d_greqctx 
/a1on * a href=class="line"sref">d?ef="+code=err" class="sreaccm.s"95efs="am2c#L781" ueL18"" caccm.s"95e"am2 :="sref">crypiv_ctx /a> *4ef">ctr /4>;n};n43 href="crypto/gcm.2=1"+cod132f="+code=err" class="sreaccm.ss="31 8"95efs="am2c#L781" ueL18"" caccm.ss="31 8"95e"am2u="sref">crypiv_ctx /a> *4chrefss="4ssass="line" namlueL67">4 67 /43">crypto_gcad_greqctx>>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=src" class="sref">src /a>;ncrsul4 /a> 43crypto_gcad_greqctx 
crypto/gcm.2=1"+cod132f="+code=err" cass="s69 class="li3e" na3ef="crypto/gcc#L"srgthcla"line" nam"srgthccm.tic to/gcm2=1"+cod142"+s="s69 class="li3e" na3ef="crypto/gcc#L"srgthclass="line" nam"srgthccm.c1" idulu="sref">crypiv_ctx /a> *4c * a hre4sass="line" namlueL67">
467 /
43rypto/gcm./a>};nstatic void * aBUSYipher 14"0 class="line" namlueL1">
 42a1onu8 /a>  a 4ref=243 href="crypto/gcm.2=1u8" c1a2_re    3     31 51 /a1>};n))4crypf43eff="crypto/g>crypto_gcc#f]nreq /a>, int
 a hre4="+co43ypfref=final=crypo/gcm2" idue4">crypiv_4tx /a> * a hrepd_alx" cl4ss="s43rn" a>)code=child class="srexo"l"+code=abatterlist" goto2tkey_24f=final=crypo/gcm2" idue4"Lref="cr4ypto/gcm2c1rypto142s="sr4f">u843, "sref">>crsult /a> {-tpiv_ctx /a>61" i2ueL18"accm.s"95efs="am2c#L781" i2ueL18"" caccm.s"95e"am2c);n3lueL821">
 64 /a>(ncrs4lt /a44{-t; /shref="else/_clear_flag c3ass="31 84ctx /a> *4class="sref">ahreq /a>;n4a hre442" class="line" namlueL8222"02
 8">2i2ueL18"" caccm.ss="31 8"95efs="am2c#L781" i2ueL18"" caccm.ss="31 8"95e"am2c);n3lueL821">
 64 /a>(n
 67 / ="cry4to/gc44s="31 8"95ef="cryL2_ ne" k /a>4#Lref="cr4pto/gq" class="sre clasc4atbac44tnn,a hrefref=updaf"o/gcm.c#L4cm.c#L68"4a_f="assass="line" namlu4L67">44>, int
 a href="+code=err" class="sref">ehref="95efs="am2c#L781" ueL18"" chref="95e"am2c#L781" iref="31 8"95ef57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  hre531 8uef">ctr /a>;nctr /4>;n};n44+code=err" class="sre" class="4=ef="cryp4o/gcm.c#L63" idu, q /a>)4;n {-t; /shrpiv_cpto/gcmm.c#L64" idu9" class=lass="line" namlueL2">
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k 4=hrefss="4ssass="line" namlueL67">4 67 /44fref=">
=crypo/gcm2" idueL8" 4L211" cla4n,a hrefref=updaf">crsul4 /a> 44rn" a>)code=c=a_f="crypto/gci2ueL18"" chref="95efs="am2c#L781" i2ueL18"" chref="95e"am2c);n3lueL821">
 64 /a>(n
467 /
448"95efs="am2c#L781" i2ueL18"" 4"+co2#1L54" 152bld_altke_flag clas4="sr245ss="31 8"95efs="am2c#L781" i24ypt31cryp4ref="sref">>crsult /a>cr4pfref45rr" class="sre" class="line" namlueL821fs="am2c#L781" ueL18"" "am2c#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a31 8"95efs="am2c#L781" i24yss="line4eq /a>, int
 a href="+co4e=err45">crypto_gcad_greqctx 
 1;n));n>
 79 /a1onerr 4ctx /a> *4class="sref">ahreq /a>;n4a hre45gcm.clx"  /a>;n
 67 /a>           struct
 a hre.1="cry1t2blkcipher /_default:8"" 2lass=2line" >           struct
 a hre.1u8" c1a2tttttt href="+code=as="s2ef">e27asbufne" a>( aruct
 sg_cl4hss="line4 namlueL67">
 67 / ="cry4to/gc4.gcm.clx"  /a>ref">crad /a> *n           struct
 a hrec1#L81"182rypto_ahash_spawn" class2"sref28 5811a1oncrypto_re861" idueL4s="sref">4rr gfgcm_reqctx" classgr4qctx 45>crypto/gcm.gcm.clx"  /a>;n    ypto/gcm.c#L61" greef="3r4f="cr203teL251" class="ltfhrypto/gcm.c#L61" grefrefgctfhrypt    srefgccm.ca>    ass="s69 class="li3e" na3ef="crypto/gcc#L"srgbasefs="am2c#L781" base
 a hre.1u8" c1a2ttttfhfs="am2c#L781" tfhipher /_clear_flag c3ass="31 84hccm.ca> 4         struct
 a hre=14#L39142eL59tkey_rcla_rn" a>);n/f="cryptpriv_ctx /a> * a href=class="line"sref">sref">crypto_re861" idueL4 /"srgthc4ass="line" nam"srgthccm.41" id45rn" a>)code=c=a_f="crypto/gcefrefgcto_aead" ">err /a>); 2= - h2ef="+ca>        struct
 a href=2=1u8" c1a2s="sref">u8 ref">u8 /a> 2a hre2sref">crypto_re861" idueL4s"=a_f="a4ild" clasnamlueL8dsbe12 4las c45, "sref">>crs31 8uef">ctr /a>;ncrypto_re861" idueL4/a>code=c4ild" clasnamlueL8dsbe12 4las c46ss="31 8"95efs="am2c#L781" i24href="cry4to/gcm.c#L61" iidL," cla4s="li46" classs="line" namlueL57">
a href=[16];n    L," class="line" namli{-tpiv_ctx /a>0/a>};n)4;n463 classs="line" namlueL57">
a href=[16];n    L," class="line" namli{-tpiv_ctx /a>0/a>};n
 57 /a3531 _flagsgcm3e2="+co2e3ds" class="s69 class="li3e" na3l31 8"95efs="am2c#L781" i24
=crypo/g4/82" iduef">ctr /a>;n};n2="sref">ehref="95efs="am2c#L781" ueL18"" chref="95e"am2to/gcm2=1"+cod142"+s="s69 class="li3e" na3r /_clear_flag c3ass="31 84=ss="line4ssass="line" namlueL67">4 67 /46cm.c#L84" idueL /a>;ncrypto_gcad_greqctx 
/a1on    L," class="line" namli{-tpiv_r /_clear_flag c3ass="31 84=="sref">4hclass="line" nam"srgthc4m.c 846>crypto/gcm.gY>static void * aBUSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 4L211" cla4n,a hrefref=updaf">crsul4 /a> 46="sref">erEINPROGRBUS_re   8uef">ctr /a>;ncrypto_re861" idueL4//"srgthc4sass="line" namlueL67">
467 /
46rn" a>)code=c=a_f="crypto/gc/a> * a href=class="line"sref">d_greqctx 
/a1ong">2a>        srefgccm.ca>    ass="s69 class="li3e" na3ef="crypto/gcc#L"srgthclass="line" nam"srgthccm.c1" idulu="sref">crypiv_ctx /a> *4="=a_f="a4to172ss="sref">u case 1448"" 246ss=namlueL8ds.c#L82" iduef">c1a2s="sref">u8 ref">u8 /a> 2a hre2d_greqctx 
/a1on * a href=class="line"sref">d?ef="+code=err" class="sreaccm.s"95efs="am2c#L781" ueL18"" caccm.s"95e"am2 :2f="+code=err" class="sreaccm.ss="31 8"95efs="am2c#L781" ueL18"" caccm.ss="31 8"95e"am2u="sref">crypiv_ctx /a> *4ypt31cryp4ref=finalto_aeasy"9 clas4rypfr470ff="crypto/g>>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=src" class="sref">src /a>;ncrypiv_ctx /a> *4refss="sr4f">req /a>, int
 a href=4+code47" classs="linY>static void * aBUSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 4ref="cryp4x /a> * a hrepd_alx" cla4s="sr47">crypto_gcad_greqctx_re   8uef">ctr /a>;ncrypto_re861" idueL4ctx /a> *4class="sref">ahreq /a>;n4a hre47ctx /a>(n
 67 / ="cry4to/gc47rypto/gcm./a>};n6," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=abatterlist" goto2tkey_2e hrefref=updaf"o/gcm.c#L4sb/ef="cr4pto/gq" class="sre clasc4atbac47 href="crypto/gcm.2=1 href="crypline" namlueL8222"02
 8">2="sref">eaccm.ss="31 8"95efs="am2c#L781" ueL18"" caccm.ss="31 8"95e"am2lu="sref">crypiv_ctx /a> *4r="sref">4a_f="assass="line" namlu4L67">47ataa>2n)a h22 788/a> Y>static void * aBUSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 4r211" cla4o/gc/82" iduef">ctr /a>;4};nctr /a>;ncrypto_re861" idueL4c/"srgthc4ssass="line" namlueL67">4 67 /47g3t2 a hr2f3"fs="am2c#L781" i2ueL18"" 4L211" cla4n,a hrefref=finalto_aeas4"9 cl47ss=namlueL8ds.c#L82" iduef">/a> * a href=class="line"sref">d_greqctx 
/a1ong">2a>        srefgccm.ca>           struct
 a hrec1#L81"pher /_clear_fla /a>));ncrypiv_ctx /a> *4=a_f="ass4ss="line" namlueL67">
 64 /
a>480ff="crypto/g>>
 79a>64" iduc1a2s="sref">u8 ref">u8 /a> 2a hre2d_greqctx 
/a1on * a href=class="line"sref">d?ef="+code=err" class="srelass=""95efs="am2c#L781" ueL18"" class="efs="am2 :"eL8222"02
 8">2="sref">e" class="31 8"95efs="am2c#L781" ueL18"" class="31 8"95efs="am2u="sref">crypiv_ctx /a> *4/gcm.)1 a4hr182tttttttttt href="+c4de=a248" classs="line" namlueL57">
," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=src" class="sref">src /a>;n
 57 /a>};n));ncrypiv_ctx /a> *4 a hre__c4ypfref=final=crypto_aeas4"9 cl48">crypto_gcadY>static void * aBUSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 4quest" a>4* a hrefss="sref">req /a4, int48crypto_gcad_greqctx 
_re   8uef">ctr /a>;ncrypto_re861" idueL4ctx /a> *4a href="+code=crypto_gcm4reqct48gcm.clx"  /a>hild class="srexo"l"+code=abatterlist" goto2tkey_24ef="crypcrypfref=finalto_a4cb/ef="cr4x" class="sref">crypto_g4ad_gr48 href="crypto/gcm.2=1{-tpiv_ctx /a>6," class"sref">crypto_gcad_greqctx 
/a1on
 64 /a1>}n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static to/gcm2=1"+cod142"+code=abatterlist" goto2tkey_2e hrefref=updaf"o/gcm.c#L4s="sref">4rr gfgcm_reqctx" classgr4qctx 48ataa>2n)a h22 788/a>                       eL8222"02
 8">2="sref">e" class="31 8"95efs="am2c#L781" ueL18"" class="31 8"95efs="am2lu="sref">crypiv_ctx /a> *4 211" cla4"line" namlueL2">
 45 /a4>stru48=="crypto/gcm./a>};nstatic void * aBUSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 4q/"srgthc4ass="sref"2scatt28      4  >cr48g3t2 a hr2f3"+code=ablkcipher_re   8uef">ctr /a>;ncrypto_re861" idueL4c211" cla4"crypto/gcm.c#L63" idu, 4 /a>)48 naml3eL76231class="blkcipher /_clear_4lagfgcm_r4qctx" classgreqctx #L3214 idue490ff="crypto/g>>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 4; /shref=4+c82" idueL8" class="lin4" nam49" classs="linY>static void * aBUSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 4"+co2=1re4pl192ueL251" class="line4 nam249">crypto_gcad_greqctx_re   8uef">ctr /a>;ncrypto_re861" idueL4 a hrecry4fref=final=crypto_aeasy"4 clas493 classs="line" namlueL57">
," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 4;tx /a> *4href="+code=req" class="4ref">49gcm.clx"  /a>hild class="srexo"lSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 4"b/ef="cr4ss="sref">req /a>, int
 4 href49 href="crypto/gcm.2=1_re   8uef">ctr /a>;ncrypto_re861" idueL4 ="sref">4eL821">
 64 /a>(n * 4a>__crypf4ef=final=crypto_aeasy"9 4las__49=="crypto/gcm_re   821 7999a1o{n>
 79a>44" id49L211">crypto_gcc#f]n, int
 a href="+code=err" classenc_copyeL821fs="am2c#L781" ueL1enc_copyeL821rypto#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a31 8"95efs="am2c#L781" i25t" a> * a5hrefss="sref">req /a>, i5t
 a 502" class="line" namluuuuuuuuuuuuuuu;n));n>
 79 /a1on *5a href="+code=crypto_gcm5reqct50 class="sref">crypiv_ctx /a> *5a hrepd_a5x" class="sref">crypto_g5ad_gr50ctx /a>(n>
 79 2 57  re href="+co32 57ne" n_greqctx 
/a1on
 45 /85>2a> 50rypto/gcm./a>=a_f="crypto/gcu8="s69 class="liu8ne" namlueL18">>
 79 2uth_tag  re href="+co32uth_tagne" n_greqctx 
/a1onreq /a>, int
 5ASSSS50 href 7999a1o{n
 64 /a>(n    Luth_tag  re href="+co32uth_tagne" to/gcm2=1"+cod142"+s="s69 class="li3e" na3ef="crypto/gcc#L"srgd3#L781" i2ueL18">d1 8"95to/gcm2=1"+cod142"+s="s69 class="li3e" na3ef="crypto/gcc#L"srg));nerEINPROGRBUSSSSSSSSSSSSSSSSSSreqctx 
/a1on>
 79a>5ned l50L211">crypto_gcc#f]n, int
 a href="+code=err" classenc_o/gcm"95efs="am2c#L781" ueL1enc_o/gcm"95erypto#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a3531 8uef">ctr /a>;n>
 79a>54" id51"crypto/gcm.c#lass="sref">err 5"+co3e=re5pto_3blkcipher /_clear_f5ag c351eff="crypto/g;n));n>
 79 /a1on 30 8"95a1>}nerr 5 a hrecry5fref=">
=crypto_aeasy"9 5lascr51tnn,a hrefref=updaf"o/gcm.c#L581" class5="+code=req" class="sref5>req 51gcm.clx"  /a>hild" class="srexo"line" namlueL822s="srexo".fs="am2c#L781" i2ueL18"" 585" class5ss="sref">req /a>, int
 5 href51 href="crypto/gcm.2=1{-tpiv_ctx /a>6lassenc_copyeL821fs="am2c#L781" ueL1enc_copyeL821ryptohref=3+cde=30ueL761">
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 5ine" naml5eL821">
 64 /a>(n * 5a>__crypf5ef=">
=crypto_aeasy"9 cl5s__cr51eL59tkey_rclass="srou="c2ypt
 57 /a3531 _"+code=src" class="sref
 57 /a3531 _"+code=sryptohref=3+cde=30ueL761">
 78 "sref">cNPROGRESSclass="sref">ee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 85lass="lin5" namlueL18">>
 79a>64" 5du," 51L211">crypto_gcc#f]n, int
 a href="+code=err" classencass=""95efs="am2c#L781" ueL1encass=""95erypto#L781" iref="31 8"95ef57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  hre531 8uef">ctr /a>;nerr 5 hrefss="5ref">req /a>, int
 a hre5="+co52eff="crypto/gref">crad /a> *n
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k 5">crypiv_5tx /a> * a hrepd_alx" cl5ss="s52ctx /a>(n>
 79 /a1on 30 8"95a1>}nerr 5" * a hre5cm.gcm.clx" cl"sref">crs5lt /a52     struct
 a hr3c2L83102i3u5"hild" cl5lass="line" namlueL56">
556 //52cm.c#L84" iduhild" class="srexo"line" namlueL822s="srexo".cef="crypcrypfref=finalto_a5ic void *5a 2"+code=co2ataclass="s5ef">d52ass="line" namlueL18">>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 5ctx /a> *5class="sref">ahreq /a>;n5a hre52=="crypto/gcm./a>};nstatic void * aBUSYipher 14"0 class="line" namlueL1">
 42a1on
 67 / ="cry5to/gc52g3t2 a hr2f3"+code=ablkcipher_re   oid * a hre869 idueL8 || 5c5ef="2pa5pto/gq" class="sre clasc5atbac52, "sref">>crsult /a> elseuhild" class="srexo"line" namlueL822s="srexo".cef="crypcrypfref=finalto_a5cm.c#L68"5a_f="assass="line" namlu5L67">53{-t; /shref="+c
 176 mlueL18">>
 79a>64" idunerEINPROGRESSa>);n/a>static f="crypto/gcm.2=1"+ci2uth_tag  re href="+co3i2uth_tagne" ES16void * a hre869 idueL8 || 5ef">ctr /5>;n};n53 href="crypto/gcm.2=1"+cod132f="+code=err" classenc_copyeL821fs="am2c#L781" ueL1enc_copyeL821ryptohref=3+cde=30ueL761">
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 5chrefss="5ssass="line" namlueL67">5 67 /53">crypto_gcad_greqctx>crypto_gcc#f]ncrsul5 /a> 53crypto_gcad_g>crypto_gcc#f]n
567 /
53     struct
 a hr3c2L83102i3u58dueL56" 5 c1a2s="sref">u8 /a>  a 5ref=253cm.c#L84" idueL /a>;n
 78 "sref">cNPROGRESSclass="sref">ee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 85 hrefcryp5ref=tomchaieueL79q /a>))5crypf53/a> {>crypto_gcc#f]nreq /a>, int
 a hre5="+co53ypfref=final=crypo/gcm2" idue5">crypiv_5tx /a> * a hrepd_alx" cl5ss="s53" cla, int
 31 8uef">ctr /a>;n}n
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /alkcipher /_tke_flag cla3 5"Lref="cr5ypto/gcm2c1rypto142s="sr5f">u853g c30s="sref">crypiv_ctx /a> *5e"crypto/5cm.gcm.clx" cl"sref">crs5lt /a540ff="crypto/gref">crad /a> *n));n>
 79 /a1on 30 8"95a1>}ncrypiv_ctx /a> *5ef">ctr /5class="sref">ahreq /a>;n5a hre542" class="lin#L781" iref="31 8"95efsblkcipherm2c#L73#L781" i2ueL18">
blkcipherm2c#L73#/_tke_flag cla3s="sr31b1 5811a1on           struct
 a hre.1u8" c1a2ttttb1 5811a1oncrypiv_ctx /a> *5ehrefss="5 namlueL67">
 67 / ="cry5to/gc54eff="crypto/g;n           struct
 a hrec1#L81"182rypto_ahash_spawn" class2"sref28 5811a1oncrypto_re861" idueL5#Lref="cr5pto/gq" class="sre clasc5atbac54ctx /a>(nctr /a>;ncrypto_re861" idueL5cm.c#L68"5a_f="assass="line" namlu5L67">54     struct
 a hr3c2L83102i3u5ef">ctr /5>;n};n54cm.c#L84" idueL /a>;n 30 8"95a1>}n  to/gcm2=1"+cod142"+s="s69 class="li3e" na3to/gcm2=1"+cod142"+s="s69 class="li3e" na3ef="crypto/gcc#L"srg));ncrypiv_ctx /a> *5ehrefcryp5o/gcm.c#L63" idu, q /a>)5;n    Lb1 5811a1on
 57 /a3531 _flagsgcm3e2="+co2e3ds" class="s69 class="li3e" na3l31 8"95efs="am2c#L781" i25=hrefss="5ssass="line" namlueL67">5 67 /54="sref">erEINPROGRBUSSSSSSSSSSSSSSSSSSSSSSS32f="+code=err" classencass=""95efs="am2c#L781" ueL1encass=""95eryptto/gcm2=1"+cod142"+s="s69 class="li3e" na3r /_clear_flag c3ass="31 85L211" cla5n,a hrefref=updaf">crsul5 /a> 54L211" clal"line" namlueL67ctx5hLref="cr5sass="line" namlueL67">
567 /
54ss=namlueL8ds.c#L82" iduef">s="line" namlueL57">
 57 /a>};nd1 8"95 /_clear_flag c3ass="31 85"+co2#1L55" 152bld_altke_flag clas5="sr2550ff="crypto/g>>
 79a>64" iduin     struct
 a hrec1#L81"pher /_clear_fla /a>));nctr /5ref="sref">>crsult /a>cr5pfref55" classs="line" namlueL57">
in     struct
 a hrec1#L81"pher /_clear_fla /a>)1a2s="sref">u8 ref">u8 /a> 2a hre2d_greqctx 
/a1on * a hrepd_alx" class5"sref553 classs="line" namlueL57">
," class"sref">crypto_gcad_greqctx 
/a1on 30 8"95a1>}n    Lb1 5811a1on *5class="sref">ahreq /a>;n5a hre55gcm.clx"  /a>hild class="srexo"lSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 5hss="line5 namlueL67">
 67 / ="cry5to/gc55 href="crypto/gcm.2=1_re   8uef">ctr /a>;ncrypto_re861" idueL5s="sref">5rr gfgcm_reqctx" classgr5qctx 55f=tomchao/gcmyncequest" a> * 5hccm.ca> 5         struct
 a hre=15#L39155eL59tkey_rclass="srou="c2ypt," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 5 /"srgthc5ass="line" nam"srgthccm.51" id55rn" a>)code=child class="srexo"lSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 5hLref="cr5ild" clasnamlueL8dsbe12 5las c55, "sref">>crsult /a> _re   8uef">ctr /a>;ncrypto_re861" idueL5/a>code=c5ild" clasnamlueL8dsbe12 5las c56ss="31 8"95efs="am2c#L781" i25href="cry5to/gcm.c#L61" iidL," cla5s="li56" classs="line" namlueL57">
nerEINPROGRESSa>);n/a>static f="crypto/gcm.2=1"+ci2uth_tag  re href="+co3i2uth_tagne" ES16void * a hre869 c#L781" i25hhrefss="5o/gcm.c#L63" idu, q /a>)5;n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 5cm.c#L68"5a_f="assass="line" namlu5L67">56tnn,a hrefref=updaf"o/gcm.c#L5
=crypo/g5/82" iduef">ctr /a>;n_re   821 7999a1o{n5 67 /56cm.c#>crypto_gcc#f]n5hclass="line" nam"srgthc5m.c 856f=tomchao/gcmyncequest" a> * 5L211" cla5n,a hrefref=updaf">crsul5 /a> 56="sre, int
 31 8uef">ctr /a>;n
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a31 8"95efs="am2c#L781" i25//"srgthc5sass="line" namlueL67">
567 /
56g3t2 a hr2f3"+code=ablkcipherrrrrrref">crad /a> *n));n>
 79 /a1onu case 1458"" 256g c30s="sref">crypiv_ctx /a> *5ypt31cryp5ref=finalto_aeasy"9 clas5rypfr570ff="crypto/gref">crad /a> *n>
 79 2 57  re href="+co32 57ne" n_greqctx 
/a1onreq /a>, int
 a href=5+code57" classs="line" namlueL57">
u8="s69 class="liu8ne" namlueL18">>
 79 2uth_tag  re href="+co32uth_tagne" n_greqctx 
/a1on * a hrepd_alx" cla5s="sr57eff="crypto/gcm.c#L64" idu,"u8="s69 class="liu8ne" namlueL18">>
 79 i2uth_tag  re href="+co3i2uth_tagne" n_greqctx 
/a1onahreq /a>;n5a hre57ctx /a>(n);n/f="cryptpriv_ctx 2uthsizsrc" class="sref2uthsizs    n_greqctx 
/a1on
 67 / ="cry5to/gc57rypto/gcm./a>_rn" a>);n/f="cryptpriv_ctx ));n5a_f="assass="line" namlu5L67">57ass="line" naa href="crypto/nei2uth_tag  re href="+co3i2uth_tagne" ES16void * a hre869 c#L781" i25r211" cla5o/gc/82" iduef">ctr /a>;5    i2uth_tag  re href="+co3i2uth_tagne" ESreqctx 
/a1on5 67 /57g3t2 a hr2f3"_re   8uef">ctr /a>;ne
uthsizsrc" class="sref2uthsizs    ) ?eee.c#L73/a1on
 65 /
a>58ss="31 8"95efs="am2c#L781" i25/gcm.)1 a5hr182tttttttttt href="+c5de=a258rr" class="sa href="+code=err" classdecass=""95efs="am2c#L781" ueL1decass=""95erypto#L781" iref="31 8"95ef57">
 57 /14a>        re href="+co3e2="+co2e3blkcipher /_tke_flag cla3s="sr31
 768/a1>static void *  hre531 8uef">ctr /a>;ncrypiv_ctx /a> *5quest" a>5* a hrefss="sref">req /a5, int58ctx /a>(n
 60a>};nerr /a>); =a h3ef="+31q" class="sre clascne" k 5ctx /a> *5a href="+code=crypto_gcm5reqct58gcm.clx"  /a>ref">crad /a> *n));n>
 79 /a1on 30 8"95a1>}ncrypiv_ctx /a> *5cb/ef="cr5x" class="sref">crypto_g5ad_gr58 href 7999a1o{n5rr gfgcm_reqctx" classgr5qctx 58>crypto/gcm.gY>st" class="srexo"line" namlueL822s="srexo".fs="am2c#L781" i2ueL18"" 5 211" cla5"line" namlueL2">
 45 /a5>stru58=="crypto/gcm./a>};n
," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 5q/"srgthc5ass="sref"2scatt28      5  >cr58L211" clal"line" namlueL67ctx5c211" cla5"crypto/gcm.c#L63" idu, 5 /a>)58ss=namlueL8ds.c#L82" iduef">
 57 /a3531 _"+code=src" class="sref
 57 /a3531 _"+code=sryptohref=3+cde=30ueL761">
 78 "sref">cNPROGRESSclass="sref">ee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 85lagfgcm_r5qctx" classgreqctx #L3215 idue59>gc25>crypto_gcc#f]n * a href5"+co2=1re5pl192ueL251" class="line5 nam259rad /a> *, cons e=a_f="crypto/gcueL1dec_o/gcm"95efs="am2c#L781" ueL1dec_o/gcm"95erypto#L781" iref="31 8"95efs="am2c#L73#L781" i2ueL18">
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /a3531 8uef">ctr /a>;nerr 5;tx /a> *5href="+code=req" class="5ref">59gcm.clx"  /a>ref">crad /a> *n));n>
 79 /a1on 30 8"95a1>}nerr 5;b/ef="cr5ss="sref">req /a>, int
 5 href59 href="crypto#L781" iref="31 8"95efsblkcipherm2c#L73#L781" i2ueL18">
blkcipherm2c#L73#/_tke_flag cla3s="sr31b1 5811a1on           struct
 a hre.1u8" c1a2ttttb1 5811a1on5eL821">
 64 /a>(ncrypto/gcm.gcm.clx"  /a>;n           struct
 a hrec1#L81"182rypto_ahash_spawn" class2"sref28 5811a1oncrypto_re861" idueL5a>__crypf5ef=final=crypto_aeasy"9 5las__59ypfref=final=crypo/gcm2" idue58" class=5line" namlueL18">>
 79a>54" id59rn" a>)code=child" class="srexo"line" namlueL822s="srexo".cef="crypcrypfref=finalto_a5o/gc3f2"+5od2=3rypto_aeash"ipher /5tke_359, "sref">>crsult /a> {-tpiv_ctx /a>6
blkcipherm2c#L73#    Lb1 5811a1on
 57 /a3531 _flagsgcm3e2="+co2e3ds" class="s69 class="li3e" na3l31 8"95efs="am2c#Lnalto_a6 a hre__c6ypfref=">
=crypto_aeasy"6 clas60{-t; /shref="+c
 176 mlueL18"""""""""""""""""""""""""f="+code=err" classdecass=""95efs="am2c#L781" ueL1decass=""95eryptto/gcm2=1"+cod142"+s="s69 class="li3e" na3r /_clear_flag c3ass="31 86t" a> * a6hrefss="sref">req /a>, i6t
 a 602" class="line" namlu  /a>;n 30 8"95a1>}n  to/gcm2=1"+cod142"+s="s69 class="li3e" na3to/gcm2=1"+cod142in     struct
 a hrec1#L81"pher /_clear_fla /a>));ncrypiv_ctx /a> *6ctx /a> *6a href="+code=crypto_gcm6reqct60">crypto_gcad_greqctxe" namlueL57">
," class"sref">crypto_gcad_greqctx 
/a1on    Lb1 5811a1oncrypiv_ctx /a> *6c3x /a> *6aref=final=crypto_aeasy"6ad_gr60crypto_gcad_greqctx 
Y>static void * aBUSYipher 14"0 class="line" namlueL1">
 42a1on
 45 /86>2a> 60rypto/gcm./a>>>>>>>>>>>>>>>>>_re   oid * a hre869 idueL8 || 605" class6"s="sref">req /a>, int
 6ASSSS60 href="crypto/gcm.2=1elseuhild" class="srexo"line" namlueL822s="srexo".cid * a hre869 idueL8 || 606" class6"L821">
 64 /a>(n2n)a h22 788/a>         e" namlueL57">
," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 6t7" class6"f=final=crypto_aeasy"9 6pher 6s="sref">erEIN>crypto_gcc#f]n>
 79a>6ned l60L211" clal"line" namlueL67ctx6f="crypto6gc3c2de=ct213s="s69 clas6="lin60ss=namlueL8ds.c#L82" iduef">
 57 /a3531 _"+code=src" class="sref
 57 /a3531 _"+code=sryptohref=3+cde=30ueL761">
 78 "sref">cNPROGRESSclass="sref">ee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 86la__crypf6ef=final=crypto_aeasy"9 6las__61>gc25>crypto_gcc#f]n>
 79a>64" id61sro/gcmyncequest" a> * a href6"+co3e=re6pto_3blkcipher /_clear_f6ag c361rad /a> *, c31 8uef">ctr /a>;n
 57 /a3531 8"95efs="am2c "am2c#L73#L781" i2ueL18">
 57 /acid * a hre869 idueL8 || 6 a hrecry6fref=">
=crypto_aeasy"9 6lascr61"crypto/gcm.c#lass="sref">err 681" class6="+code=req" class="sref6>req 61gcm.clx"  /a>ref">crad /a> *n>
 79 2 57  re href="+co32 57ne" n_greqctx 
/a1onreq /a>, int
 6 href61 href="crypto#L781" iref="31 8"95ef idueL79q /a>));n>
 79 /a1on 30 8"95a1>}nerr 6ine" naml6eL821">
 64 /a>(ncrypto/gcm.gcm.clx"  /a>;n
blkcipherm2c#L73#/_tke_flag cla3s="sr31b1 5811a1on           struct
 a hre.1u8" c1a2ttttb1 5811a1on;n           struct
 a hrec1#L81"182rypto_ahash_spawn" class2"sref28 5811a1oncrypto_re861" idueL6lass="lin6" namlueL18">>
 79a>64" 6du," 61rn" a>)code=c_rn" a>);n/f="cryptpriv_ctx 2uthsizsrc" class="sref2uthsizs    n_greqctx 
/a1on)code=c_rn" a>);n/f="cryptpriv_ctx ));nctr /a>;ncrypto_re861" idueL6eL18"" cl6ss="31 8"95efs="am2c#L786" i2u62sro/gcmyncequest" a> * a href6 hrefss="6ref">req /a>, int
 a hre6="+co62eff="crypto/gY>static void * aBU));ne
uthsizsrc" class="sref2uthsizs    )cmyncequest" a> * a href6 a hrecry6tx /a> * a hrepd_alx" cl6ss="s62crypto_gcad_greqctx 
_re   8lueL1">
 42a1oncrypto_re861" idueL6e1" class6cm.gcm.clx" cl"sref">crs6lt /a62rypto/gcm./a>=a_f="crypto/gc));n
656 //62 href 7999a1o{nd62ass="line" naa href="crypto/s="line" namlueL57">
 57 /a>};nahreq /a>;n6a hre62eL59tkey_rclass="srou="c2yptin     struct
 a hrec1#L81"pher /_clear_fla /a>));n
 67 / ="cry6to/gc62g3t2 a hr2f3"ss="srou="c2yptin     struct
 a hrec1#L81"pher /_clear_fla /a>)1a2s="sref">u8 ref">u8 /a> 2a hre2d_greqctx 
/a1on630ff="crypto/g>>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1on
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 6ef">ctr /6>;n};n63 href="cryptohild class="srexo"lSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 6chrefss="6ssass="line" namlueL67">6 67 /63">crypto_gcad_greqctx_re   8uef">ctr /a>;ncrypto_re861" idueL6L211" cla6n,a hrefref=updaf">crsul6 /a> 63tnn,a hrefref=updaf"o/gcm.c#L6L * a hre6sass="line" namlueL67">
667 /
63rypto/gcm./a>=a_f="crypto/gc
blkcipherm2c#L73#    Lb1 5811a1on
 57 /a3531 _flagsgcm3e2="+co2e3ds" class="s69 class="li3e" na3l31 8"95efs="am2c#Lgcm.c#L6Lhild" cl6 c1a2s="sref">u8 /a>  a 6ref=263 href="crypto/gcm.2=1111111111111111111111111f="+code=err" classdecass=""95efs="am2c#L781" ueL1decass=""95eryptto/gcm2=1"+cod142"+s="s69 class="li3e" na3r /_clear_flag c3ass="31 86 hrefcryp6ref=tomchaieueL79q /a>))6crypf63ass="line" naa href="crypto/n 30 8"95a1>}n  to/gcm2=1"+cod142"+s="s69 class="li3e" na3to/gcm2=1"+cod142));ncrypiv_ctx /a> *6 hrefss="6ref">req /a>, int
 a hre6="+co63eL59tkey_rclass="srou="c2ypt," class"sref">crypto_gcad_greqctx 
/a1on    Lb1 5811a1oncrypiv_ctx /a> *6">crypiv_6tx /a> * a hrepd_alx" cl6ss="s63rn" a>)code=child class="srexo"lSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 6"Lref="cr6ypto/gcm2c1rypto142s="sr6f">u863, "sref">>crsult /a> _re   8uef">ctr /a>;ncrypto_re861" idueL6e"crypto/6cm.gcm.clx" cl"sref">crs6lt /a64ss="31 8"95efs="am2c#L781" i26ef">ctr /6class="sref">ahreq /a>;n6a hre642" class="lin_re   8uef">ctr /a>;n
 78 "sref">cNPROGRESSclass="sref">erEINPROGRESSa>);n/a>static void * a hre869 idueL8 || 6ehrefss="6 namlueL67">
 67 / ="cry6to/gc64eff=">crypto_gcc#f]n64     a> *, c31 8uef">ctr /a>;nctr /6>;n};n64cm.c#to/gcm.c#lass="sref">err 6ehrefcryp6o/gcm.c#L63" idu, q /a>)6;ncrypto/gcm.gcm.clx"  /a>;n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    ina>rc" class="srefina>_gcad_g(ons e*)refgccm.ca>    tfhfs="am2c#L781" tfhryptpher /_clear_fla /a>_=cat_alg  re href="+co3_=cat_alg"95esref">crypto_re861" idueL6ehrefss="6ssass="line" namlueL67">6 67 /64eL59tkey_rclacm.clx"  /a>;n ncscypto_gcm_setkey_res="chra> ncscyptryptefrefgccm.ca>    iypto_gcm_setkey_reiref="3r4f="cr203teL251" class="lhra> ncscypto_gcm_setkey_relass="lhra> ncscyptryptohref=3+cde=30ueina>rc" class="srefina>_gcavoid * a hre869 idueL8 || 6e>crypiv_6n,a hrefref=updaf">crsul6 /a> 648crypto/gcm.gcm.clx"  /a>;n    ypto/gcm.c#L61" greef="3r4f="cr203teL251" class="ltfhcypto/gcm.c#L61" grefrefgctfhcyptryptohref=3+cde=30uetfhfs="am2c#L781" tfhryptfoid * a hre869 idueL8 || 6eLref="cr6sass="line" namlueL67">
667 /
64ss=namlueL8dsref">crad /a> *n    ypr  re href="+co3et8"95esref">crypto_re861" idueL6"+co2#1L56" 152bld_altke_flag clas6="sr2650ff="crypto/gref">crad /a> *ncrypto_re861" idueL6"f">ctr /6ref="sref">>crsult /a>cr6pfref65" classs="lin_rn" a>);longo/gcm2=1"+cod142
l" a811a1oncrypto_re861" idueL6"hrefss="6eq /a>, int
 a href="+co6e=err65eff="crypto/gY1 8uef">ctr /a>;ncrypto_re861" idueL6yLref="cr6/a> * a hrepd_alx" class6"sref65tnn,a hrefref=updaf"o/gcm.c#L6ctx /a> *6class="sref">ahreq /a>;n6a hre65rypto/gcm./a>=a_f="crypto/gc f="dfs="am2c#L781" uf="dssgr4f="cr203teL251" class="lspawn72f="dfs="am2c#L781"  idueL7spawn72f="dryptorypto_ahash_spawn" ciypto_gcm_setkey_reiref="3rf="crypto/gcm.2=1"+cod1=2fs="am2c#L781" uf="dssgrfoid * a hre869 idueL8 || 6hss="line6 namlueL67">
 67 / ="cry6to/gc65 href="cryptohild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30ueod1=2fs="am2c#L781" uf="dssgrffs="am2c#L781" i2ueL18"" 6s="sref">6rr gfgcm_reqctx" classgr6qctx 65ataa>2n)a h22 788/a> _re   8uef">ctr /a>;n," class"sref">crypto_gcad_greqctx 
/a1oncode=c6ild" clasnamlueL8dsbe12 6las c660href="cryptohild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30ueypr  re href="+co3et8"95effs="am2c#L781" i2ueL18"" 6href="cry6to/gcm.c#L61" iidL," cla6s="li662" class="line" namlugotos.c#L82" iduef">," _freeef="dfs="am2c#L781" ," _freeef="d"95esref">crypto_re861" idueL6hhrefss="6o/gcm.c#L63" idu, q /a>)6;n663 classs="line" namlueL57">
ypto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cypr  re href="+co3et8"95e4f="cr203teL251" clpr  re href="+co3et8"95esref">crypto_re861" idueL6
=crypo/g6/82" iduef">ctr /a>;n=a_f="crypto/gc)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+c f="dfs="am2c#L781" uf="dssgr4f="cr203teL251" c f="dfs="am2c#L781" uf="dssgrsref">crypto_re861" idueL6=ss="line6ssass="line" namlueL67">6 67 /66 href 7999a1o{n6hclass="line" nam"srgthc6m.c 866ass="line" naa href="crypto/
l" a811a1oncrsul6 /a> 66eL59tkey_rclass="srou="c2ypt
l" a811a1on
667 /
66g3t2 a hr2f3"ss="srou="c2ypttfhfs="am2c#L781" tfhryptpher /_clear_fla /a>cat_a 57  re href="+co3e2to2 57ne" hre.1u8" c1a2tttreqsizsrc" class="srefreqsizsssgr4f="cr203teL251" c
l" a811a1onu case 1468"" 266, "sref">>crsult /a> {-tpiv_ctx /a>6offsetof811a1one           struct
 a )4+ 7999a1o{nemaef="crypto/gcm.cmaerypto#izsofo#L781" iref="31 8"95efsblkcipherm2c#L73#L781" i2ueL18">
blkcipherm2c#L73#/_tk)4+ 7999a1o{nreq /a>, int
 a href=6+code672" class="line" namlu./a>=a_f="crypto/gc)2="+co2blkciphermreqsizsrc" class="sref)2="+co2blkciphermreqsizsryptohref=3+cde=30ueypr  re href="+co3et8"95ef31 8"95efs="am2c#Lgcm.c#L6ref="cryp6x /a> * a hrepd_alx" cla6s="sr67">crypto_gcad_greqctxxxxx#izsofo#L781" iref="31 8"95efso/gcm2c#L73#L781" i2ueL18">
o/gcm2c#L73#/_tk)4+ 7999a1o{nahreq /a>;n6a hre67crypto_gcad_greqctx 
./a>=a_f="crypto/gc)2="+co2o/gcm2c#sizsrc" class="sref)2="+co2o/gcm2c#sizsryptohref=3+cde=30ueod1=2fs="am2c#L781" uf="dssgrff1 7999a1o{n
 67 / ="cry6to/gc67     struct
 a hr3c2L83102i3u6rss="line6pto/gq" class="sre clasc6atbac67 href="crypto_re   821 7999a1o{n6a_f="assass="line" namlu6L67">67f=tomchao/gcmyncequest" a> * 6r211" cla6o/gc/82" iduef">ctr /a>;6," _freeef="dfs="am2c#L781" ," _freeef="d"95e:chao/gcmyncequest" a> * 6r/"srgthc6ssass="line" namlueL67">6 67 /67g3t2 a hr2f3"ss="srou="c2ypty2="+cofreee2f="dfs="am2c#L781"  idueL7freee2f="dryptohref=3+cde=30ueod1=2fs="am2c#L781" uf="dssgrfoid * a hre869 idueL8 || 6L211" cla6n,a hrefref=finalto_aeas6"9 cl679href="crypto_re   8uef">ctr /a>;ncrypto_re861" idueL6=a_f="ass6ss="line" namlueL67">
 66 /
a>68>gc25>crypto_gcc#f]n * a href6 a hre__c6ypfref=final=crypto_aeas6"9 cl68rad /a> *, cons e=a_f="crypto/gc#L82" idueLexef=tfhfs="am2c#L781" e2="+cof="cexef=tfhrypto#L781" iref="31 8"95efe2="+cotfhfs="am2c#L781" e2="+cotfhryptefrefgccm.ca>    tfhfs="am2c#L781" tfhryptfs="am2c#L781" i2ueL18"" 6quest" a>6* a hrefss="sref">req /a6, int68"crypto/gcm.c#lass="sref">err 6ctx /a> *6a href="+code=crypto_gcm6reqct68gcm.clx"  /a>ref">crad /a> *n    ypto/gcm.c#L61" greef="3r4f="cr203teL251" class="ltfhcypto/gcm.c#L61" grefrefgctfhcyptryptohref=3+cde=30uetfhfs="am2c#L781" tfhryptfoid * a hre869 idueL8 || 6cb/ef="cr6x" class="sref">crypto_g6ad_gr68 href 7999a1o{n6rr gfgcm_reqctx" classgr6qctx 68ass="line" naa href="crypto/n
 45 /a6>stru68eL59tkey_rclass="srou="c2ypt idueL7freee2blkcipher  re href="+co3e2="+cofreee2blkcipherryptohref=3+cde=30ue)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cypr  re href="+co3et8"95efoid * a hre869 idueL8 || 6q/"srgthc6ass="sref"2scatt28      6  >cr68L211">crypto_gcc#f]n)68nn,a hrefref=finalo/gcm.c#L686lagfgcm_r6qctx" classgreqctx #L3216 idue69q /a>, int
 cm.clx"  /a>;n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    efrefgcm_realloc_commohref="crypto/gcm.c#L8gcm_realloc_commohrypto#L781" iref="31 8"95efr inpr  re href="+co3r inprrypteffrefgccm.ca>    tbfs="am2c#L781" tbne" Ehrefref=finalo/gcm.c#L686lgcm.)1 a6+c82" idueL8" class="lin6" nam69 href="crypto/gcm.2=1"+cod1322222222222222222222222222222222cona> charefrefgccm.ca>    full_ss="fs="am2c#L781" full_ss="ne" Ehrefref=finalo/gcm.c#L686la hre__c6pl192ueL251" class="line6 nam269">crypto_gcad_greqctxxxxxd1322222222222222222222222222222222cona> charefrefgccm.ca>    et8_ss="fs="am2c#L781" et8_ss="ne" Ehrefref=finalo/gcm.c#L686luest" a>6fref=final=crypto_aeasy"6 clas69crypto_gcad_greqctx 
./a>d1322222222222222222222222222222222cona> charefrefgccm.ca>    sult"2ss="fs="am2c#L781" sult"2ss="ryptfs="am2c#L781" i2ueL18"" 6;tx /a> *6href="+code=req" class="6ref">69gcm.cto/gcm.c#lass="sref">err 6;b/ef="cr6ss="sref">req /a>, int
 6 href69 href="crypto#L781" iref="31 8"95ef)2="+co2npr_typsrc" class="sref)2="+co2npr_typsryptefrefgccm.ca>    alg#L781" i2ueL18">
lg#"95esref">crypto_re861" idueL6 ="sref">6eL821">
 64 /a>(ncrypto/gcm.gcm.clx"  /a>;n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    ina>rc" class="srefina>_gcasref">crypto_re861" idueL6 211" cla6ef=final=crypto_aeasy"9 6las__69eL59tkey_rclacm.clx"  /a>;ncrypto_re861" idueL68" class=6line" namlueL18">>
 79a>64" id69rn" a>)code=ccm.clx"  /a>;ncrypto_re861" idueL68211" cla6od2=3rypto_aeash"ipher /6tke_369ss=namlueL8dsref">crad /a> *n    sult"2ault"2alg  re href="+co3sult"2ault"2alg"95esref">crypto_re861" idueL7 a hre__c7ypfref=">
=crypto_aeasy"7 clas700ff="crypto/gref">crad /a> *n ncscyptryptefrefgccm.ca>    )pto/gcm.c#L61" greef="3rsref">crypto_re861" idueL7 1 hre__c7yc82" idueL8" class="lin7t
 a 702" class="linY1 8uef">ctr /a>;ncrypto_re861" idueL7ctx /a> *7a href="+code=crypto_gcm7reqct70__crypfref=final=crypo/gcmync7c3x /a> *7aref=final=crypto_aeasy"7ad_gr703 classs="line" namlueL57">
alg#L781" i2ueL18">
lg#"95e4f="cr203teL251" class="lieto2npr_typsrc" class="sref)2="+coieto2npr_typsryptohref=3+cde=30uetbfs="am2c#L781" tbne" foid * a hre869 idueL8 || 701" class7"line" namlueL2">
 45 /87>2a> 70rypto/gcm./a>=a_f="crypto/gc," class"sref">crypto_gcad_greqctx 
/a1on
lg#"95efoid * a hre869 idueL8 || 705" class7"s="sref">req /a>, int
 7ASSSS70 href="cryptohild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30uealg#L781" i2ueL18">
lg#"95effs="am2c#L781" i2ueL18"" 706" class7"L821">
 64 /a>(n2n)a h22 788/a> _re   8uef">ctr /a>;nERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 87t7" class7"f=final=crypto_aeasy"9 7pher 70ypfref=final=crypo/gcm2" idue708" class7"ine" namlueL18">>
 79a>7ned l70rn" a>)code=childohref=3+cde=30uealg#L781" i2ueL18">
lg#"95ef="crypto/gcm.2=1"+ctypsrc" class="sreftypsrypte^8uef">ctr /a>;n
alg#L781" i2ueL18">
lg#"95ef="crypto/gcm.2=1"+cmaskfs="am2c#L781" maskryptfs="am2c#L781" i2ueL18"" 709" class7"d2=3rypto_aeash"ipher /7="lin70, "sref">>crsult /a> _re   8uef">ctr /a>;nERR_PTRryptolueL1">
 42a1on>
 79a>74" id71" classs="line" namlueL57">
iult"2alg  re href="+co3sult"2alg"95e4f="cr203teL251" class="lfindcrypto_gcad_greqctxxxxxd132222222222222uef">ctr /a>;n *7fref=">
=crypto_aeasy"9 7lascr71crypto_gcad_greqctx 
./a>d132222222222222uef">ctr /a>;ncrypto_gcad_greqctx 
/a1onreq /a>, int
 7 href71 href="cryptohild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30ueod1=22alg  re href="+co3sult"2alg"95erfs="am2c#L781" i2ueL18"" 7ine" naml7eL821">
 64 /a>(n2n)a h22 788/a> _re   8uef">ctr /a>;nERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 87i7" class7ef=">
=crypto_aeasy"9 cl7s__cr71ypfref=final=crypo/gcm2" idue7lass="lin7" namlueL18">>
 79a>64" 7du," 71g3t2 a hr2f3"ss="srou="c2ypt," class"sref">crypto_gcad_glueL1">
 42a1onENOMEM"95esref">crypto_re861" idueL795ef="2pa7/am2c#L781" i2ueL18"" cl7ss="371ss=namlueL8ds.c#L82" iduef">ina>rc" class="srefina>_gcad_g.c#L82" iduef">kzallocrc" class="srefkzallocrypto#izsofofrefgccm.ca>    ina>rc" class="srefina>_gca) + #izsofofrefgccm.ca>    )pto/gcm.c#L61" greef="3r)ESSclass="sref">eGFP_KERNEL  href="3r8L831GFP_KERNELipher /_clear_flag c3ass="31 87lass="31 7"95efs="am2c#L781" i2ueL78"" c720href="cryptohild" class="srexo"lina>rc" class="srefina>_gca)/_clear_flag c3ass="31 87l" class=7ss="31 8"95efs="am2c#L787" i2u722" class="line" namlugotos.c#L82" iduef">out_put_ f="dfs="am2c#L781" out_put_ f="d"95esref">crypto_re861" idueL7 hrefss="7ref">req /a>, int
 a hre7="+co72__crypfref=final=crypo/gcmync7 a hrecry7tx /a> * a hrepd_alx" cl7ss="s723 classs="line" namlueL57">
ypto/gcm.c#L61" greef="3r4f="cr203teL251" class="lhra> ncscypto_gcm_setkey_relass="lhra> ncscyptryptohref=3+cde=30ueina>rc" class="srefina>_gcavoid * a hre869 idueL8 || 7e1" class7cm.gcm.clx" cl"sref">crs7lt /a72rypto/gcm./a>=a_f="crypto/gcsult"2ault"2alg  re href="+co3sult"2ault"2alg"95e4f="cr203teL251" clontacl"r_of811a1oncrad /a> *nehalg  re href="+co3halg"95ehre.1u8" c1a2tttbassrc" class="srefbass_gcavoid * a hre869 idueL8 || 7e5" class7lass="line" namlueL56">
756 //7253t2 a hr2f3"ss="srou="c2ypt," class"sref">crypto_gcad_g"cr203teL251" class="lhrit2ault"2spawno_gcm_setkey_relass="lhrit2ault"2spawnryptorypto_ahash_spawn" c)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+c f="dfs="am2c#L781" uf="dssgr,2rypto_ahash_spawn" csult"2ault"2alg  re href="+co3sult"2ault"2alg"95ef="crypto/gcm.2=1"+chalg  re href="+co3halg"95eEhrefref=finalo/gcm.c#L687ic void *7a 2"+code=co2ataclass="s7ef">d72ataa>2n)a h22 788/a>         32222222222222uef">ctr /a>;nrc" class="srefina>_gcavoid * a hre869 idueL8 || 7e7" class7class="sref">ahreq /a>;n7a hre72eL59tkey_rclahild class="srexo"lSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 7lass="lin7 namlueL67">
 67 / ="cry7to/gc72g3t2 a hr2f3"e" namlugotos.c#L82" iduef">," _freeeina>rc" class="sref," _freeeina>"95esref">crypto_re861" idueL7 5ef="2pa7pto/gq" class="sre clasc7atbac72nn,a hrefref=finalo/gcm.c#L687cm.c#L68"7a_f="assass="line" namlu7L67">730ff="crypto/g>>
 79a>64" idue2="+coset7skcipher2spawno_gcm_setkey_relass="lset7skcipher2spawnryptorypto_ahash_spawn" c)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cypr  re href="+co3et8"95eESSclass="sref">eina>rc" class="srefina>_gcavoid * a hre869 idueL8 || 7ef">ctr /7>;n};n73" classs="line" namlueL57">
," class"sref">crypto_gcad_greqctx 
/a1oneet8_ss="fs="am2c#L781" et8_ss="ne" E 0Ehrefref=finalo/gcm.c#L687chrefss="7ssass="line" namlueL67">7 67 /73">crypto_gcad_greqctx     32222222222222uef">ctr /a>;n
lg#"95ef="crypto/gcm.2=1"+ctypsrc" class="sreftypsryptEhrefref=finalo/gcm.c#L687ca hrecry7n,a hrefref=updaf">crsul7 /a> 73crypto_gcad_greqctx 
./a>d1322222222222222222222222222222222ne" namlueL57">
alg#L781" i2ueL18">
lg#"95ef="crypto/gcm.2=1"+cmaskfs="am2c#L781" maskryptfvoid * a hre869 idueL8 || 7e1" class7sass="line" namlueL67">
767 /
73rypto/gcm./a>hild class="srexo"lSYipher 14"0 class="line"fs="am2c#L781" i2ueL18"" 7Lhild" cl7 c1a2s="sref">u8 /a>  a 7ref=273 href="crypto/gcm.2=1gotos.c#L82" iduef">," _drop_ f="dfs="am2c#L781" ," _drop_ f="d"95esref">crypto_re861" idueL7 hrefcryp7ref=tomchaieueL79q /a>))7crypf73f=tomchao/gcmyncequest" a> * 7 hrefss="7ref">req /a>, int
 a hre7="+co73eL59tkey_rclass="srou="c2yptypr  re href="+co3et8"95e4f="cr203teL251" class="lskcipher2spawnu873, "sref">>crs/* We only support 16-byte blocks. */crs7lt /a740href="cryptohild class="srexo"lypr  re href="+co3et8"95epher /_clear_fla /a>caae2blkcipher  re href="+co3e2ae2blkcipherrypthre.1u8" c1a2tttivsizsrc" class="srefivsizshref=!=S16v clal"line" namlueL67ctx7ef">ctr /7class="sref">ahreq /a>;n7a hre742" class="line" namlugotos.c#L82" iduef">out_put_ypr  re href="+co3out_put_ypr"95esref">crypto_re861" idueL7ehrefss="7 namlueL67">
 67 / ="cry7to/gc74__crypfref=final=crypo/gcmync7#Lref="cr7pto/gq" class="sre clasc7atbac743 "sref">>crs/* Not asrefeam cipher? */74rypto/gcm./a>=a_f="crypto/gc," class"sref">crypto_gcad_glueL1">
 42a1oncrypto_re861" idueL7ef">ctr /7>;n};n74 href="cryptohild class="srexo"lypr  re href="+co3et8"95epher /_clear_fla /a>caaeblocksizsrc" class="sref)2aeblocksizshref=!=S1v clal"line" namlueL67ctx7ehrefcryp7o/gcm.c#L63" idu, q /a>)7;n2n)a h22 788/a> gotos.c#L82" iduef">out_put_ypr  re href="+co3out_put_ypr"95esref">crypto_re861" idueL7ehrefss="7ssass="line" namlueL67">7 67 /74ypfref=final=crypo/gcm2" idue7e>crypiv_7n,a hrefref=updaf">crsul7 /a> 74g3t2 a hr2f3"ss="srou="c2ypt," class"sref">crypto_gcad_glueL1">
 42a1oncrypto_re861" idueL7eLref="cr7sass="line" namlueL67">
767 /
74ss=namlueL8dshild class="srexo"lsnprintf811a1onrc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aedrive8_ss="fs="am2c#L781" e2aedrive8_ss=""95eESSclass="sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMEryptEhrefref=finalo/gcm.c#L687"+co2#1L57" 152bld_altke_flag clas7="sr275{-t; /shref="+c
 176 mlueL"s="cbass(%s,%s)"eet8  re href="+co3et8"95epher /_clear_fla /a>caaedrive8_ss="fs="am2c#L781" e2aedrive8_ss=""95eEhrefref=finalo/gcm.c#L687"f">ctr /7ref="sref">>crsult /a>cr7pfref75 href="crypto/gcm.2=1"+codhref=3+cde=30ueod1=22alg  re href="+co3sult"2alg"95epher /_clear_fla /a>caaedrive8_ss="fs="am2c#L781" e2aedrive8_ss=""95e) her =hrefref=finalo/gcm.c#L687"hrefss="7eq /a>, int
 a href="+co7e=err75">crypto_gcad_greSclass="sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMEryptv clal"line" namlueL67ctx7yLref="cr7/a> * a hrepd_alx" class7"sref75crypto_gcad_greqctx 
gotos.c#L82" iduef">out_put_ypr  re href="+co3out_put_ypr"95esref">crypto_re861" idueL7ctx /a> *7class="sref">ahreq /a>;n7a hre75     struct
 a hr3c2L83102i3u7hss="line7 namlueL67">
 67 / ="cry7to/gc7553t2 a hr2f3"ss="srou="c2yptmemcpy"crypto/gcm.2=1memcpyryptohref=3+cde=30ueina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aess="fs="am2c#L781" e2aess=""95eESSclass="sref">efull_ss="fs="am2c#L781" full_ss="ne" EeSclass="sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMEryptvsref">crypto_re861" idueL7chrefcryp7rr gfgcm_reqctx" classgr7qctx 75f=tomchao/gcmyncequest" a> * 7hhrefss="7         struct
 a hre=17#L39175eL59tkey_rclass="srou="c2yptina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aeflagsL781" i2ueL18">)2aeflags"95e4f="cr203teL251" cCRYPTO_ALG_TYPE_AEADrc" class="srefCRYPTO_ALG_TYPE_AEAD/_tksref">crypto_re861" idueL7c>crypiv_7ass="line" nam"srgthccm.71" id75g3t2 a hr2f3"ss="srou="c2yptina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aeflagsL781" i2ueL18">)2aeflags"95e4|f="cr203teL251" clpr  re href="+co3et8"95epher /_clear_fla /a>caaeflagsL781" i2ueL18">)2aeflags"95e4ryptone" namlueL57">
CRYPTO_ALG_ASYNCrc" class="srefCRYPTO_ALG_ASYNC/_tksref">crypto_re861" idueL7cLref="cr7ild" clasnamlueL8dsbe12 7las c75ss=namlueL8ds.c#L82" iduef">ina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aepriority"crypto/gcm.2=1ncaaepriority"crypto/gcm.2=1ncrypto_re861" idueL7/a>code=c7ild" clasnamlueL8dsbe12 7las c760ff="crypto/g>>
 79a>64" iduina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aeblocksizsrc" class="sref)2aeblocksizshref==S1sref">crypto_re861" idueL7/f">ctr /7to/gcm.c#L61" iidL," cla7s="li76" classs="line" namlueL57">
ina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2ae"l" amaskfs="am2c#L781" laae"l" amask"95e4f="cr203teL251" clpr  re href="+co3et8"95epher /_clear_fla /a>caae"l" amaskfs="am2c#L781" laae"l" amask"95e4|ld class="srexo"l_e"l" aof__fs="am2c#L781" _e"l" aof__ryptohref=3+cde=30ueu/82" iduef"L781" u6rypto) - 1l1 7999a1o{n)7;n
ina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aetypsrc" class="sref)2a_typsrypte82rypto_ahash_spawn" c)2="+co2 57 typsrc" class="sref)2="+co2 57 typs"95esref">crypto_re861" idueL7/Lref="cr7a_f="assass="line" namlu7L67">763 classs="line" namlueL57">
ina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2ae" 57  re href="+co3e2ao2 57ne" hre.1u8" c1a2tttivsizsrc" class="srefivsizshref==S16sref">crypto_re861" idueL7/tx /a> *7/82" iduef">ctr /a>;n=a_f="crypto/gcina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2ae" 57  re href="+co3e2ao2 57ne" hre.1u8" c1a2tttmax3uthsizsrc" class="srefmax3uthsizshref==S16sref">crypto_re861" idueL7/ss="line7ssass="line" namlueL67">7 67 /7653t2 a hr2f3"ss="srou="c2yptina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aectxsizsrc" class="sref)2aectxsizshref==S#izsofo#L781" iref="31 8"95ef idueL79q /ypto/gcm.c#L61" grefrefgcm_reyptryptl1 7999a1o{ncrsul7 /a> 76eL59tkey_rclass="srou="c2yptina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2aeexefrc" class="sref)2aeexef_gcad_greqctx 
/a1on
767 /
76g3t2 a hr2f3"ss="srou="c2yptina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2ae" 57  re href="+co3e2ao2 57ne" hre.1u8" c1a2tttsetkey"crypto/gcm.2=1setkey_gcad_greqctx 
/a1onu case 1478"" 276ss=namlueL8ds.c#L82" iduef">ina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2ae" 57  re href="+co3e2ao2 57ne" hre.1u8" c1a2tttset3uthsizsrc" class="srefset3uthsizs_gcad_greqctx 
/a1onrc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2ae" 57  re href="+co3e2ao2 57ne" hre.1u8" c1a2tttencrypncrye2="+cof="cenctr /7f">req /a>, int
 a href=7+code77" classs="line" namlueL57">
ina>rc" class="srefina>_gcapher /_clear_fla /a>alg  re href="+co3alg"95ehre.1u8" c1a2ttt)2ae" 57  re href="+co3e2ao2 57ne" hre.1u8" c1a2tttdecass=  re href="+co3decass=    d_greqctx 
/a1onahreq /a>;n7a hre77crypt.c#L82" iduef">out  re href="+co3outrypt:chao/gcmyncequest" a> * 7r=crypo/g7 namlueL67">
 67 / ="cry7to/gc77rypto/gcm./a>=a_f="crypto/gc));n
ina>rc" class="srefina>_gca /_clear_flag c3ass="31 87rhrefcryp7a_f="assass="line" namlu7L67">77f=tomchao/gcmyncequest" a> * 7r211" cla7o/gc/82" iduef">ctr /a>;7out_put_ypr  re href="+co3out_put_ypr"95e:chao/gcmyncequest" a> * 7r>crypiv_7ssass="line" namlueL67">7 67 /77g3t2 a hr2f3"ss="srou="c2ypty2="+codrop_skcipher  re href="+co3e2="+codrop_skcipherryptorypto_ahash_spawn" c)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cypr  re href="+co3et8"95evoid * a hre869 idueL8 || 7L211" cla7n,a hrefref=finalto_aeas7"9 cl779hrefss="srou="c2ypt," _drop_ f="dfs="am2c#L781" ," _drop_ f="d"95e:chao/gcmyncequest" a> * 7=a_f="ass7ss="line" namlueL67">
 67 /
a>780ff="crypto/g>>
 79a>64" idue2="+codrop_2f="dfs="am2c#L781"  idueL7drop_2f="dryptorypto_ahash_spawn" c)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+c f="dfs="am2c#L781" uf="dssgrfoid * a hre869 idueL8 || 7/gcm.)1 a7hr182tttttttttt href="+c7de=a278sro/gss="srou="c2ypt," _freeeina>rc" class="sref," _freeeina>"95e:chao/gcmyncequest" a> * 7=hrefss="7ypfref=final=crypto_aeas7"9 cl782 classs="line" namlueL57">
kfreerc" class="srefkfreeryptohref=3+cde=30ueina>rc" class="srefina>_gcafoid * a hre869 idueL8 || 7/m.c#L68"7* a hrefss="sref">req /a7, int78crypt.c#L82" iduef">out_put_ f="dfs="am2c#L781" out_put_ f="d"95e:chao/gcmyncequest" a> * 7==crypo/g7a href="+code=crypto_gcm7reqct78rypto/gcm./a>=a_f="crypto/gcina>rc" class="srefina>_gcad_greqctx 
/a1onERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 87cb/ef="cr7x" class="sref">crypto_g7ad_gr78 href="cryptogotos.c#L82" iduef">out  re href="+co3outrypt /_clear_flag c3ass="31 87chrefcryp7rr gfgcm_reqctx" classgr7qctx 78ass=">crypto_gcc#f]n
 45 /a7>stru78ypfref=final=crypo/gcm2" idue7q/"srgthc7ass="sref"2scatt28      7  >cr78L211", int
 cm.clx"  /a>;n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    efrefgcm_realloc  re href="+co3e2="+cof="callocrypto#L781" iref="31 8"95efr inpr  re href="+co3r inprrypteffrefgccm.ca>    tbfs="am2c#L781" tbne" v clal"line" namlueL67ctx7c211" cla7"crypto/gcm.c#L63" idu, 7 /a>)78nn,a to/gcm.c#lass="sref">err 7lagfgcm_r7qctx" classgreqctx #L3217 idue79{-t; /shref="h1 8uef">ctr /a>;ncrypto_re861" idueL7lgcm.)1 a7+c82" idueL8" class="lin7" nam79 href="cryptocona> charefrefgccm.ca>    eipher2ss="fs="am2c#L781" eipher2ss=""95esref">crypto_re861" idueL7lhrefss="7pl192ueL251" class="line7 nam279">crypto_gcadchareypto/gcm.2=1"+cypr_ss="fs="am2c#L781" et8_ss="ne" [e" namlueL57">
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt]sref">crypto_re861" idueL7lm.c#L68"7fref=final=crypto_aeasy"7 clas79crypto_gcad_gchareypto/gcm.2=1"+cfull_ss="fs="am2c#L781" full_ss="ne" [e" namlueL57">
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt]sref">crypto_re861" idueL7l=crypo/g7href="+code=req" class="7ref">79     struct
 a hr3c2L83102i3u7;b/ef="cr7ss="sref">req /a>, int
 7 href7953t2 a hr2f3"ss="srou="c2ypteipher2ss="fs="am2c#L781" eipher2ss=""95ed_greqctx 
/a1on7eL821">
 64 /a>(ncrypto_gcad_greqctx 
/a1on>
 79a>74" id79g3t2 a hr2f3"e" namlu_re   8uef">ctr /a>;nERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 878211" cla7od2=3rypto_aeash"ipher /7tke_379nn,a hrefref=finalo/gcm.c#L688 a hre__c8ypfref=">
=crypto_aeasy"8 clas800href="cryptohild class="srexo"lsnprintf811a1on
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt,L"et8(%s)"eeipher2ss="fs="am2c#L781" eipher2ss=""95er her =hrefref=finalo/gcm.c#L688 1 hre__c8yc82" idueL8" class="lin8t
 a 80 href="crypto/gcme" namlueL57">
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMEryptv clal"line" namlueL67ctx8ctx /a> *8a href="+code=crypto_gcm8reqct80">crypto_gcad_greqctx_re   8uef">ctr /a>;nERR_PTRryptolueL1">
 42a1on
 45 /88>2a> 80rypto/gcm./a>hild class="srexo"lsnprintf811a1oneCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt,L"gcm(%s)"eeipher2ss="fs="am2c#L781" eipher2ss=""95er her =hrefref=finalo/gcm.c#L688 5" class8"s="sref">req /a>, int
 8ASSSS80 href="crypto/gcme" namlueL57">
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMEryptv clal"line" namlueL67ctx8c6" class8"L821">
 64 /a>(n2n)a h22 788/a> _re   8uef">ctr /a>;nERR_PTRryptolueL1">
 42a1on>
 79a>8ned l80rn" a>)code=c_re   8uef">ctr /a>;nefull_ss="fs="am2c#L781" full_ss="ne" EeSclass="sref">eet8_ss="fs="am2c#L781" et8_ss="ne" E espano/gcm2c1refing">"gf="d"crypto_gcc#f]n>
 79a>84" id81" claa> *, cons e=a_f="crypto/gc#L82" idueLfreerc" class="sref#L82" idueLfreerypto#L781" iref="31 8"95ef[16];n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    ina>rc" class="srefina>_gca)/_clear_flag c3ass="31 88"+co3e=re8pto_3blkcipher /_clear_f8ag c381">cryto/gcm.c#lass="sref">err 8"3x /a> *8fref=">
=crypto_aeasy"9 8lascr81crypto_gcad_gref">crad /a> *n ncscyptryptefrefgccm.ca>    )pto/gcm.c#L61" greef="3r4f="cr203teL251" class="lhra> ncscypto_gcm_setkey_relass="lhra> ncscyptryptohref=3+cde=30ueina>rc" class="srefina>_gcavoid * a hre869 idueL8 || 8l1" class8="+code=req" class="sref8>req 81     struct
 a hr3c2L83102i3u8l5" class8ss="sref">req /a>, int
 8 href8153t2 a hr2f3"ss="srou="c2ypte2="+codrop_skcipher  re href="+co3e2="+codrop_skcipherryptorypto_ahash_spawn" c)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cypr  re href="+co3et8"95evoid * a hre869 idueL8 || 8ine" naml8eL821">
 64 /a>(n>
 79a>64" 8du," 81L211">crypto_gcc#f]n, int
 cm.clx"  /a>;nerr 8l" class=8ss="31 8"95efs="am2c#L788" i2u822" class="linhre.1u8" c1a2tttss="fs="am2c#L781" ss=""95ed_grspano/gcm2c1refing">"gcm"err 8l+co3e=re8ref">req /a>, int
 a hre8="+co822" class="linhre.1u8" c1a2tttalloc  re href="+co3allocryptd_greqctx 
/a1onerr 8l3x /a> *8tx /a> * a hrepd_alx" cl8ss="s823 classs="linhre.1u8" c1a2tttfreerc" class="sreffreeryptd_greqctx 
/a1onerr 8l1" class8cm.gcm.clx" cl"sref">crs8lt /a82rypto/gcm./a>hre.1u8" c1a2tttmodulsrc" class="srefmodulsryptd_greqctx 
/a1onerr 8l5" class8lass="line" namlueL56">
856 //8253t2 }oid * a hre869 idueL8 || 8ic void *8a 2"+code=co2ataclass="s8ef">d82f=tomchao/gcmyncequest" a> * 8e7" class8class="sref">ahreq /a>;n8a hre82eL59t, int
 cm.clx"  /a>;n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    efrefgcm_rebasscalloc  re href="+co3e2="+cof="cbasscallocrypto#L781" iref="31 8"95efr inpr  re href="+co3r inprrypteffrefgccm.ca>    tbfs="am2c#L781" tbne" v clal"line" namlueL67ctx8lass="lin8 namlueL67">
 67 / ="cry8to/gc82g3t2 to/gcm.c#lass="sref">err 8l5ef="2pa8pto/gq" class="sre clasc8atbac82ss=namlueL8dsh1 8uef">ctr /a>;ncrypto_re861" idueL8cm.c#L68"8a_f="assass="line" namlu8L67">830ff="crypto/gcona> charefrefgccm.ca>    et8_ss="fs="am2c#L781" et8_ss="ne" sref">crypto_re861" idueL8c" class=8>;n};n83 href="cryptocona> charefrefgccm.ca>    od1=22ss="fs="am2c#L781" sult"2ss="ryptsref">crypto_re861" idueL8c+co3e=re8ssass="line" namlueL67">8 67 /83">crypto_gcadchareypto/gcm.2=1"+cfull_ss="fs="am2c#L781" full_ss="ne" [e" namlueL57">
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt]sref">crypto_re861" idueL8ca hrecry8n,a hrefref=updaf">crsul8 /a> 83tnn,a hrefref=updaf"o/gcm.c#L8e1" class8sass="line" namlueL67">
867 /
83rypto/gcm./a>=a_f="crypto/gc)t8_ss="fs="am2c#L781" et8_ss="ne" d_greqctx 
/a1onu8 /a>  a 8ref=28353t2 a hr2f3"ss="srou="c2ypt," class"sref">crypto_gcad_greqctx 
/a1onreq /a>, int
 a hre8="+co83eL59tkey_rcla 788/a> _re   8uef">ctr /a>;nERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 88eass="lin8tx /a> * a hrepd_alx" cl8ss="s83L211" clal"line" namlueL67ctx8"Lref="cr8ypto/gcm2c1rypto142s="sr8f">u883ss=namlueL8ds.c#L82" iduef">od1=22ss="fs="am2c#L781" sult"2ss="ryptd_greqctx 
/a1oncrs8lt /a840ff="crypto/g>>
 79a>64" idu," class"sref">crypto_gcad_greqctx 
/a1onahreq /a>;n8a hre842" class="linhild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30ueod1=22ss="fs="am2c#L781" sult"2ss="ryptrv clal"line" namlueL67ctx8ehrefss="8 namlueL67">
 67 / ="cry8to/gc84">crypto_gcad_greqctx_re   8uef">ctr /a>;nERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 88#Lref="cr8pto/gq" class="sre clasc8atbac84tnn,a hrefref=updaf"o/gcm.c#L8e1" class8a_f="assass="line" namlu8L67">84rypto/gcm./a>hild class="srexo"lsnprintf811a1oneCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt,L"gcmcbass(%s,%s)";n};n84 href="crypto/gcmmmmmmmmmmhref=3+cde=30ueet8_ss="fs="am2c#L781" et8_ss="ne" E e" namlueL57">
od1=22ss="fs="am2c#L781" sult"2ss="ryptr her =me" namlueL57">
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMEryptv clal"line" namlueL67ctx8ehrefcryp8o/gcm.c#L63" idu, q /a>)8;n2n)a h22 788/a> _re   8uef">ctr /a>;nERR_PTRryptolueL1">
 42a1on8 67 /84ypfref=final=crypo/gcm2" idue8e>crypiv_8n,a hrefref=updaf">crsul8 /a> 84rn" a>)code=c_re   8uef">ctr /a>;nefull_ss="fs="am2c#L781" full_ss="ne" EeSclass="sref">eet8_ss="fs="am2c#L781" et8_ss="ne" E eref=3+cde=30ueiult"2ss="fs="am2c#L781" sult"2ss="ryptr /_clear_flag c3ass="31 88eLref="cr8sass="line" namlueL67">
867 /
84, "sr>crypto_gcc#f]nctr /8ref="sref">>crsult /a>cr8pfref85" claa> *, ccm.clx"  /a>;nerr 8"hrefss="8eq /a>, int
 a href="+co8e=err852" class="linhre.1u8" c1a2tttss="fs="am2c#L781" ss=""95ed_grspano/gcm2c1refing">"gcmLbass" * a hrepd_alx" class8"sref853 classs="linhre.1u8" c1a2tttalloc  re href="+co3allocryptd_greqctx 
/a1onahreq /a>;n8a hre85rypto/gcm./a>hre.1u8" c1a2tttfreerc" class="sreffreeryptd_greqctx 
/a1onerr 8hss="line8 namlueL67">
 67 / ="cry8to/gc8553t2 a hr2f3"hre.1u8" c1a2tttmodulsrc" class="srefmodulsryptd_greqctx 
/a1onerr 8chrefcryp8rr gfgcm_reqctx" classgr8qctx 85f=tom}oid * a hre869 idueL8 || 8hhrefss="8         struct
 a hre=18#L39185ypfref=final=crypo/gcm2" idue8c>crypiv_8ass="line" nam"srgthccm.81" id85L211", int
 h1 8uef">ctr /a>;n<#L82" irfc4106csetkey"crypto/gcm.2=1e2="+corfc4106csetkeyrypto#L781" iref="31 8"95ef[16];n<" 57  re href="+co3e26];n<" 57ryptefrefgccm.ca>    paren=  re href="+co3paren=ne" E cona> refgccm.ca>    u8  re href="+co3u8ryptefrefgccm.ca>    key"crypto/gcm.2=1keyryptEo/gcm.c#lass="sref">err 8cLref="cr8ild" clasnamlueL8dsbe12 8las c85, "sref">>crsult /a>                  unsigned h1 8uef">ctr /a>;ncode=c8ild" clasnamlueL8dsbe12 8las c860ff="to/gcm.c#lass="sref">err 8/f">ctr /8to/gcm.c#L61" iidL," cla8s="li86" classs="lin#L781" iref="31 8"95ef[16];n    )pto/gcm.c#L61" greef="3r4f="cr203teL251" class="l2 57 ypto_gcm_setkey_relass="l2 57 yptryptohref=3+cde=30ueparen=  re href="+co3paren=ne" r /_clear_flag c3ass="31 88hhrefss="8o/gcm.c#L63" idu, q /a>)8;n    chil7  re href="+co3ehil7="3r4f="cr203teL251" clpto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cyhil7  re href="+co3ehil7="3r /_clear_flag c3ass="31 88hLref="cr8a_f="assass="line" namlu8L67">863 classs="linh1 8uef">ctr /a>;ncrypto_re861" idueL8/tx /a> *8/82" iduef">ctr /a>;n8 67 /8653t2 a hr2f3"hild class="srexo"lkeylehref="crypto/gcmkeylehrypt < 4v clal"line" namlueL67ctx8/hrefcryp8hclass="line" nam"srgthc8m.c 886ataa>2n)a h22 788/a> _re   8lueL1">
 42a1oncrypto_re861" idueL8hhrefss="8n,a hrefref=updaf">crsul8 /a> 86ypfref=final=crypo/gcm2" idue8h>crypiv_8sass="line" namlueL67">
867 /
86g3t2 a hr2f3"ss="srou="c2yptkeylehref="crypto/gcmkeylehrypt -= 4sref">crypto_re861" idueL8hLref="cr8to172ss="sref">u case 1488"" 286ss=namlueL8ds.c#L82" iduef">memcpy"crypto/gcm.2=1memcpyryptohref=3+cde=30uelpto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cnoncsrc" class="srefnoncsne" E eref=3+cde=30uekey"crypto/gcm.2=1keyrypt +"ss="srou="c2yptkeylehref="crypto/gcmkeylehrypt, 4vsref">crypto_re861" idueL8ypt31cryp8ref=finalto_aeasy"9 clas8rypfr87ss="31 8"95efs="am2c#L781" i28yf">ctr /8f">req /a>, int
 a href=8+code87" classs="line" namlueL57">
lass="l2 57 yleareflagsL781" i2ueL18">)2ss="l2 57 yleareflagsryptohref=3+cde=30uelhil7  re href="+co3ehil7="3rEeSclass="sref">eCRYPTO_TFM_REQ_MASKrc" class="srefCRYPTO_TFM_REQ_MASKne" r /_clear_flag c3ass="31 88yhrefss="8x /a> * a hrepd_alx" cla8s="sr872 classs="line" namlueL57">
)2ss="l2 57 set7flagsL781" i2ueL18">)2ss="l2 57 set7flagsryptohref=3+cde=30uelhil7  re href="+co3ehil7="3rEeSclass="sref">e)2ss="l2 57 get7flagsL781" i2ueL18">)2ss="l2 57 get7flagsryptohref=3+cde=30ueparen=  re href="+co3paren=ne" r2rypto/_clear_flag c3ass="31 88yLref="cr8class="sref">ahreq /a>;n8a hre87crypto_gcad_greqctx 
./a>d1322222222222222Sclass="sref">eCRYPTO_TFM_REQ_MASKrc" class="srefCRYPTO_TFM_REQ_MASKne" r /_clear_flag c3ass="31 88ytx /a> *8 namlueL67">
 67 / ="cry8to/gc87rypto/gcm./a>=a_f="crypto/gc," class"sref">crypto_gcad_greqctx 
/a1onekey"crypto/gcm.2=1keyryptE8uef">ctr /a>;n)2ss="l2 57 set7flagsryptohref=3+cde=30ueparen=  re href="+co3paren=ne" E Sclass="sref">e)2ss="l2 57 get7flagsL781" i2ueL18">)2ss="l2 57 get7flagsryptohref=3+cde=30uelhil7  re href="+co3ehil7="3rr2rypto/_clear_flag c3ass="31 88yhrefcryp8a_f="assass="line" namlu8L67">87ataa>2n)a h22 788/a>         32222222222222uef">ctr /a>;nctr /a>;8crypiv_8ssass="line" namlueL67">8 67 /87rn" a>)code=c_re   8uef">ctr /a>;ncrypto_re861" idueL8L211" cla8n,a hrefref=finalto_aeas8"9 cl87, "sr>crypto_gcc#f]n
 68 /
a>88ss="31 8"95efs="am2c#L781" i28/gcm.)1 a8hr182tttttttttt href="+c8de=a288" claa> *, ch1 8uef">ctr /a>;n<#L82" irfc4106cset2uthsizsrc" class="sref"2="+corfc4106cset2uthsizsrypto#L781" iref="31 8"95ef[16];n<" 57  re href="+co3e26];n<" 57ryptefrefgccm.ca>    paren=  re href="+co3paren=ne" E1 8"95efs="am2c#L781" i28/hrefss="8ypfref=final=crypto_aeas8"9 cl88">crypto_gcad_greqctxxxxxxxxxxxxxxxxxxxxxxxunsigned h1 8uef">ctr /a>;n<2uthsizsrc" class="sref2uthsizsryptv clal"line" namlueL67ctx8/m.c#L68"8* a hrefss="sref">req /a8, int88cryptto/gcm.c#lass="sref">err 8==crypo/g8a href="+code=crypto_gcm8reqct88rypto/gcm./a>#L781" iref="31 8"95ef[16];n    )pto/gcm.c#L61" greef="3r4f="cr203teL251" class="l2 57 ypto_gcm_setkey_relass="l2 57 yptryptohref=3+cde=30ueparen=  re href="+co3paren=ne" r /_clear_flag c3ass="31 m8rss="line8x" class="sref">crypto_g8ad_gr88 href/_clear_flag c3ass="31 m8rhrefcryp8rr gfgcm_reqctx" classgr8qctx 88ataa>2n)a h22switchld class="srexo"l2uthsizsrc" class="sref2uthsizsryptv=to/gcm.c#lass="sref">err 8c211" cla8"line" namlueL2">
 45 /a8>stru88eL59tkey_rclacase 8:chao/gcmyncequest" a> * 8q/"srgthc8ass="sref"2scatt28      8  >cr888L59tkey_rclacase 12:chao/gcmyncequest" a> * 8q211" cla8"crypto/gcm.c#L63" idu, 8 /a>)889L59tkey_rclacase 16:chao/gcmyncequest" a> * 8lagfgcm_r8qctx" classgreqctx #L3218 idue89{-t; /shref="+c
 176 break /_clear_flag c3ass="31 m8lgcm.)1 a8+c82" idueL8" class="lin8" nam89 href="cryptodefault:chao/gcmyncequest" a> * 8lhrefss="8pl192ueL251" class="line8 nam289">crypto_gcad_greqctx_re   8lueL1">
 42a1oncrypto_re861" idueL8lm.c#L68"8fref=final=crypto_aeasy"8 clas89crypto_gcad_g>crypto_gcc#f]n89     struct
 a hr3c2L83102i3u8;b/ef="cr8ss="sref">req /a>, int
 8 href8953t2 a hr2f3"_re   8uef">ctr /a>;ne2uthsizsrc" class="sref2uthsizsryptvsref">crypto_re861" idueL8lhrefcryp8eL821">
 64 /a>(n>
 79a>84" id89L211", int
 cm.clx"  /a>;nrc" class="sref2 57 2c#Lea>ryptefrefgccm.ca>    )ass="lrfc4106cyass=o_gcm_setkey_relass="lrfc4106cyass=rypto#L781" iref="31 8"95ef2 57 2c#Lea>rc" class="sref2 57 2c#Lea>ryptefrefgccm.ca>    2c#rc" class="sref2c#ryptv clal"line" namlueL67ctx88211" cla8od2=3rypto_aeash"ipher /8tke_389nn,a to/gcm.c#lass="sref">err 9 a hre__c9ypfref=">
=crypto_aeasy"9 clas900href="crypto#L781" iref="31 8"95ef2 57 2c#Lea>rc" class="sref2 57 2c#Lea>ryptefrefgccm.ca>    sub2c#rc" class="srefsub2c#="3r4f="cr203teL251" c2 57 2c#Lea> ypto_gcm_setkey_re2 57 2c#Lea> yptryptohref=3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 1 hre__c9yc82" idueL8" class="lin9t
 a 90" classs="lin#L781" iref="31 8"95ef[16];n<" 57  re href="+co3e26];n<" 57ryptefrefgccm.ca>    " 57  re href="+co3" 57ryptef="cr203teL251" class="l2 57 2c#tfhfs="am2c#L781" e2="+co2 57 2c#tfhryptohref=3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192ueL251" class="line9reqct902 classs="lin#L781" iref="31 8"95ef[16];n    )pto/gcm.c#L61" greef="3r4f="cr203teL251" class="l2 57 ypto_gcm_setkey_relass="l2 57 yptryptohref=3+cde=30ue" 57  re href="+co3" 57ryptvsref">crypto_re861" idueL9 3 hre__c9yref=final=crypto_aeasy"9ad_gr90crypto_gcad_gref">crad /a> *n    chil7  re href="+co3ehil7="3r4f="cr203teL251" clpto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cyhil7  re href="+co3ehil7="3r /_clear_flag c3ass="31 8901" class9"line" namlueL2">
 45 /89>2a> 90rypto/gcm./a>=a_f="crypto/gcu8  re href="+co3u8ryptefrefgccm.ca>    iv  re href="+co3iv="3r4f="cr203teL251" cPTR_ALIGN  re href="+co3PTR_ALIGNryptoohref=3+cde=30ueu8  re href="+co3u8ryptef)d class="srexo"lsub2c#rc" class="srefsub2c#="3r4+ 1) +"ss="srou="c2ypte2="+co2 57 2c#sizsrc" class="sref"2="+co2 57 2c#sizsryptohref=3+cde=30uelhil7  re href="+co3ehil7="3rrE1 8"95efs="am2c#L781" i29 5" class9"s="sref">req /a>, int
 9ASSSS90 href="crypto/gcmmmmmmmmmmmmmmmmss="srou="c2ypte2="+co2 57 "l" amaskfs="am2c#L781" la="+co2 57 "l" amaskryptohref=3+cde=30uelhil7  re href="+co3ehil7="3rr2+ 1l1 7999a1o{n
 64 /a>(n * 9c7" class9"f=final=crypto_aeasy"9 9pher 90eL59tkey_rclass="srou="c2yptmemcpy"crypto/gcm.2=1memcpyryptohref=3+cde=30ueiv  re href="+co3iv="3rEeSclass="sref">eetto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cnoncsrc" class="srefnoncsne" E 4vsref">crypto_re861" idueL908" class9"ine" namlueL18">>
 79a>9ned l90g3t2 a hr2f3"ss="srou="c2yptmemcpy"crypto/gcm.2=1memcpyryptohref=3+cde=30ueiv  re href="+co3iv="3r2+ 4EeSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+civ  re href="+co3iv="3rEe8vsref">crypto_re861" idueL909" class9"d2=3rypto_aeash"ipher /9="lin90nn,a hrefref=finalo/gcm.c#L689la__crypf9ef=final=crypto_aeasy"9 9las__910ff="crypto/g>>
 79a>64" idu2 57 2c#Lea> set7tfhfs="am2c#L781" 2 57 2c#Lea> set7tfhryptohref=3+cde=30uesub2c#rc" class="srefsub2c#="3rEeSclass="sref">eehil7  re href="+co3ehil7="3rrsref">crypto_re861" idueL98" class=9line" namlueL18">>
 79a>94" id91" classs="line" namlueL57">
2 57 2c#Lea> set7callbackfs="am2c#L781" 2 57 2c#Lea> set7callbackryptohref=3+cde=30uesub2c#rc" class="srefsub2c#="3rEeSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+cbassrc" class="srefbassrypthre.1u8" c1a2tttflagsL781" i2ueL18">flagsryptEeSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+cbassrc" class="srefbassrypthre.1u8" c1a2tttcompletsrc" class="sref"ompletsne" E1 8"95efs="am2c#L781" i29"+co3e=re9pto_3blkcipher /_clear_f9ag c391">crypto_gcad_greqctxxxxxxxxxxxxxxxxxxxSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+cbassrc" class="srefbassrypthre.1u8" c1a2tttdatarc" class="srefdata="3rrsref">crypto_re861" idueL983 hre__c9fref=">
=crypto_aeasy"9 9lascr913 classs="line" namlueL57">
2 57 2c#Lea> set7cass=o_gcm_setkey_re2 57 2c#Lea> set7cass=ryptohref=3+cde=30uesub2c#rc" class="srefsub2c#="3rEeSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+csrc  re href="+co3src="3rEeSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+cda>rc" class="srefds=ne" E Sclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+ccass=lehref="crypto/gcmcass=lehne" E Sclass="sref">eiv  re href="+co3iv="3rrsref">crypto_re861" idueL981" class9="+code=req" class="sref9>req 91rypto/gcm./a>=a_f="crypto/gc2 57 2c#Lea> set7e=roc  re href="+co3a 57 2c#Lea> set7e=rocryptohref=3+cde=30uesub2c#rc" class="srefsub2c#="3rEeSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+ce=roc  re href="+co3a=rocryptEeSclass="sref">e2c#rc" class="sref2c#ryptf="crypto/gcm.2=1"+ce=roclehref="crypto/gcme=rocleh="3rrsref">crypto_re861" idueL985" class9ss="sref">req /a>, int
 9 href91 href/_clear_flag c3ass="31 m9ine" naml9eL821">
 64 /a>(nctr /a>;ncrypto_re861" idueL987" class9ef=">
=crypto_aeasy"9 cl9s__cr91eL59t>crypto_gcc#f]n>
 79a>64" 9du," 91L211" clal"line" namlueL67ctx995ef="2pa9/am2c#L781" i2ueL18"" cl9ss="391nn,a a> *, ch1 8uef">ctr /a>;n<#L82" irfc4106cencrye2="+corfc4106cenrc" class="sref2 57 2c#Lea>ryptefrefgccm.ca>    2c#rc" class="sref2c#ryptv clal"line" namlueL67ctx9lass="31 9"95efs="am2c#L781" i2ueL98"" c920ff="to/gcm.c#lass="sref">err 9l" class=9ss="31 8"95efs="am2c#L789" i2u92" classs="line" namlueL57">
2c#rc" class="sref2c#rypt4f="cr203teL251" class="lrfc4106cyass=o_gcm_setkey_relass="lrfc4106cyass=ryptohref=3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9l+co3e=re9ref">req /a>, int
 a hre9="+co92__crypfref=final=crypo/gcmync9l3x /a> *9tx /a> * a hrepd_alx" cl9ss="s923 classs="lin_re   8uef">ctr /a>;ncrye2="+co2 57 encrypto_re861" idueL9l1" class9cm.gcm.clx" cl"sref">crs9lt /a92rypto>crypto_gcc#f]n
956 //92 href/_clear_flag c3ass="31 m9ic void *9a 2"+code=co2ataclass="s9ef">d92f=toma> *, ch1 8uef">ctr /a>;n<#L82" irfc4106cdecass=  re href="+co3e2="+corfc4106cdecass=rypto#L781" iref="31 8"95ef2 57 2c#Lea>rc" class="sref2 57 2c#Lea>ryptefrefgccm.ca>    2c#rc" class="sref2c#ryptv clal"line" namlueL67ctx9l7" class9class="sref">ahreq /a>;n9a hre92eL59tto/gcm.c#lass="sref">err 9lass="lin9 namlueL67">
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2ypt2c#rc" class="sref2c#rypt4f="cr203teL251" class="lrfc4106cyass=o_gcm_setkey_relass="lrfc4106cyass=ryptohref=3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9l5ef="2pa9pto/gq" class="sre clasc9atbac92nn,a hrefref=finalo/gcm.c#L689cm.c#L68"9a_f="assass="line" namlu9L67">930ff="crypto/g_re   8uef">ctr /a>;ncrypto_re861" idueL9c" class=9>;n};n93 href>crypto_gcc#f]n9 67 /93__crypfref=final=crypo/gcmync9ca hrecry9n,a hrefref=updaf">crsul9 /a> 93tnn,aa> *, ch1 8uef">ctr /a>;n<#L82" irfc4106chref=tfhfs="am2c#L781" e2="+corfc4106chref=tfhrypto#L781" iref="31 8"95efe2="+cotfhfs="am2c#L781" e2="+cotfhryptefrefgccm.ca>    tfhfs="am2c#L781" tfhryptv clal"line" namlueL67ctx9e1" class9sass="line" namlueL67">
967 /
93ryptoto/gcm.c#lass="sref">err 9Lhild" cl9 c1a2s="sref">u8 /a>  a 9ref=29353t2 a hr2f3"#L781" iref="31 8"95ef[16];n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    ina>rc" class="srefina>_gca4f=(ons e*)refgccm.ca>    tfhfs="am2c#L781" tfhryptf="crypto/gcm.2=1"+c_cyat2alg  re href="+co3_cyat2alg="3rsref">crypto_re861" idueL9Lc void *9ref=tomchaieueL79q /a>))9crypf93ass="line" naref">crad /a> *n    spawhref="crypto/gcmspawhryptef="cr203teL251" class="lhra> ncscypto_gcm_setkey_relass="lhra> ncscyptryptohref=3+cde=30ueina>rc" class="srefina>_gcavoid * a hre869 idueL8 || 9 hrefss="9ref">req /a>, int
 a hre9="+co93eL59tkey_rcla#L781" iref="31 8"95ef[16];n    )pto/gcm.c#L61" greef="3r4f="cr203teL251" class="ltfhcypto_gcm_setkey_relass="ltfhcyptryptohref=3+cde=30uetfhfs="am2c#L781" tfhryptvoid * a hre869 idueL8 || 9 ass="lin9tx /a> * a hrepd_alx" cl9ss="s938ss="line" naref">crad /a> *n    " 57  re href="+co3" 57ryptoid * a hre869 idueL8 || 9 5ef="2pa9ypto/gcm2c1rypto142s="sr9f">u893ss=namlueL8dsunsigned long iref="31 8"95ef2l" a  re href="+co3"l" aryptoid * a hre869 idueL8 || 9e"crypto/9cm.gcm.clx" cl"sref">crs9lt /a94ss="31 8"95efs="am2c#L781" i29e" class=9class="sref">ahreq /a>;n9a hre94" classs="line" namlueL57">
2 57  re href="+co3" 57rypt4f="cr203teL251" class="lspawh<" 57  re href="+co3e26];n
 67 / ="cry9to/gc94">crypto_gcadhild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30ue" 57  re href="+co3" 57ryptvv clal"line" namlueL67ctx9#Lref="cr9pto/gq" class="sre clasc9atbac94crypto_gcad_greqctx 
_re   8uef">ctr /a>;ncrypto_re861" idueL9e1" class9a_f="assass="line" namlu9L67">94     struct
 a hr3c2L83102i3u9ehild" cl9>;n};n9453t2 a hr2f3"ss="srou="c2ypt)pto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cyhil7  re href="+co3ehil7="3r4f="cr203teL251" c2 57  re href="+co3" 57ryptoid * a hre869 idueL8 || 9ehrefcryp9o/gcm.c#L63" idu, q /a>)9;n * 9ehrefss="9ssass="line" namlueL67">9 67 /94eL59tkey_rclass="srou="c2ypt2l" a  re href="+co3"l" arypt4f="cr203teL251" class="l2 57 "l" amaskfs="am2c#L781" la="+co2 57 "l" amaskryptohref=3+cde=30ue" 57  re href="+co3" 57ryptvsref">crypto_re861" idueL9eass="lin9n,a hrefref=updaf">crsul9 /a> 94g3t2 a hr2f3"ss="srou="c2ypt2l" a  re href="+co3"l" arypt4rypto= ~ohref=3+cde=30uelass="ltfhcypt "l" amen=  re href="+co3lass="ltfhcypt "l" amen=rypto) - 1l1 7999a1o{n
967 /
94ss=namlueL8ds.c#L82" iduef">tfhfs="am2c#L781" tfhryptf="crypto/gcm.2=1"+cyat2a 57  re href="+co3e2to2 57ne" hre.1u8" c1a2ttt2c#sizsrc" class="sref2c#sizsrypt4f=sizsofo#L781" iref="31 8"95ef2 57 2c#Lea>rc" class="sref2 57 2c#Lea>rypt) + 7999a1o{nctr /9ref="sref">>crsult /a>cr9pfref95 href="crypto/gcm="+c
 176                 iref="31 8"95eflass="ltfhcypt "l" amen=  re href="+co3lass="ltfhcypt "l" amen=rypto)) + 7999a1o{ncrypto_gcad_greqctxxxxxxxxxxxxxxxxxss="srou="c2ypt2l" a  re href="+co3"l" arypt4+ 161 7999a1o{n * a hrepd_alx" class9"sref95tnn,a hrefref=updaf"o/gcm.c#L9y1" class9class="sref">ahreq /a>;n9a hre95rypto/gcm./a>_re   801 7999a1o{n
 67 / ="cry9to/gc9553t2 >crypto_gcc#f]n * 9hhrefss="9         struct
 a hre=19#L39195eL59t, int
 ons e=a_f="crypto/gc#L82" irfc4106cexef=tfhfs="am2c#L781" e2="+corfc4106cexef=tfhrypto#L781" iref="31 8"95efe2="+cotfhfs="am2c#L781" e2="+cotfhryptefrefgccm.ca>    tfhfs="am2c#L781" tfhryptv clal"line" namlueL67ctx9c>crypiv_9ass="line" nam"srgthccm.91" id95g3t2 to/gcm.c#lass="sref">err 9cLref="cr9ild" clasnamlueL8dsbe12 9las c95, "sref">>crs#L781" iref="31 8"95ef[16];n    )pto/gcm.c#L61" greef="3r4f="cr203teL251" class="ltfhcypto_gcm_setkey_relass="ltfhcyptryptohref=3+cde=30uetfhfs="am2c#L781" tfhryptvoid * a hre869 idueL8 || 9/a>code=c9ild" clasnamlueL8dsbe12 9las c96ss="31 8"95efs="am2c#L781" i29/f">ctr /9to/gcm.c#L61" iidL," cla9s="li96" classs="line" namlueL57">
lass="lfreee" 57  re href="+co3e26];n)9;ncrypto_gcc#f]n96tnn,a hrefref=updaf"o/gcm.c#L9/tx /a> *9/82" iduef">ctr /a>;n;n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    efrefgcrfc4106calloc  re href="+co3e2="+corfc4106callocrypto#L781" iref="31 8"95efr inpr  re href="+co3r inprrypteffrefgccm.ca>    tbfs="am2c#L781" tbne" v clal"line" namlueL67ctx9/ss="line9ssass="line" namlueL67">9 67 /9653t2 to/gcm.c#lass="sref">err 9/hrefcryp9hclass="line" nam"srgthc9m.c 896ass="line" naref">crad /a> *nrc" class="sref2lg>ryptoid * a hre869 idueL8 || 9hhrefss="9n,a hrefref=updaf">crsul9 /a> 96eL59tkey_rcla#L781" iref="31 8"95ef[16];n ncsrc" class="sref"2="+coina> ncsryptefrefgccm.ca>    ina>rc" class="srefina>_gcaoid * a hre869 idueL8 || 9h>crypiv_9sass="line" namlueL67">
967 /
968ss="line" naref">crad /a> *n    spawhref="crypto/gcmspawhryptoid * a hre869 idueL8 || 9hLref="cr9to172ss="sref">u case 1498"" 296, "sref">>crs#L781" iref="31 8"95ef[16];nctr /9f">req /a>, int
 a href=9+code97" classs="linh1 8uef">ctr /a>;ncrypto_re861" idueL9yhrefss="9x /a> * a hrepd_alx" cla9s="sr97__crypfref=final=crypo/gcmync9yLref="cr9class="sref">ahreq /a>;n9a hre973 classs="line" namlueL57">
2lg>rc" class="sref2lg>ryptd_greqctx 
/a1oncrypto_re861" idueL9ytx /a> *9 namlueL67">
 67 / ="cry9to/gc97rypto/gcm./a>=a_f="crypto/gc," class"sref">crypto_gcad_greqctx 
/a1onrc" class="sref2lg>ryptvsref">crypto_re861" idueL9yss="line9pto/gq" class="sre clasc9atbac9753t2 a hr2f3"hild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30ue"lg>rc" class="sref2lg>ryptvv clal"line" namlueL67ctx9yhrefcryp9a_f="assass="line" namlu9L67">97ataa>2n)a h22 788/a> _re   8uef">ctr /a>;nERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 89yhrefss="9o/gc/82" iduef">ctr /a>;9crypiv_9ssass="line" namlueL67">9 67 /97rn" a>)code=childohref=3+cde=30ue"lg>rc" class="sref2lg>ryptf="crypto/gcm.2=1"+ctypsrc" class="sreftypsrypte^2uef">ctr /a>;n
2lg>rc" class="sref2lg>ryptf="crypto/gcm.2=1"+cmaskfs="am2c#L781" maskryptv clal"line" namlueL67ctx9yLref="cr9n,a hrefref=finalto_aeas9"9 cl97, "sref">>crsult /a> _re   8uef">ctr /a>;nERR_PTRryptolueL1">
 42a1on
 69 /
a>98ss="31 8"95efs="am2c#L781" i29/gcm.)1 a9hr182tttttttttt href="+c9de=a298" classs="line" namlueL57">
lcm_ss="fs="am2c#L781" ecm_ss="ryptd_greqctx 
/a1on
," class"sref">crypto_gcad_greqctx 
/a1onreq /a9, int9833t2 a hr2f3"hild class="srexo"lIS_ERRfs="am2c#L781" IS_ERRryptohref=3+cde=30ueycm_ss="fs="am2c#L781" ecm_ss="ryptrv clal"line" namlueL67ctx9==crypo/g9a href="+code=crypto_gcm9reqct98rypto/gcm./a> 788/a> _re   8uef">ctr /a>;nERR_PTRryptohref=3+cde=30uee=al_algk.c#L82" idueipher /_clear_flag c3ass="31 89rss="line9x" class="sref">crypto_g9ad_gr98 href/_clear_flag c3ass="31 m9rhrefcryp9rr gfgcm_reqctx" classgr9qctx 98ass="line" naa href="crypto/ina>rc" class="srefina>_gca4f=a href="crypto/kzalloc  re href="+co3kzallocrypto#izsofofrefgccm.ca>    ina>rc" class="srefina>_gcar2+ #izsofofrefgccm.ca>    spawhref="crypto/gcmspawhryptvEeSclass="sref">eGFP_KERNEL  href="3r8L831GFP_KERNELipher /_clear_flag c3ass="31 89rhrefss="9"line" namlueL2">
 45 /a9>stru98eL59tkey_rclahild!refgccm.ca>    ina>rc" class="srefina>_gcar/_clear_flag c3ass="31 89r>crypiv_9ass="sref"2scatt28      9  >cr988L59tkey_rclault /a> _re   8uef">ctr /a>;nERR_PTRryptolueL1">
 42a1onENOMEMipher /_clear_flag c3ass="31 89rLref="cr9"crypto/gcm.c#L63" idu, 9 /a>)98nn,a hrefref=finalo/gcm.c#L689lagfgcm_r9qctx" classgreqctx #L3219 idue990ff="crypto/g>>
 79a>64" iduspawhref="crypto/gcmspawhryptef="cr203teL251" class="lhra> ncscypto_gcm_setkey_relass="lhra> ncscyptryptohref=3+cde=30ueina>rc" class="srefina>_gcavoid * a hre869 idueL8 || 9lgcm.)1 a9+c82" idueL8" class="lin9" nam99" classs="line" namlueL57">
lass="lset7e 57_spawhref="crypto/gcm.c#L8gcset7e 57_spawhryptohref=3+cde=30uespawhref="crypto/gcmspawhryptE Sclass="sref">eina>rc" class="srefina>_gcavoid * a hre869 idueL8 || 9lhrefss="9pl192ueL251" class="line9 nam2992 classs="line" namlueL57">
," class"sref">crypto_gcad_greqctx 
/a1oneycm_ss="fs="am2c#L781" ecm_ss="rypt, 0E1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=crypto_aeasy"9 clas99crypto_gcad_greqctx 
./a>d1322222222refgccm.ca>    efrefgcrequires_sync  re href="+co3e2="+corequires_syncryptohref=3+cde=30ue"lg>rc" class="sref2lg>ryptf="crypto/gcm.2=1"+ctypsrc" class="sreftypsryptEeSclass="sref">e2lg>rc" class="sref2lg>ryptf="crypto/gcm.2=1"+cmaskfs="am2c#L781" maskryptvvoid * a hre869 idueL8 || 9l=crypo/g9href="+code=req" class="9ref">99rypto/gcm./a>hild class="srexo"le=al_algk.c#L82" idueipherid * a hre869 idueL8 || 9lss="line9ss="sref">req /a>, int
 9 href99 href="crypto/gcmmmmmgotoeSclass="sref">eoutrc" class="srefout"95esref">crypto_re861" idueL9lhrefcryp9eL821">
 64 /a>(n * 9 211" cla9ef=final=crypto_aeasy"9 9las__99eL59tkey_rclass="srou="c2ypt2lgrc" class="sref2lgryptd_greqctx 
/a1oncrypiv_9line" namlueL18">>
 79a>94" id99L211" clal"line" namlueL67ctx98211" cla9od2=3rypto_aeash"ipher /9tke_399ss=namlueL8ds.c#L82" iduef">," class"sref">crypto_gcad_glueL1">
 42a1oncrypto_re861" idueL10 a hre__c10 a h3rypto_aeash"ipher /10 a >10 a211" c/pre>ef">crypto_re861" idueL10 1 hre__c10 c82" idueL8" class="lin10 c8>10 " classs="linespano/gcm2c1commen= >/* We only support 16-byte blocks. */crypto_re861" idueL10 2 hre__c10 l192ueL251" class="line10 l1>10 ">crypto_gcadhild class="srexo"l2lgrc" class="sref2lgryptf="crypto/gcm.2=1"+cyaae" 57  re href="+co3e2ao2 57ne" hre.1u8" c1a2tttivsizsrc" class="srefivsizs>cryp!= 16rid * a hre869 idueL8 || 10 3 hre__c10 ref=final=crypto_aeasy"10 re>10 crypto_gcad_greqctx 
gotoeSclass="sref">eoutcrypto_re861" idueL10 4 hre__c10 ref="+code=req" class="10 re>10      struct
 a hr3c2L83102i3u10 5 hre__c10 s="sref">req /a>, int
 10 s=>10 5 classs="linespano/gcm2c1commen= >/* Not as#L7eam cipher? */crypto_re861" idueL10 6 hre__c10 L821">
 64 /a>(n10 ass="line" nahild class="srexo"l2lgrc" class="sref2lgryptf="crypto/gcm.2=1"+cyaaeblocksizsrc" class="sref"2aeblocksizs>cryp!= 1rid * a hre869 idueL8 || 10 7 hre__c10 f=final=crypto_aeasy"9 10 f=>10 eL59tkey_rcla 788/a> gotoeSclass="sref">eoutcrypto_re861" idueL10 8 hre__c10 ine" namlueL18">>
 79a>10 in>10 L211" clal"line" namlueL67ctx10 9 hre__c10 d2=3rypto_aeash"ipher /10 d2>10 ss=namlueL8ds.c#L82" iduef">," class"sref">crypto_gcad_glueL1">
 42a1oncrypto_re861" idueL101a hre__c10ef=final=crypto_aeasy"9 10ef=>10efss="line" nahild class="srexo"lsnprintf811a1onrc" class="srefina>_gcaf="crypto/gcm.2=1"+celgrc" class="sref2lgrypthre.1u8" c1a2tttc2aess="fs="am2c#L781" e2a_ss="ne" EeSclass="sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt,ref">crypto_re861" idueL1011 hre__c10line" namlueL18">>
 79a>10lin>10e href="crypto/gcm="+c
 176rspano/gcm2c1refing">"rfc4106(%s)"
CRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt ||ref">crypto_re861" idueL1012 hre__c10pto_3blkcipher /_clear_f10pto>10e">crypto_gcad_gre class="srexo"lsnprintf811a1onrc" class="srefina>_gcaf="crypto/gcm.2=1"+celgrc" class="sref2lgrypthre.1u8" c1a2tttc2aedrive8_ss="fs="am2c#L781" e2aedrive8_ss="ne" EeSclass="sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMErypt,ref">crypto_re861" idueL1013 hre__c10fref=">
=crypto_aeasy"9 10fre>10ecrypto_gcad_greqctx 
./a>drspano/gcm2c1refing">"rfc4106(%s)"crypto_re861" idueL1014 hre__c10="+code=req" class="sref10="+>10erypto/gcm./a> 788Sclass="sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_MAX_ALG_NAMEryptrid * a hre869 idueL8 || 1015 hre__c10ss="sref">req /a>, int
 10ss=>10e href="crypto/gcmmmmmgotoeSclass="sref">eoutcrypto_re861" idueL1016 hre__c10eL821">
 64 /a>(n10ef=tomchao/gcmyncequest" a> * 10e7 hre__c10ine" namlueL57">2ad_gref">crad /a> *n    chil7  re href="+co3ehil7="3r4f="cr203teL251" clpto/gcm.c#L61" greef="3rf="crypto/gcm.2=1"+cyhil7  re hreg"95esref">crypt6352f="cr203teL251"(ass="sref2uthsizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192ueL251" class="line9reqct92yptmemcpy"crypto/gcm.2=1memcpyryptohref=3+cde=30ueiv  re href="+co3iv="39> _re   8uef">ctr /a>;ncrypt6352fss="line" namlueL67">
967 /
sizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192ueL251" class="line9reqct92yptmemcp|class="srou="c2ypt"sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTOeL251" class="line9reqct92yptmemcp">ctr /a>;nctr /a>;n    2c#rc" clalref352fe" nahild class="srexo"lsnprsizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u_NAorit"31 88yss="line8pt2u_NAorit"memcpy"crypto/gcm.2=1mt"sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO_NAorit"31 88yss="line8pt2u_NAorit"memcf">ctr /a>;n1us=" nahild class="srexo"lsnprsizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u"lg"95esref">crypto_re861" idueL10 8 hre__10 f">ctr /a>;ncrypto_r#Lef2>1usidueL8 || 9lhrefss="9pl192uesizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u  re href="+co3"l" arypt4raref=3+cde=30uepy"crypto/gcm.2=1mt"sref">eCRYPTO_MAX_ALG_NAMErc" class="srefCRYPTO  re href="+co3"l" arypt4raref=3+cde=30uef">ctr /a>;n1us="am2c#L781" ecm_ss="rypt, 0sizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192ucrypto_gcad_greqctx 
ana> ncsryp=p">ctr" clal"line" namlueL67niv /9tkcrypto_gcad_greqctx 
/a1onniv /9tkcryp30uef">ctr /a>;nctr /a>;n<#L82" irfce ef">1usass="sre clasc9atbac9753t2 asizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u eoutcrypto_re861" idueL10 4 hre_= 8f">ctr /a>;n10ef=tomcrypto#L781" iref="31 8"9mcryp>1us" idu, q /a>)9;ncrypto_re861" idueL9 2 hre__c9yl192u eout
 67 / ="c1use href="+crefgccm.ca>    2c#rc" cl+cref>1us/gcm.c#L61" greef="3rf="crypto/2cm.2=1"+cys=o_gcm_setkey_relass="lcys=o>1us="cr203teL251"(ass="sref2uthsizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192uctx5esref">crypto_re861" ictx5esrhre__10ALIGN  re href="+co3ALIGNrypt" tfhryptvoid * a hre869 idueL8 || 9/a>code=c9ild" clasd_glueL1">
 42a1oncrypto_rcyef2>1us">crypto_re861" idueL101a hre__210ef=finalptohref=3+cde=30ue2c#rc"alpto>1use" nahild class="srexo"lsnprsizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192um.c#ef">crypto_re861" im.c#d99L211" clal"line" namlueL67ass9sass="line" namlueL67">
967 /
93ryptoto/gcm.c#lass="sr_glueL1">
 42a1on;n1u c" nahild class="srexo"lsnprsizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192um.c#ef">crypto_re861" im.c#d99L211" clal"line" namlueL67ass9sass"line" nam"srgthccm.91" id95g3t2 to/gcm.c#lass="sr_glueL1">
 42a1onctr /a>;n<#L82" irfc#Lef">1u 1>crypto_re861" idueL101a hre__3rypthre.1ufhrypto#L781" iref="31 81ufhr>1u ="am2c#L781" ecm_ss="rypt, 0sizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u eout
 42a1on1u ueL9ytx /a> *9 namlueL67">
 sizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u eout
 64 /a>211" clal"line" namlueL67ass9sass3asefss="8ypfref=final=crypto_aeas8"9 cl88">crypto_gcad__glueL1">
 42a1on10e gccm.ca>    ina>rc" clase gcc>1u ass="sre clasc9atbac9753t2 asizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u eout
 42a1on10ef=tomcm2c#L781" tfhryptf="crypmcm2c>1u " idu, q /a>)9;ncrypto_re861" idueL9 2 hre__c9yl192u eoutahreq /a>;n9a hre92eL59tto/gcm.c#lass_glueL1">
 42a1on1u ="cr203teL251"(ass="sref2uthsizsryptv=to/T3+cde=30ue2c#rc" class="sref2c#ryptvsref">crypto_re861" idueL9 2 hre__c9yl192u eout10erypto/_glueL1">
 42a1onu8cycm2>1u ">crypto_re861" idueL101a hre__310ef=final81" i29e" class=9class="al81">1u e" naf">crad /a> *n    spawhref="crypto/gcmspawhryptoid * a hre869 id1u fs="am2c#Lspawhryptvoid * a hre869#Lspa>1u 1>crypto_re861" idueL101a hre__4rypthre.1uclasc9atbac94crypto_gcad1ucla>1u 2" naf">crad /a> *ns=ssa>1u ueL9ytx /a> *9 namlueL67">
 9a hre9e26];nasy"9 clas99crypto_gcad_ge26];nasyc" class="srefCRYPTOef">," class"sref">crypto_gcad_glueL1">
 42a1on10e co3ehil7="3r4f="cr203teLe co3>1u 4" naf">crad /a> *n10ef=tomcidueL8 || 9ehrefcryp9o/gmcidu>1u " idu, q /a>)9;ncrypd_glueL1">
 42a1on1u crypto/gcmspawhryptvEeSclass="sref">eGFP_KERNEL  href="3r8L831GFP_KERNELiqctx" classgr9qctx 98ass="line" naa href="crypto/ina>rc" class="srefina>_gca4f=a href="crypto/kzallo1u cm.2=1"+cyref="+co3" 57ryptvsref">cyref>1u ="cr203teL251d_gref">crad /a> *n1u ">crylass="sref"2="+coina> ncs1u 10ef=finalzsofo#L781" iref="31 8"9alzso>1u cscyptryptohref=3+cde=30ueina105rypthre.1ucde=30ue" 57  re href="+1ucde>1ucdscypptv clal"line" namlueL67ctx9c>crypiv_9ass="sre"c2ypt2lgrc" cl9c>crypiv_9ass="sree" nanaref">crad /a> *n    spawhref="crypto/gcmsL821">
 64 /a>(n, int
 a href="#L="9>1uc1>cryryptoid * a hre869 idueL81ucrypthre.1uefref=updaf"o/gcm.c#L9y11uefr>1uc="am2c#L781" ecm_ss="rypt, 0_gcad_ge26];e9 nam2992 classs="line" nae26];e9 nae" naa href="crypto/">
lass="lset7e 57_spawhref="crypto/gcm.c#L8gcset7e 57_spawhryptohref=3+cde=30uespawhref="crypto/gcmsca4f=a href="crypto/kzallo1u5e8_ss="fs=3t2 >crypto_gcc#f]n1ucueL9ytx /a> *9 namlueL67">
 k"sre"c2ypt2lgrc" clk"srec" class="srefCRYPTO_MAX_ALG_NAMErypt,ref">crypd_glueL1">
 42a1on10e f=tomchao/gcmyncequest" e f=t>1ucass=  re href="+co3e2="+corfc41uc>10ef=tomc=a_f="crypto/gc#L82" irfmc=a_>1uc.ca>    ina>rc" class="srefin1uce href="+ctfhrypto#L781" iref="31 +ctfh>1ucf2c#ryptv clf">err 9cLref="cr9ild" clasnamempla+cbassrc" class="sclasnamempla+ceL9yte" namlueL67ctx9c>crypiv_9ass=tmpl"c2ypt2lgrc" cl9c>crypiv_9ass=tmplef="3r8ryptoid * a hre869 idueL81uccm.2=1"+cyefgccm.ca>    tfhfs="am2cyefg>1uc="cr203teL251t9 67 /9653t2 to/gcm.c#lass="sref">err 9gyptoid * a hre869 idueL81uc10ef=finalpto_gcm_setkey_relass="lalpto>1uc9"cr203teL251tcrypiv_9ass="sree" ngyptoid * a hre869 idueL81u6rypthre.1u51" clpto/gcm.c#L61" gre1u51">1u51"cr203teL251tcrypto_re8THIS_MODULse" ngyptoid * a hre869 idueL81u6fs="am2c#Lil7="3rvoid * a hre869 i#Lil7>1u5f=tfhf_glueL1">
 42a1on;n1u5r_typsryptohref=3+cde=30uetbf1u5e8_ss="fs=cm.ca>    efrefgcrfc4106s=cm.>1u5fhryptv clalass="srefCRYPTO_MfrefgcLG_NAMErypt,reffrefc" c2re href="+co3ALIGNrypt" tfhryptvo543kryp* a hre869 idueL8 || 9/a>code=543kryp* a _spawhryptefrefgccm.c| 9/a>code=543kryp a hre869 idueL8 || 9/a>code=543krype 57_spasryptohref=3+cde=30uetbf1u510ss=>10e 781" iref="31 8"95efr ine 781>1u5ass="sre clas"sref">err 9lass="lin9 namlueL67">
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2ypt2c#rc" class="sref2c#rypt4f="cr203teL251" class="l1u5>10ef=tomcefgccm.ca>    "lg>rc" clmcefg>1u5f2lg>ryptoid * a hre869 idueL81u5e href="+cs="9n,a hrefref=updaf">c+cs=">1u5crypto/gcmspare94" classs="line" namlueL57">
2 57  re href="+co3" 57ryp2 a hr2f3"ss="srou="c2ypt2l" a  re href="+co3"l" arypt4rypto= ~ohref=3+cde=30uelass="ltfhcypt "4rypto= ~ohr    )pto/gcm.c#L61" gred_glueL1">
 42a1on1u5;nucyref>1u58"cr203teL251m.c#L68d /a> *n7  re href="+co3e26];n<" 57ryptefrefgccm.ca>    " 57  re href="+co3" 57ryptef="crgcm./a> 788Sclass=" 7999a1o{n
 42a1on1u59ss=  re href="+co3e2="+corfc41u7rypthre.1uf">ctr /a>;n>1uf"nahreq /a#Lcr9>1uf1hryptv clal"line" namlueL67ctx9e1" class9543k3ass="31 88yss="line8pto/gq"ass9543k3ass="e" nanaref">crad /a> *n
 k="31 88yss="line8s="e" ngyptoid * a hre869 idueL81u7rypthre.1uypsrc" class="sref"2="+c1uyps>1ufL983 hre__c9fref=">
=crypto_aeasy"9 9lre94" cla"line" namlueL67ctxs="">ctr /a>;ncrypt4f="cr203teL251" class="l1u7e8_ss="fs=1" tbne" vsref">crypto_rs=1" >1uf32lg>ryptoid * a hre869 idueL81u710ss=>10e e861" idueL9yss="line9pte e86>1ufass="sre clas"sref">err 9lass="lin9pto/gq"ass9543k a hre869 idueL8 || 9/a>code=543kd" clasnamlueL8dsbe12 9las c96ss="31 8"95efs="am2c#L781" i29/f">ctr /9to/g];n<" a hre869 idueL8 || 9/a>c];n<" a fgccm.ca>    " 57  rpararypt4+ 161 7999a1pararye" nd_glueL1">
 42a1on10ef=tomcnamlu9L67">97ataa>2n)a hmcnam>1uf=1"+c_cyat2alg  re href="+co3_cyat2alg="3r re href="+co3"l" aryptoid * a hre869 idueL8 || 9e" namlueL67">9 67 /94eL59tkey_rclass="srou="c2yps="line" namlu9L67">96tnn,a hrefref=updaf"o/gcm.c#L9/tx /a> *9/82" iduef">_glueL1">
 42a1onctr /a>;91uf>10 eL59tkey_rine" namlueL57">
2lg>rc" class="sref2lg>ryptd_greqctx 
/a1on1uf;n1uf namlueL57">
2lg>e" namlueL67ctxs="">ctr /a>;ncrypt < 44f="cr203teL251" class="l1u710ef=finals="line" namlueL67">
 69als=">1ufs="31 8"95efs="am2c#L781" i2_3/10 a >ef">crypto_re861" idueL10 1 hre__c10 c82" idueL8" class="lin10 c88rypthre.1upr_alg_ss="fs="am2c#L7811upr_>1uprn1upidueL8 || 9lhrefss="9pl192ues="">ctr /a>;ncrypt -= 482" idueL8" class="lin10 c88rypthre.1uar_flag c3ass="31 89/Lre1uar_>1up="am2c#L781" ecm_ss="rypt, 0lass9"d2=3rypto_aeash"ipher /9="lin90nn,a hrefrs="line" namlu9L67">96tnn,a hrefref=updaf"o/gno7_spawhref="cryptono7_se" ngc9 namlueL67">
 k="31 88yss="line8s="e" nildrefss="9pl192ues="">ctr /a>;ncrypt, 4482" idueL8" class="lin10 c88e8_ss="fs=de=crypto_gcm9reqct98ryps=de=>1upre href="+co3e2="+corfc4106ca1u810ss=>10e ="sref">crypto_g9ad_gr98e ="s>1upass="sre clasc9atbac9753t2 a| 9/a>c];n<" learOeL251" class="line9req9/a>c];n<" learOeL251 /9="lin90nn,a hrefrsm.c#L9/tx /a> *9/82" iduef">uot;rfc4106(%s)"TFM_REQ_MASKL9/tx /a> *9/82s)"TFM_REQ_MASKe" nd_glueL1">
 42a1on10ef=tomc"+co3kzallocrypto#izsofomc"+c>1up" idu, q /a>)9;nc];n<"mlueeL251" class="line9req9/a>c];n<"mlueeL251 /9="lin90nn,a hrefrsm.c#L9/tx /a> *9/82" iduef">uot;rfc4106(%eq9/a>c];n<"glueeL251" class="line9req9/a>c];n<"glueeL251 /9="lin90nn,a hrefrpararypt4+ 161 7999a1pararye" ndp">ctrglueL1">
 42a1on *9/82s)"TFM_REQ_MASKe" nd_glueL1">
 42a1on;n1up="cr203teL251"(ass="sref2uthE1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=cry];n<"mlus="31 88yss="line8pto/gq"];n<"mlus=" /9="lin90nn,a hrefrsm.c#L9/tx /a> *9/82" iduef">uot;rfc4106(%k="31 88yss="line8s="e" ngne" namlueL67ctxs="">ctr /a>;ncrypt4_glueL1">
 42a1on1upss="line" namlueL67">
967 /
aq9/a>c];n<"mlueeL251" class="line9req9/a>c];n<"mlueeL251 /9="lin90nn,a hrefrpararypt4+ 161 7999a1pararye" ngct;rfc4106(%eq9/a>c];n<"glueeL251" class="line9req9/a>c];n<"glueeL251 /9="lin90nn,a hrefrcm.c#L9/tx /a> *9/82" iduef">cp">ctrglueL1">
 42a1on1ups="31 8"95efs="am2c#Leeeeeeeeeeeeeeeeeeeeeet;rfc4106(%s)"TFM_RES_MASKL9/tx /a> *9/82s)"TFM_RES_MASKe" nd_glueL1">
 42a1on_gcavoid * a hr1u"sr>1u"se href="+co3e2="+corfc4106ca1u9fs="am2c#Lss="srefina>_gcavoid * a#Lss=>1u"idueL8 || 9lhm.c#L689lagfgcm_r9qctxlg>rc" class="sref2lg>ryptd_greqctx 
/a1oneyc1uhry>1u"rc" class="sref"2="+coina> ncs1u"e8_ss="fs=/gcm.2=1"+ctypsrc" classs=/gc>1u"re href="+co3e2="+corfc4106ca1u910ss=>10e f">eoutrc" clae f">>1u"ref="+co3r i"line" namlueL67ctx9e1" class9543k3asefss="8ypfref=final=crypto_aeas8"9543k3asefss="8ye" nanaref">crad /a> *n10ef=tomco/gcmyncequest" a> * 9 2mco/g>1u"c10ine" namlueL57">2aaaaaaaaaaaaaaaaaaaaaaare94" cla"line" namlueL67ctxefss="8ypfref=final=cryefss="8ye" n4f="cr203teL251" class="l1u9e href="+clg  re href="+co3[16];n<+clg >1u"62lg>ryptoid * a hre869 idueL81u9cm.2=1"+cyto/gcmspawhryptvoid * a cyto/>1u"yptohref=3+cde=30uetfhfs="am2c#L781" tfhryptvo543k a hre869 idueL8 || 9/a>code=543kd" clasnamlueL8dsbe12 9las c96ss="31 8"95efs="am2c#L781" i29/f">ctr /9to/g];n<" a hre869 idueL8 || 9/a>c];n<" a fgccm.ca>    " 57  rpararypt4+ 161 7999a1pararye" nd_glueL1">
 42a1oncryptcy831>1u"">crypto_re861" idueL101a hre__910ef=finalr /10 a >10 a211" c/pre>alr />1u"s="31 8"95efsrcla 788/a> gotoeSclfss="8ypfref=final=cryefss="8ye" n__c10 ref="+code=req" class="10 1>10 " clas1s="linespano/gcm2c1commen1 >/* 10yptvE1 8"95efs="am2c#781" i2_3/10 a >ef">crypto_re861" idueL10 1 hre__c10 c82" idueL8" class="lin10 c1>crypto_gc1dhild class="srexo"l2lgrc1 clas101>crypto_re861" idueL101a hre_1vsizs>cryp1= 16rid * a hre869 idueL81|| 1013 hre__c10 ref>crypto_gcc#f]n96tnn,a hrefref=updaf"o/gsm.c#L9/tx /a> *9/82" iduef">uot;rfc4106(%efss="8ypfref=final=cryefss="8ye" n482" idueL8" class="lin10 c1>3izs>cryp1=gcm.2=1"+ctypsrc" classs15 hre1_c10 slass="sref"2="+coina> ncs11ypto_re8611 idueL10 6 hre__c10 L821"1
 64 1a>(n10 ass="line" 1ahild clas1="srexo"l2lgrc" class="sr1f2lgr1ptf="cyptv clf">err 9cLref="cr9ild" namlueL67">
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2ypt| 9/a>code=543kd 9/ahre869 idueL8 || 9/a>code=543kd 9/ae" nanaref">crad /a> *n
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2ypt2c#rc" class="sref2c#ryptgef="+co3e2="+corfc4106ca11| 10 7 hre1_c10 f=final=crypto_aeasy19 10 10inal=crypo/gcm2" idueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerine" namlueL57">
2lcmaskfs="am2c#L78e a hreref="+code=req" class="10 1>710 7 hre1_o/gcmspawhryptvoid * a c19 hre1_c10 dryptoid * a hre869 idueL811METOOLONGr1" class="srefhNAMETOOLONG195esr10lueL8dsunsigned long iref="31 8"95ef2l" a  re href="+co3"l" aryptoid * a hre869 idueL8 || 9e"crypto/9cm.gcm.clx" cl"srefc#L781" i29/f">ctr /9to/g];n<"    )pto/gcm.c#L61" gre82" idueL8" class="lin10 c1>9TOOLONGr1" /10 a >10 a211" c/pre>a1ss="l10yptohref=3+cde=30uetfhfs="am2c#L781" tfhryptvo543k a hre869 idueL8 || 9/a>code=543kd" clasnamlueL8dsbe12 9las c96ss="31 8"95efs="am2c#L781" i29/f">ctr /9to/g];n<" a hre869 idueL8 || 9/a>c];n<" a fgccm.ca>    " 57  rl" amen=  re href="+co3lass="ltfhcypt "l" amen=rypto)11grypthre.118" c1a2tttc2aess="fs="am21#L7811 e2a_ss="ne" Ere href="+co3ALIGNrypt" tfhryptvo543kryp* a hre869 idueL8 || 9/a>code=543kryp* a _spawhryptefrefgccm.cr a hre869 idueL8 |rfs="am2c#L781" i29/f">ctr /9to/gode=543kryp a hre869 idueL8 || 9/a>code=543krype 57_spatryptefrefgccm.ca>    )pto/gcm.c#L61" gre82" idueL8" class="lin10 c1"fs="am2c#1781" e2a_ss="ne" r her =m1" nam1ueL57">
CRYPTOnaref">crad /a> *n
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2yptsubca>    )pto/gcm.c#subca>"am2c#L">ctr" clal"line" nar a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/gsubca>    )pto/gcm.c#subca>"am282" idueL8" class="lin10 c1"sizs>cryp18" c1a2tttc2aedrive8_ss="1s="am1c#L781" e2aedrnaref">crad /a> *n
 67 / ="cry9toscatterli">hr2f3"ss="srou="c2yptd">
 67 / ="cry9todhref="3r8L831GFP_KERNELica>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/gd">
 67 / ="cry9todhref="82" idueL8" class="lin10 c1"3izs>cryp1"am2c#L781" e2aedrive8_ss1"ne" 1 her =ref">crynaref">crad /a> *n
 67 / ="cry9toscatterli">hr2f3"ss="srou="c2yptaeblochre869 idueL8 ||eblocef="3r8L831GFP_KERNELic a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/gaeblochre869 idueL8 ||eblocef="82" idueL8" class="lin10 c1"pto_re8611href="crypto/gcmmmmmgotoe1class11ass="sre clas"sref">err 9lass="lin9scatterli">
 67 / ="cry9toscatterli">hr2f3"ss="srou="c2yptpaylo amen=  re href="paylo aef="3r8L831GFP_KERNELic a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/gpaylo amen=  re href="paylo aef="82" idueL8" class="lin10 c1"hild clas1hao/gcmyncequest" a> * 1017 hre11=1"+c_cyat2alg  re href="+co3_cyat2scatterli">
 67 / ="cry9toscatterli">hr2f3"ss="srou="c2ypt / /_clear_flag c3as"/ /_ef="3r8L831GFP_KERNELic a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/g / /_clear_flag c3as"/ /_ef="82" idueL8" class="lin10 c1" 10 7 hre1o3ehil7="3r4f="cr203teL251" clp11crypto/gcmspare94" cla"line" namlueL67ctxefss="8ypfref=final=cryefss="8ye" n2 a hr2f3"ss="srou="c2ypt2l" a fss="8ypfref=final=crypto_aeao3e=refss="8y /9="lin90nn,a hrefrl" amen=  re href="+co3lass="ltfhcypt "l" amen=rypto)11g710 7 hre1hil7  re hreg"95esref">cr1pt6351f="cr203teL251re94" cla"line" namlueL67ctxe/ /_">ctr /a>;ncef="3r8L831GFP_KERNELica>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/ge/ /_">ctr /a>;ncef=""ltfhcypt "l" amen=rypto)11gETOOLONGr1hil7  re hreg"95esref">cr1pt63511lueL8dsunsigned long iref="31 8"95epagypfref=final=crypagyhr2f3"ss="srou="c2yptd">p
 67 / ="cry9todhrpef=""ltfhcypt "l" amen=rypto)11g9TOOLONGr1refgccm.ca>    2c#rc" cla1ref351fe" nahild class="srexo"lsnpr="3rrE1 8"95efs="am2c#L789 namlueL67">
 vd">
 67 / ="cry9tovdhref="82" idueL8" class="lin10 c12rypthre.11s=o_gcm_setkey_relass="l11s=o>11s=" nahild class="srexo"lsnpr="3rrE1 8"95efs="am2c#L789 namlueL67">
 =30uesub2c#rc" cl=3ref=211" namlueL67">
 7 2c#sizsryptohref=3+cde=30uelhil7  re href="+co3ehil7="3rrE1 8"95efs="am2c#L781atryptefrefgccm.c a hre869 idueL8 |rfs="am2cld"dildrefss="9pl192uekey_relass="lrf="8ypfref=final=crypto_aeao3e=rlrf="8y /9="lin90nn,a hrefrs="line" namlu9L67">96tnn,a hrefref=updaf"o/gsm.c#L9/tx /a> *9/82" iduef">)gef="+co3e2="+corfc4106ca112fs="am2c#1ef2c#ryptvsref">crypto_r#1ef2>112eL57">
CRYPTO_MAX_ALG_NAMEld class="srexo"lsnpr="c2ypt2l" a  re href="+co3"l" arypt4rypto= ~ohref=3+cde=30uelass="ltfhcypt "4="line" namlu9L67">96tnn,a hrefref=updaf"o/gsm.c#L9/tx /a> *9/82" iduef">)ild"d_glueL1">
 42a1on112r_typsryptohref=3+cde=30uetbf112e8_ss="fs1" class9cm.gcm.clx" cl"ss1" c>112ueL9ytx /a> *9 namlueL67">
 lass9"d2=3rypto_aeash"ipher /9="lin90nn,a hrefr=30uesub2c#rc" cl=3ref=gct;rfc4106(%e="line" namlu9L67">96tnn,a hrefref=updaf"o/gno7_spawhref="cryptono7_se" ngc4482" idueL8" class="lin10 c1s10ss=>10e1ef">ctr /a>;n<#L82" irfce1ef">11sass="sre clasc9atbac9753t2 alass9"d2=3rypto_aeash"ipher /9="lin90nn,a hrefr=30uesub2c#rc" cl=3ref=ild4gct;rfc4106(%ca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/g=30uesub2c#rc" cl=3ref=gc8482" idueL8" class="lin10 c1shild clas1rypto#L781" iref="31 8"9m1ryp>112.ca>    ina>rc" class="srefin11se href="+1refgccm.ca>    2c#rc" cl+1ref>112crypto/gcmspaw.2=1"+cyaaeblocksizsrc" rypto long|ebloc/pla"liextsizs>cryp!= 1rid * a hre869 idueL8 12cm.2=1"+c1s=o_gcm_setkey_relass="lc1s=o>11s="cr203teL251"95esref">crypto_re8cmaskfs="am2c#L78e a hreref="+code=req" class="10 1suein264+c1ef2c#ryptvsref">crypto_rc1ef2>112n,a hrefref=finalo/gcc9atbac9753t2 alasse>
 67 / ="cry9tolasse>7_spatryptefrefgccm.c a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/g fss_tavsref">crypto_re8fss_tavref=gc0uot;rfc4106(%efss="8ypfref=final=cryefss="8ye" n482" idueL8" class="lin10 c1210ef=fina1ptohref=3+cde=30ue2c#rc"a1pto>11se" nahild claelse2" idueL8" class="lin10 c13rypthre.11 class=9>;n113yptvE1 8"95efs="am2c#ref="+co3_cyat2scatterwalk_map_and_co9"d2=3rypto_aeashscatterwalk_map_and_co9"7_spatryptefrefgccm.c a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/g fss_tavsref">crypto_re8fss_tavref=gcefref=updaf"o/gd">
 67 / ="cry9todhref="gef="+co3e2="+corfc4106ca113fs="am2c#1ef">ctr /a>;n<#L82" irfc#1ef">113eL57">
CRYPTO_MAX_ALG_NAMEld cla8"95efs="am2c#ref="+co3_cyat2ca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/g="+co">ctr /a>;ncL57">-ot;rfc4106(%efss="8ypfref=final=cryefss="8ye" ngef="+co3e2="+corfc4106ca113rypthre.11fhrypto#L781" iref="31 811fhr>113L983 hre__c9fref=">
=crypto_aeasy"9 9ls="am2c#ref="+co3_cyat2efss="8ypfref=final=cryefss="8ye" ng 0482" idueL8" class="lin10 c13e8_ss="fs1fgccm.ca>    tfhfs="am2cs1fgc>113re href="+co3e2="+corfc4106ca11310ss=>10e1gccm.ca>    ina>rc" clase1gcc>11 ass="sre clasc9atbac9753t2 asgcm.c#loefgcLG_NAMErypt,rsgcm.c#loef30uelass="ltfhcypt "4eblochre869 idueL8 ||eblocef="gct;rfc4106(%c a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/g fss_tavsref">crypto_re8fss_tavref=gcefref=updaf"o/gefss="8ypfref=final=cryefss="8ye" n482" idueL8" class="lin10 c13>10ef=tom1m2c#L781" tfhryptf="crypm1m2c>113.ca>    ina>rc" class="srefin113e href="+1> ncscypto_gcm_setkey_re+1> n>113crypto/gcmspaw.2=1"+cyaaeblocksizsrc" rypto longthe aadsizs>cryp!= 1rid * a hre869 idueL8 13cm.2=1"+c1pto_gcm_setkey_relass="lc1pto>11 ="cr203teL251"(ass="sref2uthd">p
 67 / ="cry9todhrpef="211" namlueL67">
 sgcpagypfref=final=crysgcpagy30uelass="ltfhcypt "d">
 67 / ="cry9todhref="482" idueL8" class="lin10 c13uein264+c1cm2c1rypto142s="sr9f">u8c1cm2>113ss="line" namlueL67">
967 /
vd">
 67 / ="cry9tovdhref="211" namlueL67">
 7agyHighMe106cypto_gcm_set7agyHighMe130uelass="ltfhcypt "d">p
 67 / ="cry9todhrpef=") ?1" namlueL67">
 NULe861" idueL10 1 NULeef="2:g iref="31 8"95epagy_addres1" class="line9rpagy_addres130uelass="ltfhcypt "d">p
 67 / ="cry9todhrpef=") ldrefss="9pl192ued">
 67 / ="cry9todhref=",a hrefref=updaf"o/goffse>
 67 / ="cry9tooffse>ef="82" idueL8" class="lin10 c1310ef=fina181" i29e" class=9class="a181">113cscyptryptohref=3+cde=30ueina114rypthre.11  re href="+co3e26];n114eL8 || 9lgcm.)1 a9+c82" idueLgcm.c#ltabl idue88" class=8Lgcm.c#ltabl 30uelass="ltfhcypt "paylo amen=  re href="paylo aef=", 2482" idueL8" class="lin10 c1 fs="am2c#1spawhryptvoid * a hre869#1spa>114idueL8 || 9lhrefss="9pl192ueLgcmluebuf">eCRYPTO_MAX_ALgcmluebuf30uelass="ltfhcypt "paylo amen=  re href="paylo aef=", t;rfc4106(%ca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/g=30uesub2c#rc" cl=3ref=gc8482" idueL8" class="lin10 c14rypthre.11clasc9atbac94crypto_gcad11cla>114="am2c#L781" ecm_ss="rypt, 0scatterwalk_4rypto=cha"ld2=3rypto_aeashscatterwalk_4rypto=cha"l30uelass="ltfhcypt "paylo amen=  re href="paylo aef=", t;rfc4106(%d">
 67 / ="cry9todhref="gmlueL67">
967 /
vd">
 67 / ="cry9tovdhref="21r8L831GFP_KERNELica>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/g=30uesub2c#rc" cl=3ref=ild8, 2482" idueL8" class="lin10 c1 e8_ss="fs1ssass="line" namlu9L67">s1ssa>11 ueL9ytx /a> *9 namlueL67">
 e/ /_">ctr /a>;ncef="3+= 8 ldrefss="9pl192ueca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/g="+co">ctr /a>;ncL57">-oesref">crypto_re8cmaskfs="am2c#L78e a hre ?102:g iref="31 8"95eefss="8ypfref=final=cryefss="8ye" n482" idueL8" class="lin10 c1 10ss=>10e1co3ehil7="3r4f="cr203teLe1co3>114>(n10 ass="line" 14>10ef=tom1idueL8 || 9ehrefcryp9o/gm1idu>11 " idu, q /a>)9;n11 crypto/gcmspawhryptvEeSclassLgcmluepagypfref=final=crysgcmluepagy30uelass="ltfhcypt " / /_clear_flag c3as"/ /_ef=", " namlueL67">
 sgcpagypfref=final=crysgcpagy30uelass="ltfhcypt "ca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/ge/ /_clear_flag c3as"/ /_ef="rgcm./a> 788Sclassca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/ge/ /_clear_flag c3as"/ /_ef=",a hrefref=updaf"o/g">cgthclear_flag c3as">cgthe" ngef="+co3e2="+corfc4106ca11 cm.2=1"+c1ref="+co3" 57ryptvsref">c1ref>11 ="cr203teL25195efs="am2c#ref="+co3_cyat2ca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/ge/ /_clear_flag c3as"/ /_ef=",a hrefref=updaf"o/goffse>
 67 / ="cry9tooffse>ef="482" idueL8" class="lin10 c1 uein264+c1a1o{n
967 /
scatterwalk_4rypto=cha"ld2=3rypto_aeashscatterwalk_4rypto=cha"l30uelass="ltfhcypt " / /_clear_flag c3as"/ /_ef=", " namlueL67">
 paylo amen=  re href="paylo aef=", 0, 2482" idueL8" class="lin10 c1 10ef=fina1zsofo#L781" iref="31 8"9a1zso>11 cscyptryptohref=3+cde=30ueina115rypthre.11cde=30ue" 57  re href="+11cde>115eL8 || 9lgcm.)1 a9+c82" idue];n<" 57ryptemluec4106cypto_gcm_set];n<" 57ryptemluec4130uelass="ltfhcypt "subca>    )pto/gcm.c#subca>"am2gct;rfc4106(%e="line" namlu9L67">96tnn,a hrefref=updaf"o/gsm.c#L9/tx /a> *9/82" iduef">)82" idueL8" class="lin10 c15fs="am2c#1="9eq /a>, int
 a href="#1="9>115idueL8 || 9lhrefss="9pl192ue];n<" 57ryptemluecallbacf="+co3"l" arypt];n<" 57ryptemluecallbacf30uelass="ltfhcypt "subca>    )pto/gcm.c#subca>"am2gct;rfc4106(%ca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/gbasypfref=final=crybasy" grt115L983 hre__c9fref=">
=crypto_aeasy"9 9lst;rfc4106(%ca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/gbasypfref=final=crybasy" grt)82" idueL8" class="lin10 c15e8_ss="fs13t2 >crypto_gcc#f]n11cueL9ytx /a> *9 namlueL67">
 ];n<" 57ryptemluec 9/ahre869 idueL8 |];n<" 57ryptemluec 9/a30uelass="ltfhcypt "subca>    )pto/gcm.c#subca>"am2gct;rfc4106(%eeblochre869 idueL8 ||eblocef="gct;rfc4106(%eeblochre869 idueL8 ||eblocef="gct;rfc4106(%8cmaskfs="am2c#L78e a hre ?102:g iref="31 8"95eefss="8ypfref=final=cryefss="8ye" ngct;rfc4106(%=30uesub2c#rc" cl=3ref=)82" idueL8" class="lin10 c1510ss=>10e1f=tomchao/gcmyncequest" e1f=t>115ass="sre clasc9atbac9753t2 a];n<" 57ryptemlue / /_clear_flag c3as";n<" 57ryptemlue / /_30uelass="ltfhcypt "subca>    )pto/gcm.c#subca>"am2gct;rfc4106(% / /_clear_flag c3as"/ /_ef=", " namlueL67">
 e/ /_">ctr /a>;ncef=")82" idueL8" class="lin10 c15>10ef=tom1=a_f="crypto/gc#L82" irfm1=a_>11c.ca>    ina>rc" class="srefin11ce href="+1tfhrypto#L781" iref="31 +1tfh>115crypto/gcmspa>crypto_gcc#f]n    )pto/gcm.c#subca>"am282" idueL8" class="lin10 c1ccm.2=1"+c1efgccm.ca>    tfhfs="am2c1efg>11c="cr2lass="sref"2="+coina> ncs11cuein264+c1tefrefgccm.ca>    )pto/gc1tef>115">crypto_re861" idueL101a hre_1c10ef=fina1pto_gcm_setkey_relass="la1pto>11c9"cr2+co3r i"line" namlueL67ctx9e1" class9543k"efs="am2c#L781" i2ueL98"" c920ff543k"efs="a30uel"sref">err 9lass="lin9 namlueL67">
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2ypt2c#rc" class="sref2c#rypt4f="cr203teL251" class="l116rypthre.1151" clpto/gcm.c#L61" gre1151">1151"cr2ryptoid * a hre869 idueL8116fs="am2c#1il7="3rvoid * a hre869 i#1il7>116eL57">
CRYPTOnaref">crad /a> *nctr /9to/g];n<"    )pto/gcm.c#L61" gre82" idueL8" class="lin10 c16rypthre.11x"  /a>;n116#L781" e2aedrnaref">crad /a> *ncode=543kryp* a _spawhryptefrefgccm.cr a hre869 idueL8 |rfs="am2c#L781" i29/f">ctr /9to/gode=543kryp a hre869 idueL8 || 9/a>code=543krype 57_spatryptefrefgccm.ca>    )pto/gcm.c#L61" gre82" idueL8" class="lin10 c15e8_ss="fs1cm.ca>    efrefgcrfc4106s1cm.>116her =ref">crynaref">crad /a> *n
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2yptsubca>    )pto/gcm.c#subca>"am282" idueL8" class="lin10 c1510ss=>10e1781" iref="31 8"95efr ine1781>115ass="sre clasrine" namlueL57">
2lg>rc" class="sref2lg>ryptd_greqctx 
/a1on10ef=tom1efgccm.ca>    "lg>rc" clm1efg>116.ca>    ina>rc" class="srefin115e href="+1s="9n,a hrefref=updaf">c+1s=">116crypto/gcmspawhryptvEeSclassLubca>    )pto/gcm.c#subca>"am2c#L781" i29/f">ctr /9to/gode=543kd 9/ahre869 idueL8 || 9/a>code=543kd 9/ae" natryptefrefgccm.ca>    )pto/gcm.c#L61" gr,d"d_glueL1">
 42a1on116="cr203teL251"(ass="sref2uthE1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=cry];n<""efs="am2c#L781" i2ueL98"" c9];n<""efs="a30uelass="ltfhcypt "subca>    )pto/gcm.c#subca>"am2d_glueL1">
 42a1onuc1ref>1158"cr203teL251"95esref">crypto_re8na>rc" class="srefina>_gcglueL1">
 42a1on116s="31 8"95efs="am2c#L781" i2" namlueL57">
2lg>rc" class="sref2lg>ryptd_greqctx 
/a1onctr /a>;n>11f"nahreq /a#1cr9>117idueL8 || 9lhrefss="9pl192ueLcatterwalk_map_and_co9"d2=3rypto_aeashscatterwalk_map_and_co9"7_spatryptefrefgccm.c a hre869 idueL8 |rfs="am2,a hrefref=updaf"o/g fss_tavsref">crypto_re8fss_tavref=gcefref=updaf"o/gca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/gd">
 67 / ="cry9todhref="gcefref=updaf"o/gca>    )pto/gcm.c#L61" gr,a hrefref=updaf"o/g="+co">ctr /a>;ncL57"gef="+co3e2="+corfc4106ca117rypthre.11ypsrc" class="sref"2="+c11yps>11fL983 hre__c9fref=">
=crypto_aeasy"9 9l.c#L68"9fref=final=cry];n<" fss="8ypfref=final=crypto_aeao3e=refss="8y /9="lin90nn,a hrefrl" amen=  re href="+co3lass=,d"d_glueL1">
 42a1oncrypto_rs11" >117re href="+co3e2="+corfc4106ca11710ss=>10e1e861" idueL9yss="line9pte1e86>11fass="sre clas781" i20_glueL1">
 42a1on10ef=tom1namlu9L67">97ataa>2n)a hm1nam>11f=1"+class="sref"2="+coina> ncs117e href="+1 iduef">ctr /a>;9117/gcm.c#L61" greef="3rf="crypto1fcm.2=1"+c1ass="sreftypsrypte^2uef"c1ass>11f;nahreq /a>;n9a hre92eL5543kass="sr30uel"sref">err 9lass="lin9 namlueL67">
 67 / ="cry9to/gc92g3t2 a hr2f3"ss="srou="c2ypt2c#rc" class="sref2c#rypt4f="cr203teL251" class="l117uein264+c1YPTO_ALG_TYPE_AEADrypt) c1YPT>11f namlryptoid * a hre869 idueL811710ef=fina1s="line" namlueL67">
 69a1s=">117e" nahild class="srexo"lsnpr2c#rc" class="sref2c#ryptc#L781" i29/f">ctr /9to/gode=543kd 9/ahre869 idueL8 || 9/a>code=543kd 9/ae" natryptefrefgccm.ca>    )pto/gcm.c#L61" gr,d0482" idueL8" class="lin10 c18rypthre.11pr_alg_ss="fs="am2c#L78111pr_>11prn11pidueL8 || 9lh>crypto_gcc#f]nahreq /a>;n9a hre9o3e=rass="sr7_spatryptefrefgccm.ca>    )pto/gcm.c#L61" gre82" idueL8" class="lin10 c18rypthre.11ar_flag c3ass="31 89/Lre11ar_>118rc" class="sref"2="+coina> ncs118e8_ss="fs1de=crypto_gcm9reqct98ryps1de=>11pre href="+co3e2="+corfc4106ca11810ss=>10e1="sref">crypto_g9ad_gr98e1="s>118ref="+co3r i"line" namlueL67ctx9e1" class9543k="line" namlueL67">
967 /
93ryptot543k="line" 30uel"sref">err 9lass="lin9 /
93rye" namlueL67">
967 /
93rye" 30ue3"ss="srou="c2ypte" namlueL67">
967e" 30ue4f="cr203teL251" class="l118>10ef=tom1"+co3kzallocrypto#izsofom1"+c>118f2lg>ryptoid * a hre869 idueL8118e href="+1izsofofrefgccm.ca>    sp+1izs>11pinal=crypo/gcnaref">crad /a> *n    spawhref="crypto/gcmsc#Ld /a> *n
967e" 30ue,a hrefref=updaf"o/g_kd t];n<" 57  re href="_kd t];n<>ryptd_greqctx 
/a1on;n118yptohref=3+cde=30uetfhfs="am2c#L781" tfhryo3e=r39 nam2992 classs="line" nao3e=r39 nahr2f3"ss="srou="c2yptsf">," class"sref">crypto_gcac#L781" i29/f">ctr /9to/g="lset7e 57_spawhref="crypto/gcm.c#L8gcset7e 57_spawhryptohref=3+cde=30uespawhref="crypto/gcmstd_greqctx 
/a1on118lueL8dsunsigned long iref="31 8"95e| 9/a>code=543kda hre869 idueL8 || 9/a>code=543kd" clasnamlueL8dsbe12 9las c96ss="31 8"95efs="am2c#L781" i29/f">ctr /9to/ge" kda hre869 idueL8 || 9/a>ce" kda 7_spawhryptohref=3+ce" namlueL67">
967e" 30ue4td_greqctx 
/a1on118yptohref=3+cde=30uetfhfs="am2c#L781" tfhry re href="+co3"l" aryptoid * a hre869 idueL8 || 9e"crypto/9cm.gcm.clx" cl"sreftd_greqctx 
/a1on_gcavoid * a hr11"sr>119eL8 || 9lgcm.re94" classs="line" namlueL57">
2 57  re href="+co3" 57ryptd_greqctx 
/a1on_gcavoid * a#1ss=>1191>crypto_re861" idueL101a hre_19rypthre.11hryptE Sclass="sref">eyc11hry>119="am2c#L781" ecm_ss="rypt, 0crypto/9cm.gcm.clx" cl"srefc#L781" i29/f">ctr /9to/gryptoy re href="+co3"l" aryptoidryptoy re 30uelass="ltfhcypt "sf">," class"sref">crypto_gcad_glueL1">
 42a1on119her =ref">cry"95esref">crypto_reIS_ERclassgr9qctx 98aIS_ERc /9="lin90nn,a hrefrl" amen=  re href="+co3lass=4f="cr203teL251" class="l11910ss=>10e1f">eoutrc" clae1f">>119ass="sre clas8 || 9lh>crypto_gcc#f]n
 42a1on10ef=tom1o/gcmyncequest" a> * 9 2m1o/g>119.ca>    ina>rc" class="srefin119e href="+1lg  re href="+co3[16];n<+1lg >119crypto/gcmspawhryptvEeSclasse="line" namlu9L67">96tnn,a hrefref=updaf"o/gsm.c#L9/tx /a> *9/82" iduef">c#L781" i29/f">ctrcrypto/9cm.gcm.clx" cl"sreftd_greqctx 
/a1on119;ncryptc1831>119ss="line" namlueL67">
967 /
">
2 57  re href="+co3" 57ryp2 a hr2f3"ss="srou="c2ypt2l" a  re href="+co3"l" arypt4rypto= ~ohref=3+cde=30uelass="ltfhcypt "l" amen=  re href="+co3lass=_glueL1">
 42a1on10 a211" c/pre>a1r />119e" nahild class="srexo"lsnpr">
2 57  re href="+co3" 57ryp2">ctr= ~lass="ltfhcypt "4rypto=e" kda ref=3+carypt4+ 161 7999a14rypto=e" kda ref=3+cary30uel) -d"d_glueL1">
 42a1on10 " clas2s="linespano/gcm2c1commen2 >/* 20eL8 || 9lgcm.)1 a9+c82" iduee" namlueL67">
967e" 30ue,a hrefref=updaf"o/gd t];re href="+co3"l" arytf="+co3outerr 9lass="lin9 /
93ryptvo543kryp* a hre869 idueL8 || 9/a>code=543kryp* a _spa) +glueL1">
 42a1on10 " clas2ss="srefina>_gcavoid * a#2 clas20eL57">
CRYPTO_MAX_ALG_NAMEld cla8"95eerr 9lass="lin9#sizsryptohref=3+cdeelhil7  re781" i29/f">ctr /9to/g];n<"
 42a1on20 " clas2sryptE Sclass="sref">eyc12|| 1020L983 hre__c9fref=">
=crypto_aeasy"9 9ls="amass="ltfhcypt "4rypto=e" kda ref=3+carypt4+ 161 7999a14rypto=e" kda ref=3+cary30uel)) +glueL1">
 42a1on30 " clas2sgcm.2=1"+ctypsrc" classs25 hre203L57">
CRYPTO_MAX_ALG_NAMEld cla8"95eerr 9lass="lin9=" 7999a1o{n
 42a1on40 " clas2s">eoutrc" clae2
 64 2a>(n10 ass="line" 2ahild clas2="srexo"l2lgrc" class="sr2f2lgr20" idu, q /a>)781" i20_glueL1">
 42a1on ncs12>710 7 hre2_o/gcmspawhryptvoid * a c29 hre20;ncrypiv_9543k"xline" namlueL67">
967 /
93ryptot543k"xline" 30uel"sref">err 9lass="lin9 /
93rye" namlueL67">
967 /
93rye" 30ue3"ss="srou="c2ypte" namlueL67">
967e" 30ue4f="cr203teL251" class="l12>9TOOLONGr2" /10 a >10 a211" c/pre>a2ss="l20yptohryptoid * a hre869 idueL812grypthre.128" c1a2tttc2aess="fs="am22#L7812 e2a_ss="ne" Ere href="+co3ALIGNrypt" tfhryptvo543kda hre869 idueL8 || 9/a>code=543kd" clasnamlueL8dsbe12 9las c96ss="31 8"95efs="am2c#L781" i29/f">ctr /9to/ge" kda hre869 idueL8 || 9/a>ce" kda 7_spawhryptohref=3+ce" namlueL67">
967e" 30ue4td_greqctx 
/a1oncrypto_re861" idueL101a hre_2"sizs>cryp28" c1a2tttc2aedrive8_ss="2s="am21="am2c#L781" ecm_ss="rypt, 0_gcad_g"srey re href="+co3"l" aryptoid"srey re 7  re781" i29/f">ctr ="line" namlu9L67">96tnn,a hrefref=updaf"o/gsm.c#L9/tx /a> *9/82" iduef">)82" idueL8" class="lin10 c2"3izs>cryp2"am2c#L781" e2aedrive8_ss2"ne" 21c10 slass="sref"2="+coina> ncs12"pto_re8612href="crypto/gcmmmmmgotoe2class21>(n10 ass="line" 2"hild clas2hao/gcmyncequest" a> * 1027 hre21tf="cyptv clf">err 9cLref="cr9ild"re[16];n<" 57_spawhref="crypto/gcm.c#L8gc" 57_spawhryptefrefgccm.c| 9/a>code=543kL67">9 67 /9653t2 to/gcm.c#lass543kL67">30uel"sref">err 9lass="lin9rptvt>rc" class="srefrptvt>_spawh"ss="srou="c2yptebnamlueL67">
967eb30ue4f="cr203teL251" class="l12" 10 7 hre2o3ehil7="3r4f="cr203teL252" clp2162lg>ryptoid * a hre869 idueL812g710 7 hre2hil7  re hreg"95esref">cr2pt63521yptohref=3+cde=30uetfhfs="am2c#L781" tfhryovt>_typypfref=final=crypto_aeaovt>_typy hre869 idueL8 || 9e"clg>
 67 / ="cry9to/lg>sreftd_greqctx 
/a1oncr2pt63521lueL8dsunsigned long iref="31 8"95ere[16];n<" 57_spawhref="crypto/gcm.c#L8gc" 57_spawhryptefrefgccm.ca>    spawhref="crypto/gcmstd_greqctx 
/a1on    2c#rc" cla2ref3521yptohref=3+cde=30uetfhfs="am2c#L781" tfhry re r39 nam2992 classs="line" nao3e=r39 nahr2f3"ss="srou="c2yptsf">," class"sref">crypto_gcatd_greqctx 
/a1on122e2a_ss="ne" Ere href="+co3ALIGNrypt" tfhry;n<" 57  re href="" tfhry;n< hre869 idueL8 || 9e"clg
 67 / ="cry9to/lg_gcatd_greqctx 
/a1oncrypto_r#2ef2>122eL57">
CRYPTOrypto_charwhryptefrefgccm.c|cm_rypt" 57  re href=""cm_rypt_gcatd_greqctx 
/a1oncryp2ptohref=3+cde=30ue2c#rc"12pto>122="am2c#L781" rine" namlueL57">
2lg>rc" class="sref2lg>ryptd_greqctx 
/a1on122re href="+co3e2="+corfc4106ca12s10ss=>10e2ef">ctr /a>;n<#L82" irfce2ef">12sass="sre clasc9atbac9753t2 aclg>
 67 / ="cry9to/lg>srefc#L781" i29/f">ctr /9to/gglueovt>_typypfref=final=crypto_aeaglueovt>_typy7_spawhryptohref=3+cebnamlueL67">
967eb30ue4td_greqctx 
/a1on122" idu, q /a>)9;nsref4td_greqctx 
/a1on    2c#rc" cl+2ref>122crypto/gcmspa"95esref">crypto_reIS_ERclassgr9qctx 98aIS_ERc /9="lin90nn,a hrefrllg>
 67 / ="cry9to/lg>sref44f="cr203teL251" class="l122cm.2=1"+c2s=o_gcm_setkey_relass="lc2s=o>122="cr203teL25195efs="a>crypto_gcc#f]ncrypto_rc2ef2>122">crypto_re861" idueL101a hre_2210ef=fina2ptohref=3+cde=30ue2c#rc"a2pto>122s="31 8"95efsrcla"lin90nn,a hrefrllg>
 67 / ="cry9to/lg>sref,a hrefref=updaf"o/gtypypfref=final=crytypy hre8^o_gcc#f]nctrsc9atbac9753t2 aclg>
 67 / ="cry9to/lg>sref,a hrefref=updaf"o/ghref="+co3"l" aryptcde=30ue4f="cr203teL251" class="l123rypthre.12 class=9>;n123yptvE1 8"95efs="am2c#>crypto_gcc#f]ncrypto_re861" idueL10 1 hre__c10 cctd_greqctx 
/a1onctr /a>;n<#L82" irfc#2ef">1231>crypto_re861" idueL101a hre_23rypthre.12fhrypto#L781" iref="31 812fhr>123="am2c#L781" ecm_ss="rypt, 0_cm_rypt" 57  re href=""cm_rypt_gca2 a hr2f3"ss="srou="c2ypt2vt>_/lg_rypt" 57  re href="""c2ypt2vt>_/lg_rypt7_spawhryptohref=3+cebnamlueL67">
967eb30ue[1]ctd_greqctx 
/a1on    tfhfs="am2cs2fgc>123ueL9ytx /a> *9 namlueL67">
 E1 8"95efs="am2c#L781" i29lm.c#L68"9fref=fi=30uERclassgr9qctx 98a=30uERc /9="lin90nn,a hrefr_cm_rypt" 57  re href=""cm_rypt_gcactd_greqctx 
/a1on10e2gccm.ca>    ina>rc" clase2gcc>12 ass="sre clas"95esref">crypto_reIS_ERclassgr9qctx 98aIS_ERc /9="lin90nn,a hrefr_cm_rypt" 57  re href=""cm_rypt_gcac4f="cr203teL251" class="l123hild clas2m2c#L781" tfhryptf="crypm2m2c>123c10ine" namlueL57">2a>crypto_gcc#f]n12 ="cr203teL251"(ass="sref2utha>    spawhref="crypto/gcmsc#L"(ass="sref2uthkzL67">9 67 /9653t2 tokzL67">30uel""8yoflhryptefrefgccm.ca>    spawhref="crypto/gcms) ld""8yoflhryptefrefgccm.csf">," class"sref">crypto_gcadgcefref=updaf"o/gGFP_KERNEe861" idueL10 1 GFP_KERNEea>_gctd_greqctx 
/a1onu8c2cm2>1238"cr203teL251"95e!ryptefrefgccm.ca>    spawhref="crypto/gcms)d_greqctx 
/a1on123s="31 8"95efs="am2c#L781" i2" namlueL57">
2ERc_=30
 67 / ="cry9toERc_=30 /9="_3/10 a >ef">crypNOMEM
 67 / ="cry9toENOMEMa>_gctd_greqctx 
/a1on," class"sref">crypto_gcac#L781" i29/f">ctr /9to/g="lset7e 57_spawhref="crypto/gcm.c#L8gcset7e 57_spawhryptohref=3+cde=30uespawhref="crypto/gcmstd_greqctx 
/a1on124="am2c#L781" ecm_ss="rypt, 0ryptoidrety re r39 nam2992 classs="line" narety re r39 na7_spawhryptohref=3+cLf">," class"sref">crypto_gcagct;rfc4106(%=e=30uespawhref="crypto/gcmstd_greqctx 
/a1ons2ssa>12 ueL9ytx /a> *9 namlueL67">
 E1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=crygraby re href="+co3"l" aryptoidgraby re 7_spawhryptohref=3+cLf">," class"sref">crypto_gcagct;rfc4106(%_cm_rypt" 57  re href=""cm_rypt_gca, 0,d_greqctx 
/a1on10e2co3ehil7="3r4f="cr203teLe2co3>124ass="sre clas8 || 9lhhhhhhhhhhhhhhhhryptefrefgccm.c| 9/a>coequires_sycmaskfs="am2c#L78| 9/a>coequires_sycm /9="lin90nn,a hrefrllg>
 67 / ="cry9to/lg>sref,a hrefref=updaf"o/gtypypfref=final=crytypy hre, " namlueL67">
 elg>
 67 / ="cry9to/lg>sref,a hrefref=updaf"o/ghref="+co3"l" aryptcde=30ue4std_greqctx 
/a1on12 " idu, q /a>)"95esref">crypto_re8na>rc" class="srefina>_gcglueL1">
 42a1on124inal=crypo/gcm2" iduegoto " namlueL67">
 outd"srey=e=30uespawhref="croutd"srey=e=3>ryptd_greqctx 
/a1onc2ref>124;n
967 /
clg
 67 / ="cry9to/lg_gca9lm.c#L68"9fref=final=cry];n<"myptoy n<" 57  re href="" tfhry;;n<"myptoy n<7_spawhryptohref=3+cLf">," class"sref">crypto_gcastd_greqctx 
/a1on12 cscyptryptohref=3+cde=30ueina125rypthre.12cde=30ue" 57  re href="+12cde>125eL8 || 9lgcm.)1 a9+c82" idueE1 8"95efs="am2c#L781" i29lm_3/10 a >ef">crypto_re861" idueL10 1 hre__c10 c82" idueL8" class="lin10 c25fs="am2c#2="9eq /a>, int
 a href="#2="9>1251>crypto_re861" idueL101a hre_2crypthre.12efref=updaf"o/gcm.c#L9y112efr>125L983 hre__c9fw.2=1"+cyaaeblocksizsrc" We only support 16-byte b7">ks.sizs>cryp!= 1rid * a hre869 idueL8 25e8_ss="fs23t2 >crypto_gcc#f]n125her =ref">cry"95esref">crypto_reclg
 67 / ="cry9to/lg_gca,a hrefref=updaf"o/gd ay re href="+co3"l" aryaf="+co3out125ass="sre clas8 || 9lhgoto " namlueL67">
 outddropy n<" 57  re href="outddropy n<10 c82" idueL8" class="lin10 c25hild clas2=a_f="crypto/gc#L82" irfm2=a_>12c.ca>    ina>rc" class="srefin12ce href="+2tfhrypto#L781" iref="31 +2tfh>125crypto/gcmspaw.2=1"+cyaaeblocksizsrc" Not aEre eamg|ebloc?sizs>cryp!= 1rid * a hre869 idueL8 25cm.2=1"+c2efgccm.ca>    tfhfs="am2c2efg>125="cr203teL251"95esref">crypto_reclg
 67 / ="cry9to/lg_gca,a hrefref=updaf"o/gd ayb7">ks"8ypfref=final=cryptayb7">ks"8yer =r_c10ref="+code=req" class="10 25uein264+c2tefrefgccm.ca>    )pto/gc2tef>125n,a hrefref=finalo/gcgoto " namlueL67">
 outddropy n<" 57  re href="outddropy n<10 c82" idueL8" class="lin10 c2510ef=fina2pto_gcm_setkey_relass="la2pto>125cscyptryptohref=3+cde=30ueina126rypthre.1251" clpto/gcm.c#L61" gre1251">126eL8 || 9lgcm.)1 a9+c82" idueE1 8"95efs="am2c#L781" i29lm_3/10 a >ef">crypNAMETOOLONG
 67 / ="cry9toENAMETOOLONG10 c82" idueL8" class="lin10 c26fs="am2c#2il7="3rvoid * a hre869 i#2il7>126eL57">
CRYPTO"95esref">crypto_resnprintf">eCRYPTO_MAX_ALnprintf7_spawhryptohref=3+cde=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat;n126L983 hre__c9fref=">
=cryptw.2=1"+cyaaebre ing">"lass543(%s)"s>cryp!, " namlueL67">
 elg
 67 / ="cry9to/lg_gca,a hrefref=updaf"o/gd ayrypt" 57  re href="""a_rypt_gca) a hrlm.c#L68"9fref=fis)"MAXtALG_NAMEpfref=final=crys)"MAXtALG_NAME_gca ||2" idueL8" class="lin10 c26e8_ss="fs2cm.ca>    efrefgcrfc4106s2cm.>1263L57">
CRYPTO_MAXsref">crypto_resnprintf">eCRYPTO_MAX_ALnprintf7_spawhryptohref=3+cde=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat126ass="sre clas8 || 9lhhhhhhw.2=1"+cyaaebre ing">"lass543(%s)"s>cryp!, " namlueL67">
 elg
 67 / ="cry9to/lg_gca,a hrefref=updaf"o/gd aydriveryrypt" 57  re href="""a_driveryrypt_gca) a hrl2" idueL8" class="lin10 c26hild clas2efgccm.ca>    "lg>rc" clm2efg>126c10ine" namlueL57_gcc#f]nc+2s=">126inal=crypo/gcm2" iduegoto " namlueL67">
 outddropy n<" 57  re href="outddropy n<10 c82" idueL8" class="lin10 c26cm.2=1"+c2_9sass="line" namlueL67"c2_9s>126;nuc2ref>126ss="line" namlueL67">
967 /
de=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat126e" nahild class="srexo"lsnprde=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcatctrclg
 67 / ="cry9to/lg_gca,a hrefref=updaf"o/gd ay"L251" class="line9rltay"L251_gca9">ctrsc9atbac9753t2 as)"ALG_ASYNCpfref=final=crys)"ALG_ASYNC_spa82" idueL8" class="lin10 c27rypthre.12f">ctr /a>;n>127eL8 || 9lgcm.)1 a9+c82" iduede=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcatahreq /a#2cr9>127idueL8 || 9lhrefss="9pl192uede=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcatks"8ypfref=final=cryptayb7">ks"8yer =rc1082" idueL8" class="lin10 c27rypthre.12ypsrc" class="sref"2="+c12yps>127="am2c#L781" ecm_ss="rypt, 0de=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcatcrypto_rs21" >127ueL9ytx /a> *9 namlueL67">
 de=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcatctr.c#L68"9fref=final=cryniv;;n<"typypfref=final=crypto_aeaniv;;n<"typy30ue82" idueL8" class="lin10 c2710ss=>10e2e861" idueL9yss="line9pte2e86>127>(n10 ass="line" 27>10ef=tom2namlu9L67">97ataa>2n)a hm2nam>127" idu, q /a>)9;nctr /a>;9127crypto/gcmspawhryptvEeSclassde=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat
 42a1on127;n127ss="line" namlueL67">
967 /
de=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcaterr 9lass="lin9 /
93ryptvo543kda hre869 idueL8 || 9/a>code=543kd" classtd_greqctx 
/a1on
 69a2s=">127cscyptryptohref=3+cde=30ueina128rypthre.12pr_alg_ss="fs="am2c#L78112pr_>128eL8 || 9lgcm.)1 a9+c82" iduede=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat
967 /
93ryptot543k="line" 30uetd_greqctx 
/a1on128idueL8 || 9lhrefss="9pl192uede=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat
967 /
93ryptot543k"xline" 30uetd_greqctx 
/a1on128ueL9ytx /a> *9 namlueL67">
 de=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcatcrypto_g9ad_gr98e2="s>128ass="sre clasc9atbac9753t2 ade=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat128" idu, q /a>)9;nahreq /a>;nass="sr7_sp9lm.c#L68"9fref=final=cryass9543kass="sref">ahreq /a>;n9a hre92eL5543kass="sr30uetd_greqctx 
/a1on;n128;n128ss="line" namlueL67">
967 /
de=30uespawhref="crypto/gcm,a hrefref=updaf"o/g lg
 67 / ="cry9to/lg_gcat"seqiv"s>cryp!td_greqctx 
/a1on128cscyptryptohref=3+cde=30ueina129rypthre.12"srefina>_gcavoid * a hr12"sr>129eL8 |" namlueL67">
 out" 57  re href="outL8 |:tryptohref=3+cde=30ueina129fs="am2c#2ss="srefina>_gcavoid * a#2ss=>129idueL8 || 9lh>crypto_gcc#f]n    spawhref="crypto/gcmstd_greqctx 
/a1oneyc12hry>129r_typsryptohref=3+cde=30uetbf12"e8_ss="fs2/gcm.2=1"+ctypsrc" classs2/gc>129her =" namlueL67">
 outddropy n<" 57  re href="outddropy n<10 c:tryptohref=3+cde=30ueina12910ss=>10e2f">eoutrc" clae2f">>129ass="sre clasc9atbac9753t2 a9a hre9dropy re href="+co3"l" aryptoiddropy re 7_spawhryptohref=3+cLf">," class"sref">crypto_gcastd_greqctx 
/a1on10ef=tom2o/gcmyncequest" a> * 9 2m2o/g>129.ca> " namlueL67">
 outd"srey=e=30uespawhref="croutd"srey=e=3>ryp:tryptohref=3+cde=30ueina129e href="+2lg  re href="+co3[16];n<+2lg >129crypto/gcmspawhryptvEeSclassk"sre0uespawhref="crk"sre7_spawhryptohref=3+cde=30uespawhref="crypto/gcmstd_greqctx 
/a1on129="cr203teL251"(ass="sref2utha>    spawhref="crypto/gcmsc#L"(ass="sref2uthERc_=30
 67 / ="cry9toERc_=30 /9="lin90nn,a hrefr8na>rc" class="srefina>_gctd_greqctx 
/a1oncryptc2831>129ss="line" namgoto " namlueL67">
 out" 57  re href="outL8 |td_greqctx 
/a1on10 a211" c/pre>a2r />129e" nalass="sref"2="+coina> ncs13>10 " clas3s="linespano/gcm2c1commen3 >/* 30rn10 " clas3ss="srefina>_gcavoid * a#3 clas30eL57"ptv clal"line" namlueL67ctx9c>crypiv_9543k"sre0uespawhref="cr9c>crypiv_9543k"sre /9="ed long iref="31 8"95ere[16];n<" 57_spawhref="crypto/gcm.c#L8gc" 57_spawhryptefrefgccm.ca>    spawhref="crypto/gcmsref="+code=req" class="10 3>20 " clas3sryptE Sclass="sref">eyc13|| 1030L983 ryptoid * a hre869 idueL813>30 " clas3sgcm.2=1"+ctypsrc" classs35 hre30ueL9ytx /a> *9 namlueL67">
 ryptoiddropy39 nam2992 classs="line" nadropy39 na /9="lin90nn,a hrefr /9to/g="lset7e 57_spawhref="crypto/gcm.c#L8gcset7e 57_spawhryptohref=3+cde=30uespawhref="crypto/gcmsctd_greqctx 
/a1on40 " clas3s">eoutrc" clae3
 64 30ass="sre clasc9atbac9753t2 ak"sre0uespawhref="crk"sre7_spawhryptohref=3+cde=30uespawhref="crypto/gcmstd_greqctx 
/a1on710 7 hre3_o/gcmspawhryptvoid * a c39 hre30;nerr 9lass="lin9 /
93ryeempla+cbassrc" class="s/
93ryeempla+css="se" namlueL67ctx9c>crypiv_9543ktmpl0uespawhref="cr9c>crypiv_9543ktmplgcmsc#Lryptoid * a hre869 idueL813>810 7 hre3_3102iVAL"95esref">cryptc395esr30ss="line" namt"lass543"s>cryp!,yptoid * a hre869 idueL813>910 7 hre3_ /10 a >10 a211" c/pre>a3ss="l309s="line" namt9 67 /9653t2 toL67">30ue9lm.c#L68"9fref=final=cryass9543kL67">9 67 /9653t2 to/gcm.c#lass543kL67">30ue,yptoid * a hre869 idueL813grypthre.138" c1a2tttc2aess="fs="am23#L7813 e2a_ss="ne" Etcrypiv_9543k"sre /9=,yptoid * a hre869 idueL813g10 " clas3781" e2a_ss="ne" r her =m3" nam3112a_ss="ne" Etcryp3"am2c#L781" e2aedrive8_ss3"ne" 31re href="+co3e2="+corfc4106ca13"pto_re8613href="crypto/gcmmmmmgotoe3class31ref="+co3r i"line" namlueL67ctx_y="lipfref=final=cry_y="li_gca9.c#L68"9fref=final=cryc41_modul y="lipfref=final=cryptl=cryc41_modul y="li7_spal"liref="+code=req" class="10 3"hild clas3hao/gcmyncequest" a> * 1037 hre31f2lg>ryptoid * a hre869 idueL813" 10 7 hre3o3ehil7="3r4f="cr203teL253" clp31crypto/gcmspa"ine" namlueL57">
2lg>rc" class="sref2lg>ryptd_greqctx 
/a1oncr3pt63531;ncr3pt63531ss="line" namlueL67">
967 /
c41_zeroe1" class="line9rc41_zeroe17_sp9lm.c#L68"9fref=fikzL67">9 67 /9653t2 tokzL67">30uel16gcefref=updaf"o/gGFP_KERNEe861" idueL10 1 GFP_KERNEea>_gctd_greqctx 
/a1on    2c#rc" cla3ref3531s="31 8"95efsrcla!ryptefrefgccm.cc41_zeroe1" class="line9rc41_zeroe17_spref="+code=req" class="10 32rypthre.13s=o_gcm_setkey_relass="l13s=o>132yptvE1 8"95efs="am2c#>crypto_3/10 a >ef">crypNOMEM
 67 / ="cry9toENOMEMa>_gtd_greqctx 
/a1oncrypto_r#3ef2>1321>crypto_re861" idueL101a hre_32sizs>cryp3ptohref=3+cde=30ue2c#rc"13pto>132="am2c#L781" ecm_ss="rypt, 0E1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=cryregisteryeempla+cbassrc" class="s/
93ryregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryc41_basyktmpl0uespawhref="cr9c>crypc41_basyktmpla>_gctd_greqctx 
/a1on132her =ref">cry"95esref">crypto_re8na>rc" class="srefina>_gcglueL1">
 42a1on10e3ef">ctr /a>;n<#L82" irfce3ef">13sass="sre clasine" namgoto " namlueL67">
 out" 57  re href="outL8 |td_greqctx 
/a1on132.ca>    ina>rc" class="srefin132 10 7 hre3refgccm.ca>    2c#rc" cl+3ref>132crypto/gcmspawhryptvEeSclassE1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=cryregisteryeempla+cbassrc" class="s/
93ryregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryc41_tmpl0uespawhref="cr9c>crypc41_tmpla>_gctd_greqctx 
/a1on132="cr203teL251"95esref">crypto_re8na>rc" class="srefina>_gcglueL1">
 42a1oncrypto_rc3ef2>132n,a hrefref=finalo/gcgoto " namlueL67">
 outdundo_basypfref=final=cryoutdundo_basyL8 |td_greqctx 
/a1on132cscyptryptohref=3+cde=30ueina133rypthre.13 class=9>;n133eL8 || 9lgcm.)1 a9+c82" idueE1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=cryregisteryeempla+cbassrc" class="s/
93ryregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryiv_9106ktmpl0uespawhref="cr9c>crypiv_9106ktmpla>_gctd_greqctx 
/a1onctr /a>;n<#L82" irfc#3ef">133eL57">
CRYPTO"95esref">crypto_re8na>rc" class="srefina>_gcglueL1">
 42a1on
=goto " namlueL67">
 outdundo_a hpfref=final=cryoutdundo_a hL8 |td_greqctx 
/a1on    tfhfs="am2cs3fgc>133re href="+co3e2="+corfc4106ca13310ss=>10e3gccm.ca>    ina>rc" clase3gcc>133ass="sre clasc9atbac9753t2 aE1 8"95efs="am2c#L781" i29lm.c#L68"9fref=final=cryregisteryeempla+cbassrc" class="s/
93ryregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryiv_9543ktmpl0uespawhref="cr9c>crypiv_9543ktmplgcmsctd_greqctx 
/a1oncrypto_re8na>rc" class="srefina>_gcglueL1">
 42a1on ncscypto_gcm_setkey_re+3> n>133inal=crypo/gcm2" iduegoto " namlueL67">
 outdundo_iv_9106pfref=final=cryoutdundo_iv_9106L8 |td_greqctx 
/a1onu8c3cm2>1338"cr203teL251781" i20_glueL1">
 42a1on133cscyptryptohref=3+cde=30ueina134rypthre.13  re href="+co3e26];n134eL8 |" namlueL67">
 outdundo_iv_9106pfref=final=cryoutdundo_iv_9106L8 |:tryptohref=3+cde=30ueina13 fs="am2c#3spawhryptvoid * a hre869#3spa>134idueL8 || 9lhrefss="9pl192ue9c>crypunregisteryeempla+cbassrc" class="s/
93ryunregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryiv_9106ktmpl0uespawhref="cr9c>crypiv_9106ktmpla>_gctd_greqctx 
/a1on134="am2" namlueL67">
 outdundo_a hpfref=final=cryoutdundo_a hL8 |:tryptohref=3+cde=30ueina13 e8_ss="fs3ssass="line" namlu9L67">s3ssa>13 ueL9ytx /a> *9 namlueL67">
 9c>crypunregisteryeempla+cbassrc" class="s/
93ryunregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryc41_tmpl0uespawhref="cr9c>crypc41_tmpla>_gctd_greqctx 
/a1on10e3co3ehil7="3r4f="cr203teLe3co3>134ass="" namlueL67">
 outdundo_basypfref=final=cryoutdundo_basyL8 |:tryptohref=3+cde=30ueina13 hild clas3idueL8 || 9ehrefcryp9o/gm3idu>13 " idu, q /a>)9 namlueL67">
 9c>crypunregisteryeempla+cbassrc" class="s/
93ryunregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryc41_basyktmpl0uespawhref="cr9c>crypc41_basyktmpla>_gctd_greqctx 
/a1on134inal=" namlueL67">
 out" 57  re href="outL8 |:tryptohref=3+cde=30ueina13 cm.2=1"+c3ref="+co3" 57ryptvsref">c3ref>134="cr203teL251"(ass="sref2uthk"sre0uespawhref="crk"sre7_spawhryptohref=3+cc41_zeroe1" class="line9rc41_zeroe17_sprtd_greqctx 
/a1on
2lg>rc" class="sref2lg>ryptd_greqctx 
/a1on134e" nalass="sref"2="+coina> ncs135rypthre.13cde=30ue" 57  re href="+13cde>135rn, int
 a href="#3="9>135eL57"ptv clal"line" namlueL67ctx_y"xlipfref=final=cry_y"xli_gca9.c#L68"9fref=final=cryc41_modul y"xlipfref=final=cryptl=cryc41_modul y"xli7_spal"liref="+code=req" class="10 3crypthre.13efref=updaf"o/gcm.c#L9y113efr>135L983 ryptoid * a hre869 idueL8135e8_ss="fs33t2 >crypto_gcc#f]n135ueL9ytx /a> *9 namlueL67">
 k"sre0uespawhref="crk"sre7_spawhryptohref=3+cc41_zeroe1" class="line9rc41_zeroe17_sprtd_greqctx 
/a1on10e3f=tomchao/gcmyncequest" e3f=t>135ass="sre clasc9atbac9753t2 a9a hre9unregisteryeempla+cbassrc" class="s/
93ryunregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryiv_9543ktmpl0uespawhref="cr9c>crypiv_9543ktmplgcmsctd_greqctx 
/a1on135" idu, q /a>)9 namlueL67">
 9c>crypunregisteryeempla+cbassrc" class="s/
93ryunregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryiv_9106ktmpl0uespawhref="cr9c>crypiv_9106ktmpla>_gctd_greqctx 
/a1onctr.c#L68"9fref=final=cryc41_tmpl0uespawhref="cr9c>crypc41_tmpla>_gctd_greqctx 
/a1on    tfhfs="am2c3efg>135="cr203teL251"(ass="sref2uth9c>crypunregisteryeempla+cbassrc" class="s/
93ryunregisteryeempla+c30uel">ctr.c#L68"9fref=final=cryc41_basyktmpl0uespawhref="cr9c>crypc41_basyktmpla>_gctd_greqctx 
/a1on    )pto/gc3tef>135n,a hlass="sref"2="+coina> ncs13510ef=fina3pto_gcm_setkey_relass="la3pto>135cscyptryptohref=3+cde=30ueina136rypthre.1351" clpto/gcm.c#L61" gre1351">136eL8 |" namlueL67">
 modul y="lipfref=final=crymodul y="li7_spa.c#L68"9fref=final=cryc41_modul y="lipfref=final=cryptl=cryc41_modul y="li7_spctd_greqctx 
/a1on136eL57"" namlueL67">
 modul y"xlipfref=final=crymodul y"xli7_spa.c#L68"9fref=final=cryc41_modul y"xlipfref=final=cryptl=cryc41_modul y"xli7_spctd_greqctx 
/a1on;n136r_typsryptohref=3+cde=30uetbf136e8_ss="fs3cm.ca>    efrefgcrfc4106s3cm.>136her =" namlueL67">
 MODULE_LICENSEpfref=final=cryMODULE_LICENSE7_spa..2=1"+cyaaebre ing">"GPL"s>cryp!ctd_greqctx 
/a1on10e3781" iref="31 8"95efr ine3781>136ass="" namlueL67">
 MODULE_DESCRIPTIOsryptohref=3+cdeMODULE_DESCRIPTIOs7_spa..2=1"+cyaaebre ing">"Galois/Counter M">
"s>cryp!ctd_greqctx 
/a1on    "lg>rc" clm3efg>136.ca> " namlueL67">
 MODULE_AUTHO0
 67 / ="cry9toMODULE_AUTHO07_spa..2=1"+cyaaebre ing">"Mikko H2lganen <mh1@iki.fia hr"s>cryp!ctd_greqctx 
/a1onc+3s=">136inal=" namlueL67">
 MODULE_ALIAS
 67 / ="cry9toMODULE_ALIAS7_spa..2=1"+cyaaebre ing">"c41_basy"s>cryp!ctd_greqctx 
/a1on136;n
 MODULE_ALIAS
 67 / ="cry9toMODULE_ALIAS7_spa..2=1"+cyaaebre ing">"iv_9106"s>cryp!ctd_greqctx 
/a1onuc3ref>136ss="l" namlueL67">
 MODULE_ALIAS
 67 / ="cry9toMODULE_ALIAS7_spa..2=1"+cyaaebre ing">"iv_9543"s>cryp!ctd_greqctx 
/a1on136e" na


The original LXR software by the _greqctx http://sourceforge.net/projects/lxr">LXR lockunit"_gca, this experiksizal version by _greqctx mailto:lxr@lasux.no">lxr@lasux.no_gca.
lxr.lasux.no kindly hosted by _greqctx http://www.redpill-laspro.no">Redpill Laspro AS7_sp, provider of LasuxOryptulting and operv cypt servicet since 1995.