From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mikulas Patocka Subject: Re: Desynchronizing dm-raid1 Date: Wed, 21 May 2008 22:18:43 -0400 (EDT) Message-ID: References: <20080513033822.GA9604@gondor.apana.org.au> <20080514011457.GB18728@gondor.apana.org.au> Reply-To: device-mapper development Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="168448548-1556093477-1211422723=:17520" Cc: dm-devel@redhat.com, linux-crypto@vger.kernel.org To: Herbert Xu , Alasdair G Kergon Return-path: In-Reply-To: <20080514011457.GB18728@gondor.apana.org.au> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com List-Id: linux-crypto.vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --168448548-1556093477-1211422723=:17520 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Wed, 14 May 2008, Herbert Xu wrote: > On Tue, May 13, 2008 at 04:35:03PM -0400, Mikulas Patocka wrote: >> >> And where would you propose to place this bit? >> >> One possibility would be struct crypto_tfm->crt_flags >> Another possibility is struct crypto_alg->cra_flags > > The latter definitely because this is an algorithm property. > >> Can chaining mode change the value of the flag? (I presume that yes) > > If you mean templates like CBC then it depends. You should > set it to zero by default for safety but most of them should > be able to turn it on once audited. > > If it turns out that the majority of algorithms support this, > you could even decide to only select those algorithms that do. > Suppose your bit is > > CRYPTO_ALG_FOO > > then you could do > > crypto_alloc_blkcipher(name, CRYPTO_ALG_FOO, CRYPTO_ALG_FOO) > > to demand only those algorithms that comply. > > Cheers, Hi Here I send the patches, the first one copied data in dm-crypt unconditionally. The second one adds a flag to coplying algorithms. The third one skips the copy for complying algorithms. The fourth one is removing useless increment in arc4 that I found while reviewing the ciphers. All the ciphers comply, so the bug is only a theroretical issue (but I didn't check assembler versions --- they should be checked by the person who wrote them, assembler is write-only language). Please review my changes to crypto code, I am not crypto developer and I do not understand it as well as people maintaining it. Mikulas --168448548-1556093477-1211422723=:17520 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=dm-crypt-copy-data-while-writing.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=dm-crypt-copy-data-while-writing.patch Q29weSBkYXRhIHdoZW4gd3JpdGluZyB0byB0aGUgZGV2aWNlLg0KDQpUaGlz IHBhdGNoIGZpeGVzIGRhbWFnZWQgYmxvY2tzIG9uIGVuY3J5cHRlZCBkZXZp Y2Ugd2hlbiB0aGUgY29tcHV0ZXIgY3Jhc2hlcy4NCg0KTGludXggSU8gYXJj aGl0ZWN0dXJlIGFsbG93cyB0aGUgZGF0YSB0byBiZSBtb2RpZmllZCB3aGls ZSB0aGV5IGFyZSBiZWluZw0Kd3JpdHRlbi4NCg0KV2hpbGUgd2UgYXJlIHBy b2Nlc3Npbmcgd3JpdGUgcmVxdWVzdHMsIHRoZSBkYXRhIG1heSBjaGFuZ2Us IGFuZCBpdCBpcyBleHBlY3RlZCwNCnRoYXQgZWFjaCBieXRlIHdyaXR0ZW4g dG8gdGhlIGRldmljZSBpcyBlaXRoZXIgb2xkIGJ5dGUgb3IgbmV3IGJ5dGUu DQoNClNvbWUgY3J5cHRvIGZ1bmN0aW9ucyBtYXkgcmVhZCB0aGUgaW5wdXQg YnVmZmVyIG1vcmUgdGhhbiBvbmNlIGFuZCBzbyB0aGV5J2xsDQpwcm9kdWNl IGdhcmJhZ2UgaWYgdGhlIGJ1ZmZlciBjaGFuZ2VzIHVuZGVyIHRoZW0uIFdo ZW4gdGhpcyBnYXJiYWdlIGlzDQpyZWFkIGFnYWluIGFuZCBkZWNyeXB0ZWQs IGl0IG1heSBwcm9kdWNlIGRhbWFnZSBpbiBhbGwgYnl0ZXMgaW4gdGhlIGJs b2NrLiBUaGlzDQpkYW1hZ2UgaXMgdmlzaWJsZSBvbmx5IGlmIHRoZSBjb21w dXRlciBjcmFzaGVzOyBpZiBpdCBkaWRuJ3QgY3Jhc2gsIHRoZSBtZW1vcnkN Cm1hbmFnZXIgd3JpdGVzIGNvcnJlY3QgYnVmZmVyIG9yIHBhZ2UgY29udGVu dHMgc29tZSB0aW1lcyBsYXRlci4NCg0KU28gd2UgZmlyc3QgY29weSBkYXRh IHRvIGEgdGVtcG9yYXJ5IGJ1ZmZlciB3aXRoIG1lbWNweSBhbmQgdGhlbiBl bmNyeXB0IHRoZW0NCmluIHBsYWNlLg0KDQpTaWduZWQtb2ZmLWJ5OiBNaWt1 bGFzIFBhdG9ja2EgPG1wYXRvY2thQHJlZGhhdC5jb20+DQoNCi0tLQ0KIGRy aXZlcnMvbWQvZG0tY3J5cHQuYyB8ICAgMTQgKysrKysrKysrKysrLS0NCiAx IGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkNCg0KSW5kZXg6IGxpbnV4LTIuNi4yNS4zL2RyaXZlcnMvbWQvZG0tY3J5 cHQuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4LTIuNi4y NS4zLm9yaWcvZHJpdmVycy9tZC9kbS1jcnlwdC5jCTIwMDgtMDUtMTQgMTg6 NDE6MTAuMDAwMDAwMDAwICswMjAwDQorKysgbGludXgtMi42LjI1LjMvZHJp dmVycy9tZC9kbS1jcnlwdC5jCTIwMDgtMDUtMTQgMTg6NDE6MTEuMDAwMDAw MDAwICswMjAwDQpAQCAtMzYxLDggKzM2MSwxOCBAQCBzdGF0aWMgaW50IGNy eXB0X2NvbnZlcnRfYmxvY2soc3RydWN0IGNyDQogCQkJIGNyeXB0b19hYmxr Y2lwaGVyX2FsaWdubWFzayhjYy0+dGZtKSArIDEpOw0KIA0KIAlzZ19pbml0 X3RhYmxlKCZkbXJlcS0+c2dfaW4sIDEpOw0KLQlzZ19zZXRfcGFnZSgmZG1y ZXEtPnNnX2luLCBidl9pbi0+YnZfcGFnZSwgMSA8PCBTRUNUT1JfU0hJRlQs DQotCQkgICAgYnZfaW4tPmJ2X29mZnNldCArIGN0eC0+b2Zmc2V0X2luKTsN CisJaWYgKGJpb19kYXRhX2RpcihjdHgtPmJpb19pbikgPT0gV1JJVEUpIHsN CisJCWNoYXIgKnBhZ2VfaW4gPSBrbWFwX2F0b21pYyhidl9pbi0+YnZfcGFn ZSwgS01fVVNFUjApOw0KKwkJY2hhciAqcGFnZV9vdXQgPSBrbWFwX2F0b21p Yyhidl9vdXQtPmJ2X3BhZ2UsIEtNX1VTRVIxKTsNCisJCW1lbWNweShwYWdl X291dCArIGJ2X291dC0+YnZfb2Zmc2V0ICsgY3R4LT5vZmZzZXRfb3V0LCBw YWdlX2luICsgYnZfaW4tPmJ2X29mZnNldCArIGN0eC0+b2Zmc2V0X2luLCAx IDw8IFNFQ1RPUl9TSElGVCk7DQorCQlrdW5tYXBfYXRvbWljKHBhZ2VfaW4s IEtNX1VTRVIwKTsNCisJCWt1bm1hcF9hdG9taWMocGFnZV9vdXQsIEtNX1VT RVIxKTsNCisNCisJCXNnX3NldF9wYWdlKCZkbXJlcS0+c2dfaW4sIGJ2X291 dC0+YnZfcGFnZSwgMSA8PCBTRUNUT1JfU0hJRlQsDQorCQkJICAgIGJ2X291 dC0+YnZfb2Zmc2V0ICsgY3R4LT5vZmZzZXRfb3V0KTsNCisJfSBlbHNlDQor CQlzZ19zZXRfcGFnZSgmZG1yZXEtPnNnX2luLCBidl9pbi0+YnZfcGFnZSwg MSA8PCBTRUNUT1JfU0hJRlQsDQorCQkJICAgIGJ2X2luLT5idl9vZmZzZXQg KyBjdHgtPm9mZnNldF9pbik7DQogDQogCXNnX2luaXRfdGFibGUoJmRtcmVx LT5zZ19vdXQsIDEpOw0KIAlzZ19zZXRfcGFnZSgmZG1yZXEtPnNnX291dCwg YnZfb3V0LT5idl9wYWdlLCAxIDw8IFNFQ1RPUl9TSElGVCwNCg== --168448548-1556093477-1211422723=:17520 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=crypto-add-read-once-flag.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=crypto-add-read-once-flag.patch QWRkIGEgZmxhZyB0aGF0IHRlbGxzIHRoYXQgdGhlIGFsZ29yaXRobSByZWFk cyB0aGUgZGF0YSBvbmx5IG9uY2Ugd2hlbg0KZW5jcnlwdGluZy4NCg0KSXQg d2lsbCBiZSB1c2VkIGJ5IGRtLWNyeXB0IHRvIHNraXAgYSBjb3B5IG9wZXJh dGlvbiBpZiBub3QgbmVlZGVkLg0KDQpTaWduZWQtb2ZmLWJ5OiBNaWt1bGFz IFBhdG9ja2EgPG1wYXRvY2thQHJlZGhhdC5jb20+DQoNCi0tLQ0KIGNyeXB0 by9hZXNfZ2VuZXJpYy5jICAgICB8ICAgIDIgKy0NCiBjcnlwdG8vYW51Ymlz LmMgICAgICAgICAgfCAgICAyICstDQogY3J5cHRvL2FyYzQuYyAgICAgICAg ICAgIHwgICAgMiArLQ0KIGNyeXB0by9ibGtjaXBoZXIuYyAgICAgICB8ICAg IDIgKy0NCiBjcnlwdG8vYmxvd2Zpc2guYyAgICAgICAgfCAgICAyICstDQog Y3J5cHRvL2NhbWVsbGlhLmMgICAgICAgIHwgICAgMiArLQ0KIGNyeXB0by9j YXN0NS5jICAgICAgICAgICB8ICAgIDIgKy0NCiBjcnlwdG8vY2FzdDYuYyAg ICAgICAgICAgfCAgICAyICstDQogY3J5cHRvL2NiYy5jICAgICAgICAgICAg IHwgICAgMiArLQ0KIGNyeXB0by9jcnlwdGQuYyAgICAgICAgICB8ICAgIDIg Ky0NCiBjcnlwdG8vY3J5cHRvX251bGwuYyAgICAgfCAgICAyICstDQogY3J5 cHRvL2N0ci5jICAgICAgICAgICAgIHwgICAgMiArLQ0KIGNyeXB0by9kZXNf Z2VuZXJpYy5jICAgICB8ICAgIDQgKystLQ0KIGNyeXB0by9lY2IuYyAgICAg ICAgICAgICB8ICAgIDIgKy0NCiBjcnlwdG8vZmNyeXB0LmMgICAgICAgICAg fCAgICAyICstDQogY3J5cHRvL2toYXphZC5jICAgICAgICAgIHwgICAgMiAr LQ0KIGNyeXB0by9scncuYyAgICAgICAgICAgICB8ICAgIDIgKy0NCiBjcnlw dG8vcGNiYy5jICAgICAgICAgICAgfCAgICAyICstDQogY3J5cHRvL3NhbHNh MjBfZ2VuZXJpYy5jIHwgICAgMiArLQ0KIGNyeXB0by9zZWVkLmMgICAgICAg ICAgICB8ICAgIDIgKy0NCiBjcnlwdG8vc2VycGVudC5jICAgICAgICAgfCAg ICA0ICsrLS0NCiBjcnlwdG8vdGVhLmMgICAgICAgICAgICAgfCAgICA0ICsr LS0NCiBjcnlwdG8vdHdvZmlzaC5jICAgICAgICAgfCAgICAyICstDQogY3J5 cHRvL3h0cy5jICAgICAgICAgICAgIHwgICAgMiArLQ0KIGluY2x1ZGUvbGlu dXgvY3J5cHRvLmggICB8ICAgIDkgKysrKysrKysrDQogMjUgZmlsZXMgY2hh bmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pDQoNCklu ZGV4OiBsaW51eC0yLjYuMjUuMy9pbmNsdWRlL2xpbnV4L2NyeXB0by5oDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQotLS0gbGludXgtMi42LjI1LjMub3Jp Zy9pbmNsdWRlL2xpbnV4L2NyeXB0by5oCTIwMDgtMDQtMTcgMDQ6NDk6NDQu MDAwMDAwMDAwICswMjAwDQorKysgbGludXgtMi42LjI1LjMvaW5jbHVkZS9s aW51eC9jcnlwdG8uaAkyMDA4LTA1LTIxIDE4OjU0OjQzLjAwMDAwMDAwMCAr MDIwMA0KQEAgLTU5LDYgKzU5LDE1IEBADQogI2RlZmluZSBDUllQVE9fQUxH X0dFTklWCQkweDAwMDAwMjAwDQogDQogLyoNCisgKiBUaGUgZW5jcnlwdGlv biBhbGdvcml0aG0gcmVhZHMgdGhlIGRhdGEgb25seSBvbmNlLiBTbyBpdCBj YW4gZW5jcnlwdA0KKyAqIGRhdGEgd2hpbGUgdGhleSBjaGFuZ2UuDQorICoN CisgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgZGlzayBlbmNyeXB0aW9uLCBzbyB0 aGF0IHRoZSBzZWN0b3IgZG9lc24ndCBoYXZlDQorICogdG8gYmUgY29waWVk IHRvIHRlbXBvcmFyeSBzcGFjZSBiZWZvcmUgZW5jcnlwdGluZy4NCisgKi8N CisjZGVmaW5lIENSWVBUT19BTEdfRU5DUllQVF9SRUFEX09OQ0UJMHgwMDAw MDQwMA0KKw0KKy8qDQogICogVHJhbnNmb3JtIG1hc2tzIGFuZCB2YWx1ZXMg KGZvciBjcnRfZmxhZ3MpLg0KICAqLw0KICNkZWZpbmUgQ1JZUFRPX1RGTV9S RVFfTUFTSwkJMHgwMDBmZmYwMA0KSW5kZXg6IGxpbnV4LTIuNi4yNS4zL2Ny eXB0by9jYmMuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4 LTIuNi4yNS4zLm9yaWcvY3J5cHRvL2NiYy5jCTIwMDgtMDQtMTcgMDQ6NDk6 NDQuMDAwMDAwMDAwICswMjAwDQorKysgbGludXgtMi42LjI1LjMvY3J5cHRv L2NiYy5jCTIwMDgtMDUtMjEgMTk6MzI6NDkuMDAwMDAwMDAwICswMjAwDQpA QCAtMjM0LDcgKzIzNCw3IEBAIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3Rh bmNlICpjcnlwdG9fY2INCiAJaWYgKElTX0VSUihpbnN0KSkNCiAJCWdvdG8g b3V0X3B1dF9hbGc7DQogDQotCWluc3QtPmFsZy5jcmFfZmxhZ3MgPSBDUllQ VE9fQUxHX1RZUEVfQkxLQ0lQSEVSOw0KKwlpbnN0LT5hbGcuY3JhX2ZsYWdz ID0gQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUiB8IChhbGctPmNyYV9mbGFn cyAmIENSWVBUT19BTEdfRU5DUllQVF9SRUFEX09OQ0UpOw0KIAlpbnN0LT5h bGcuY3JhX3ByaW9yaXR5ID0gYWxnLT5jcmFfcHJpb3JpdHk7DQogCWluc3Qt PmFsZy5jcmFfYmxvY2tzaXplID0gYWxnLT5jcmFfYmxvY2tzaXplOw0KIAlp bnN0LT5hbGcuY3JhX2FsaWdubWFzayA9IGFsZy0+Y3JhX2FsaWdubWFzazsN CkluZGV4OiBsaW51eC0yLjYuMjUuMy9jcnlwdG8vZWNiLmMNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0 by9lY2IuYwkyMDA4LTA0LTE3IDA0OjQ5OjQ0LjAwMDAwMDAwMCArMDIwMA0K KysrIGxpbnV4LTIuNi4yNS4zL2NyeXB0by9lY2IuYwkyMDA4LTA1LTIxIDE2 OjM3OjQ4LjAwMDAwMDAwMCArMDIwMA0KQEAgLTEzNCw3ICsxMzQsNyBAQCBz dGF0aWMgc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqY3J5cHRvX2VjDQogCWlm IChJU19FUlIoaW5zdCkpDQogCQlnb3RvIG91dF9wdXRfYWxnOw0KIA0KLQlp bnN0LT5hbGcuY3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhF UjsNCisJaW5zdC0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9C TEtDSVBIRVIgfCAoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX0VOQ1JZ UFRfUkVBRF9PTkNFKTsNCiAJaW5zdC0+YWxnLmNyYV9wcmlvcml0eSA9IGFs Zy0+Y3JhX3ByaW9yaXR5Ow0KIAlpbnN0LT5hbGcuY3JhX2Jsb2Nrc2l6ZSA9 IGFsZy0+Y3JhX2Jsb2Nrc2l6ZTsNCiAJaW5zdC0+YWxnLmNyYV9hbGlnbm1h c2sgPSBhbGctPmNyYV9hbGlnbm1hc2s7DQpJbmRleDogbGludXgtMi42LjI1 LjMvY3J5cHRvL2N0ci5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g bGludXgtMi42LjI1LjMub3JpZy9jcnlwdG8vY3RyLmMJMjAwOC0wNS0yMSAx Njo0MzoyMy4wMDAwMDAwMDAgKzAyMDANCisrKyBsaW51eC0yLjYuMjUuMy9j cnlwdG8vY3RyLmMJMjAwOC0wNS0yMSAxNjo0ODozNS4wMDAwMDAwMDAgKzAy MDANCkBAIC0yMDAsNyArMjAwLDcgQEAgc3RhdGljIHN0cnVjdCBjcnlwdG9f aW5zdGFuY2UgKmNyeXB0b19jdA0KIAlpZiAoSVNfRVJSKGluc3QpKQ0KIAkJ Z290byBvdXQ7DQogDQotCWluc3QtPmFsZy5jcmFfZmxhZ3MgPSBDUllQVE9f QUxHX1RZUEVfQkxLQ0lQSEVSOw0KKwlpbnN0LT5hbGcuY3JhX2ZsYWdzID0g Q1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUiB8IENSWVBUT19BTEdfRU5DUllQ VF9SRUFEX09OQ0U7DQogCWluc3QtPmFsZy5jcmFfcHJpb3JpdHkgPSBhbGct PmNyYV9wcmlvcml0eTsNCiAJaW5zdC0+YWxnLmNyYV9ibG9ja3NpemUgPSAx Ow0KIAlpbnN0LT5hbGcuY3JhX2FsaWdubWFzayA9IGFsZy0+Y3JhX2FsaWdu bWFzayB8IChfX2FsaWdub2ZfXyh1MzIpIC0gMSk7DQpJbmRleDogbGludXgt Mi42LjI1LjMvY3J5cHRvL2xydy5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQotLS0gbGludXgtMi42LjI1LjMub3JpZy9jcnlwdG8vbHJ3LmMJMjAwOC0w NC0xNyAwNDo0OTo0NC4wMDAwMDAwMDAgKzAyMDANCisrKyBsaW51eC0yLjYu MjUuMy9jcnlwdG8vbHJ3LmMJMjAwOC0wNS0yMSAxNzozNzoxMS4wMDAwMDAw MDAgKzAyMDANCkBAIC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIHN0cnVjdCBj cnlwdG9faW5zdGFuY2UgKmFsbG9jKHN0cg0KIAlpZiAoSVNfRVJSKGluc3Qp KQ0KIAkJZ290byBvdXRfcHV0X2FsZzsNCiANCi0JaW5zdC0+YWxnLmNyYV9m bGFncyA9IENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVI7DQorCWluc3QtPmFs Zy5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQkxLQ0lQSEVSIHwgQ1JZ UFRPX0FMR19FTkNSWVBUX1JFQURfT05DRTsNCiAJaW5zdC0+YWxnLmNyYV9w cmlvcml0eSA9IGFsZy0+Y3JhX3ByaW9yaXR5Ow0KIAlpbnN0LT5hbGcuY3Jh X2Jsb2Nrc2l6ZSA9IGFsZy0+Y3JhX2Jsb2Nrc2l6ZTsNCiANCkluZGV4OiBs aW51eC0yLjYuMjUuMy9jcnlwdG8veHRzLmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0by94dHMuYwky MDA4LTA0LTE3IDA0OjQ5OjQ0LjAwMDAwMDAwMCArMDIwMA0KKysrIGxpbnV4 LTIuNi4yNS4zL2NyeXB0by94dHMuYwkyMDA4LTA1LTIxIDE3OjM4OjIzLjAw MDAwMDAwMCArMDIwMA0KQEAgLTIzMCw3ICsyMzAsNyBAQCBzdGF0aWMgc3Ry dWN0IGNyeXB0b19pbnN0YW5jZSAqYWxsb2Moc3RyDQogCWlmIChJU19FUlIo aW5zdCkpDQogCQlnb3RvIG91dF9wdXRfYWxnOw0KIA0KLQlpbnN0LT5hbGcu Y3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUjsNCisJaW5z dC0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVIg fCBDUllQVE9fQUxHX0VOQ1JZUFRfUkVBRF9PTkNFOw0KIAlpbnN0LT5hbGcu Y3JhX3ByaW9yaXR5ID0gYWxnLT5jcmFfcHJpb3JpdHk7DQogCWluc3QtPmFs Zy5jcmFfYmxvY2tzaXplID0gYWxnLT5jcmFfYmxvY2tzaXplOw0KIA0KSW5k ZXg6IGxpbnV4LTIuNi4yNS4zL2NyeXB0by9hZXNfZ2VuZXJpYy5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQotLS0gbGludXgtMi42LjI1LjMub3JpZy9j cnlwdG8vYWVzX2dlbmVyaWMuYwkyMDA4LTA1LTIxIDE3OjU0OjE2LjAwMDAw MDAwMCArMDIwMA0KKysrIGxpbnV4LTIuNi4yNS4zL2NyeXB0by9hZXNfZ2Vu ZXJpYy5jCTIwMDgtMDUtMjEgMTc6NTQ6MjcuMDAwMDAwMDAwICswMjAwDQpA QCAtNDM0LDcgKzQzNCw3IEBAIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBh ZXNfYWxnID0gew0KIAkuY3JhX25hbWUJCT0JImFlcyIsDQogCS5jcmFfZHJp dmVyX25hbWUJPQkiYWVzLWdlbmVyaWMiLA0KIAkuY3JhX3ByaW9yaXR5CQk9 CTEwMCwNCi0JLmNyYV9mbGFncwkJPQlDUllQVE9fQUxHX1RZUEVfQ0lQSEVS LA0KKwkuY3JhX2ZsYWdzCQk9CUNSWVBUT19BTEdfVFlQRV9DSVBIRVIgfCBD UllQVE9fQUxHX0VOQ1JZUFRfUkVBRF9PTkNFLA0KIAkuY3JhX2Jsb2Nrc2l6 ZQkJPQlBRVNfQkxPQ0tfU0laRSwNCiAJLmNyYV9jdHhzaXplCQk9CXNpemVv ZihzdHJ1Y3QgY3J5cHRvX2Flc19jdHgpLA0KIAkuY3JhX2FsaWdubWFzawkJ PQkzLA0KSW5kZXg6IGxpbnV4LTIuNi4yNS4zL2NyeXB0by9jcnlwdGQuYw0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4LTIuNi4yNS4zLm9y aWcvY3J5cHRvL2NyeXB0ZC5jCTIwMDgtMDUtMjEgMTc6NDE6NDguMDAwMDAw MDAwICswMjAwDQorKysgbGludXgtMi42LjI1LjMvY3J5cHRvL2NyeXB0ZC5j CTIwMDgtMDUtMjEgMTc6NDI6MzIuMDAwMDAwMDAwICswMjAwDQpAQCAtMjM4 LDcgKzIzOCw3IEBAIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpj cnlwdGRfYWwNCiAJaWYgKElTX0VSUihpbnN0KSkNCiAJCWdvdG8gb3V0X3B1 dF9hbGc7DQogDQotCWluc3QtPmFsZy5jcmFfZmxhZ3MgPSBDUllQVE9fQUxH X1RZUEVfQUJMS0NJUEhFUiB8IENSWVBUT19BTEdfQVNZTkM7DQorCWluc3Qt PmFsZy5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUJMS0NJUEhFUiB8 IENSWVBUT19BTEdfQVNZTkMgfCAoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9f QUxHX0VOQ1JZUFRfUkVBRF9PTkNFKTsNCiAJaW5zdC0+YWxnLmNyYV90eXBl ID0gJmNyeXB0b19hYmxrY2lwaGVyX3R5cGU7DQogDQogCWluc3QtPmFsZy5j cmFfYWJsa2NpcGhlci5pdnNpemUgPSBhbGctPmNyYV9ibGtjaXBoZXIuaXZz aXplOw0KSW5kZXg6IGxpbnV4LTIuNi4yNS4zL2NyeXB0by9wY2JjLmMNCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmln L2NyeXB0by9wY2JjLmMJMjAwOC0wNC0xNyAwNDo0OTo0NC4wMDAwMDAwMDAg KzAyMDANCisrKyBsaW51eC0yLjYuMjUuMy9jcnlwdG8vcGNiYy5jCTIwMDgt MDUtMjEgMTc6NDA6MjEuMDAwMDAwMDAwICswMjAwDQpAQCAtMjQwLDcgKzI0 MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdG9f cGMNCiAJaWYgKElTX0VSUihpbnN0KSkNCiAJCWdvdG8gb3V0X3B1dF9hbGc7 DQogDQotCWluc3QtPmFsZy5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVf QkxLQ0lQSEVSOw0KKwlpbnN0LT5hbGcuY3JhX2ZsYWdzID0gQ1JZUFRPX0FM R19UWVBFX0JMS0NJUEhFUiB8IChhbGctPmNyYV9mbGFncyAmIENSWVBUT19B TEdfRU5DUllQVF9SRUFEX09OQ0UpOw0KIAlpbnN0LT5hbGcuY3JhX3ByaW9y aXR5ID0gYWxnLT5jcmFfcHJpb3JpdHk7DQogCWluc3QtPmFsZy5jcmFfYmxv Y2tzaXplID0gYWxnLT5jcmFfYmxvY2tzaXplOw0KIAlpbnN0LT5hbGcuY3Jh X2FsaWdubWFzayA9IGFsZy0+Y3JhX2FsaWdubWFzazsNCkluZGV4OiBsaW51 eC0yLjYuMjUuMy9jcnlwdG8vc2Fsc2EyMF9nZW5lcmljLmMNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0 by9zYWxzYTIwX2dlbmVyaWMuYwkyMDA4LTA0LTE3IDA0OjQ5OjQ0LjAwMDAw MDAwMCArMDIwMA0KKysrIGxpbnV4LTIuNi4yNS4zL2NyeXB0by9zYWxzYTIw X2dlbmVyaWMuYwkyMDA4LTA1LTIxIDE3OjQ3OjIyLjAwMDAwMDAwMCArMDIw MA0KQEAgLTIxOCw3ICsyMTgsNyBAQCBzdGF0aWMgc3RydWN0IGNyeXB0b19h bGcgYWxnID0gew0KIAkuY3JhX25hbWUgICAgICAgICAgID0gICAic2Fsc2Ey MCIsDQogCS5jcmFfZHJpdmVyX25hbWUgICAgPSAgICJzYWxzYTIwLWdlbmVy aWMiLA0KIAkuY3JhX3ByaW9yaXR5ICAgICAgID0gICAxMDAsDQotCS5jcmFf ZmxhZ3MgICAgICAgICAgPSAgIENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVIs DQorCS5jcmFfZmxhZ3MgICAgICAgICAgPSAgIENSWVBUT19BTEdfVFlQRV9C TEtDSVBIRVIgfCBDUllQVE9fQUxHX0VOQ1JZUFRfUkVBRF9PTkNFLA0KIAku Y3JhX3R5cGUgICAgICAgICAgID0gICAmY3J5cHRvX2Jsa2NpcGhlcl90eXBl LA0KIAkuY3JhX2Jsb2Nrc2l6ZSAgICAgID0gICAxLA0KIAkuY3JhX2N0eHNp emUgICAgICAgID0gICBzaXplb2Yoc3RydWN0IHNhbHNhMjBfY3R4KSwNCklu ZGV4OiBsaW51eC0yLjYuMjUuMy9jcnlwdG8vYW51YmlzLmMNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0 by9hbnViaXMuYwkyMDA4LTA0LTE3IDA0OjQ5OjQ0LjAwMDAwMDAwMCArMDIw MA0KKysrIGxpbnV4LTIuNi4yNS4zL2NyeXB0by9hbnViaXMuYwkyMDA4LTA1 LTIxIDE3OjU2OjA0LjAwMDAwMDAwMCArMDIwMA0KQEAgLTY3Myw3ICs2NzMs NyBAQCBzdGF0aWMgdm9pZCBhbnViaXNfZGVjcnlwdChzdHJ1Y3QgY3J5cHRv DQogDQogc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFudWJpc19hbGcgPSB7 DQogCS5jcmFfbmFtZQkJPQkiYW51YmlzIiwNCi0JLmNyYV9mbGFncwkJPQlD UllQVE9fQUxHX1RZUEVfQ0lQSEVSLA0KKwkuY3JhX2ZsYWdzCQk9CUNSWVBU T19BTEdfVFlQRV9DSVBIRVIgfCBDUllQVE9fQUxHX0VOQ1JZUFRfUkVBRF9P TkNFLA0KIAkuY3JhX2Jsb2Nrc2l6ZQkJPQlBTlVCSVNfQkxPQ0tfU0laRSwN CiAJLmNyYV9jdHhzaXplCQk9CXNpemVvZiAoc3RydWN0IGFudWJpc19jdHgp LA0KIAkuY3JhX2FsaWdubWFzawkJPQkzLA0KSW5kZXg6IGxpbnV4LTIuNi4y NS4zL2NyeXB0by9hcmM0LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0by9hcmM0LmMJMjAwOC0wNC0x NyAwNDo0OTo0NC4wMDAwMDAwMDAgKzAyMDANCisrKyBsaW51eC0yLjYuMjUu My9jcnlwdG8vYXJjNC5jCTIwMDgtMDUtMjEgMTg6MDA6MzguMDAwMDAwMDAw ICswMjAwDQpAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgdm9pZCBhcmM0X2Ny eXB0KHN0cnVjdCBjcnlwdG9fdGZtDQogDQogc3RhdGljIHN0cnVjdCBjcnlw dG9fYWxnIGFyYzRfYWxnID0gew0KIAkuY3JhX25hbWUJCT0JImFyYzQiLA0K LQkuY3JhX2ZsYWdzCQk9CUNSWVBUT19BTEdfVFlQRV9DSVBIRVIsDQorCS5j cmFfZmxhZ3MJCT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiB8IENSWVBUT19B TEdfRU5DUllQVF9SRUFEX09OQ0UsDQogCS5jcmFfYmxvY2tzaXplCQk9CUFS QzRfQkxPQ0tfU0laRSwNCiAJLmNyYV9jdHhzaXplCQk9CXNpemVvZihzdHJ1 Y3QgYXJjNF9jdHgpLA0KIAkuY3JhX21vZHVsZQkJPQlUSElTX01PRFVMRSwN CkluZGV4OiBsaW51eC0yLjYuMjUuMy9jcnlwdG8vYmxvd2Zpc2guYw0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4LTIuNi4yNS4zLm9yaWcv Y3J5cHRvL2Jsb3dmaXNoLmMJMjAwOC0wNS0yMSAxODowMDozOC4wMDAwMDAw MDAgKzAyMDANCisrKyBsaW51eC0yLjYuMjUuMy9jcnlwdG8vYmxvd2Zpc2gu YwkyMDA4LTA1LTIxIDE4OjAwOjU1LjAwMDAwMDAwMCArMDIwMA0KQEAgLTQ1 MSw3ICs0NTEsNyBAQCBzdGF0aWMgaW50IGJmX3NldGtleShzdHJ1Y3QgY3J5 cHRvX3RmbSAqDQogDQogc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9 IHsNCiAJLmNyYV9uYW1lCQk9CSJibG93ZmlzaCIsDQotCS5jcmFfZmxhZ3MJ CT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiwNCisJLmNyYV9mbGFncwkJPQlD UllQVE9fQUxHX1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNSWVBUX1JF QURfT05DRSwNCiAJLmNyYV9ibG9ja3NpemUJCT0JQkZfQkxPQ0tfU0laRSwN CiAJLmNyYV9jdHhzaXplCQk9CXNpemVvZihzdHJ1Y3QgYmZfY3R4KSwNCiAJ LmNyYV9hbGlnbm1hc2sJCT0JMywNCkluZGV4OiBsaW51eC0yLjYuMjUuMy9j cnlwdG8vY2FtZWxsaWEuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t IGxpbnV4LTIuNi4yNS4zLm9yaWcvY3J5cHRvL2NhbWVsbGlhLmMJMjAwOC0w NS0yMSAxODowMjoxMS4wMDAwMDAwMDAgKzAyMDANCisrKyBsaW51eC0yLjYu MjUuMy9jcnlwdG8vY2FtZWxsaWEuYwkyMDA4LTA1LTIxIDE4OjAyOjI0LjAw MDAwMDAwMCArMDIwMA0KQEAgLTEwOTQsNyArMTA5NCw3IEBAIHN0YXRpYyBz dHJ1Y3QgY3J5cHRvX2FsZyBjYW1lbGxpYV9hbGcgPSANCiAJLmNyYV9uYW1l CQk9CSJjYW1lbGxpYSIsDQogCS5jcmFfZHJpdmVyX25hbWUJPQkiY2FtZWxs aWEtZ2VuZXJpYyIsDQogCS5jcmFfcHJpb3JpdHkJCT0JMTAwLA0KLQkuY3Jh X2ZsYWdzCQk9CUNSWVBUT19BTEdfVFlQRV9DSVBIRVIsDQorCS5jcmFfZmxh Z3MJCT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiB8IENSWVBUT19BTEdfRU5D UllQVF9SRUFEX09OQ0UsDQogCS5jcmFfYmxvY2tzaXplCQk9CUNBTUVMTElB X0JMT0NLX1NJWkUsDQogCS5jcmFfY3R4c2l6ZQkJPQlzaXplb2Yoc3RydWN0 IGNhbWVsbGlhX2N0eCksDQogCS5jcmFfYWxpZ25tYXNrCQk9CTMsDQpJbmRl eDogbGludXgtMi42LjI1LjMvY3J5cHRvL2Nhc3Q1LmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0by9j YXN0NS5jCTIwMDgtMDQtMTcgMDQ6NDk6NDQuMDAwMDAwMDAwICswMjAwDQor KysgbGludXgtMi42LjI1LjMvY3J5cHRvL2Nhc3Q1LmMJMjAwOC0wNS0yMSAx ODowMzozOS4wMDAwMDAwMDAgKzAyMDANCkBAIC04MDAsNyArODAwLDcgQEAg c3RhdGljIGludCBjYXN0NV9zZXRrZXkoc3RydWN0IGNyeXB0b190Zg0KIA0K IHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7DQogCS5jcmFfbmFt ZSAJPSAiY2FzdDUiLA0KLQkuY3JhX2ZsYWdzIAk9IENSWVBUT19BTEdfVFlQ RV9DSVBIRVIsDQorCS5jcmFfZmxhZ3MgCT0gQ1JZUFRPX0FMR19UWVBFX0NJ UEhFUiB8IENSWVBUT19BTEdfRU5DUllQVF9SRUFEX09OQ0UsDQogCS5jcmFf YmxvY2tzaXplIAk9IENBU1Q1X0JMT0NLX1NJWkUsDQogCS5jcmFfY3R4c2l6 ZSAJPSBzaXplb2Yoc3RydWN0IGNhc3Q1X2N0eCksDQogCS5jcmFfYWxpZ25t YXNrCT0gMywNCkluZGV4OiBsaW51eC0yLjYuMjUuMy9jcnlwdG8vY2FzdDYu Yw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4LTIuNi4yNS4z Lm9yaWcvY3J5cHRvL2Nhc3Q2LmMJMjAwOC0wNC0xNyAwNDo0OTo0NC4wMDAw MDAwMDAgKzAyMDANCisrKyBsaW51eC0yLjYuMjUuMy9jcnlwdG8vY2FzdDYu YwkyMDA4LTA1LTIxIDE4OjA0OjMyLjAwMDAwMDAwMCArMDIwMA0KQEAgLTUx Miw3ICs1MTIsNyBAQCBzdGF0aWMgdm9pZCBjYXN0Nl9kZWNyeXB0KHN0cnVj dCBjcnlwdG9fDQogDQogc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9 IHsNCiAJLmNyYV9uYW1lID0gImNhc3Q2IiwNCi0JLmNyYV9mbGFncyA9IENS WVBUT19BTEdfVFlQRV9DSVBIRVIsDQorCS5jcmFfZmxhZ3MgPSBDUllQVE9f QUxHX1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNSWVBUX1JFQURfT05D RSwNCiAJLmNyYV9ibG9ja3NpemUgPSBDQVNUNl9CTE9DS19TSVpFLA0KIAku Y3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGNhc3Q2X2N0eCksDQogCS5j cmFfYWxpZ25tYXNrID0gMywNCkluZGV4OiBsaW51eC0yLjYuMjUuMy9jcnlw dG8vY3J5cHRvX251bGwuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t IGxpbnV4LTIuNi4yNS4zLm9yaWcvY3J5cHRvL2NyeXB0b19udWxsLmMJMjAw OC0wNC0xNyAwNDo0OTo0NC4wMDAwMDAwMDAgKzAyMDANCisrKyBsaW51eC0y LjYuMjUuMy9jcnlwdG8vY3J5cHRvX251bGwuYwkyMDA4LTA1LTIxIDE4OjA1 OjQxLjAwMDAwMDAwMCArMDIwMA0KQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0 aWMgc3RydWN0IGNyeXB0b19hbGcgc2tjaXBoZXJfbnVsbCA9DQogCS5jcmFf bmFtZQkJPQkiZWNiKGNpcGhlcl9udWxsKSIsDQogCS5jcmFfZHJpdmVyX25h bWUJPQkiZWNiLWNpcGhlcl9udWxsIiwNCiAJLmNyYV9wcmlvcml0eQkJPQkx MDAsDQotCS5jcmFfZmxhZ3MJCT0JQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhF UiwNCisJLmNyYV9mbGFncwkJPQlDUllQVE9fQUxHX1RZUEVfQkxLQ0lQSEVS IHwgQ1JZUFRPX0FMR19FTkNSWVBUX1JFQURfT05DRSwNCiAJLmNyYV9ibG9j a3NpemUJCT0JTlVMTF9CTE9DS19TSVpFLA0KIAkuY3JhX3R5cGUJCT0JJmNy eXB0b19ibGtjaXBoZXJfdHlwZSwNCiAJLmNyYV9jdHhzaXplCQk9CTAsDQpJ bmRleDogbGludXgtMi42LjI1LjMvY3J5cHRvL2Rlc19nZW5lcmljLmMNCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmln L2NyeXB0by9kZXNfZ2VuZXJpYy5jCTIwMDgtMDQtMTcgMDQ6NDk6NDQuMDAw MDAwMDAwICswMjAwDQorKysgbGludXgtMi42LjI1LjMvY3J5cHRvL2Rlc19n ZW5lcmljLmMJMjAwOC0wNS0yMSAxODowNzozMy4wMDAwMDAwMDAgKzAyMDAN CkBAIC05NDUsNyArOTQ1LDcgQEAgc3RhdGljIHZvaWQgZGVzM19lZGVfZGVj cnlwdChzdHJ1Y3QgY3J5cA0KIA0KIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2Fs ZyBkZXNfYWxnID0gew0KIAkuY3JhX25hbWUJCT0JImRlcyIsDQotCS5jcmFf ZmxhZ3MJCT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiwNCisJLmNyYV9mbGFn cwkJPQlDUllQVE9fQUxHX1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNS WVBUX1JFQURfT05DRSwNCiAJLmNyYV9ibG9ja3NpemUJCT0JREVTX0JMT0NL X1NJWkUsDQogCS5jcmFfY3R4c2l6ZQkJPQlzaXplb2Yoc3RydWN0IGRlc19j dHgpLA0KIAkuY3JhX21vZHVsZQkJPQlUSElTX01PRFVMRSwNCkBAIC05NjEs NyArOTYxLDcgQEAgc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGRlc19hbGcg PSB7DQogDQogc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGRlczNfZWRlX2Fs ZyA9IHsNCiAJLmNyYV9uYW1lCQk9CSJkZXMzX2VkZSIsDQotCS5jcmFfZmxh Z3MJCT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiwNCisJLmNyYV9mbGFncwkJ PQlDUllQVE9fQUxHX1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNSWVBU X1JFQURfT05DRSwNCiAJLmNyYV9ibG9ja3NpemUJCT0JREVTM19FREVfQkxP Q0tfU0laRSwNCiAJLmNyYV9jdHhzaXplCQk9CXNpemVvZihzdHJ1Y3QgZGVz M19lZGVfY3R4KSwNCiAJLmNyYV9tb2R1bGUJCT0JVEhJU19NT0RVTEUsDQpJ bmRleDogbGludXgtMi42LjI1LjMvY3J5cHRvL2ZjcnlwdC5jDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQotLS0gbGludXgtMi42LjI1LjMub3JpZy9jcnlw dG8vZmNyeXB0LmMJMjAwOC0wNC0xNyAwNDo0OTo0NC4wMDAwMDAwMDAgKzAy MDANCisrKyBsaW51eC0yLjYuMjUuMy9jcnlwdG8vZmNyeXB0LmMJMjAwOC0w NS0yMSAxODowODoxNi4wMDAwMDAwMDAgKzAyMDANCkBAIC0zOTEsNyArMzkx LDcgQEAgc3RhdGljIGludCBmY3J5cHRfc2V0a2V5KHN0cnVjdCBjcnlwdG9f dA0KIA0KIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBmY3J5cHRfYWxnID0g ew0KIAkuY3JhX25hbWUJCT0JImZjcnlwdCIsDQotCS5jcmFfZmxhZ3MJCT0J Q1JZUFRPX0FMR19UWVBFX0NJUEhFUiwNCisJLmNyYV9mbGFncwkJPQlDUllQ VE9fQUxHX1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNSWVBUX1JFQURf T05DRSwNCiAJLmNyYV9ibG9ja3NpemUJCT0JOCwNCiAJLmNyYV9jdHhzaXpl CQk9CXNpemVvZihzdHJ1Y3QgZmNyeXB0X2N0eCksDQogCS5jcmFfbW9kdWxl CQk9CVRISVNfTU9EVUxFLA0KSW5kZXg6IGxpbnV4LTIuNi4yNS4zL2NyeXB0 by9raGF6YWQuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4 LTIuNi4yNS4zLm9yaWcvY3J5cHRvL2toYXphZC5jCTIwMDgtMDQtMTcgMDQ6 NDk6NDQuMDAwMDAwMDAwICswMjAwDQorKysgbGludXgtMi42LjI1LjMvY3J5 cHRvL2toYXphZC5jCTIwMDgtMDUtMjEgMTg6MDk6MDcuMDAwMDAwMDAwICsw MjAwDQpAQCAtODQ4LDcgKzg0OCw3IEBAIHN0YXRpYyB2b2lkIGtoYXphZF9k ZWNyeXB0KHN0cnVjdCBjcnlwdG8NCiANCiBzdGF0aWMgc3RydWN0IGNyeXB0 b19hbGcga2hhemFkX2FsZyA9IHsNCiAJLmNyYV9uYW1lCQk9CSJraGF6YWQi LA0KLQkuY3JhX2ZsYWdzCQk9CUNSWVBUT19BTEdfVFlQRV9DSVBIRVIsDQor CS5jcmFfZmxhZ3MJCT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiB8IENSWVBU T19BTEdfRU5DUllQVF9SRUFEX09OQ0UsDQogCS5jcmFfYmxvY2tzaXplCQk9 CUtIQVpBRF9CTE9DS19TSVpFLA0KIAkuY3JhX2N0eHNpemUJCT0Jc2l6ZW9m IChzdHJ1Y3Qga2hhemFkX2N0eCksDQogCS5jcmFfYWxpZ25tYXNrCQk9CTcs DQpJbmRleDogbGludXgtMi42LjI1LjMvY3J5cHRvL3NlZWQuYw0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4LTIuNi4yNS4zLm9yaWcvY3J5 cHRvL3NlZWQuYwkyMDA4LTA0LTE3IDA0OjQ5OjQ0LjAwMDAwMDAwMCArMDIw MA0KKysrIGxpbnV4LTIuNi4yNS4zL2NyeXB0by9zZWVkLmMJMjAwOC0wNS0y MSAxODowOTo1Mi4wMDAwMDAwMDAgKzAyMDANCkBAIC00NDQsNyArNDQ0LDcg QEAgc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIHNlZWRfYWxnID0gew0KIAku Y3JhX25hbWUJCT0JInNlZWQiLA0KIAkuY3JhX2RyaXZlcl9uYW1lCT0JInNl ZWQtZ2VuZXJpYyIsDQogCS5jcmFfcHJpb3JpdHkJCT0JMTAwLA0KLQkuY3Jh X2ZsYWdzCQk9CUNSWVBUT19BTEdfVFlQRV9DSVBIRVIsDQorCS5jcmFfZmxh Z3MJCT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiB8IENSWVBUT19BTEdfRU5D UllQVF9SRUFEX09OQ0UsDQogCS5jcmFfYmxvY2tzaXplCQk9CVNFRURfQkxP Q0tfU0laRSwNCiAJLmNyYV9jdHhzaXplCQk9CXNpemVvZihzdHJ1Y3Qgc2Vl ZF9jdHgpLA0KIAkuY3JhX2FsaWdubWFzawkJPQkzLA0KSW5kZXg6IGxpbnV4 LTIuNi4yNS4zL2NyeXB0by9zZXJwZW50LmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0by9zZXJwZW50 LmMJMjAwOC0wNC0xNyAwNDo0OTo0NC4wMDAwMDAwMDAgKzAyMDANCisrKyBs aW51eC0yLjYuMjUuMy9jcnlwdG8vc2VycGVudC5jCTIwMDgtMDUtMjEgMTg6 MTI6MDguMDAwMDAwMDAwICswMjAwDQpAQCAtNDc1LDcgKzQ3NSw3IEBAIHN0 YXRpYyB2b2lkIHNlcnBlbnRfZGVjcnlwdChzdHJ1Y3QgY3J5cHQNCiANCiBz dGF0aWMgc3RydWN0IGNyeXB0b19hbGcgc2VycGVudF9hbGcgPSB7DQogCS5j cmFfbmFtZQkJPQkic2VycGVudCIsDQotCS5jcmFfZmxhZ3MJCT0JQ1JZUFRP X0FMR19UWVBFX0NJUEhFUiwNCisJLmNyYV9mbGFncwkJPQlDUllQVE9fQUxH X1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNSWVBUX1JFQURfT05DRSwN CiAJLmNyYV9ibG9ja3NpemUJCT0JU0VSUEVOVF9CTE9DS19TSVpFLA0KIAku Y3JhX2N0eHNpemUJCT0Jc2l6ZW9mKHN0cnVjdCBzZXJwZW50X2N0eCksDQog CS5jcmFfYWxpZ25tYXNrCQk9CTMsDQpAQCAtNTQzLDcgKzU0Myw3IEBAIHN0 YXRpYyB2b2lkIHRuZXByZXNfZGVjcnlwdChzdHJ1Y3QgY3J5cHQNCiANCiBz dGF0aWMgc3RydWN0IGNyeXB0b19hbGcgdG5lcHJlc19hbGcgPSB7DQogCS5j cmFfbmFtZQkJPQkidG5lcHJlcyIsDQotCS5jcmFfZmxhZ3MJCT0JQ1JZUFRP X0FMR19UWVBFX0NJUEhFUiwNCisJLmNyYV9mbGFncwkJPQlDUllQVE9fQUxH X1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNSWVBUX1JFQURfT05DRSwN CiAJLmNyYV9ibG9ja3NpemUJCT0JU0VSUEVOVF9CTE9DS19TSVpFLA0KIAku Y3JhX2N0eHNpemUJCT0Jc2l6ZW9mKHN0cnVjdCBzZXJwZW50X2N0eCksDQog CS5jcmFfYWxpZ25tYXNrCQk9CTMsDQpJbmRleDogbGludXgtMi42LjI1LjMv Y3J5cHRvL3RlYS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gbGlu dXgtMi42LjI1LjMub3JpZy9jcnlwdG8vdGVhLmMJMjAwOC0wNC0xNyAwNDo0 OTo0NC4wMDAwMDAwMDAgKzAyMDANCisrKyBsaW51eC0yLjYuMjUuMy9jcnlw dG8vdGVhLmMJMjAwOC0wNS0yMSAxODoxNDozOS4wMDAwMDAwMDAgKzAyMDAN CkBAIC0yMjEsNyArMjIxLDcgQEAgc3RhdGljIHZvaWQgeGV0YV9kZWNyeXB0 KHN0cnVjdCBjcnlwdG9fdA0KIA0KIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2Fs ZyB0ZWFfYWxnID0gew0KIAkuY3JhX25hbWUJCT0JInRlYSIsDQotCS5jcmFf ZmxhZ3MJCT0JQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiwNCisJLmNyYV9mbGFn cwkJPQlDUllQVE9fQUxHX1RZUEVfQ0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNS WVBUX1JFQURfT05DRSwNCiAJLmNyYV9ibG9ja3NpemUJCT0JVEVBX0JMT0NL X1NJWkUsDQogCS5jcmFfY3R4c2l6ZQkJPQlzaXplb2YgKHN0cnVjdCB0ZWFf Y3R4KSwNCiAJLmNyYV9hbGlnbm1hc2sJCT0JMywNCkBAIC0yNTMsNyArMjUz LDcgQEAgc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIHh0ZWFfYWxnID0gew0K IA0KIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyB4ZXRhX2FsZyA9IHsNCiAJ LmNyYV9uYW1lCQk9CSJ4ZXRhIiwNCi0JLmNyYV9mbGFncwkJPQlDUllQVE9f QUxHX1RZUEVfQ0lQSEVSLA0KKwkuY3JhX2ZsYWdzCQk9CUNSWVBUT19BTEdf VFlQRV9DSVBIRVIgfCBDUllQVE9fQUxHX0VOQ1JZUFRfUkVBRF9PTkNFLA0K IAkuY3JhX2Jsb2Nrc2l6ZQkJPQlYVEVBX0JMT0NLX1NJWkUsDQogCS5jcmFf Y3R4c2l6ZQkJPQlzaXplb2YgKHN0cnVjdCB4dGVhX2N0eCksDQogCS5jcmFf YWxpZ25tYXNrCQk9CTMsDQpJbmRleDogbGludXgtMi42LjI1LjMvY3J5cHRv L3R3b2Zpc2guYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxpbnV4 LTIuNi4yNS4zLm9yaWcvY3J5cHRvL3R3b2Zpc2guYwkyMDA4LTA1LTIxIDE4 OjE2OjUxLjAwMDAwMDAwMCArMDIwMA0KKysrIGxpbnV4LTIuNi4yNS4zL2Ny eXB0by90d29maXNoLmMJMjAwOC0wNS0yMSAxODoxNjo1OS4wMDAwMDAwMDAg KzAyMDANCkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGljIHN0cnVjdCBjcnlw dG9fYWxnIGFsZyA9IHsNCiAJLmNyYV9uYW1lICAgICAgICAgICA9ICAgInR3 b2Zpc2giLA0KIAkuY3JhX2RyaXZlcl9uYW1lICAgID0gICAidHdvZmlzaC1n ZW5lcmljIiwNCiAJLmNyYV9wcmlvcml0eSAgICAgICA9ICAgMTAwLA0KLQku Y3JhX2ZsYWdzICAgICAgICAgID0gICBDUllQVE9fQUxHX1RZUEVfQ0lQSEVS LA0KKwkuY3JhX2ZsYWdzICAgICAgICAgID0gICBDUllQVE9fQUxHX1RZUEVf Q0lQSEVSIHwgQ1JZUFRPX0FMR19FTkNSWVBUX1JFQURfT05DRSwNCiAJLmNy YV9ibG9ja3NpemUgICAgICA9ICAgVEZfQkxPQ0tfU0laRSwNCiAJLmNyYV9j dHhzaXplICAgICAgICA9ICAgc2l6ZW9mKHN0cnVjdCB0d29maXNoX2N0eCks DQogCS5jcmFfYWxpZ25tYXNrICAgICAgPQkzLA0KSW5kZXg6IGxpbnV4LTIu Ni4yNS4zL2NyeXB0by9ibGtjaXBoZXIuYw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KLS0tIGxpbnV4LTIuNi4yNS4zLm9yaWcvY3J5cHRvL2Jsa2NpcGhl ci5jCTIwMDgtMDUtMjEgMTk6NDM6MzEuMDAwMDAwMDAwICswMjAwDQorKysg bGludXgtMi42LjI1LjMvY3J5cHRvL2Jsa2NpcGhlci5jCTIwMDgtMDUtMjEg MjA6MDk6MTEuMDAwMDAwMDAwICswMjAwDQpAQCAtNjQwLDcgKzY0MCw3IEBA IHN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKnNrY2lwaGVyX2dlbml2X2ENCiAJ fQ0KIA0KIAlpbnN0LT5hbGcuY3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBF X0dJVkNJUEhFUiB8IENSWVBUT19BTEdfR0VOSVY7DQotCWluc3QtPmFsZy5j cmFfZmxhZ3MgfD0gYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX0FTWU5D Ow0KKwlpbnN0LT5hbGcuY3JhX2ZsYWdzIHw9IGFsZy0+Y3JhX2ZsYWdzICYg KENSWVBUT19BTEdfQVNZTkMgfCBDUllQVE9fQUxHX0VOQ1JZUFRfUkVBRF9P TkNFKTsNCiAJaW5zdC0+YWxnLmNyYV9wcmlvcml0eSA9IGFsZy0+Y3JhX3By aW9yaXR5Ow0KIAlpbnN0LT5hbGcuY3JhX2Jsb2Nrc2l6ZSA9IGFsZy0+Y3Jh X2Jsb2Nrc2l6ZTsNCiAJaW5zdC0+YWxnLmNyYV9hbGlnbm1hc2sgPSBhbGct PmNyYV9hbGlnbm1hc2s7DQo= --168448548-1556093477-1211422723=:17520 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=dm-crypt-dont-copy-data-if-not-needed.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=dm-crypt-dont-copy-data-if-not-needed.patch VXNlIHRoZSBmbGFnIENSWVBUT19BTEdfRU5DUllQVF9SRUFEX09OQ0UuIElm IHRoZSBmbGFnIGlzIHNldCwgd2UgZG9uJ3QgaGF2ZQ0KdG8gY29weSB3aGVu IGVuY3J5cHRpbmcgYW5kIHdlIGNhbiByZXZlcnQgdG8gb2xkIGJlaGF2aW9y Lg0KDQpTaWduZWQtb2ZmLWJ5OiBNaWt1bGFzIFBhdG9ja2EgPG1wYXRvY2th QHJlZGhhdC5jb20+DQoNCi0tLQ0KIGRyaXZlcnMvbWQvZG0tY3J5cHQuYyB8 ICAgIDIgKy0NCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkNCg0KSW5kZXg6IGxpbnV4LTIuNi4yNS4zL2RyaXZlcnMv bWQvZG0tY3J5cHQuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGxp bnV4LTIuNi4yNS4zLm9yaWcvZHJpdmVycy9tZC9kbS1jcnlwdC5jCTIwMDgt MDUtMjEgMjA6MDk6MDUuMDAwMDAwMDAwICswMjAwDQorKysgbGludXgtMi42 LjI1LjMvZHJpdmVycy9tZC9kbS1jcnlwdC5jCTIwMDgtMDUtMjEgMjA6MTI6 MDMuMDAwMDAwMDAwICswMjAwDQpAQCAtMzYxLDcgKzM2MSw3IEBAIHN0YXRp YyBpbnQgY3J5cHRfY29udmVydF9ibG9jayhzdHJ1Y3QgY3INCiAJCQkgY3J5 cHRvX2FibGtjaXBoZXJfYWxpZ25tYXNrKGNjLT50Zm0pICsgMSk7DQogDQog CXNnX2luaXRfdGFibGUoJmRtcmVxLT5zZ19pbiwgMSk7DQotCWlmIChiaW9f ZGF0YV9kaXIoY3R4LT5iaW9faW4pID09IFdSSVRFKSB7DQorCWlmIChiaW9f ZGF0YV9kaXIoY3R4LT5iaW9faW4pID09IFdSSVRFICYmICEoY2MtPnRmbS0+ YmFzZS5fX2NydF9hbGctPmNyYV9mbGFncyAmIENSWVBUT19BTEdfRU5DUllQ VF9SRUFEX09OQ0UpKSB7DQogCQljaGFyICpwYWdlX2luID0ga21hcF9hdG9t aWMoYnZfaW4tPmJ2X3BhZ2UsIEtNX1VTRVIwKTsNCiAJCWNoYXIgKnBhZ2Vf b3V0ID0ga21hcF9hdG9taWMoYnZfb3V0LT5idl9wYWdlLCBLTV9VU0VSMSk7 DQogCQltZW1jcHkocGFnZV9vdXQgKyBidl9vdXQtPmJ2X29mZnNldCArIGN0 eC0+b2Zmc2V0X291dCwgcGFnZV9pbiArIGJ2X2luLT5idl9vZmZzZXQgKyBj dHgtPm9mZnNldF9pbiwgMSA8PCBTRUNUT1JfU0hJRlQpOw0K --168448548-1556093477-1211422723=:17520 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=crypto-arc4-remove-unused-++.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=crypto-arc4-remove-unused-++.patch UmVtb3ZlIGFuIHVzZWxlc3MgaW5jcmVtZW50IGluIGFyYzQuDQoNClNpZ25l ZC1vZmYtYnk6IE1pa3VsYXMgUGF0b2NrYSA8bXBhdG9ja2FAcmVkaGF0LmNv bT4NCg0KLS0tDQogY3J5cHRvL2FyYzQuYyB8ICAgIDIgKy0NCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCg0KSW5k ZXg6IGxpbnV4LTIuNi4yNS4zL2NyeXB0by9hcmM0LmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBsaW51eC0yLjYuMjUuMy5vcmlnL2NyeXB0by9h cmM0LmMJMjAwOC0wNS0yMSAxNzo1NzoyNC4wMDAwMDAwMDAgKzAyMDANCisr KyBsaW51eC0yLjYuMjUuMy9jcnlwdG8vYXJjNC5jCTIwMDgtMDUtMjEgMTc6 NTg6MjguMDAwMDAwMDAwICswMjAwDQpAQCAtNjQsNyArNjQsNyBAQCBzdGF0 aWMgdm9pZCBhcmM0X2NyeXB0KHN0cnVjdCBjcnlwdG9fdGZtDQogCVNbeF0g PSBiOw0KIAlTW3ldID0gYTsNCiAJeCA9ICh4ICsgMSkgJiAweGZmOw0KLQkq b3V0KysgPSAqaW4gXiBTWyhhICsgYikgJiAweGZmXTsNCisJKm91dCA9ICpp biBeIFNbKGEgKyBiKSAmIDB4ZmZdOw0KIA0KIAljdHgtPnggPSB4Ow0KIAlj dHgtPnkgPSB5Ow0K --168448548-1556093477-1211422723=:17520 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --168448548-1556093477-1211422723=:17520--