From: Martin Hicks Subject: Re: [PATCH 0/2] crypto: talitos: Add AES-XTS mode Date: Mon, 2 Mar 2015 16:44:19 -0500 Message-ID: <20150302214419.GA30523@darwin.bork.org> References: <1424451610-5786-1-git-send-email-mort@bork.org> <54F464E4.8080204@freescale.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Herbert Xu , Martin Hicks , linux-crypto@vger.kernel.org, Scott Wood , linuxppc-dev@lists.ozlabs.org, Milan Broz To: Horia =?utf-8?Q?Geant=C4=83?= Return-path: Content-Disposition: inline In-Reply-To: <54F464E4.8080204@freescale.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: linux-crypto.vger.kernel.org T24gTW9uLCBNYXIgMDIsIDIwMTUgYXQgMDM6MjU6NTZQTSArMDIwMCwgSG9yaWEgR2VhbnTEgyB3 cm90ZToKPiBPbiAyLzIwLzIwMTUgNzowMCBQTSwgTWFydGluIEhpY2tzIHdyb3RlOgo+ID4gVGhp cyBhZGRzIHRoZSBBRVMtWFRTIG1vZGUsIHN1cHBvcnRlZCBieSB0aGUgRnJlZXNjYWxlIFNFQyAz LjMuMi4KPiA+IAo+ID4gT25lIG9mIHRoZSBuaWNlIHRoaW5ncyBhYm91dCB0aGlzIGhhcmR3YXJl IGlzIHRoYXQgaXQga25vd3MgaG93IHRvIGRlYWwKPiA+IHdpdGggZW5jcnlwdC9kZWNyeXB0IHJl cXVlc3RzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHNlY3RvciBzaXplLCBidXQgdGhhdCAKPiA+IGFs c28gcmVxdWlyZXMgdGhhdCB0aGF0IHRoZSBzZWN0b3Igc2l6ZSBiZSBwYXNzZWQgaW50byB0aGUg Y3J5cHRvIGVuZ2luZQo+ID4gYXMgYW4gWFRTIGNpcGhlciBjb250ZXh0IHBhcmFtZXRlci4KPiA+ IAo+ID4gV2hlbiBhIHJlcXVlc3QgaXMgbGFyZ2VyIHRoYW4gdGhlIHNlY3RvciBzaXplIHRoZSBz ZWN0b3IgbnVtYmVyIGlzCj4gPiBpbmNyZW1lbnRlZCBieSB0aGUgdGFsaXRvcyBlbmdpbmUgYW5k IHRoZSB0d2VhayBrZXkgaXMgcmUtY2FsY3VsYXRlZAo+ID4gZm9yIHRoZSBuZXcgc2VjdG9yLgo+ ID4gCj4gPiBJJ3ZlIHRlc3RlZCB0aGlzIHdpdGggMjU2Yml0IGFuZCA1MTJiaXQga2V5cyAodHdl YWsgYW5kIGRhdGEga2V5cyBvZiAxMjhiaXQKPiA+IGFuZCAyNTZiaXQpIHRvIGVuc3VyZSBpbnRl cm9wZXJhYmlsaXR5IHdpdGggdGhlIHNvZnR3YXJlIEFFUy1YVFMKPiA+IGltcGxlbWVudGF0aW9u LiAgQWxsIHRlc3Rpbmcgd2FzIGRvbmUgdXNpbmcgZG0tY3J5cHQvTFVLUyB3aXRoCj4gPiBhZXMt eHRzLXBsYWluNjQuCj4gPiAKPiA+IElzIHRoZXJlIGEgYmV0dGVyIHNvbHV0aW9uIHRoYXQganVz dCBoYXJkIGNvZGluZyB0aGUgc2VjdG9yIHNpemUgdG8KPiA+ICgxPDxTRUNUT1JfU0hJRlQpPyAg TWF5YmUgZG0tY3J5cHQgc2hvdWxkIGJlIG1vZGlmaWVkIHRvIHBhc3MgdGhlCj4gPiBzZWN0b3Ig c2l6ZSBhbG9uZyB3aXRoIHRoZSBwbGFpbi9wbGFpbjY0IElWIHRvIGFuIFhUUyBhbGdvcml0aG0/ Cj4gCj4gQUZBSUNULCBTVyBpbXBsZW1lbnRhdGlvbiBvZiB4dHMgbW9kZSBpbiBrZXJuZWwgKGNy eXB0by94dHMuYykgaXMgbm90Cj4gYXdhcmUgb2YgYSBzZWN0b3Igc2l6ZSAoImRhdGEgdW5pdCBz aXplIiBpbiBJRUVFIFAxNjE5IHRlcm1pbm9sb2d5KToKPiBUaGVyZSdzIGEgaGlkZGVuIGFzc3Vt cHRpb24gdGhhdCBhbGwgdGhlIGRhdGEgc2VuZCB0byB4dHMgaW4gb25lIHJlcXVlc3QKPiBiZWxv bmdzIHRvIGEgc2luZ2xlIHNlY3Rvci4gRXZlbiBtb3JlLCBpdCdzIHN1cHBvc2VkIHRoYXQgdGhl IGZpcnN0Cj4gMTYtYnl0ZSBibG9jayBpbiB0aGUgcmVxdWVzdCBpcyAiYmxvY2sgMCIgaW4gdGhl IHNlY3Rvci4gVGhlc2UgY2FuIGJlCj4gc2VlbiBmcm9tIHRoZSB3YXkgdGhlIHR3ZWFrICgiVCIp IHZhbHVlIGlzIGNvbXB1dGVkLgo+IChTaWRlIG5vdGU6IHRoZXJlJ3Mgbm8gc3VwcG9ydCBvZiBj aXBoZXJ0ZXh0IHN0ZWFsaW5nIGluIGNyeXB0by94dHMuYyAtCj4gaS5lLiBzZWN0b3Igc2l6ZXMg bXVzdCBiZSBhIG11bHRpcGxlIG9mIHVuZGVybHlpbmcgYmxvY2sgY2lwaGVyIHNpemUgLQo+IHRo YXQgaXMgMTZCLikKPiAKPiBJZiBkbS1jcnlwdCB3b3VsZCBiZSBtb2RpZmllZCB0byBwYXNzIHNl Y3RvciBzaXplIHNvbWVob3csIGFsbCBpbi1rZXJuZWwKPiB4dHMgaW1wbGVtZW50YXRpb25zIHdv dWxkIGhhdmUgdG8gYmUgbWFkZSBhd2FyZSBvZiB0aGUgY2hhbmdlLgo+IEkgaGF2ZSBub3RoaW5n IGFnYWluc3QgdGhpcywgYnV0IGxldCdzIHNlZSB3aGF0IGNyeXB0byBtYWludGFpbmVycyBoYXZl Cj4gdG8gc2F5Li4uCgpSaWdodC4gIEFkZGl0aW9uYWxseSwgdGhlcmUgbWF5IGJlIHNvbWUgcmVx dWlyZW1lbnQgZm9yIHRoZSBlbmNyeXB0aW9uCmltcGxlbWVudGF0aW9uIHRvIGJyb2FkY2FzdCB0 aGUgbWF4aW11bSBzaXplIHRoYXQgY2FuIGJlIGhhbmRsZWQgaW4gYSBzaW5nbGUKcmVxdWVzdC4g IEZvciBleGFtcGxlIFRhbGl0b3MgY291bGQgaGFuZGxlIFhUUyBlbmNyeXB0L2RlY3J5cHQgcmVx dWVzdHMgb2YKdXAgdG8gNjRrQiAocmVnYXJkbGVzcyBvZiB0aGUgYmxvY2sgZGV2aWNlJ3Mgc2Vj dG9yIHNpemUpLgoKPiBCVFcsIHRoZXJlIHdlcmUgc29tZSBkaXNjdXNzaW9ucyBiYWNrIGluIDIw MTMgd3J0LiBiZWluZyBhYmxlIHRvCj4gY29uZmlndXJlIC8gaW5jcmVhc2Ugc2VjdG9yIHNpemUs IHNtdGguIGNyeXB0byBlbmdpbmVzIHdvdWxkIGJlbmVmaXQgZnJvbToKPiBodHRwOi8vd3d3LnNh b3V0LmRlL3BpcGVybWFpbC9kbS1jcnlwdC8yMDEzLUphbnVhcnkvMDAzMTI1Lmh0bWwKPiAoZXhw ZXJpbWVudGFsIHBhdGNoKQo+IGh0dHA6Ly93d3cuc2FvdXQuZGUvcGlwZXJtYWlsL2RtLWNyeXB0 LzIwMTMtTWFyY2gvMDAzMjAyLmh0bWwKPiAKPiBUaGUgZXhwZXJpbWVudGFsIHBhdGNoIHNlbmRz IHNlY3RvciBzaXplIGFzIHRoZSByZXEtPm5ieXRlcyAtIGhpZGRlbgo+IGFzc3VtcHRpb246IGRh dGEgc2l6ZSBzZW50IGluIGFuIHh0cyBjcnlwdG8gcmVxdWVzdCBlcXVhbHMgYSBzZWN0b3IuCgpJ IGZvdW5kIHRoaXMgbGFzdCB3ZWVrLCBhbmQgdXNlZCBpdCBhcyBhIHN0YXJ0aW5nIHBvaW50IGZv ciBzb21lIHRlc3RpbmcuICBJCm1vZGlmaWVkIGl0IHRvIGtlZXAgdGhlIHVuZGVybHlpbmcgc2Vj dG9yIHNpemUgb2YgdGhlIGRtLWNyeXB0IG1hcHBpbmcgYXMKNTEyYnl0ZSwgYnV0IGFsbG93ZWQg dGhlIGNvZGUgdG8gY29tYmluZSByZXF1ZXN0cyBpbiBJT3MgdXAgdG8gNGtCLiAgRG9pbmcKZ3Jl YXRlciByZXF1ZXN0IHNpemVzIHdvdWxkIHJlcXVpcmUgYWxsb2NhdGluZyBhZGRpdGlvbmFsIHBh Z2VzLi4uSSBwbGFuIHRvCmltcGxlbWVudCB0aGF0IHRvIHNlZSBob3cgbXVjaCBleHRyYSBwZXJm b3JtYW5jZSBjYW4gYmUgc3F1ZWV6ZWQgb3V0LgoKcGF0Y2ggYmVsb3cuLi4KCldpdGggcmVnYXJk cyB0byBwZXJmb3JtYW5jZSwgd2l0aCBteSBsb3ctcG93ZXJlZCBGcmVlc2NhbGUgUDEwMjIgYm9h cmQsIEkgc2VlCnBlcmZvcm1hbmNlIG51bWJlcnMgbGlrZSB0aGlzIG9uIGV4dDQsIGFzIG1lYXN1 cmVkIGJ5IGJvbm5pZSsrLgoKCQkJV3JpdGUgKE1CL3MpCVJlYWQgKE1CL3MpClVuZW5jcnlwdGVk CQkxNDAJCTE3NgphZXMteHRzLXBsYWluNjQgNTEyYgkxMTMJCTExNQphZXMteHRzLXBsYWluNjQg NGtCCTcxCQk1NgoKVGhlIG1vcmUgZGV0YWlsZWQgYm9ubmllKysgb3V0cHV0IGlzIGhlcmU6Cmh0 dHA6Ly93d3cuYm9yay5vcmcvfm1vcnQvZG0tY3J5cHQtZW5jLWJsa3NpemUuaHRtbAoKVGhlIGxh cmdlciBJTyBzaXplcyBpcyBhIGh1Z2Ugd2luIGZvciB0aGlzIGJvYXJkLgoKVGhlIHBhdGNoIEkn bSB1c2luZyB0byBzZW5kIElPcyB1cCB0byA0a0IgdG8gdGFsaXRvcyBmb2xsb3dzLgoKVGhhbmtz LAptaAoKCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL2RtLWNyeXB0LmMgYi9kcml2ZXJzL21kL2Rt LWNyeXB0LmMKaW5kZXggMDg5ODFiZS4uODhlOTViNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9k bS1jcnlwdC5jCisrKyBiL2RyaXZlcnMvbWQvZG0tY3J5cHQuYwpAQCAtNDIsNiArNDIsNyBAQCBz dHJ1Y3QgY29udmVydF9jb250ZXh0IHsKIAlzdHJ1Y3QgYnZlY19pdGVyIGl0ZXJfb3V0OwogCXNl Y3Rvcl90IGNjX3NlY3RvcjsKIAlhdG9taWNfdCBjY19wZW5kaW5nOworCXVuc2lnbmVkIGludCBi bG9ja19zaXplOwogCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcTsKIH07CiAKQEAgLTE0 Miw2ICsxNDMsOCBAQCBzdHJ1Y3QgY3J5cHRfY29uZmlnIHsKIAlzZWN0b3JfdCBpdl9vZmZzZXQ7 CiAJdW5zaWduZWQgaW50IGl2X3NpemU7CiAKKwl1bnNpZ25lZCBpbnQgYmxvY2tfc2l6ZTsKKwog CS8qIEVTU0lWOiBzdHJ1Y3QgY3J5cHRvX2NpcGhlciAqZXNzaXZfdGZtICovCiAJdm9pZCAqaXZf cHJpdmF0ZTsKIAlzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKip0Zm1zOwpAQCAtODAxLDEwICs4 MDQsMTcgQEAgc3RhdGljIHZvaWQgY3J5cHRfY29udmVydF9pbml0KHN0cnVjdCBjcnlwdF9jb25m aWcgKmNjLAogewogCWN0eC0+YmlvX2luID0gYmlvX2luOwogCWN0eC0+YmlvX291dCA9IGJpb19v dXQ7Ci0JaWYgKGJpb19pbikKKwljdHgtPmJsb2NrX3NpemUgPSAwOworCWlmIChiaW9faW4pIHsK IAkJY3R4LT5pdGVyX2luID0gYmlvX2luLT5iaV9pdGVyOwotCWlmIChiaW9fb3V0KQorCQljdHgt PmJsb2NrX3NpemUgPSBtYXgoY3R4LT5ibG9ja19zaXplLCBiaW9fY3VyX2J5dGVzKGJpb19pbikp OworCX0KKwlpZiAoYmlvX291dCkgewogCQljdHgtPml0ZXJfb3V0ID0gYmlvX291dC0+YmlfaXRl cjsKKwkJY3R4LT5ibG9ja19zaXplID0gbWF4KGN0eC0+YmxvY2tfc2l6ZSwgYmlvX2N1cl9ieXRl cyhiaW9fb3V0KSk7CisJfQorCWlmIChjdHgtPmJsb2NrX3NpemUgPiBjYy0+YmxvY2tfc2l6ZSkK KwkJY3R4LT5ibG9ja19zaXplID0gY2MtPmJsb2NrX3NpemU7CiAJY3R4LT5jY19zZWN0b3IgPSBz ZWN0b3IgKyBjYy0+aXZfb2Zmc2V0OwogCWluaXRfY29tcGxldGlvbigmY3R4LT5yZXN0YXJ0KTsK IH0KQEAgLTg0NCwxNSArODU0LDE1IEBAIHN0YXRpYyBpbnQgY3J5cHRfY29udmVydF9ibG9jayhz dHJ1Y3QgY3J5cHRfY29uZmlnICpjYywKIAlkbXJlcS0+aXZfc2VjdG9yID0gY3R4LT5jY19zZWN0 b3I7CiAJZG1yZXEtPmN0eCA9IGN0eDsKIAlzZ19pbml0X3RhYmxlKCZkbXJlcS0+c2dfaW4sIDEp OwotCXNnX3NldF9wYWdlKCZkbXJlcS0+c2dfaW4sIGJ2X2luLmJ2X3BhZ2UsIDEgPDwgU0VDVE9S X1NISUZULAorCXNnX3NldF9wYWdlKCZkbXJlcS0+c2dfaW4sIGJ2X2luLmJ2X3BhZ2UsIGN0eC0+ YmxvY2tfc2l6ZSwKIAkJICAgIGJ2X2luLmJ2X29mZnNldCk7CiAKIAlzZ19pbml0X3RhYmxlKCZk bXJlcS0+c2dfb3V0LCAxKTsKLQlzZ19zZXRfcGFnZSgmZG1yZXEtPnNnX291dCwgYnZfb3V0LmJ2 X3BhZ2UsIDEgPDwgU0VDVE9SX1NISUZULAorCXNnX3NldF9wYWdlKCZkbXJlcS0+c2dfb3V0LCBi dl9vdXQuYnZfcGFnZSwgY3R4LT5ibG9ja19zaXplLAogCQkgICAgYnZfb3V0LmJ2X29mZnNldCk7 CiAKLQliaW9fYWR2YW5jZV9pdGVyKGN0eC0+YmlvX2luLCAmY3R4LT5pdGVyX2luLCAxIDw8IFNF Q1RPUl9TSElGVCk7Ci0JYmlvX2FkdmFuY2VfaXRlcihjdHgtPmJpb19vdXQsICZjdHgtPml0ZXJf b3V0LCAxIDw8IFNFQ1RPUl9TSElGVCk7CisJYmlvX2FkdmFuY2VfaXRlcihjdHgtPmJpb19pbiwg JmN0eC0+aXRlcl9pbiwgY3R4LT5ibG9ja19zaXplKTsKKwliaW9fYWR2YW5jZV9pdGVyKGN0eC0+ YmlvX291dCwgJmN0eC0+aXRlcl9vdXQsIGN0eC0+YmxvY2tfc2l6ZSk7CiAKIAlpZiAoY2MtPml2 X2dlbl9vcHMpIHsKIAkJciA9IGNjLT5pdl9nZW5fb3BzLT5nZW5lcmF0b3IoY2MsIGl2LCBkbXJl cSk7CkBAIC04NjEsNyArODcxLDcgQEAgc3RhdGljIGludCBjcnlwdF9jb252ZXJ0X2Jsb2NrKHN0 cnVjdCBjcnlwdF9jb25maWcgKmNjLAogCX0KIAogCWFibGtjaXBoZXJfcmVxdWVzdF9zZXRfY3J5 cHQocmVxLCAmZG1yZXEtPnNnX2luLCAmZG1yZXEtPnNnX291dCwKLQkJCQkgICAgIDEgPDwgU0VD VE9SX1NISUZULCBpdik7CisJCQkJICAgICBjdHgtPmJsb2NrX3NpemUsIGl2KTsKIAogCWlmIChi aW9fZGF0YV9kaXIoY3R4LT5iaW9faW4pID09IFdSSVRFKQogCQlyID0gY3J5cHRvX2FibGtjaXBo ZXJfZW5jcnlwdChyZXEpOwpAQCAtOTI2LDEzICs5MzYsMTMgQEAgc3RhdGljIGludCBjcnlwdF9j b252ZXJ0KHN0cnVjdCBjcnlwdF9jb25maWcgKmNjLAogCQkJLyogZmFsbCB0aHJvdWdoKi8KIAkJ Y2FzZSAtRUlOUFJPR1JFU1M6CiAJCQljdHgtPnJlcSA9IE5VTEw7Ci0JCQljdHgtPmNjX3NlY3Rv cisrOworCQkJY3R4LT5jY19zZWN0b3IgKz0gY3R4LT5ibG9ja19zaXplIC8gKDE8PFNFQ1RPUl9T SElGVCk7CiAJCQljb250aW51ZTsKIAogCQkvKiBzeW5jICovCiAJCWNhc2UgMDoKIAkJCWF0b21p Y19kZWMoJmN0eC0+Y2NfcGVuZGluZyk7Ci0JCQljdHgtPmNjX3NlY3RvcisrOworCQkJY3R4LT5j Y19zZWN0b3IgKz0gY3R4LT5ibG9ja19zaXplIC8gKDE8PFNFQ1RPUl9TSElGVCk7CiAJCQljb25k X3Jlc2NoZWQoKTsKIAkJCWNvbnRpbnVlOwogCkBAIC0xODE0LDYgKzE4MjQsOSBAQCBzdGF0aWMg aW50IGNyeXB0X2N0cihzdHJ1Y3QgZG1fdGFyZ2V0ICp0aSwgdW5zaWduZWQgaW50IGFyZ2MsIGNo YXIgKiphcmd2KQogCQlnb3RvIGJhZDsKIAl9CiAKKwkvKiBQQUdFX1NJWkU/ICovCisJY2MtPmJs b2NrX3NpemUgPSA0MDk2OworCiAJdGktPm51bV9mbHVzaF9iaW9zID0gMTsKIAl0aS0+ZGlzY2Fy ZF96ZXJvZXNfZGF0YV91bnN1cHBvcnRlZCA9IHRydWU7CiAKQEAgLTE5NzQsOSArMTk4NywxNiBA QCBzdGF0aWMgaW50IGNyeXB0X2l0ZXJhdGVfZGV2aWNlcyhzdHJ1Y3QgZG1fdGFyZ2V0ICp0aSwK IAlyZXR1cm4gZm4odGksIGNjLT5kZXYsIGNjLT5zdGFydCwgdGktPmxlbiwgZGF0YSk7CiB9CiAK K3N0YXRpYyB2b2lkIGNyeXB0X2lvX2hpbnRzKHN0cnVjdCBkbV90YXJnZXQgKnRpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHF1ZXVlX2xpbWl0cyAqbGltaXRzKQoreworCS8q IFBBR0VfU0laRT8gKi8KKwlibGtfbGltaXRzX2lvX21pbihsaW1pdHMsIDQwOTYpOworfQorCiBz dGF0aWMgc3RydWN0IHRhcmdldF90eXBlIGNyeXB0X3RhcmdldCA9IHsKIAkubmFtZSAgID0gImNy eXB0IiwKLQkudmVyc2lvbiA9IHsxLCAxMywgMH0sCisJLnZlcnNpb24gPSB7MSwgMTQsIDB9LAog CS5tb2R1bGUgPSBUSElTX01PRFVMRSwKIAkuY3RyICAgID0gY3J5cHRfY3RyLAogCS5kdHIgICAg PSBjcnlwdF9kdHIsCkBAIC0xOTg4LDYgKzIwMDgsNyBAQCBzdGF0aWMgc3RydWN0IHRhcmdldF90 eXBlIGNyeXB0X3RhcmdldCA9IHsKIAkubWVzc2FnZSA9IGNyeXB0X21lc3NhZ2UsCiAJLm1lcmdl ICA9IGNyeXB0X21lcmdlLAogCS5pdGVyYXRlX2RldmljZXMgPSBjcnlwdF9pdGVyYXRlX2Rldmlj ZXMsCisJLmlvX2hpbnRzID0gY3J5cHRfaW9faGludHMsCiB9OwogCiBzdGF0aWMgaW50IF9faW5p dCBkbV9jcnlwdF9pbml0KHZvaWQpCgotLSAKTWFydGluIEhpY2tzIFAuRW5nLiAgICB8ICAgICAg bW9ydEBib3JrLm9yZwpCb3JrIENvbnN1bHRpbmcgSW5jLiAgIHwgICsxICg2MTMpIDI2Ni0yMjk2 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4cHBj LWRldiBtYWlsaW5nIGxpc3QKTGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9s aXN0cy5vemxhYnMub3JnL2xpc3RpbmZvL2xpbnV4cHBjLWRldg==