linux/crypto/lrw.c
<<
>>
S" met href=onclickurn io_seajaxcp../s(v2.6e.3/span> divsphref=rmaction="+searajax+*hod="post" onsubmit="return io_sefalse2.6e.pti4ut typ.6.hidden" nam.6.ajaxclookuphoid6.ajaxclookupho="v2.6..6ehref=rm> divsp mdivsid6.content">p mdivsid6.file_contents"< #L1hoid6.L1ho="lxr_seinehonam.6.L1h>f=r1m>/s class="lxr_scomment">/* LRW: as defined by Cyril Guyot inn> #L2hoid6.L2ho="lxr_seinehonam.6.L2h>f=r2m>/s class="lxr_scomment"> *href=rhttp://grouper.ieee.org/groups/1619/email/pdf00017.pdfn> #L3hoid6.L3ho="lxr_seinehonam.6.L3h>f=r3m>/s class="lxr_scomment"> *n> #L4hoid6.L4ho="lxr_seinehonam.6.L4h>f=r4m>/s class="lxr_scomment"> *hCopy.png" (c) 2006 Rik Snel <rsnel@cube.dyndns.org> #L5hoid6.L5ho="lxr_seinehonam.6.L5h>f=r5m>/s class="lxr_scomment"> *n> #L6hoid6.L6ho="lxr_seinehonam.6.L6h>f=r6m>/s class="lxr_scomment"> *hBased lueecb.cn> #L7hoid6.L7ho="lxr_seinehonam.6.L7h>f=r7m>/s class="lxr_scomment"> *hCopy.png" (c) 2006 Herbert Xu <herbert@gondor.alasa.org.au> #L8hoid6.L8ho="lxr_seinehonam.6.L8h>f=r8m>/s class="lxr_scomment"> *n> #L9hoid6.L9ho="lxr_seinehonam.6.L9h>f=r9m>/s class="lxr_scomment"> *hTe=" program =" free software; you cassredistribute it and/or modify itn> #L10hoid6.L10ho="lxr_seinehonam.6.L10h>f=ptio/s class="lxr_scomment"> *hunder the terms of the GNU General Public License as published by the Freen> #L11hoid6.L11ho="lxr_seinehonam.6.L11h>f=11m>/s class="lxr_scomment"> *hSoftware Founda"+se; either versalue2 of the License, or (at your n> )n> #L12hoid6.L12ho="lxr_seinehonam.6.L12h>f=12m>/s class="lxr_scomment"> *hany later versalu.n> #L13hoid6.L13ho="lxr_seinehonam.6.L13h>f=13m>/s class="lxr_scomment"> */n> #L14hoid6.L14ho="lxr_seinehonam.6.L14h>f=14m>/s class="lxr_scomment">/*hTe=" implementa"+se =" checked against the test v or" in the aboven> #L15hoid6.L15ho="lxr_seinehonam.6.L15h>f=15m>/s class="lxr_scomment"> *earcument and by a test v or provided by Ken Buchasaseatn> #L16hoid6.L16ho="lxr_seinehonam.6.L16h>f=16m>/s class="lxr_scomment"> *hhttp://www.mail- metive.com/stds-p1619@listserv.ieee.org/msg00173.htmln> #L17hoid6.L17ho="lxr_seinehonam.6.L17h>f=17m>/s class="lxr_scomment"> *n> #L18hoid6.L18ho="lxr_seinehonam.6.L18h>f=18m>/s class="lxr_scomment"> *hTee test v or" are included in the testing module to/lrw.[ch] */n> #L19hoid6.L19ho="lxr_seinehonam.6.L19h>f=19m>/sp< "../lio/lrw.c"> #L20hoid6.L20ho="lxr_seinehonam.6.L20h>f=2tio/s#include << "../liincludeto/lrw.calgapi.hho="lxr_sfref">o/lrw.calgapi.hio/s> #L21hoid6.L21ho="lxr_seinehonam.6.L21h>f=21io/s#include << "../liincludet+v3.9/err.hho="lxr_sfref">+v3.9/err.hio/s> #L22hoid6.L22ho="lxr_seinehonam.6.L22h>f=22io/s#include << "../liincludet+v3.9/init.hho="lxr_sfref">+v3.9/init.hio/s> #L23hoid6.L23ho="lxr_seinehonam.6.L23h>f=23io/s#include << "../liincludet+v3.9/kernel.hho="lxr_sfref">+v3.9/kernel.hio/s> #L24hoid6.L24ho="lxr_seinehonam.6.L24h>f=24io/s#include << "../liincludet+v3.9/module.hho="lxr_sfref">+v3.9/module.hio/s> #L25hoid6.L25ho="lxr_seinehonam.6.L25h>f=25io/s#include << "../liincludet+v3.9/scatterlist.hho="lxr_sfref">+v3.9/scatterlist.hio/s> #L26hoid6.L26ho="lxr_seinehonam.6.L26h>f=26io/s#include << "../liincludet+v3.9/slab.hho="lxr_sfref">+v3.9/slab.hio/s> #L27hoid6.L27ho="lxr_seinehonam.6.L27h>f=27m>/sp< "../lio/lrw.c"> #L28hoid6.L28ho="lxr_seinehonam.6.L28h>f=28io/s#include << "../liincludeto/lrw.cb128ops.hho="lxr_sfref">o/lrw.cb128ops.hio/s> #L29hoid6.L29ho="lxr_seinehonam.6.L29h>f=29io/s#include << "../liincludeto/lrw.cgf128mul.hho="lxr_sfref">o/lrw.cgf128mul.hio/s> #L30hoid6.L30ho="lxr_seinehonam.6.L30h>f=3tio/s#include << "../liincludeto/lrw.c"> hho="lxr_sfref">o/lrw.c"> hio/s> #L31hoid6.L31ho="lxr_seinehonam.6.L31h>f=31m>/sp< "../lio/lrw.c"> #L32hoid6.L32ho="lxr_seinehonam.6.L32h>f=32io/sstruct "../li+code=priv"s="lxr_shref">privio/s {p< "../lio/lrw.c"> #L33hoid6.L33ho="lxr_seinehonam.6.L33h>f=33io/s struct "../li+code=o/lrw._cipher"s="lxr_shref">o/lrw._cipherio/s * "../li+code=ohild"s="lxr_shref">ohildio/sap< "../lio/lrw.c"> #L34hoid6.L34ho="lxr_seinehonam.6.L34h>f=34io/s struct "../li+code="> _table_ctx"s="lxr_shref">"> _table_ctxio/s "../li+code=table"s="lxr_shref">tableio/sap< "../lio/lrw.c"> #L35hoid6.L35ho="lxr_seinehonam.6.L35h>f=35io/s}ap< "../lio/lrw.c"> #L36hoid6.L36ho="lxr_seinehonam.6.L36h>f=36m>/sp< "../lio/lrw.c"> #L37hoid6.L37ho="lxr_seinehonam.6.L37h>f=37io/sstgfx/ "../li+code=ineineho="lxr_shref">ineineio/s void "../li+code=setbit128_bbeho="lxr_shref">setbit128_bbeio/s(void * "../li+code=bho="lxr_shref">bio/s, int "../li+code=bitho="lxr_shref">bitn>a>)p< "../lio/lrw.c"> #L38hoid6.L38ho="lxr_seinehonam.6.L38h>f=38io/s{p< "../lio/lrw.c"> #L39hoid6.L39ho="lxr_seinehonam.6.L39h>f=39io/s "../li+code=__set_bitho="lxr_shref">__set_bitio/s( "../li+code=bitho="lxr_shref">bitn>a> ^ (0x80 -p< "../lio/lrw.c"> #L40hoid6.L40ho="lxr_seinehonam.6.L40h>f=4tio/s#ifdef "../li+code=__BIG_ENDIANho="lxr_shref">__BIG_ENDIANm>/sp< "../lio/lrw.c"> #L41hoid6.L41ho="lxr_seinehonam.6.L41h>f=41io/s "../li+code=BITS_PER_LONGho="lxr_shref">BITS_PER_LONGm>/sp< "../lio/lrw.c"> #L42hoid6.L42ho="lxr_seinehonam.6.L42h>f=42io/s#elsep< "../lio/lrw.c"> #L43hoid6.L43ho="lxr_seinehonam.6.L43h>f=43io/s "../li+code=BITS_PER_BYTEho="lxr_shref">BITS_PER_BYTEm>/sp< "../lio/lrw.c"> #L44hoid6.L44ho="lxr_seinehonam.6.L44h>f=44io/s#endifp< "../lio/lrw.c"> #L45hoid6.L45ho="lxr_seinehonam.6.L45h>f=45io/s ), "../li+code=bho="lxr_shref">bio/s)ap< "../lio/lrw.c"> #L46hoid6.L46ho="lxr_seinehonam.6.L46h>f=46m>/s}p< "../lio/lrw.c"> #L47hoid6.L47ho="lxr_seinehonam.6.L47h>f=47m>/sp< "../lio/lrw.c"> #L48hoid6.L48ho="lxr_seinehonam.6.L48h>f=48io/sint "../li+code="> _init_table"s="lxr_shref">"> _init_tableio/s(struct "../li+code="> _table_ctx"s="lxr_shref">"> _table_ctxio/s * "../li+code=otx"s="lxr_shref">ctxio/s, const "../li+code=u8"s="lxr_shref">u8io/s * "../li+code=tweak"s="lxr_shref">tweakn>a>)p< "../lio/lrw.c"> #L49hoid6.L49ho="lxr_seinehonam.6.L49h>f=49io/s{p< "../lio/lrw.c"> #L50hoid6.L50ho="lxr_seinehonam.6.L50h>f=50io/s "../li+code=be128"s="lxr_shref">be128io/s "../li+code=tmp"s="lxr_shref">tmpio/s = { 0 }ap< "../lio/lrw.c"> #L51hoid6.L51ho="lxr_seinehonam.6.L51h>f=51io/s int "../li+code=iho="lxr_shref">iio/sap< "../lio/lrw.c"> #L52hoid6.L52ho="lxr_seinehonam.6.L52h>f=52m>/sp< "../lio/lrw.c"> #L53hoid6.L53ho="lxr_seinehonam.6.L53h>f=53io/s if ( "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s)p< "../lio/lrw.c"> #L54hoid6.L54ho="lxr_seinehonam.6.L54h>f=54io/s n "../li+code=gf128mul_free_64k"s="lxr_shref">gf128mul_free_64kio/s( "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s)ap< "../lio/lrw.c"> #L55hoid6.L55ho="lxr_seinehonam.6.L55h>f=55m>/sp< "../lio/lrw.c"> #L56hoid6.L56ho="lxr_seinehonam.6.L56h>f=56io/s class="lxr_scomment">/*hinitialize multiplica"+se table for Key2 */n> #L57hoid6.L57ho="lxr_seinehonam.6.L57h>f=57io/s "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s = n "../li+code=gf128mul_init_64k_bbeho="lxr_shref">gf128mul_init_64k_bbeio/s(( "../li+code=be128"s="lxr_shref">be128io/s *) "../li+code=tweak"s="lxr_shref">tweakn>a>)ap< "../lio/lrw.c"> #L58hoid6.L58ho="lxr_seinehonam.6.L58h>f=58io/s if (! "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s)p< "../lio/lrw.c"> #L59hoid6.L59ho="lxr_seinehonam.6.L59h>f=59io/s n io_se-n "../li+code=ENOMEM"s="lxr_shref">ENOMEMio/sap< "../lio/lrw.c"> #L60hoid6.L60ho="lxr_seinehonam.6.L60h>f=60m>/sp< "../lio/lrw.c"> #L61hoid6.L61ho="lxr_seinehonam.6.L61h>f=61io/s class="lxr_scomment">/*hinitialize n> miza"+se table */n> #L62hoid6.L62ho="lxr_seinehonam.6.L62h>f=62io/s for ( "../li+code=iho="lxr_shref">iio/s = 0; "../li+code=iho="lxr_shref">iio/s < 128; "../li+code=iho="lxr_shref">iio/s++) {p< "../lio/lrw.c"> #L63hoid6.L63ho="lxr_seinehonam.6.L63h>f=63io/s "../li+code=setbit128_bbeho="lxr_shref">setbit128_bbeio/s(&an "../li+code=tmp"s="lxr_shref">tmpio/s, "../li+code=iho="lxr_shref">iio/s)ap< "../lio/lrw.c"> #L64hoid6.L64ho="lxr_seinehonam.6.L64h>f=64io/s n "../li+code=otx"s="lxr_shref">ctxio/s->mulincio/s[ "../li+code=iho="lxr_shref">iio/s] = n "../li+code=tmp"s="lxr_shref">tmpio/sap< "../lio/lrw.c"> #L65hoid6.L65ho="lxr_seinehonam.6.L65h>f=65io/s n "../li+code=gf128mul_64k_bbeho="lxr_shref">gf128mul_64k_bbeio/s(&an "../li+code=otx"s="lxr_shref">ctxio/s->mulincio/s[ "../li+code=iho="lxr_shref">iio/s], "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s)ap< "../lio/lrw.c"> #L66hoid6.L66ho="lxr_seinehonam.6.L66h>f=66io/s }p< "../lio/lrw.c"> #L67hoid6.L67ho="lxr_seinehonam.6.L67h>f=67m>/sp< "../lio/lrw.c"> #L68hoid6.L68ho="lxr_seinehonam.6.L68h>f=68io/s n io_se0ap< "../lio/lrw.c"> #L69hoid6.L69ho="lxr_seinehonam.6.L69h>f=69m>/s}p< "../lio/lrw.c"> #L70hoid6.L70ho="lxr_seinehonam.6.L70h>f=7tio/s "../li+code=EXPORT_SYMBOL_GPL"s="lxr_shref">EXPORT_SYMBOL_GPLio/s( "../li+code="> _init_table"s="lxr_shref">"> _init_tableio/s)ap< "../lio/lrw.c"> #L71hoid6.L71ho="lxr_seinehonam.6.L71h>f=71m>/sp< "../lio/lrw.c"> #L72hoid6.L72ho="lxr_seinehonam.6.L72h>f=72io/svoid "../li+code="> _free_table"s="lxr_shref">"> _free_tableio/s(struct "../li+code="> _table_ctx"s="lxr_shref">"> _table_ctxio/s * "../li+code=otx"s="lxr_shref">ctxio/s)p< "../lio/lrw.c"> #L73hoid6.L73ho="lxr_seinehonam.6.L73h>f=73io/s{p< "../lio/lrw.c"> #L74hoid6.L74ho="lxr_seinehonam.6.L74h>f=74io/s if ( "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s)p< "../lio/lrw.c"> #L75hoid6.L75ho="lxr_seinehonam.6.L75h>f=75io/s n "../li+code=gf128mul_free_64k"s="lxr_shref">gf128mul_free_64kio/s( "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s)ap< "../lio/lrw.c"> #L76hoid6.L76ho="lxr_seinehonam.6.L76h>f=76m>/s}p< "../lio/lrw.c"> #L77hoid6.L77ho="lxr_seinehonam.6.L77h>f=77io/s "../li+code=EXPORT_SYMBOL_GPL"s="lxr_shref">EXPORT_SYMBOL_GPLio/s( "../li+code="> _free_table"s="lxr_shref">"> _free_tableio/s)ap< "../lio/lrw.c"> #L78hoid6.L78ho="lxr_seinehonam.6.L78h>f=78m>/sp< "../lio/lrw.c"> #L79hoid6.L79ho="lxr_seinehonam.6.L79h>f=79io/sstgfx/ int "../li+code=setkeyho="lxr_shref">setkeyio/s(struct "../li+code=o/lrw._tfm"s="lxr_shref">o/lrw._tfmio/s * "../li+code=parent"s="lxr_shref">parentio/s, const "../li+code=u8"s="lxr_shref">u8io/s * "../li+code=keyho="lxr_shref">keyio/s,p< "../lio/lrw.c"> #L80hoid6.L80ho="lxr_seinehonam.6.L80h>f=80io/s unsigned int "../li+code=keylen" ="lxr_shref">keylenio/s)p< "../lio/lrw.c"> #L81hoid6.L81ho="lxr_seinehonam.6.L81h>f=81io/s{p< "../lio/lrw.c"> #L82hoid6.L82ho="lxr_seinehonam.6.L82h>f=82io/s struct "../li+code=priv"s="lxr_shref">privio/s * "../li+code=otx"s="lxr_shref">ctxio/s = n "../li+code=o/lrw._tfm_ctx"s="lxr_shref">o/lrw._tfm_ctxio/s( "../li+code=parent"s="lxr_shref">parentio/s)ap< "../lio/lrw.c"> #L83hoid6.L83ho="lxr_seinehonam.6.L83h>f=83io/s struct "../li+code=o/lrw._cipher"s="lxr_shref">o/lrw._cipherio/s * "../li+code=ohild"s="lxr_shref">ohildio/s = n "../li+code=otx"s="lxr_shref">ctxio/s->ohildio/sap< "../lio/lrw.c"> #L84hoid6.L84ho="lxr_seinehonam.6.L84h>f=84io/s int "../li+code=err"s="lxr_shref">errio/s, "../li+code=bsize"s="lxr_shref">bsizeio/s = n "../li+code=LRW_BLOCK_SIZEho="lxr_shref">LRW_BLOCK_SIZEio/sap< "../lio/lrw.c"> #L85hoid6.L85ho="lxr_seinehonam.6.L85h>f=85io/s const "../li+code=u8"s="lxr_shref">u8io/s * "../li+code=tweak"s="lxr_shref">tweakn>a> = n "../li+code=keyho="lxr_shref">keyio/s + "../li+code=keylen" ="lxr_shref">keylenio/s - "../li+code=bsize"s="lxr_shref">bsizeio/sap< "../lio/lrw.c"> #L86hoid6.L86ho="lxr_seinehonam.6.L86h>f=86m>/sp< "../lio/lrw.c"> #L87hoid6.L87ho="lxr_seinehonam.6.L87h>f=87io/s "../li+code=o/lrw._cipher_clear_flags"s="lxr_shref">o/lrw._cipher_clear_flagsio/s( "../li+code=ohild"s="lxr_shref">ohildio/s, "../li+code=CRYPTO_TFM_REQ_MASK"s="lxr_shref">CRYPTO_TFM_REQ_MASKio/s)ap< "../lio/lrw.c"> #L88hoid6.L88ho="lxr_seinehonam.6.L88h>f=88io/s "../li+code=o/lrw._cipher_set_flags"s="lxr_shref">o/lrw._cipher_set_flagsio/s( "../li+code=ohild"s="lxr_shref">ohildio/s, "../li+code=o/lrw._tfm_get_flags"s="lxr_shref">o/lrw._tfm_get_flagsio/s( "../li+code=parent"s="lxr_shref">parentio/s) &ap< "../lio/lrw.c"> #L89hoid6.L89ho="lxr_seinehonam.6.L89h>f=89io/s "../li+code=CRYPTO_TFM_REQ_MASK"s="lxr_shref">CRYPTO_TFM_REQ_MASKio/s)ap< "../lio/lrw.c"> #L90hoid6.L90ho="lxr_seinehonam.6.L90h>f=90io/s "../li+code=err"s="lxr_shref">errio/s = n "../li+code=o/lrw._cipher_setkeyho="lxr_shref">o/lrw._cipher_setkeyio/s( "../li+code=ohild"s="lxr_shref">ohildio/s, "../li+code=keyho="lxr_shref">keyio/s, "../li+code=keylen" ="lxr_shref">keylenio/s - "../li+code=bsize"s="lxr_shref">bsizeio/s)ap< "../lio/lrw.c"> #L91hoid6.L91ho="lxr_seinehonam.6.L91h>f=91io/s if ( "../li+code=err"s="lxr_shref">errio/s)p< "../lio/lrw.c"> #L92hoid6.L92ho="lxr_seinehonam.6.L92h>f=92io/s n io_se "../li+code=err"s="lxr_shref">errio/sap< "../lio/lrw.c"> #L93hoid6.L93ho="lxr_seinehonam.6.L93h>f=93io/s "../li+code=o/lrw._tfm_set_flags"s="lxr_shref">o/lrw._tfm_set_flagsio/s( "../li+code=parent"s="lxr_shref">parentio/s, "../li+code=o/lrw._cipher_get_flags"s="lxr_shref">o/lrw._cipher_get_flagsio/s( "../li+code=ohild"s="lxr_shref">ohildio/s) &ap< "../lio/lrw.c"> #L94hoid6.L94ho="lxr_seinehonam.6.L94h>f=94io/s "../li+code=CRYPTO_TFM_RES_MASK"s="lxr_shref">CRYPTO_TFM_RES_MASKio/s)ap< "../lio/lrw.c"> #L95hoid6.L95ho="lxr_seinehonam.6.L95h>f=95m>/sp< "../lio/lrw.c"> #L96hoid6.L96ho="lxr_seinehonam.6.L96h>f=96io/s n io_se "../li+code="> _init_table"s="lxr_shref">"> _init_tableio/s(&an "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s, "../li+code=tweak"s="lxr_shref">tweakn>a>)ap< "../lio/lrw.c"> #L97hoid6.L97ho="lxr_seinehonam.6.L97h>f=97m>/s}p< "../lio/lrw.c"> #L98hoid6.L98ho="lxr_seinehonam.6.L98h>f=98m>/sp< "../lio/lrw.c"> #L99hoid6.L99ho="lxr_seinehonam.6.L99h>f=99io/sstruct "../li+code=sinfoho="lxr_shref">sinfoio/s {p< "../lio/lrw.c"> #L100hoid6.L100ho="lxr_seinehonam.6.L100h>f100io/s "../li+code=be128"s="lxr_shref">be128io/s "../li+code=t"s="lxr_shref">tio/sap< "../lio/lrw.c"> #L101hoid6.L101ho="lxr_seinehonam.6.L101h>f101io/s struct "../li+code=o/lrw._tfm"s="lxr_shref">o/lrw._tfmio/s * "../li+code=tfm"s="lxr_shref">tfmio/sap< "../lio/lrw.c"> #L102hoid6.L102ho="lxr_seinehonam.6.L102h>f102io/s void (* "../li+code=fn" ="lxr_shref">fnio/s)(struct "../li+code=o/lrw._tfm"s="lxr_shref">o/lrw._tfmio/s *, "../li+code=u8"s="lxr_shref">u8io/s *, const "../li+code=u8"s="lxr_shref">u8io/s *)ap< "../lio/lrw.c"> #L103hoid6.L103ho="lxr_seinehonam.6.L103h>f103io/s}ap< "../lio/lrw.c"> #L104hoid6.L104ho="lxr_seinehonam.6.L104h>f104m>/sp< "../lio/lrw.c"> #L105hoid6.L105ho="lxr_seinehonam.6.L105h>f105io/sstgfx/ "../li+code=ineineho="lxr_shref">ineineio/s void "../li+code=inc"s="lxr_shref">incio/s( "../li+code=be128"s="lxr_shref">be128io/s * "../li+code=iv"s="lxr_shref">ivio/s)p< "../lio/lrw.c"> #L106hoid6.L106ho="lxr_seinehonam.6.L106h>f106io/s{p< "../lio/lrw.c"> #L107hoid6.L107ho="lxr_seinehonam.6.L107h>f107io/s "../li+code=be64_add_cpu"s="lxr_shref">be64_add_cpuio/s(&an "../li+code=iv"s="lxr_shref">ivio/s->bio/s, 1)ap< "../lio/lrw.c"> #L108hoid6.L108ho="lxr_seinehonam.6.L108h>f108io/s if (! "../li+code=iv"s="lxr_shref">ivio/s->bio/s)p< "../lio/lrw.c"> #L109hoid6.L109ho="lxr_seinehonam.6.L109h>f109io/s "../li+code=be64_add_cpu"s="lxr_shref">be64_add_cpuio/s(&an "../li+code=iv"s="lxr_shref">ivio/s->aio/s, 1)ap< "../lio/lrw.c"> #L110hoid6.L110ho="lxr_seinehonam.6.L110h>f1ptio/s}p< "../lio/lrw.c"> #L111hoid6.L111ho="lxr_seinehonam.6.L111h>f111m>/sp< "../lio/lrw.c"> #L112hoid6.L112ho="lxr_seinehonam.6.L112h>f112io/sstgfx/ "../li+code=ineineho="lxr_shref">ineineio/s void "../li+code="> _round"s="lxr_shref">"> _roundio/s(struct "../li+code=sinfoho="lxr_shref">sinfoio/s * "../li+code=s"s="lxr_shref">sio/s, void * "../li+code=dst"s="lxr_shref">dstio/s, const void * "../li+code=src"s="lxr_shref">srcio/s)p< "../lio/lrw.c"> #L113hoid6.L113ho="lxr_seinehonam.6.L113h>f113io/s{p< "../lio/lrw.c"> #L114hoid6.L114ho="lxr_seinehonam.6.L114h>f114io/s "../li+code=be128_xor"s="lxr_shref">be128_xorio/s( "../li+code=dst"s="lxr_shref">dstio/s, &an "../li+code=s"s="lxr_shref">sio/s->tio/s, "../li+code=src"s="lxr_shref">srcio/s); class="lxr_scomment">/*hPP <- T xor P */n> #L115hoid6.L115ho="lxr_seinehonam.6.L115h>f115io/s "../li+code=s"s="lxr_shref">sio/s->fnio/s( "../li+code=s"s="lxr_shref">sio/s->tfmio/s, "../li+code=dst"s="lxr_shref">dstio/s, "../li+code=dst"s="lxr_shref">dstio/s); class="lxr_scomment">/*hCC <- E(Key2,PP) */n> #L116hoid6.L116ho="lxr_seinehonam.6.L116h>f116io/s "../li+code=be128_xor"s="lxr_shref">be128_xorio/s( "../li+code=dst"s="lxr_shref">dstio/s, "../li+code=dst"s="lxr_shref">dstio/s, &an "../li+code=s"s="lxr_shref">sio/s->tio/s); class="lxr_scomment">/*hC <- T xor CC */n> #L117hoid6.L117ho="lxr_seinehonam.6.L117h>f117m>/s}p< "../lio/lrw.c"> #L118hoid6.L118ho="lxr_seinehonam.6.L118h>f118m>/sp< "../lio/lrw.c"> #L119hoid6.L119ho="lxr_seinehonam.6.L119h>f119m>/s class="lxr_scomment">/*hue=" n io_ss the number of consequgfxve 1 bits startingn> #L120hoid6.L120ho="lxr_seinehonam.6.L120h>f12tio/s class="lxr_scomment"> *hfrom the .png", get_index128(00 00 00 00 00 00 ... 00 00 10 FB) = 2 */n> #L121hoid6.L121ho="lxr_seinehonam.6.L121h>f121io/sstgfx/ "../li+code=ineineho="lxr_shref">ineineio/s int "../li+code=get_index128ho="lxr_shref">get_index128io/s( "../li+code=be128"s="lxr_shref">be128io/s * "../li+code=block"s="lxr_shref">blockio/s)p< "../lio/lrw.c"> #L122hoid6.L122ho="lxr_seinehonam.6.L122h>f122io/s{p< "../lio/lrw.c"> #L123hoid6.L123ho="lxr_seinehonam.6.L123h>f123io/s int "../li+code=x"s="lxr_shref">xio/sap< "../lio/lrw.c"> #L124hoid6.L124ho="lxr_seinehonam.6.L124h>f124io/s "../li+code=__be32ho="lxr_shref">__be32io/s * "../li+code=p"s="lxr_shref">pio/s = ( "../li+code=__be32ho="lxr_shref">__be32io/s *) "../li+code=block"s="lxr_shref">blockio/sap< "../lio/lrw.c"> #L125hoid6.L125ho="lxr_seinehonam.6.L125h>f125m>/sp< "../lio/lrw.c"> #L126hoid6.L126ho="lxr_seinehonam.6.L126h>f126io/s for ( "../li+code=p"s="lxr_shref">pio/s += 3, "../li+code=x"s="lxr_shref">xio/s = 0; "../li+code=x"s="lxr_shref">xio/s < 128; "../li+code=p"s="lxr_shref">pio/s--, "../li+code=x"s="lxr_shref">xio/s += 32) {p< "../lio/lrw.c"> #L127hoid6.L127ho="lxr_seinehonam.6.L127h>f127io/s "../li+code=u32ho="lxr_shref">u32io/s "../li+code=valho="lxr_shref">valio/s = n "../li+code=be32_w._cpup"s="lxr_shref">be32_w._cpupio/s( "../li+code=p"s="lxr_shref">pio/s)ap< "../lio/lrw.c"> #L128hoid6.L128ho="lxr_seinehonam.6.L128h>f128io/sp< "../lio/lrw.c"> #L129hoid6.L129ho="lxr_seinehonam.6.L129h>f129io/s if (!~ "../li+code=valho="lxr_shref">valio/s)p< "../lio/lrw.c"> #L130hoid6.L130ho="lxr_seinehonam.6.L130h>f130io/s continueap< "../lio/lrw.c"> #L131hoid6.L131ho="lxr_seinehonam.6.L131h>f131m>/sp< "../lio/lrw.c"> #L132hoid6.L132ho="lxr_seinehonam.6.L132h>f132io/s n io_se "../li+code=x"s="lxr_shref">xio/s +e "../li+code=ffz" ="lxr_shref">ffzio/s( "../li+code=valho="lxr_shref">valio/s)ap< "../lio/lrw.c"> #L133hoid6.L133ho="lxr_seinehonam.6.L133h>f133io/s }p< "../lio/lrw.c"> #L134hoid6.L134ho="lxr_seinehonam.6.L134h>f134m>/sp< "../lio/lrw.c"> #L135hoid6.L135ho="lxr_seinehonam.6.L135h>f135io/s n io_se "../li+code=x"s="lxr_shref">xio/sap< "../lio/lrw.c"> #L136hoid6.L136ho="lxr_seinehonam.6.L136h>f136m>/s}p< "../lio/lrw.c"> #L137hoid6.L137ho="lxr_seinehonam.6.L137h>f137m>/sp< "../lio/lrw.c"> #L138hoid6.L138ho="lxr_seinehonam.6.L138h>f138io/sstgfx/ int "../li+code=o/lrw"s="lxr_shref">o/lrwio/s(struct "../li+code=blkcipher_desc"s="lxr_shref">blkcipher_descio/s * "../li+code=d"s="lxr_shref">dio/s,p< "../lio/lrw.c"> #L139hoid6.L139ho="lxr_seinehonam.6.L139h>f139io/s struct "../li+code=blkcipher_walk"s="lxr_shref">blkcipher_walkio/s * "../li+code=w"s="lxr_shref">wio/s, struct "../li+code=priv"s="lxr_shref">privio/s * "../li+code=otx"s="lxr_shref">ctxio/s,p< "../lio/lrw.c"> #L140hoid6.L140ho="lxr_seinehonam.6.L140h>f140io/s void (* "../li+code=fn" ="lxr_shref">fnio/s)(struct "../li+code=o/lrw._tfm"s="lxr_shref">o/lrw._tfmio/s *, "../li+code=u8"s="lxr_shref">u8io/s *, const "../li+code=u8"s="lxr_shref">u8io/s *))p< "../lio/lrw.c"> #L141hoid6.L141ho="lxr_seinehonam.6.L141h>f141io/s{p< "../lio/lrw.c"> #L142hoid6.L142ho="lxr_seinehonam.6.L142h>f142io/s int "../li+code=err"s="lxr_shref">errio/sap< "../lio/lrw.c"> #L143hoid6.L143ho="lxr_seinehonam.6.L143h>f143io/s unsigned int "../li+code=availho="lxr_shref">availio/sap< "../lio/lrw.c"> #L144hoid6.L144ho="lxr_seinehonam.6.L144h>f144io/s const int "../li+code=bs"s="lxr_shref">bsio/s = n "../li+code=LRW_BLOCK_SIZEho="lxr_shref">LRW_BLOCK_SIZEio/sap< "../lio/lrw.c"> #L145hoid6.L145ho="lxr_seinehonam.6.L145h>f145io/s struct "../li+code=sinfoho="lxr_shref">sinfoio/s n "../li+code=s"s="lxr_shref">sio/s = {p< "../lio/lrw.c"> #L146hoid6.L146ho="lxr_seinehonam.6.L146h>f146io/s .n "../li+code=tfm"s="lxr_shref">tfmio/s = n "../li+code=o/lrw._cipher_tfm"s="lxr_shref">o/lrw._cipher_tfmio/s( "../li+code=otx"s="lxr_shref">ctxio/s->ohildio/s),p< "../lio/lrw.c"> #L147hoid6.L147ho="lxr_seinehonam.6.L147h>f147io/s .n "../li+code=fn" ="lxr_shref">fnio/s = n "../li+code=fn" ="lxr_shref">fnio/sp< "../lio/lrw.c"> #L148hoid6.L148ho="lxr_seinehonam.6.L148h>f148io/s }ap< "../lio/lrw.c"> #L149hoid6.L149ho="lxr_seinehonam.6.L149h>f149io/s "../li+code=be128"s="lxr_shref">be128io/s * "../li+code=iv"s="lxr_shref">ivio/sap< "../lio/lrw.c"> #L150hoid6.L150ho="lxr_seinehonam.6.L150h>f150io/s "../li+code=u8"s="lxr_shref">u8io/s * "../li+code=wsrc"s="lxr_shref">wsrcio/sap< "../lio/lrw.c"> #L151hoid6.L151ho="lxr_seinehonam.6.L151h>f151io/s "../li+code=u8"s="lxr_shref">u8io/s * "../li+code=wdst"s="lxr_shref">wdstio/sap< "../lio/lrw.c"> #L152hoid6.L152ho="lxr_seinehonam.6.L152h>f152m>/sp< "../lio/lrw.c"> #L153hoid6.L153ho="lxr_seinehonam.6.L153h>f153io/s "../li+code=err"s="lxr_shref">errio/s = n "../li+code=blkcipher_walk_virtho="lxr_shref">blkcipher_walk_virtio/s( "../li+code=d"s="lxr_shref">dio/s, n "../li+code=w"s="lxr_shref">wio/s)ap< "../lio/lrw.c"> #L154hoid6.L154ho="lxr_seinehonam.6.L154h>f154io/s if (!( "../li+code=availho="lxr_shref">availio/s = n "../li+code=w"s="lxr_shref">wio/s->nbytesio/s))p< "../lio/lrw.c"> #L155hoid6.L155ho="lxr_seinehonam.6.L155h>f155io/s n io_se "../li+code=err"s="lxr_shref">errio/sap< "../lio/lrw.c"> #L156hoid6.L156ho="lxr_seinehonam.6.L156h>f156m>/sp< "../lio/lrw.c"> #L157hoid6.L157ho="lxr_seinehonam.6.L157h>f157io/s "../li+code=wsrc"s="lxr_shref">wsrcio/s = n "../li+code=w"s="lxr_shref">wio/s->srcio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"> #L158hoid6.L158ho="lxr_seinehonam.6.L158h>f158io/s "../li+code=wdst"s="lxr_shref">wdstio/s = n "../li+code=w"s="lxr_shref">wio/s->dstio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"> #L159hoid6.L159ho="lxr_seinehonam.6.L159h>f159m>/sp< "../lio/lrw.c"> #L160hoid6.L160ho="lxr_seinehonam.6.L160h>f160io/s class="lxr_scomment">/*hcalculate first v"v2. of T */n> #L161hoid6.L161ho="lxr_seinehonam.6.L161h>f161io/s "../li+code=iv"s="lxr_shref">ivio/s = ( "../li+code=be128"s="lxr_shref">be128io/s *) "../li+code=w"s="lxr_shref">wio/s->ivio/sap< "../lio/lrw.c"> #L162hoid6.L162ho="lxr_seinehonam.6.L162h>f162io/s n "../li+code=s"s="lxr_shref">sio/s.n "../li+code=t"s="lxr_shref">tio/s = * "../li+code=iv"s="lxr_shref">ivio/sap< "../lio/lrw.c"> #L163hoid6.L163ho="lxr_seinehonam.6.L163h>f163io/sp< "../lio/lrw.c"> #L164hoid6.L164ho="lxr_seinehonam.6.L164h>f164io/s class="lxr_scomment">/*hT <- I*Key2 */n> #L165hoid6.L165ho="lxr_seinehonam.6.L165h>f165io/s "../li+code=gf128mul_64k_bbeho="lxr_shref">gf128mul_64k_bbeio/s(&an "../li+code=s"s="lxr_shref">sio/s.n "../li+code=t"s="lxr_shref">tio/s, "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s.n "../li+code=table"s="lxr_shref">tableio/s)ap< "../lio/lrw.c"> #L166hoid6.L166ho="lxr_seinehonam.6.L166h>f166m>/sp< "../lio/lrw.c"> #L167hoid6.L167ho="lxr_seinehonam.6.L167h>f167io/s goto n "../li+code=first" ="lxr_shref">firstio/sap< "../lio/lrw.c"> #L168hoid6.L168ho="lxr_seinehonam.6.L168h>f168io/sp< "../lio/lrw.c"> #L169hoid6.L169ho="lxr_seinehonam.6.L169h>f169io/s for (;;) {p< "../lio/lrw.c"> #L170hoid6.L170ho="lxr_seinehonam.6.L170h>f170io/s do {p< "../lio/lrw.c"> #L171hoid6.L171ho="lxr_seinehonam.6.L171h>f171io/s class="lxr_scomment">/*hT <- I*Key2, using the n> miza"+sen> #L172hoid6.L172ho="lxr_seinehonam.6.L172h>f172m>/s class="lxr_scomment"> * discussed in the specifica"+se */n> #L173hoid6.L173ho="lxr_seinehonam.6.L173h>f173io/s "../li+code=be128_xor"s="lxr_shref">be128_xorio/s(&an "../li+code=s"s="lxr_shref">sio/s.n "../li+code=t"s="lxr_shref">tio/s, &an "../li+code=s"s="lxr_shref">sio/s.n "../li+code=t"s="lxr_shref">tio/s,p< "../lio/lrw.c"> #L174hoid6.L174ho="lxr_seinehonam.6.L174h>f174io/s &an "../li+code=otx"s="lxr_shref">ctxio/s->tableio/s.n "../li+code=mulinc"s="lxr_shref">mulincio/s[ "../li+code=get_index128ho="lxr_shref">get_index128io/s( "../li+code=iv"s="lxr_shref">ivio/s)])ap< "../lio/lrw.c"> #L175hoid6.L175ho="lxr_seinehonam.6.L175h>f175io/s "../li+code=inc"s="lxr_shref">incio/s( "../li+code=iv"s="lxr_shref">ivio/s)ap< "../lio/lrw.c"> #L176hoid6.L176ho="lxr_seinehonam.6.L176h>f176m>/sp< "../lio/lrw.c"> #L177hoid6.L177ho="lxr_seinehonam.6.L177h>f177io/s "../li+code=first" ="lxr_shref">firstio/s:p< "../lio/lrw.c"> #L178hoid6.L178ho="lxr_seinehonam.6.L178h>f178io/s "../li+code="> _round"s="lxr_shref">"> _roundio/s(&an "../li+code=s"s="lxr_shref">sio/s, n "../li+code=wdst"s="lxr_shref">wdstio/s, n "../li+code=wsrc"s="lxr_shref">wsrcio/s)ap< "../lio/lrw.c"> #L179hoid6.L179ho="lxr_seinehonam.6.L179h>f179m>/sp< "../lio/lrw.c"> #L180hoid6.L180ho="lxr_seinehonam.6.L180h>f180io/s "../li+code=wsrc"s="lxr_shref">wsrcio/s += n "../li+code=bs"s="lxr_shref">bsio/sap< "../lio/lrw.c"> #L181hoid6.L181ho="lxr_seinehonam.6.L181h>f181io/s "../li+code=wdst"s="lxr_shref">wdstio/s += n "../li+code=bs"s="lxr_shref">bsio/sap< "../lio/lrw.c"> #L182hoid6.L182ho="lxr_seinehonam.6.L182h>f182io/s } while (( "../li+code=availho="lxr_shref">availio/s -= n "../li+code=bs"s="lxr_shref">bsio/s) >bsio/s)ap< "../lio/lrw.c"> #L183hoid6.L183ho="lxr_seinehonam.6.L183h>f183io/sp< "../lio/lrw.c"> #L184hoid6.L184ho="lxr_seinehonam.6.L184h>f184io/s "../li+code=err"s="lxr_shref">errio/s = n "../li+code=blkcipher_walk_doneho="lxr_shref">blkcipher_walk_doneio/s( "../li+code=d"s="lxr_shref">dio/s, n "../li+code=w"s="lxr_shref">wio/s, n "../li+code=availho="lxr_shref">availio/s)ap< "../lio/lrw.c"> #L185hoid6.L185ho="lxr_seinehonam.6.L185h>f185io/s if (!( "../li+code=availho="lxr_shref">availio/s = n "../li+code=w"s="lxr_shref">wio/s->nbytesio/s))p< "../lio/lrw.c"> #L186hoid6.L186ho="lxr_seinehonam.6.L186h>f186io/s breakap< "../lio/lrw.c"> #L187hoid6.L187ho="lxr_seinehonam.6.L187h>f187m>/sp< "../lio/lrw.c"> #L188hoid6.L188ho="lxr_seinehonam.6.L188h>f188io/s "../li+code=wsrc"s="lxr_shref">wsrcio/s = n "../li+code=w"s="lxr_shref">wio/s->srcio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"> #L189hoid6.L189ho="lxr_seinehonam.6.L189h>f189io/s "../li+code=wdst"s="lxr_shref">wdstio/s = n "../li+code=w"s="lxr_shref">wio/s->dstio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"> #L190hoid6.L190ho="lxr_seinehonam.6.L190h>f190io/s }p< "../lio/lrw.c"> #L191hoid6.L191ho="lxr_seinehonam.6.L191h>f191m>/sp< "../lio/lrw.c"> #L192hoid6.L192ho="lxr_seinehonam.6.L192h>f192io/s n io_se "../li+code=err"s="lxr_shref">errio/sap< "../lio/lrw.c"> #L193hoid6.L193ho="lxr_seinehonam.6.L193h>f193io/s}p< "../lio/lrw.c"> #L194hoid6.L194ho="lxr_seinehonam.6.L194h>f194m>/sp< "../lio/lrw.c"> #L195hoid6.L195ho="lxr_seinehonam.6.L195h>f195io/sstgfx/ int "../li+code=eno/lrw"s="lxr_shref">eno/lrwio/s(struct "../li+code=blkcipher_desc"s="lxr_shref">blkcipher_descio/s * "../li+code=desc"s="lxr_shref">descio/s, struct "../li+code=scatterlist"s="lxr_shref">scatterlistio/s * "../li+code=dst"s="lxr_shref">dstio/s,p< "../lio/lrw.c"> #L196hoid6.L196ho="lxr_seinehonam.6.L196h>f196io/s struct "../li+code=scatterlist"s="lxr_shref">scatterlistio/s * "../li+code=src"s="lxr_shref">srcio/s, unsigned int "../li+code=nbytes"s="lxr_shref">nbytesio/s)p< "../lio/lrw.c"> #L197hoid6.L197ho="lxr_seinehonam.6.L197h>f197m>/s{p< "../lio/lrw.c"> #L198hoid6.L198ho="lxr_seinehonam.6.L198h>f198io/s struct "../li+code=priv"s="lxr_shref">privio/s * "../li+code=otx"s="lxr_shref">ctxio/s = n "../li+code=o/lrw._blkcipher_ctx"s="lxr_shref">o/lrw._blkcipher_ctxio/s( "../li+code=desc"s="lxr_shref">descio/s->tfmio/s)ap< "../lio/lrw.c"> #L199hoid6.L199ho="lxr_seinehonam.6.L199h>f199io/s struct "../li+code=blkcipher_walk"s="lxr_shref">blkcipher_walkio/s n "../li+code=w"s="lxr_shref">wio/sap< "../lio/lrw.c"> #L200hoid6.L200ho="lxr_seinehonam.6.L200h>f200m>/sp< "../lio/lrw.c"> #L201hoid6.L201ho="lxr_seinehonam.6.L201h>f201io/s "../li+code=blkcipher_walk_initho="lxr_shref">blkcipher_walk_initio/s(&an "../li+code=w"s="lxr_shref">wio/s, n "../li+code=dst"s="lxr_shref">dstio/s, "../li+code=src"s="lxr_shref">srcio/s, "../li+code=nbytes"s="lxr_shref">nbytesio/s)ap< "../lio/lrw.c"> #L202hoid6.L202ho="lxr_seinehonam.6.L202h>f202io/s n io_se "../li+code=o/lrw"s="lxr_shref">o/lrwio/s( "../li+code=desc"s="lxr_shref">descio/s, &an "../li+code=w"s="lxr_shref">wio/s, n "../li+code=otx"s="lxr_shref">ctxio/s,p< "../lio/lrw.c"> #L203hoid6.L203ho="lxr_seinehonam.6.L203h>f203io/s n "../li+code=o/lrw._cipher_alg"s="lxr_shref">o/lrw._cipher_algio/s( "../li+code=otx"s="lxr_shref">ctxio/s->ohildio/s)->oia_eno/lrwio/s)ap< "../lio/lrw.c"> #L204hoid6.L204ho="lxr_seinehonam.6.L204h>f204m>/s}p< "../lio/lrw.c"> #L205hoid6.L205ho="lxr_seinehonam.6.L205h>f205m>/sp< "../lio/lrw.c"> #L206hoid6.L206ho="lxr_seinehonam.6.L206h>f206io/sstgfx/ int "../li+code=deo/lrw"s="lxr_shref">deo/lrwio/s(struct "../li+code=blkcipher_desc"s="lxr_shref">blkcipher_descio/s * "../li+code=desc"s="lxr_shref">descio/s, struct "../li+code=scatterlist"s="lxr_shref">scatterlistio/s * "../li+code=dst"s="lxr_shref">dstio/s,p< "../lio/lrw.c"> #L207hoid6.L207ho="lxr_seinehonam.6.L207h>f207io/s struct "../li+code=scatterlist"s="lxr_shref">scatterlistio/s * "../li+code=src"s="lxr_shref">srcio/s, unsigned int "../li+code=nbytes"s="lxr_shref">nbytesio/s)p< "../lio/lrw.c"> #L208hoid6.L208ho="lxr_seinehonam.6.L208h>f208io/s{p< "../lio/lrw.c"> #L209hoid6.L209ho="lxr_seinehonam.6.L209h>f209io/s struct "../li+code=priv"s="lxr_shref">privio/s * "../li+code=otx"s="lxr_shref">ctxio/s = n "../li+code=o/lrw._blkcipher_ctx"s="lxr_shref">o/lrw._blkcipher_ctxio/s( "../li+code=desc"s="lxr_shref">descio/s->tfmio/s)ap< "../lio/lrw.c"> #L210hoid6.L210ho="lxr_seinehonam.6.L210h>f210io/s struct "../li+code=blkcipher_walk"s="lxr_shref">blkcipher_walkio/s n "../li+code=w"s="lxr_shref">wio/sap< "../lio/lrw.c"> #L211hoid6.L211ho="lxr_seinehonam.6.L211h>f211m>/sp< "../lio/lrw.c"> #L212hoid6.L212ho="lxr_seinehonam.6.L212h>f212io/s n "../li+code=blkcipher_walk_initho="lxr_shref">blkcipher_walk_initio/s(&an "../li+code=w"s="lxr_shref">wio/s, n "../li+code=dst"s="lxr_shref">dstio/s, "../li+code=src"s="lxr_shref">srcio/s, "../li+code=nbytes"s="lxr_shref">nbytesio/s)ap< "../lio/lrw.c"> #L213hoid6.L213ho="lxr_seinehonam.6.L213h>f213io/s n io_se "../li+code=o/lrw"s="lxr_shref">o/lrwio/s( "../li+code=desc"s="lxr_shref">descio/s, &an "../li+code=w"s="lxr_shref">wio/s, n "../li+code=otx"s="lxr_shref">ctxio/s,p< "../lio/lrw.c"> #L214hoid6.L214ho="lxr_seinehonam.6.L214h>f214io/s n "../li+code=o/lrw._cipher_alg"s="lxr_shref">o/lrw._cipher_algio/s( "../li+code=otx"s="lxr_shref">ctxio/s->ohildio/s)->oia_deo/lrwio/s)ap< "../lio/lrw.c"> #L215hoid6.L215ho="lxr_seinehonam.6.L215h>f215io/s}p< "../lio/lrw.c"> #L216hoid6.L216ho="lxr_seinehonam.6.L216h>f216m>/sp< "../lio/lrw.c"> #L217hoid6.L217ho="lxr_seinehonam.6.L217h>f217m>/sint "../li+code="> _o/lrw"s="lxr_shref">"> _o/lrwio/s(struct "../li+code=blkcipher_desc"s="lxr_shref">blkcipher_descio/s * "../li+code=desc"s="lxr_shref">descio/s, struct "../li+code=scatterlist"s="lxr_shref">scatterlistio/s * "../li+code=sdst"s="lxr_shref">sdstio/s,p< "../lio/lrw.c"> #L218hoid6.L218ho="lxr_seinehonam.6.L218h>f218io/s struct "../li+code=scatterlist"s="lxr_shref">scatterlistio/s * "../li+code=ssrc"s="lxr_shref">ssrcio/s, unsigned int "../li+code=nbytes"s="lxr_shref">nbytesio/s,p< "../lio/lrw.c"> #L219hoid6.L219ho="lxr_seinehonam.6.L219h>f219io/s struct "../li+code="> _o/lrw_req"s="lxr_shref">"> _o/lrw_reqio/s * "../li+code=req"s="lxr_shref">reqio/s)p< "../lio/lrw.c"> #L220hoid6.L220ho="lxr_seinehonam.6.L220h>f22tio/s{p< "../lio/lrw.c"> #L221hoid6.L221ho="lxr_seinehonam.6.L221h>f221io/s const unsigned int "../li+code=bsize"s="lxr_shref">bsizeio/s = n "../li+code=LRW_BLOCK_SIZEho="lxr_shref">LRW_BLOCK_SIZEio/sap< "../lio/lrw.c"> #L222hoid6.L222ho="lxr_seinehonam.6.L222h>f222io/s const unsigned int "../li+code=max_blks"s="lxr_shref">max_blksio/s = n "../li+code=req"s="lxr_shref">reqio/s->tbuflenio/s / "../li+code=bsize"s="lxr_shref">bsizeio/sap< "../lio/lrw.c"> #L223hoid6.L223ho="lxr_seinehonam.6.L223h>f223io/s struct "../li+code="> _table_ctx"s="lxr_shref">"> _table_ctxio/s * "../li+code=otx"s="lxr_shref">ctxio/s = n "../li+code=req"s="lxr_shref">reqio/s->table_ctxio/sap< "../lio/lrw.c"> #L224hoid6.L224ho="lxr_seinehonam.6.L224h>f224io/s struct "../li+code=blkcipher_walk"s="lxr_shref">blkcipher_walkio/s n "../li+code=walk"s="lxr_shref">/lrw.c"> #L97hoid6.li+code=otx"s="lxr_shref">ctxio/s = n "../lio/lrw.c"> #L4xr_seinehonam.6s = n "../lio/ "../lio/sinfoho="lxr_shre "../shr2o/s[ ".7hoid6.li+code= #L216hoid6.L126ho="lxr_seinehon2m.6.L226h>f116io/s "../li+coder_walk"s="lxr_shref">be128io/s * "../li+code=iv"s="lxr_shref">,stio/s * "../li+code=src"s="lxr_shref">srctio/s * "../li+code=dst"s="lxr_shref">dsfmio/s * "../li+le_ctx"s="lxr_sh../shr2o/s[ ".7hoid6.li+code= #L217hoid6.L127ho="lxr_seinehon2m.6.L227h>f107io/s "../li+coder_walk"s="lxr_shref">be128io/s * "../lit_refle_ctx"s="lxr_sh_refx_blksio/s = n "../li+code=req"s="lxr_shref">reqio/s->f108io/s int "../li+code=err"s="lxr_shref">errio/s, "../li+code=iho="lxr_shref">iio/sap< "../lio/lrw.c"2 #L129h2id6.L129ho="lxr_seinehon2m.6.L229h>f179m>/sp< "../lio/lrw.c"2 #L130h2id6.L130ho="lxr_seinehon2m.6.L230h>f150io/s "../liBUG_ONcode=iho="lxr_sBUG_ONer_algio/s( "../li+code=max_blks"s="lxr_shref">max_blkxio/s rwio/s)ap< "../lio/lrw.c"> #L131h2id6.L131ho="lxr_seinehon2m.6.L231h>f131m>/sp< "../lio/lrw.c"2 #L132h2id6.L132ho="lxr_seinehon2m.6.L232h>f212io/s n "../li+code=blkcipher_walk_initho="lxr_shref">blkcipher_walk_initio/s(&an "../li+code=walk"s="lxr_shref">/lstio/s, "../li+code=sdst"s="lxr_shref">sdstio/s, "../li+code=ssrc"s="lxr_shref">ssrcio/s, "../li+code=nbytes"s="lxr_shref">nbytesio/s)ap< "../lio/lrw.c"> #L133h2id6.L133ho="lxr_seinehon2m.6.L233h>f183io/sp< "../lio/lrw.c"2 #L134h2id6.L134ho="lxr_seinehon2m.6.L234h>f124io/s "../li+code=err"s="lxr_shref">errio/s = n "../li+code=blkcipher_walk_virtho="lxr_shref">blkcipher_walk_virtio/s( "../li+code=desc"s="lxr_shref">descio/s, &an "../li+code=walk"s="lxr_shref">/lesio/s)ap< "../lio/lrw.c"> otx"s="lxid6.L135ho="lxr_seinehon2m.6.L235h>f165io/s "../li+code=nbytes"s="lxr_shref">nbytstio/s = n "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=nbytes"s="lxr_shref">nbytsio/s)ap< "../lio/lrw.c"> #L216hoid6.L136ho="lxr_seinehon2m.6.L236h>f116io/s if (! "../li+code=nbytes"s="lxr_shref">nbytesio/s)p< "../lio/lrw.c"> #L137h2id6.L137ho="lxr_seinehon2m.6.L237h>f207io/s n io_se "../li+code=err"s="lxr_shref">errio/sap< "../lio/lrw.c"2 #L138h2id6.L138ho="lxr_seinehon2m.6.L238h>f168io/sp< "../lio/lrw.c"2 #L139h2id6.L139ho="lxr_seinehon2m.6.L239h>f149io/s "../li "../lio/sinfoho="lxr_shre "../sstio/s = n "../limitbuflen" ="lxr_smitk_virtio/s( "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=nbytes"s="lxr_shref">nbytenio/s / "../li+code=bsize"s="lxr_shref">bsircio/s, "../li+code=max_blks"s="lxr_shref">max_blesio/s)ap< "../lio/lrw.c"> #L140h2id6.L140ho="lxr_seinehon2m.6.L240h>f150io/s "../li+code=src"s="lxr_shref">sivio/s = ( "../li+code=be128"s="lxr_shref">be128io/s *) "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=src"s="lxr_shref">srcio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"2 #L141h2id6.L141ho="lxr_seinehon2m.6.L241h>f201io/s "../li+code=dst"s="lxr_shref">divio/s = ( "../li+code=be128"s="lxr_shref">be128io/s *) "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=dst"s="lxr_shref">dstio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"2 #L142h2id6.L142ho="lxr_seinehon2m.6.L242h>f152m>/sp< "../lio/lrw.c"2 #L143h2id6.L143ho="lxr_seinehon2m.6.L243h>f143io/s class="lxr_scomment">/*hcalculate first v"v2. of T */n> ivio/s = ( "../li+code=be128"s="lxr_shref">be128io/s *) "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=iv"s="lxr_shref">ivio/sap< "../lio/lrw.c"2 #L145h2id6.L145ho="lxr_seinehon2m.6.L245h>f165io/s "../lit_refle_ctx"s="lxr_sh_refx_bl[0]>tio/s = * "../li+code=iv"s="lxr_shref">ivio/sap< "../lio/lrw.c"2 #L146h2id6.L146ho="lxr_seinehon2m.6.L246h>f216m>/sp< "../lio/lrw.c"> #L147h2id6.L147ho="lxr_seinehon2m.6.L247h>f147io/s class="lxr_scomment">/*hT <- I*Key2 */n> gf128mul_64k_bbeio/s(&an "../lit_refle_ctx"s="lxr_sh_refx_bl[0]>tio/s, "../li+code=otx"s="lxr_shref">ctxio/s->tabesio/s)ap< "../lio/lrw.c"> #L139h2id6.L149ho="lxr_seinehon2m.6.L249h>f179m>/sp< "../lio/lrw.c"2 #L150h2id6.L150ho="lxr_seinehon2m.6.L250h>f150io/s "../li+code=iho="lxr_shref">xio/79m>/sp< "../lio/lrw.c"2 #L141h2id6.L151ho="lxr_seinehon2m.6.L251h>f151io/s goto n "../li+code=first" ="lxr_shref">firstio/sap< "../lio/lrw.c"2 #L152h2id6.L152ho="lxr_seinehon2m.6.L252h>f152m>/sp< "../lio/lrw.c"2 #L153h2id6.L153ho="lxr_seinehon2m.6.L253h>f153io/s for (;;) {p< "../lio/lrw.c"2 #L154h2id6.L154ho="lxr_seinehon2m.6.L254h>f214io/s do {p< "../lio/lrw.c"2 #L155h2id6.L155ho="lxr_seinehon2m.6.L255h>f155io/s 53io/s "../li+code=iho="lxr_shref">xio/ "../li+code=iho="lxr_shref">xio/ss = n "../lio/ "../lio/sinfoho="lxr_shre "../sh "../li+code=iho="lxr_shref"++or (;;) {p< "../lio/lrw.c"2 #L146h2id6.L156ho="lxr_seinehon2m.6.L256h>f186io/s 47io/s class="lxr_scomment">/*hT <- I*Key2, using the n> miza"+sen> * discussed in the specifica"+se */n> be128_xorio/s(&an "../lit_refle_ctx"s="lxr_sh_refx_bl[ "../li+code=iho="lxr_shref"]>tio/s, "../li+code=t"s="lxr_shref">tio/s,p< "../lio/lrw.c"2 #L159h2id6.L159ho="lxr_seinehon2m.6.L259h>f=89io/s &an "../li+code=otx"s="lxr_shref">ctxio/s->mulincio/s[ "../li+code=get_index128ho="lxr_shref">get_index128io/s( "../li+code=iv"s="lxr_shref">ivio/s)])ap< "../lio/lrw.c"2 #L160h2id6.L160ho="lxr_seinehon2m.6.L260h>f180io/s 47io/s s = ( "../li+code=inc"s="lxr_shref">incio/s( "../li+code=iv"s="lxr_shref">ivio/s)ap< "../lio/lrw.c"2 #L161h2id6.L161ho="lxr_seinehon2m.6.L261h>f1 goto n "../li+code=first" ="lxr_shref">firstio/s:p< "../lio/lrw.c"2 #L162h2id6.L162ho="lxr_seinehon2m.6.L262h>f182io/s 47io/s s = ( "../li+code=t"s="lxr_shref">tirio/s(&an "../lit_refle_ctx"s="lxr_sh_refx_bl[ "../li+code=iho="lxr_shref"]vio/s)ap< "../lio/lrw.c"2 #L153h2id6.L163ho="lxr_seinehon2m.6.L263h>f163io/sp< "../lio/lrw.c"2 #L164h2id6.L164ho="lxr_seinehon2m.6.L264h>f214io/s 47io/s class="lxr_scomment">/*hPP <- T xor P */n> be128_xorio/s( "../li+code=dst"s="lxr_shref">d>xio/s +e "../li+code=iho="lxr_shref">tio/s, "../li+code=t"s="lxr_shref"> "../li+code=src"s="lxr_shref">sixio/s +e "../li+code=iho="lxr_shref"ivio/s)ap< "../lio/lrw.c"2 #L146h2id6.L166ho="lxr_seinehon2m.6.L266h>f186io/s 15io/s}p< "../lio/lrw.c"> #L167h2id6.L167ho="lxr_seinehon2m.6.L267h>f187m>/sp< "../lio/lrw.c"2 #L168h2id6.L168ho="lxr_seinehon2m.6.L268h>f178io/s class="lxr_scomment">/*hCC <- E(Key2,PP) */n> reqio/s->"> _+code=fn" ="lxr_s">"> _+c28_xorio/s( "../li+code=req"s="lxr_shref">reqio/s->"> _ipher_ctx"s="lxr_shref">table_c, "../li+code=u8"s="lxr_shref">u8iio/s * "../li+code=dst"s="lxr_shref">ds> bsiivio/s)ap< "../lio/lrw.c"2 #L171h2id6.L171ho="lxr_seinehon2m.6.L271h>f131m>/sp< "../lio/lrw.c"2 #L172h2id6.L172ho="lxr_seinehon2m.6.L272h>f182io/s class="lxr_scomment">/*hC <- T xor CC */n> xio/ "../li+code=iho="lxr_shref">xio/ss = n "../lio/ "../lio/sinfoho="lxr_shre "../sh "../li+code=iho="lxr_shref"++o> be128_xorio/s( "../li+code=dst"s="lxr_shref">d>xio/s +e "../li+code=iho="lxr_shref">tio/s, "../li+code=dst"s="lxr_shref">d>xio/s +e "../li+code=iho="lxr_shref">trio/s(&an "../lit_refle_ctx"s="lxr_sh_refx_bl[ "../li+code=iho="lxr_shref"]ivio/s)ap< "../lio/lrw.c"2 #L165h2id6.L175ho="lxr_seinehon2m.6.L275h>f205m>/sp< "../lio/lrw.c"> #L176h2id6.L176ho="lxr_seinehon2m.6.L276h>f186io/s "../li+code=src"s="lxr_shref">sixtio/s = n "../li "../lio/sinfoho="lxr_shre "../shr2o/s[ ".7hoid6.li+code #L177h2id6.L177ho="lxr_seinehon2m.6.L277h>f207io/s "../li+code=dst"s="lxr_shref">d>xtio/s = n "../li "../lio/sinfoho="lxr_shre "../shr2o/s[ ".7hoid6.li+code #L168h2id6.L178ho="lxr_seinehon2m.6.L278h>f178io/s "../li+code=nbytes"s="lxr_shref">nbytelio/s -= n "../li "../lio/sinfoho="lxr_shre "../ss*io/s / "../li+code=bsize"s="lxr_shref">bsihr2o/s[ ".7hoid6.li+code #L169h2id6.L179ho="lxr_seinehon2m.6.L279h>f=89io/s o/s = n "../li "../lio/sinfoho="lxr_shre "../sstio/s = n "../limitbuflen" ="lxr_smitk_virtio/s( "../li+code=nbytes"s="lxr_shref">nbytenio/s / "../li+code=bsize"s="lxr_shref">bsircio/s, "../li+code=max_blks"s="lxr_shref">max_blesio/s)ap< "../lio/lrw.c"> #L180h2id6.L180ho="lxr_seinehon2m.6.L280h>f180io/s } wo/s = n "../li "../lio/sinfoho="lxr_shre "../ssqio/ 0esio/s)ap< "../lio/lrw.c"> #L171h2id6.L181ho="lxr_seinehon2m.6.L281h>f131m>/sp< "../lio/lrw.c"2 #L182h2id6.L182ho="lxr_seinehon2m.6.L282h>f182io/s o/s = n "../li+code=err"s="lxr_shref">errio/s = n "../li+code=blkcipher_walk_doneho="lxr_shref">blkcipher_walk_doneio/s( "../li+code=desc"s="lxr_shref">descio/s, &an "../li+code=walk"s="lxr_shref">/lrcio/s, "../li+code=nbytes"s="lxr_shref">nbytesio/s)ap< "../lio/lrw.c"> #L183h2id6.L183ho="lxr_seinehon2m.6.L283h>f173io/s tio/s( "../li+code=nbytes"s="lxr_shref">nbytetio/s = n "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=nbytes"s="lxr_shref">nbytsio/s)ap< "../lio/lrw.c"> #L184h2id6.L184ho="lxr_seinehon2m.6.L284h>f184io/s if (! "../li+code=nbytes"s="lxr_shref">nbytesio/s)p< "../lio/lrw.c"> #L185h2id6.L185ho="lxr_seinehon2m.6.L285h>f185io/s breakap< "../lio/lrw.c"2 #L186h2id6.L186ho="lxr_seinehon2m.6.L286h>f216m>/sp< "../lio/lrw.c"> #L187h2id6.L187ho="lxr_seinehon2m.6.L287h>f127io/s "../li "../lio/sinfoho="lxr_shre "../sstio/s = n "../limitbuflen" ="lxr_smitk_virtio/s( "../li+code=nbytes"s="lxr_shref">nbytenio/s / "../li+code=bsize"s="lxr_shref">bsircio/s, "../li+code=max_blks"s="lxr_shref">max_blesio/s)ap< "../lio/lrw.c"> #L168h2id6.L188ho="lxr_seinehon2m.6.L288h>f188io/s "../li+code=src"s="lxr_shref">sivio/s = ( "../li+code=be128"s="lxr_shref">be128io/s *) "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=src"s="lxr_shref">srcio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"> #L169h2id6.L189ho="lxr_seinehon2m.6.L289h>f189io/s "../li+code=dst"s="lxr_shref">divio/s = ( "../li+code=be128"s="lxr_shref">be128io/s *) "../li+code=walk"s="lxr_shref">/lrtio/s.n "../li+code=dst"s="lxr_shref">dstio/s.n "../li+code=virtho="lxr_shref">virtio/s.n "../li+code=addr"s="lxr_shref">addrio/sap< "../lio/lrw.c"> #L190h2id6.L190ho="lxr_seinehon2m.6.L290h>f190io/s }p< "../lio/lrw.c"2 #L191h2id6.L191ho="lxr_seinehon2m.6.L291h>f191m>/sp< "../lio/lrw.c"2 #L192h2id6.L192ho="lxr_seinehon2m.6.L292h>f192io/s n io_se "../li+code=err"s="lxr_shref">errio/sap< "../lio/lrw.c"2 #L193h2id6.L193ho="lxr_seinehon2m.6.L293h>f193io/s}p< "../lio/lrw.c"2 #L194h2id6.L194ho="lxr_seinehon2m.6.L294h>f1 io_se "../liEXPORT_SYMBOL_GPLde=err"s="lxr_sEXPORT_SYMBOL_GPLk_virtio/s( "../li+code="> _o/lrw"s="lxr_shref">"> _o/lesio/s)ap< "../lio/lrw.c"> #L195h2id6.L195ho="lxr_seinehon2m.6.L295h>f205m>/sp< "../lio/lrw.c"> #L196h2id6.L196ho="lxr_seinehon2m.6.L296h>f206io/sstgfx/ int "../li_walcipher_tfm"s="lxr_s_walciphk_virio/s)(struct "../li+code=o/lrw._tfm"s="lxr_shref">o/lrw._tfm(&an "../litcode=tfm"s="lxr_shref">tf05m>/sp< "../lio/lrw.c"> #L187h2id6.L197ho="lxr_seinehon2m.6.L297h>f197m>/s{p< "../lio/lrw.c"2 #L198h2id6.L198ho="lxr_seinehon2m.6.L298h>f198io/s struct "../lihref">o/lrw._w._tfm"s="lxr_shref">o/lrw._w._tfm(&an "../li/lrw._w._tfm"s="lxr_shlrw._w._tsio/s)ap< "../lio/lrw.c"> #L169h2id6.L199ho="lxr_seinehon2m.6.L299h>f199io/s struct "../lihref">oin06ince=bsize"s="lxr_shref">oin06incew._tfm(&an "../liin06er_tfm"s="lxr_s_wref">divio 8io/s *) "../litcode=tfm"s="lxr_shref">teqio/s->tcipher_alg"s="lxr_s_f">tciphw._tsio/s)ap< "../lio/lrw.c"3 #L200h3id6.L200ho="lxr_seinehon3m.6.L300h>f210io/s struct "../lihref">ospawcode=fn" ="lxr_s">"> >ospawcw._tfm(&an "../lispawcode=fn" ="lxr_sspawcw._tfxio/s = n "../li+code=oin06incecipher_ctx"s="lxr_shref">oin06inceciphf">incio/s( "../li+n06er_tfm"s="lxr_s_wref">desio/s)ap< "../lio/lrw.c"3 #L201h3id6.L201ho="lxr_seinehon3m.6.L301h>f201io/s struct "../li+code=priv"s="lxr_shref">privio/s * "../li+code=otx"s="lxr_shref">ctxio/s = n "../li+code=ohrecipher_ctx"s="lxr_shref">ohreciphf">incio/s( "../li+code=tfm"s="lxr_shref">tfmio/s)ap< "../lio/lrw.c"3 #L202h3id6.L202ho="lxr_seinehon3m.6.L302h>f212io/s n "../li+code=u32ho="lxr_shref">u3vio/s * "../liflagax_blks"s="lxr_sflagaref">tirio/s(&an "../litcode=tfm"s="lxr_shref">teqio/s->tcflagax_blks"s="lxr_s">tcflagaw._tsio/s)ap< "../lio/lrw.c"3 3 #L202h3id6.L193ho="lxr_seinehon3m.6.L303h>f163io/sp< "../lio/lrw.c"3 #L204h3id6.L204ho="lxr_seinehon3m.6.L304h>f124io/s "../li/lrw._w._tfm"s="lxr_shlrw._w._ttxio/s = n "../li+code=ospawco/lrw._w._tfm"s="lxr_shref">ospawco/lrw._f">incio/s( "../lispawcode=fn" ="lxr_sspawcw._tfmio/s)ap< "../lio/lrw.c"3 5 #L204h3id6.L195ho="lxr_seinehon3m.6.L305h>f185io/s cio/s( "../liIS_ERRode=fn" ="lxr_sIS_ERRf">incio/s( "../li/lrw._w._tfm"s="lxr_shlrw._w._tesio/s))p< "../lio/lrw.c"3 #L206h3id6.L206ho="lxr_seinehon3m.6.L306h>f186io/s n io_se "../liPTR_ERRode=fn" ="lxr_sPTR_ERRf">incio/s( "../li/lrw._w._tfm"s="lxr_shlrw._w._temio/s)ap< "../lio/lrw.c"3 7 #L206h3id6.L197ho="lxr_seinehon3m.6.L307h>f187m>/sp< "../lio/lrw.c"3 #L208h3id6.L208ho="lxr_seinehon3m.6.L308h>f185io/s cio/s( "../lihref">o/lrw._chre "ode=bsize"s="lxr_shref">o/lrw._chre "odef">incio/s( "../li/lrw._w._tfm"s="lxr_shlrw._w._te !eio/s = n "../li+code=LRW_BLOCK_SIZEho="lxr_shref">LRW_BLOCK_SIor (;;) {p< "../lio/lrw.c"3 #L209h3id6.L209ho="lxr_seinehon3m.6.L309h>f189io/s vio/s * "../liflagax_blks"s="lxr_sflagaref">|eio/s = n "../liCRYPTO_TFM_RES_BADf">LRW_LENcode=iho="lxr_sCRYPTO_TFM_RES_BADf">LRW_LENw._tsio/s)ap< "../lio/lrw.c"3 #L210h3id6.L210ho="lxr_seinehon3m.6.L310h>f180io/s cio/s( "../lihref">ofreeo/lrw._w._tfm"s="lxr_shref">ofreeo/lrw._f">incio/s( "../li/lrw._w._tfm"s="lxr_shlrw._w._temio/s)ap< "../lio/lrw.c"3 #L211h3id6.L211ho="lxr_seinehon3m.6.L311h>f181io/s n- io_se "../liEINVALde=err"s="lxr_sEINVALw._tsio/s)ap< "../lio/lrw.c"3 #L202h3id6.L212ho="lxr_seinehon3m.6.L312h>f212io/s 93io/s}p< "../lio/lrw.c"3 #L213h3id6.L213ho="lxr_seinehon3m.6.L313h>f163io/sp< "../lio/lrw.c"3 #L214h3id6.L214ho="lxr_seinehon3m.6.L314h>f124io/s "../li/code=otx"s="lxr_shref">ctxio/s->ohitxio/s = n "../li+lrw._w._tfm"s="lxr_shlrw._w._tsio/s)ap< "../lio/lrw.c"3 #L215h3id6.L215ho="lxr_seinehon3m.6.L315h>f185io/s no/79m>/sp< "../lio/lrw.c"3 #L216h3id6.L216ho="lxr_seinehon3m.6.L316h>f293io/s}p< "../lio/lrw.c"3 7 #L206h3id6.L217ho="lxr_seinehon3m.6.L317h>f187m>/sp< "../lio/lrw.c"3 #L218h3id6.L218ho="lxr_seinehon3m.6.L318h>f206io/ss io_se "../li+xalcipher_tfm"s="lxr_s+xalciphk_virio/s)(struct "../li+code=o/lrw._tfm"s="lxr_shref">o/lrw._tfm(&an "../litcode=tfm"s="lxr_shref">tf05m>/sp< "../lio/lrw.c"3 #L219h3id6.L219ho="lxr_seinehon3m.6.L319h>f2 (;;) {p< "../lio/lrw.c"3 #L220h3id6.L220ho="lxr_seinehon3m.6.L320h>f210io/s struct "../li+code=priv"s="lxr_shref">privio/s * "../li+code=otx"s="lxr_shref">ctxio/s = n "../li+code=ohrecipher_ctx"s="lxr_shref">ohreciphf">incio/s( "../li+code=tfm"s="lxr_shref">tfmio/s)ap< "../lio/lrw.c"3 #L221h3id6.L221ho="lxr_seinehon3m.6.L321h>f191m>/sp< "../lio/lrw.c"3 #L222h3id6.L222ho="lxr_seinehon3m.6.L322h>f212io/s n "../lihreffreeo+code=table"s="lxr_shreffreeo+codef">in &an "../li+code=otx"s="lxr_shref">ctxio/s->tabfmio/s)ap< "../lio/lrw.c"3 #L213h3id6.L223ho="lxr_seinehon3m.6.L323h>f223io/s cio/s( "../lihref">ofreeo/lrw._w._tfm"s="lxr_shref">ofreeo/lrw._f">incio/s( "../li/code=otx"s="lxr_shref">ctxio/s->ohilmio/s)ap< "../lio/lrw.c"3 #L214h3id6.L224ho="lxr_seinehon3m.6.L324h>f204m>/s}p< "../lio/lrw.c"3=otx"s="l3r_shref">ctxio/s = n ".3/lio/325h>f205m>/sp< "../lio/lrw.c"3= #L216h3id6.L126ho="lxr_seinehon3m.6.L326h>f206io/ss struct "../lihref">oin06ince=bsize"s="lxr_shref">oin06incew._tfm(&an "../lialre e=addr"s="lxr_shlre k_virio/s)(struct "../lir6iot_w._tfm"s="lxr_sr6iot_w._tfmm(&an "../litb=table"s="lxr_shbf">tf05m>/sp< "../lio/lrw.c"3= #L217h3id6.L127ho="lxr_seinehon3m.6.L327h>f197m>/s{p< "../lio/lrw.c"3= #L218h3id6.L128ho="lxr_seinehon3m.6.L328h>f198io/s struct "../lihref">oin06ince=bsize"s="lxr_shref">oin06incew._tfm(&an "../liin06er_tfm"s="lxr_s_wref">dmio/s)ap< "../lio/lrw.c"3 #L219h3id6.L129ho="lxr_seinehon3m.6.L329h>f199io/s struct "../lihref">oipher_alg"s="lxr_shref">oiphw._tfm(&an "../lialher_alg"s="lxr_siphw._tsio/s)ap< "../lio/lrw.c"3 #L130h3id6.L130ho="lxr_seinehon3m.6.L330h>f150io/s int "../li+code=err"s="lxr_shref">esio/s)ap< "../lio/lrw.c"3 #L221h3id6.L131ho="lxr_seinehon3m.6.L331h>f131m>/sp< "../lio/lrw.c"3 #L132h3id6.L132ho="lxr_seinehon3m.6.L332h>f212io/s n "../li+code=err"s="lxr_shref">errio/s = n "../lihref">o/heck_iot__type=bsize"s="lxr_shref">o/heck_iot__typef">incio/s( "../li+b=table"s="lxr_shbf">trcio/s, "../liCRYPTO_ALG_TYPEf">KCIPHERode=fn" ="lxr_sCRYPTO_ALG_TYPEf">KCIPHER>ohilmio/s)ap< "../lio/lrw.c"3 #L133h3id6.L133ho="lxr_seinehon3m.6.L333h>f223io/s cio/s( "../li+code=err"s="lxr_shref">ef05m>/sp< "../lio/lrw.c"3 #L134h3id6.L134ho="lxr_seinehon3m.6.L334h>f184io/s n io_se "../liERR_PTRode=fn" ="lxr_sERR_PTRf">incio/s( "../li+code=err"s="lxr_shref">efmio/s)ap< "../lio/lrw.c"3 otx"s="l3id6.L135ho="lxr_seinehon3m.6.L335h>f205m>/sp< "../lio/lrw.c"3 #L216h3id6.L136ho="lxr_seinehon3m.6.L336h>f116io/s "../lialher_alg"s="lxr_siphw._trrio/s = n "../lihref">ohrefiot__ipher_alg"s="lxr_shref">ohrefiot__iphf">incio/s( "../li+b=table"s="lxr_shbf">trcio/s, "../liCRYPTO_ALG_TYPEfCIPHERode=fn" ="lxr_sCRYPTO_ALG_TYPEfCIPHER>ohis> efmio/s)ap< "../lio/lrw.c"3 #L218h3id6.L138ho="lxr_seinehon3m.6.L338h>f185io/s cio/s( "../liIS_ERRode=fn" ="lxr_sIS_ERRf">incio/s( "../lialher_alg"s="lxr_siphw._tesio/s))p< "../lio/lrw.c"3 #L139h3id6.L139ho="lxr_seinehon3m.6.L339h>f189io/s n io_se "../liERR_CASTode=fn" ="lxr_sERR_CASTf">incio/s( "../lialher_alg"s="lxr_siphw._temio/s)ap< "../lio/lrw.c"3 #L140h3id6.L140ho="lxr_seinehon3m.6.L340h>f200m>/sp< "../lio/lrw.c"3 #L141h3id6.L141ho="lxr_seinehon3m.6.L341h>f201io/s "../liin06er_tfm"s="lxr_s_wref">divitruct "../lihref">oipre oin06ince=bsize"s="lxr_shref">oipre oin06incef">inc class= ing">"/lr" CC */n>wio/s, n "../li+lher_alg"s="lxr_siphw._temio/s)ap< "../lio/lrw.c"3 #L132h3id6.L142ho="lxr_seinehon3m.6.L342h>f185io/s cio/s( "../liIS_ERRode=fn" ="lxr_sIS_ERRf">incio/s( "../li+n06er_tfm"s="lxr_s_wref">desio/s))p< "../lio/lrw.c"3 #L143h3id6.L143ho="lxr_seinehon3m.6.L343h>f173io/s goto n "../liout_putcipher_alg"s="lxr_sout_putciphf">esio/s)ap< "../lio/lrw.c"3 #L144h3id6.L144ho="lxr_seinehon3m.6.L344h>f194m>/sp< "../lio/lrw.c"3 #L145h3id6.L145ho="lxr_seinehon3m.6.L345h>f165io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->a_flagaref">tiio/s, "../liCRYPTO_ALG_TYPEf">KCIPHERode=fn" ="lxr_sCRYPTO_ALG_TYPEf">KCIPHER>ohisio/s)ap< "../lio/lrw.c"3 #L216h3id6.L146ho="lxr_seinehon3m.6.L346h>f116io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->a_priorityref">tiio/s, "../li+lher_alg"s="lxr_siphw._teqio/s->acpriorityx_blks"s="lxr_s">a_priorityref"sio/s)ap< "../lio/lrw.c"3 #L137h3id6.L147ho="lxr_seinehon3m.6.L347h>f107io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->i>tiio/s, "../li+lher_alg"s="lxr_siphw._teqio/s->achre "ode=bsize"s="lxr_shrachre "odef">isio/s)ap< "../lio/lrw.c"3 #L218h3id6.L148ho="lxr_seinehon3m.6.L348h>f168io/sp< "../lio/lrw.c"3 #L139h3id6.L149ho="lxr_seinehon3m.6.L349h>f185io/s cio/s( "../li+lher_alg"s="lxr_siphw._teqio/s->acalignmasde=walk"s="lxr_s">acalignmasdh>f18xio/s7) "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->acalignmasdh>f18= 7sio/s)ap< "../lio/lrw.c"3 #L150h3id6.L150ho="lxr_seinehon3m.6.L350h>f150io/s else "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->acalignmasdh>f18= cio/s( "../li+lher_alg"s="lxr_siphw._teqio/s->acalignmasde=walk"s="lxr_s">acalignmasdh>f1sio/s)ap< "../lio/lrw.c"3 #L141h3id6.L151ho="lxr_seinehon3m.6.L351h>f201io/s "../liin06er_tfm"s="lxr_s_wref">dtxio/s->i>tirio/s(&an "../lihref">ohref">blkctype=bsize"s="lxr_shref">ohref">blkctypeh>f1sio/s)ap< "../lio/lrw.c"3 #L132h3id6.L152ho="lxr_seinehon3m.6.L352h>f152m>/sp< "../lio/lrw.c"3 #L153h3id6.L153ho="lxr_seinehon3m.6.L353h>f223io/s if (!( "../li+lher_alg"s="lxr_siphw._teqio/s->achre "ode=bsize"s="lxr_shrachre "odef">i % 4esio/s))p< "../lio/lrw.c"3 #L154h3id6.L154ho="lxr_seinehon3m.6.L354h>f214io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->acalignmasdh>f18|= 3sio/s)ap< "../lio/lrw.c"3 #L145h3id6.L155ho="lxr_seinehon3m.6.L355h>f165io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->blk=bsize"s="lxr_shrachrk/lrw._f">irtio/s.n "../li+c"ode=bsize"s="lxr_s+c"odef">i>tiio/s, "../li+lher_alg"s="lxr_siphw._teqio/s->achre "ode=bsize"s="lxr_shrachre "odef">isio/s)ap< "../lio/lrw.c"3 #L146h3id6.L156ho="lxr_seinehon3m.6.L356h>f116io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->blk=bsize"s="lxr_shrachrk/lrw._f">irtio/s.n "../limin_key"ode=bsize"s="lxr_smin_key"odef">i>tio/s)ap< "../lio/lrw.c"3 #L137h3id6.L157ho="lxr_seinehon3m.6.L357h>f127io/s "../li+lher_alg"s="lxr_siphw._teqio/s->acf">blk=bsize"s="lxr_shrac/lrw._f">irtio/s.n "../lihrefmin_key"ode=bsize"s="lxr_shrefmin_key"odeh>f12xio/s +e "../li+lher_alg"s="lxr_siphw._teqio/s->achre "ode=bsize"s="lxr_shrachre "odef">isio/s)ap< "../lio/lrw.c"3 #L218h3id6.L158ho="lxr_seinehon3m.6.L358h>f158io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->blk=bsize"s="lxr_shrachrk/lrw._f">irtio/s.n "../limax_key"ode=bsize"s="lxr_smax_key"odef">i>tio/s)ap< "../lio/lrw.c"3 #L139h3id6.L159ho="lxr_seinehon3m.6.L359h>f=89io/s "../li+lher_alg"s="lxr_siphw._teqio/s->acf">blk=bsize"s="lxr_shrac/lrw._f">irtio/s.n "../lihrefmax_key"ode=bsize"s="lxr_shrefmax_key"odeh>f12xio/s +e "../li+lher_alg"s="lxr_siphw._teqio/s->achre "ode=bsize"s="lxr_shrachre "odef">isio/s)ap< "../lio/lrw.c"3 #L160h3id6.L160ho="lxr_seinehon3m.6.L360h>f200m>/sp< "../lio/lrw.c"3 #L161h3id6.L161ho="lxr_seinehon3m.6.L361h>f201io/s "../liin06er_tfm"s="lxr_s_wref">dtxio/s->i>ti"odeofrio/s)(struct "../li+code=priv"s="lxr_shref">premio/s)ap< "../lio/lrw.c"3 #L162h3id6.L162ho="lxr_seinehon3m.6.L362h>f152m>/sp< "../lio/lrw.c"3 #L153h3id6.L163ho="lxr_seinehon3m.6.L363h>f223io/s cio/s( "../liin06er_tfm"s="lxr_s_wref">dtxio/s->i>tiio/s, "../li_walcipher_tfm"s="lxr_s_walciphk_vimio/s)ap< "../lio/lrw.c"3 #L154h3id6.L164ho="lxr_seinehon3m.6.L364h>f124io/s "../liin06er_tfm"s="lxr_s_wref">dtxio/s->i>tiio/s, "../li+xalcipher_tfm"s="lxr_s+xalciphk_vimio/s)ap< "../lio/lrw.c"3 #L145h3id6.L165ho="lxr_seinehon3m.6.L365h>f205m>/sp< "../lio/lrw.c"3 #L146h3id6.L166ho="lxr_seinehon3m.6.L366h>f116io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->blk=bsize"s="lxr_shrachrk/lrw._f">irtio/s.n "../lisetkey=bsize"s="lxr_ssetkeyf">i>tiio/s, "../lisetkey=bsize"s="lxr_ssetkeyf">imio/s)ap< "../lio/lrw.c"3 #L137h3id6.L167ho="lxr_seinehon3m.6.L367h>f107io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->blk=bsize"s="lxr_shrachrk/lrw._f">irtio/s.n "../lie=oia_eno/lrw"s="lxr_s">oia_eno/l>tiio/s, "../li+=oia_eno/lrw"s="lxr_s">oia_eno/lmio/s)ap< "../lio/lrw.c"3 #L218h3id6.L168ho="lxr_seinehon3m.6.L368h>f158io/s "../li+n06er_tfm"s="lxr_s_wref">dtxio/s->blk=bsize"s="lxr_shrachrk/lrw._f">irtio/s.n "../li+code=deo/lrw"s="lxr_shref">deo/l>tiio/s, "../li+code=deo/lrw"s="lxr_shref">deo/lmio/s)ap< "../lio/lrw.c"3 #L139h3id6.L169ho="lxr_seinehon3m.6.L369h>f179m>/sp< "../lio/lrw.c"3 #L170h3id6.L170ho="lxr_seinehon3m.6.L370h>f1 goto n "../liout_putcipher_alg"s="lxr_sout_putciphf">estio/s:p< "../lio/lrw.c"3 #L171h3id6.L171ho="lxr_seinehon3m.6.L371h>f201io/s "../lihref">omod_put=bsize"s="lxr_shref">omod_putf">incio/s( "../lialher_alg"s="lxr_siphw._temio/s)ap< "../lio/lrw.c"3 #L172h3id6.L172ho="lxr_seinehon3m.6.L372h>f182io/s n io_se "../liin06er_tfm"s="lxr_s_wref">dmio/s)ap< "../lio/lrw.c"3 #L173h3id6.L173ho="lxr_seinehon3m.6.L373h>f193io/s}p< "../lio/lrw.c"3 #L164h3id6.L174ho="lxr_seinehon3m.6.L374h>f194m>/sp< "../lio/lrw.c"3 #L165h3id6.L175ho="lxr_seinehon3m.6.L375h>f206io/ss io_se "../lifreeer_tfm"s="lxr_sfreef">in struct "../lihref">oin06ince=bsize"s="lxr_shref">oin06incew._tfm(&an "../liin06er_tfm"s="lxr_s_wref">dsio/s))p< "../lio/lrw.c"3 #L176h3id6.L176ho="lxr_seinehon3m.6.L376h>f197m>/s{p< "../lio/lrw.c"3 #L177h3id6.L177ho="lxr_seinehon3m.6.L377h>f107io/s "../lihref">odropospawcode=fn" ="lxr_s">"> >odropospawcf">incio/s( "../li+code=oin06incecipher_ctx"s="lxr_shref">oin06inceciphf">incio/s( "../li+n06er_tfm"s="lxr_s_wref">deemio/s)ap< "../lio/lrw.c"3 #L218h3id6.L178ho="lxr_seinehon3m.6.L378h>f158io/s "../likfreeer_tfm"s="lxr_skfreef">incio/s( "../li+n06er_tfm"s="lxr_s_wref">demio/s)ap< "../lio/lrw.c"3 #L139h3id6.L179ho="lxr_seinehon3m.6.L379h>f=93io/s}p< "../lio/lrw.c"3 #L180h3id6.L180ho="lxr_seinehon3m.6.L380h>f200m>/sp< "../lio/lrw.c"3 #L171h3id6.L181ho="lxr_seinehon3m.6.L381h>f106io/ss struct "../lihref">otemphcaler_ctx"s="lxr_shref">otemphcalh>f15truct "../lihref">otmpher_ctx"s="lxr_shref">otmpheo/l>ti97m>/s{p< "../lio/lrw.c"3 #L182h3id6.L182ho="lxr_seinehon3m.6.L382h>f182io/s rtio/s.n "../li+ineer_ctx"s="lxr_s+ineeo/l>tii class= ing">"/lr" CC */n>7m>/s{p< "../lio/lrw.c"3 #L173h3id6.L183ho="lxr_seinehon3m.6.L383h>f173io/s rtio/s.n "../li+lre e=addr"s="lxr_shlre k_vi>tiio/s, "../li+lre e=addr"s="lxr_shlre k_vi>7m>/s{p< "../lio/lrw.c"3 #L164h3id6.L184ho="lxr_seinehon3m.6.L384h>f184io/s rtio/s.n "../lifreeer_tfm"s="lxr_sfreef">i>tiio/s, "../lifreeer_tfm"s="lxr_sfreef">i>7m>/s{p< "../lio/lrw.c"3 #L165h3id6.L185ho="lxr_seinehon3m.6.L385h>f185io/s rtio/s.n "../limodude=table"s="lxr_smodudef">i>tiio/s, "../liTHIS_MODULCK_SIZEho="lxr_sTHIS_MODULCf">i>7m>/s{p< "../lio/lrw.c"3 #L176h3id6.L186ho="lxr_seinehon3m.6.L386h>f2}mio/s)ap< "../lio/lrw.c"3 #L187h3id6.L187ho="lxr_seinehon3m.6.L387h>f187m>/sp< "../lio/lrw.c"3 #L168h3id6.L188ho="lxr_seinehon3m.6.L388h>f206io/ss int "../li_c_walk_initho="lxr_s_c_walf">i> "../lihref">omodudec_walk_initho="lxr_scref">omodudec_walf">in sio/s))p< "../lio/lrw.c"3 #L169h3id6.L189ho="lxr_seinehon3m.6.L389h>f2 (;;) {p< "../lio/lrw.c"3 #L190h3id6.L190ho="lxr_seinehon3m.6.L390h>f190io/s n io_se "../licref">oregistlkctemphcaler_ctx"s="lxr_shref">oregistlkctemphcalf">inrio/s(&an "../lihref">otmpher_ctx"s="lxr_shref">otmpheo/lemio/s)ap< "../lio/lrw.c"3 #L191h3id6.L191ho="lxr_seinehon3m.6.L391h>f193io/s}p< "../lio/lrw.c"3 #L192h3id6.L192ho="lxr_seinehon3m.6.L392h>f152m>/sp< "../lio/lrw.c"3 #L193h3id6.L193ho="lxr_seinehon3m.6.L393h>f106io/ss io_se "../li_c+xalk_initho="lxr_s_c+xalf">i> "../lihref">omodudec+xalk_initho="lxr_scref">omodudec+xalf">in sio/s))p< "../lio/lrw.c"3 #L194h3id6.L194ho="lxr_seinehon3m.6.L394h>f1 (;;) {p< "../lio/lrw.c"3 #L165h3id6.L195ho="lxr_seinehon3m.6.L395h>f165io/s "../licref">ounregistlkctemphcaler_ctx"s="lxr_shref">ounregistlkctemphcalf">inrio/s(&an "../lihref">otmpher_ctx"s="lxr_shref">otmpheo/lemio/s)ap< "../lio/lrw.c"3 #L176h3id6.L196ho="lxr_seinehon3m.6.L396h>f293io/s}p< "../lio/lrw.c"3 #L187h3id6.L197ho="lxr_seinehon3m.6.L397h>f187m>/sp< "../lio/lrw.c"3 #L198h3id6.L198ho="lxr_seinehon3m.6.L398h>f1tio/s.n "../limodudec_walk_initho="lxr_smodudec_walf">in "../lihref">omodudec_walk_initho="lxr_scref">omodudec_walf">iemio/s)ap< "../lio/lrw.c"3 #L169h3id6.L199ho="lxr_seinehon3m.6.L399h>f1tio/s.n "../limodudec+xalk_initho="lxr_smodudec+xalf">in "../lihref">omodudec+xalk_initho="lxr_scref">omodudec+xalf">iemio/s)ap< "../lio/lrw.c"4 #L200h4id6.L200ho="lxr_seinehon4m.6.L400h>f200m>/sp< "../lio/lrw.c"4 #L201h4id6.L201ho="lxr_seinehon4m.6.L401h>f1 goto n "../liMODULC_LICENSCK_SIZEho="lxr_sMODULC_LICENSCf">in class= ing">"GPL" CC */nemio/s)ap< "../lio/lrw.c"4 2 #L201h4id6.L192ho="lxr_seinehon4m.6.L402h>f2 goto n "../liMODULC_DESCRIPTIONcode=iho="lxr_sMODULC_DESCRIPTIONf">in class= ing">"LRW hre /lrw._ mode" CC */nemio/s)ap< "../lio/lrw.c"4 3 #L201h4id6.L193ho="lxr_seinehon4m.6.L403h>f1
Tsingriginal LXR software bysed io/s)ap< http://sourceforge.net/projects/lxk">LXR "lxrunityref",sedis experir_scal versificbyso/s)ap< mailto:lxk@"lxux.no">lxk@"lxux.nof">ir
lxk."lxux.no kindly hostldcbyso/s)ap< http://www.redpill-"lxpro.no">Redpill Llxpro ASref",sprovid._ of Llxux "lnsulty2, and operecifis services since 1995.