From: "Loc Ho" Subject: [PATCH 2/3] [CRYPTO] cryptd: Add Async Hash Support Date: Tue, 13 May 2008 13:29:08 -0700 Message-ID: <0CA0A16855646F4FA96D25A158E299D60472077C@SDCEXCHANGE01.ad.amcc.com> References: <20080118230721.GA30470@Chamillionaire.breakpoint.cc> <002301c85c96$32a67a40$5c05420a@amcc.com> <20080122231818.GB6920@Chamillionaire.breakpoint.cc> <002d01c85d66$11e1d7c0$5c05420a@amcc.com> <004601c85ecd$1eb53d80$5c05420a@amcc.com> <004a01c85efc$56f2ee70$5c05420a@amcc.com> <20080313114230.GC8393@gondor.apana.org.au> <0CA0A16855646F4FA96D25A158E299D6044D6442@SDCEXCHANGE01.ad.amcc.com> <20080422111635.GA19543@gondor.apana.org.au> <0CA0A16855646F4FA96D25A158E299D6045B3153@SDCEXCHANGE01.ad.amcc.com> <20080507130047.GA26872@gondor.apana.org.au> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C8B538.0C854BBE" Cc: To: "Herbert Xu" Return-path: Received: from sdcmail02-ext1.amcc.com ([198.137.200.73]:56369 "EHLO sdcmail02.amcc.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757969AbYEMU3e (ORCPT ); Tue, 13 May 2008 16:29:34 -0400 Content-class: urn:content-classes:message Sender: linux-crypto-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. ------_=_NextPart_001_01C8B538.0C854BBE Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, Patch 2/3 attached. I still can't get the line wrap problem solved. Therefore it is attached instead inline. -Loc=20 ------_=_NextPart_001_01C8B538.0C854BBE Content-Type: application/octet-stream; name="0002-CRYPTO-cryptd-Add-asynchronous-hash-support.patch" Content-Transfer-Encoding: base64 Content-Description: 0002-CRYPTO-cryptd-Add-asynchronous-hash-support.patch Content-Disposition: attachment; filename="0002-CRYPTO-cryptd-Add-asynchronous-hash-support.patch" RnJvbSBmZjY1OTE1NDU5MjE0OGY4ZDAwMGM5ZjM2ZTk3OTEzYTQzY2YxYzE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMb2MgSG8gPGxob0BhbWNjLmNvbT4KRGF0ZTogVHVlLCAxMyBN YXkgMjAwOCAxMzowNTo0NSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFtDUllQVE9dIGNyeXB0ZDog QWRkIGFzeW5jaHJvbm91cyBoYXNoIHN1cHBvcnQKClRoaXMgcGF0Y2ggYWRkcyBhc3luY2hyb25v dXMgaGFzaCBzdXBwb3J0IHRvIGNyeXB0byBkYWVtb24uCgpTaWduZWQtb2ZmLWJ5OiBMb2MgSG8g PGxob0BhbWNjLmNvbT4KLS0tCiBjcnlwdG8vY3J5cHRkLmMgfCAgMjQzICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZXMgY2hhbmdl ZCwgMjQzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY3J5cHRv L2NyeXB0ZC5jIGIvY3J5cHRvL2NyeXB0ZC5jCmluZGV4IGYzOGUxNDcuLmQzZWNkN2UgMTAwNjQ0 Ci0tLSBhL2NyeXB0by9jcnlwdGQuYworKysgYi9jcnlwdG8vY3J5cHRkLmMKQEAgLTQ1LDYgKzQ1 LDEzIEBAIHN0cnVjdCBjcnlwdGRfYmxrY2lwaGVyX3JlcXVlc3RfY3R4IHsKIAljcnlwdG9fY29t cGxldGlvbl90IGNvbXBsZXRlOwogfTsKIAorc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCB7CisJc3Ry dWN0IGNyeXB0b19oYXNoICpjaGlsZDsKK307CisKK3N0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0 X2N0eCB7CisJY3J5cHRvX2NvbXBsZXRpb25fdCBjb21wbGV0ZTsKK307CiAKIHN0YXRpYyBpbmxp bmUgc3RydWN0IGNyeXB0ZF9zdGF0ZSAqY3J5cHRkX2dldF9zdGF0ZShzdHJ1Y3QgY3J5cHRvX3Rm bSAqdGZtKQogewpAQCAtMjYwLDYgKzI2NywyNDAgQEAgb3V0X3B1dF9hbGc6CiAJcmV0dXJuIGlu c3Q7CiB9CiAKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfaW5pdF90Zm0oc3RydWN0IGNyeXB0b190 Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICppbnN0ID0gY3J5cHRvX3RmbV9h bGdfaW5zdGFuY2UodGZtKTsKKwlzdHJ1Y3QgY3J5cHRkX2luc3RhbmNlX2N0eCAqaWN0eCA9IGNy eXB0b19pbnN0YW5jZV9jdHgoaW5zdCk7CisJc3RydWN0IGNyeXB0b19zcGF3biAqc3Bhd24gPSAm aWN0eC0+c3Bhd247CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9j dHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKmNpcGhlcjsKKworCWNpcGhlciA9IGNyeXB0 b19zcGF3bl9oYXNoKHNwYXduKTsKKwlpZiAoSVNfRVJSKGNpcGhlcikpCisJCXJldHVybiBQVFJf RVJSKGNpcGhlcik7CisKKwljdHgtPmNoaWxkID0gY2lwaGVyOworCXRmbS0+Y3J0X2FoYXNoLnJl cXNpemUgPQorCQlzaXplb2Yoc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4KTsKKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfZXhpdF90Zm0oc3RydWN0IGNyeXB0 b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggPSBjcnlwdG9fdGZt X2N0eCh0Zm0pOworCXN0cnVjdCBjcnlwdGRfc3RhdGUgKnN0YXRlID0gY3J5cHRkX2dldF9zdGF0 ZSh0Zm0pOworCWludCBhY3RpdmU7CisKKwltdXRleF9sb2NrKCZzdGF0ZS0+bXV0ZXgpOworCWFj dGl2ZSA9IGFoYXNoX3RmbV9pbl9xdWV1ZSgmc3RhdGUtPnF1ZXVlLAorCQkJCV9fY3J5cHRvX2Fo YXNoX2Nhc3QodGZtKSk7CisJbXV0ZXhfdW5sb2NrKCZzdGF0ZS0+bXV0ZXgpOworCisJQlVHX09O KGFjdGl2ZSk7CisKKwljcnlwdG9fZnJlZV9oYXNoKGN0eC0+Y2hpbGQpOworfQorCitzdGF0aWMg aW50IGNyeXB0ZF9oYXNoX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICpwYXJlbnQsCisJCQkJ ICAgY29uc3QgdTggKmtleSwgdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgY3J5cHRk X2hhc2hfY3R4ICpjdHggICA9IGNyeXB0b19haGFzaF9jdHgocGFyZW50KTsKKwlzdHJ1Y3QgY3J5 cHRvX2hhc2ggICAgICpjaGlsZCA9IGN0eC0+Y2hpbGQ7CisJaW50IGVycjsKKworCWNyeXB0b19o YXNoX2NsZWFyX2ZsYWdzKGNoaWxkLCBDUllQVE9fVEZNX1JFUV9NQVNLKTsKKwljcnlwdG9faGFz aF9zZXRfZmxhZ3MoY2hpbGQsIGNyeXB0b19haGFzaF9nZXRfZmxhZ3MocGFyZW50KSAmCisJCQkJ CSAgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJZXJyID0gY3J5cHRvX2hhc2hfc2V0a2V5KGNoaWxk LCBrZXksIGtleWxlbik7CisJY3J5cHRvX2FoYXNoX3NldF9mbGFncyhwYXJlbnQsIGNyeXB0b19o YXNoX2dldF9mbGFncyhjaGlsZCkgJgorCQkJCQkgICAgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJ cmV0dXJuIGVycjsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF9lbnF1ZXVlKHN0cnVjdCBh aGFzaF9yZXF1ZXN0ICpyZXEsCisJCQkJY3J5cHRvX2NvbXBsZXRpb25fdCBjb21wbGV0ZSkKK3sK KwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0 eChyZXEpOworCXN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSA9IGNyeXB0b19haGFzaF9yZXF0Zm0o cmVxKTsKKwlzdHJ1Y3QgY3J5cHRkX3N0YXRlICpzdGF0ZSA9CisJCWNyeXB0ZF9nZXRfc3RhdGUo Y3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKKwlpbnQgZXJyOworCisJcmN0eC0+Y29tcGxldGUgPSBy ZXEtPmJhc2UuY29tcGxldGU7CisJcmVxLT5iYXNlLmNvbXBsZXRlID0gY29tcGxldGU7CisKKwlz cGluX2xvY2tfYmgoJnN0YXRlLT5sb2NrKTsKKwllcnIgPSBhaGFzaF9lbnF1ZXVlX3JlcXVlc3Qo JnN0YXRlLT5xdWV1ZSwgcmVxKTsKKwlzcGluX3VubG9ja19iaCgmc3RhdGUtPmxvY2spOworCisJ d2FrZV91cF9wcm9jZXNzKHN0YXRlLT50YXNrKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMg dm9pZCBjcnlwdGRfaGFzaF9pbml0KHN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxX2Fz eW5jLCBpbnQgZXJyKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRv X3RmbV9jdHgocmVxX2FzeW5jLT50Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxk ID0gY3R4LT5jaGlsZDsKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAgICAqcmVxID0gYWhhc2hfcmVx dWVzdF9jYXN0KHJlcV9hc3luYyk7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpy Y3R4OworCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKworCXJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0 eChyZXEpOworCisJaWYgKHVubGlrZWx5KGVyciA9PSAtRUlOUFJPR1JFU1MpKQorCQlnb3RvIG91 dDsKKworCWRlc2MudGZtID0gY2hpbGQ7CisJZGVzYy5mbGFncyA9IENSWVBUT19URk1fUkVRX01B WV9TTEVFUDsKKworCWVyciA9IGNyeXB0b19oYXNoX2NydChjaGlsZCktPmluaXQoJmRlc2MpOwor CisJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7CisKK291dDoKKwlsb2NhbF9i aF9kaXNhYmxlKCk7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlsb2NhbF9i aF9lbmFibGUoKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF9pbml0X2VucXVldWUoc3Ry dWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY3J5cHRkX2hhc2hfZW5xdWV1ZShy ZXEsIGNyeXB0ZF9oYXNoX2luaXQpOworfQorCitzdGF0aWMgdm9pZCBjcnlwdGRfaGFzaF91cGRh dGUoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJ c3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMt PnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0 cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5j KTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hf ZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5s aWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBj aGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0g Y3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+dXBkYXRlKCZkZXNjLAorCQkJCQkJcmVxLT5zcmMsCisJ CQkJCQlyZXEtPm5ieXRlcyk7CisKKwlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0 ZTsKKworb3V0OgorCWxvY2FsX2JoX2Rpc2FibGUoKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5i YXNlLCBlcnIpOworCWxvY2FsX2JoX2VuYWJsZSgpOworfQorCitzdGF0aWMgaW50IGNyeXB0ZF9o YXNoX3VwZGF0ZV9lbnF1ZXVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJu IGNyeXB0ZF9oYXNoX2VucXVldWUocmVxLCBjcnlwdGRfaGFzaF91cGRhdGUpOworfQorCitzdGF0 aWMgdm9pZCBjcnlwdGRfaGFzaF9maW5hbChzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJl cV9hc3luYywgaW50IGVycikKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggICA9IGNy eXB0b190Zm1fY3R4KHJlcV9hc3luYy0+dGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggICAgICpj aGlsZCA9IGN0eC0+Y2hpbGQ7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgICAgKnJlcSA9IGFoYXNo X3JlcXVlc3RfY2FzdChyZXFfYXN5bmMpOworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0 eCAqcmN0eDsKKwlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisKKwlyY3R4ID0gYWhhc2hfcmVxdWVz dF9jdHgocmVxKTsKKworCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290 byBvdXQ7CisKKwlkZXNjLnRmbSA9IGNoaWxkOworCWRlc2MuZmxhZ3MgPSBDUllQVE9fVEZNX1JF UV9NQVlfU0xFRVA7CisKKwllcnIgPSBjcnlwdG9faGFzaF9jcnQoY2hpbGQpLT5maW5hbCgmZGVz YywgcmVxLT5yZXN1bHQpOworCisJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7 CisKK291dDoKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFz ZSwgZXJyKTsKKwlsb2NhbF9iaF9lbmFibGUoKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFz aF9maW5hbF9lbnF1ZXVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGNy eXB0ZF9oYXNoX2VucXVldWUocmVxLCBjcnlwdGRfaGFzaF9maW5hbCk7Cit9CisKK3N0YXRpYyB2 b2lkIGNyeXB0ZF9oYXNoX2RpZ2VzdChzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcV9h c3luYywgaW50IGVycikKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggICA9IGNyeXB0 b190Zm1fY3R4KHJlcV9hc3luYy0+dGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggICAgICpjaGls ZCA9IGN0eC0+Y2hpbGQ7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgICAgKnJlcSA9IGFoYXNoX3Jl cXVlc3RfY2FzdChyZXFfYXN5bmMpOworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCAq cmN0eDsKKwlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisKKwlyY3R4ID0gYWhhc2hfcmVxdWVzdF9j dHgocmVxKTsKKworCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBv dXQ7CisKKwlkZXNjLnRmbSA9IGNoaWxkOworCWRlc2MuZmxhZ3MgPSBDUllQVE9fVEZNX1JFUV9N QVlfU0xFRVA7CisKKwllcnIgPSBjcnlwdG9faGFzaF9jcnQoY2hpbGQpLT5kaWdlc3QoJmRlc2Ms CisJCQkJCQlyZXEtPnNyYywKKwkJCQkJCXJlcS0+bmJ5dGVzLAorCQkJCQkJcmVxLT5yZXN1bHQp OworCisJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7CisKK291dDoKKwlsb2Nh bF9iaF9kaXNhYmxlKCk7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlsb2Nh bF9iaF9lbmFibGUoKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF9kaWdlc3RfZW5xdWV1 ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1 ZXVlKHJlcSwgY3J5cHRkX2hhc2hfZGlnZXN0KTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9f aW5zdGFuY2UgKmNyeXB0ZF9hbGxvY19oYXNoKAorCXN0cnVjdCBydGF0dHIgKip0Yiwgc3RydWN0 IGNyeXB0ZF9zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqaW5zdDsK KwlzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnOworCisJYWxnID0gY3J5cHRvX2dldF9hdHRyX2FsZyh0 YiwgQ1JZUFRPX0FMR19UWVBFX0hBU0gsCisJCQkJICBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNL KTsKKwlpZiAoSVNfRVJSKGFsZykpCisJCXJldHVybiBFUlJfUFRSKFBUUl9FUlIoYWxnKSk7CisK KwlpbnN0ID0gY3J5cHRkX2FsbG9jX2luc3RhbmNlKGFsZywgc3RhdGUpOworCWlmIChJU19FUlIo aW5zdCkpCisJCWdvdG8gb3V0X3B1dF9hbGc7CisKKwlpbnN0LT5hbGcuY3JhX2ZsYWdzID0gQ1JZ UFRPX0FMR19UWVBFX0FIQVNIIHwgQ1JZUFRPX0FMR19BU1lOQzsKKwlpbnN0LT5hbGcuY3JhX3R5 cGUgPSAmY3J5cHRvX2FoYXNoX3R5cGU7CisKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLmRpZ2VzdHNp emUgPSBhbGctPmNyYV9oYXNoLmRpZ2VzdHNpemU7CisJaW5zdC0+YWxnLmNyYV9jdHhzaXplID0g c2l6ZW9mKHN0cnVjdCBjcnlwdGRfaGFzaF9jdHgpOworCisJaW5zdC0+YWxnLmNyYV9pbml0ID0g Y3J5cHRkX2hhc2hfaW5pdF90Zm07CisJaW5zdC0+YWxnLmNyYV9leGl0ID0gY3J5cHRkX2hhc2hf ZXhpdF90Zm07CisKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLmluaXQgICA9IGNyeXB0ZF9oYXNoX2lu aXRfZW5xdWV1ZTsKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLnVwZGF0ZSA9IGNyeXB0ZF9oYXNoX3Vw ZGF0ZV9lbnF1ZXVlOworCWluc3QtPmFsZy5jcmFfYWhhc2guZmluYWwgID0gY3J5cHRkX2hhc2hf ZmluYWxfZW5xdWV1ZTsKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLnNldGtleSA9IGNyeXB0ZF9oYXNo X3NldGtleTsKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLmRpZ2VzdCA9IGNyeXB0ZF9oYXNoX2RpZ2Vz dF9lbnF1ZXVlOworCitvdXRfcHV0X2FsZzoKKwljcnlwdG9fbW9kX3B1dChhbGcpOworCXJldHVy biBpbnN0OworfQorCiBzdGF0aWMgc3RydWN0IGNyeXB0ZF9zdGF0ZSBzdGF0ZTsKIAogc3RhdGlj IHN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmNyeXB0ZF9hbGxvYyhzdHJ1Y3QgcnRhdHRyICoqdGIp CkBAIC0yNzMsNiArNTE0LDggQEAgc3RhdGljIHN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmNyeXB0 ZF9hbGxvYyhzdHJ1Y3QgcnRhdHRyICoqdGIpCiAJc3dpdGNoIChhbGd0LT50eXBlICYgYWxndC0+ bWFzayAmIENSWVBUT19BTEdfVFlQRV9NQVNLKSB7CiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQkxL Q0lQSEVSOgogCQlyZXR1cm4gY3J5cHRkX2FsbG9jX2Jsa2NpcGhlcih0YiwgJnN0YXRlKTsKKwlj YXNlIENSWVBUT19BTEdfVFlQRV9ESUdFU1Q6CisJCXJldHVybiBjcnlwdGRfYWxsb2NfaGFzaCh0 YiwgJnN0YXRlKTsKIAl9CiAKIAlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKLS0gCjEuNS4zCgo= ------_=_NextPart_001_01C8B538.0C854BBE--