From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from imap1.codethink.co.uk ([176.9.8.82]:44045 "EHLO imap1.codethink.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726517AbeKNCeA (ORCPT ); Tue, 13 Nov 2018 21:34:00 -0500 Message-ID: <1542126905.3935.13.camel@codethink.co.uk> Subject: [4.4] brk alignment fixes From: Ben Hutchings To: Greg Kroah-Hartman Cc: stable , Michal Hocko , Kees Cook , Oscar Salvador Date: Tue, 13 Nov 2018 16:35:05 +0000 Content-Type: multipart/mixed; boundary="=-jXSyfs08MfXlCEwhOz/I" Mime-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: --=-jXSyfs08MfXlCEwhOz/I Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Please apply the attached fixes to the 4.4-stable branch. Ben. -- Ben Hutchings, Software Developer   Codethink Ltd https://www.codethink.co.uk/ Dale House, 35 Dale Street Manchester, M1 2HF, United Kingdom --=-jXSyfs08MfXlCEwhOz/I Content-Type: application/mbox; name="linux-4.4-brk-alignment.mbox" Content-Disposition: attachment; filename="linux-4.4-brk-alignment.mbox" Content-Transfer-Encoding: base64 RnJvbSAzYjBmMGQ3MGEwNGJjNDdlZDZmZTQ1NTIwMDE5ZDMwOGExNDE2MzI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgSG9ja28gPG1ob2Nrb0BzdXNlLmNvbT4KRGF0ZTog TW9uLCAyMyBNYXkgMjAxNiAxNjoyNTozOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSBtbSwg ZWxmOiBoYW5kbGUgdm1fYnJrIGVycm9yCgpjb21taXQgZWNjMmJjOGFjMDM4ODQyNjZjZjczZjhh MmE0MmI5MTE0NjViMmZiYyB1cHN0cmVhbS4KCmxvYWRfZWxmX2xpYnJhcnkgZG9lc24ndCBoYW5k bGUgdm1fYnJrIGZhaWx1cmUgYWx0aG91Z2ggbm90aGluZyByZWFsbHkKaW5kaWNhdGVzIGl0IGNh bm5vdCBkbyB0aGF0IGJlY2F1c2UgdGhlIGZ1bmN0aW9uIGlzIGFsbG93ZWQgdG8gZmFpbCBkdWUK dG8gdm1fbW1hcCBmYWlsdXJlcyBhbHJlYWR5LiAgVGhpcyBtaWdodCBiZSBub3QgYSBwcm9ibGVt IG5vdyBidXQgbGF0ZXIKcGF0Y2ggd2lsbCBtYWtlIHZtX2JyayBraWxsYWJsZSAocmVzcC4gIG1t YXBfc2VtIGZvciB3cml0ZSB3YWl0aW5nIHdpbGwKYmVjb21lIGtpbGxhYmxlKSBhbmQgc28gdGhl IGZhaWx1cmUgd2lsbCBiZSBtb3JlIHByb2JhYmxlLgoKU2lnbmVkLW9mZi1ieTogTWljaGFsIEhv Y2tvIDxtaG9ja29Ac3VzZS5jb20+CkFja2VkLWJ5OiBWbGFzdGltaWwgQmFia2EgPHZiYWJrYUBz dXNlLmN6PgpDYzogQWxleGFuZGVyIFZpcm8gPHZpcm9AemVuaXYubGludXgub3JnLnVrPgpTaWdu ZWQtb2ZmLWJ5OiBBbmRyZXcgTW9ydG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPgpTaWdu ZWQtb2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+ ClNpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbi5odXRjaGluZ3NAY29kZXRoaW5rLmNv LnVrPgotLS0KIGZzL2JpbmZtdF9lbGYuYyB8IDcgKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDUg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mcy9iaW5mbXRfZWxm LmMgYi9mcy9iaW5mbXRfZWxmLmMKaW5kZXggNjJiYzcyMDAxZmNlLi43MGVhNGI5YzZkZDkgMTAw NjQ0Ci0tLSBhL2ZzL2JpbmZtdF9lbGYuYworKysgYi9mcy9iaW5mbXRfZWxmLmMKQEAgLTEyMTUs OCArMTIxNSwxMSBAQCBzdGF0aWMgaW50IGxvYWRfZWxmX2xpYnJhcnkoc3RydWN0IGZpbGUgKmZp bGUpCiAJbGVuID0gRUxGX1BBR0VTVEFSVChlcHBudC0+cF9maWxlc3ogKyBlcHBudC0+cF92YWRk ciArCiAJCQkgICAgRUxGX01JTl9BTElHTiAtIDEpOwogCWJzcyA9IGVwcG50LT5wX21lbXN6ICsg ZXBwbnQtPnBfdmFkZHI7Ci0JaWYgKGJzcyA+IGxlbikKLQkJdm1fYnJrKGxlbiwgYnNzIC0gbGVu KTsKKwlpZiAoYnNzID4gbGVuKSB7CisJCWVycm9yID0gdm1fYnJrKGxlbiwgYnNzIC0gbGVuKTsK KwkJaWYgKEJBRF9BRERSKGVycm9yKSkKKwkJCWdvdG8gb3V0X2ZyZWVfcGg7CisJfQogCWVycm9y ID0gMDsKIAogb3V0X2ZyZWVfcGg6Ci0tIApCZW4gSHV0Y2hpbmdzLCBTb2Z0d2FyZSBEZXZlbG9w ZXIgICAgICAgICAgICAgICAgICAgICAgICAgQ29kZXRoaW5rIEx0ZApodHRwczovL3d3dy5jb2Rl dGhpbmsuY28udWsvICAgICAgICAgICAgICAgICBEYWxlIEhvdXNlLCAzNSBEYWxlIFN0cmVldAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFuY2hlc3RlciwgTTEgMkhGLCBV bml0ZWQgS2luZ2RvbQoKCkZyb20gODc1NjZlMzY2Zjc1MDkyYTI3ZmEwMmVjMjQ4YjlkOGJlYTY0 ZTk0NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2VlcyBDb29rIDxrZWVzY29va0Bj aHJvbWl1bS5vcmc+CkRhdGU6IFR1ZSwgMiBBdWcgMjAxNiAxNDowNDo1MSAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMi81XSBiaW5mbXRfZWxmOiBmaXggY2FsY3VsYXRpb25zIGZvciBic3MgcGFkZGlu ZwoKY29tbWl0IDAwMzZkMWY3ZWI5NWJjYzUyOTc3ZjE1NTA3ZjAwZGQwNzAxOGU3ZTIgdXBzdHJl YW0uCgpBIGRvdWJsZS1idWcgZXhpc3RzIGluIHRoZSBic3MgY2FsY3VsYXRpb24gY29kZSwgd2hl cmUgYW4gb3ZlcmZsb3cgY2FuCmhhcHBlbiBpbiB0aGUgImxhc3RfYnNzIC0gZWxmX2JzcyIgY2Fs Y3VsYXRpb24sIGJ1dCB2bV9icmsgaW50ZXJuYWxseQphbGlnbnMgdGhlIGFyZ3VtZW50LCB1bmRl cmZsb3dpbmcgaXQsIHdyYXBwaW5nIGJhY2sgYXJvdW5kIHNhZmUuICBXZQpzaG91bGRuJ3QgZGVw ZW5kIG9uIHRoZXNlIGJ1Z3Mgc3RheWluZyBpbiBzeW5jLCBzbyB0aGlzIGNsZWFucyB1cCB0aGUK YnNzIHBhZGRpbmcgaGFuZGxpbmcgdG8gYXZvaWQgdGhlIG92ZXJmbG93LgoKVGhpcyBtb3ZlcyB0 aGUgYnNzIHBhZHplcm8oKSBiZWZvcmUgdGhlIGxhc3RfYnNzID4gZWxmX2JzcyBjYXNlLCBzaW5j ZQp0aGUgemVyby1maWxsaW5nIG9mIHRoZSBFTEZfUEFHRSBzaG91bGQgaGF2ZSBub3RoaW5nIHRv IGRvIHdpdGggdGhlCnJlbGF0aW9uc2hpcCBvZiBsYXN0X2JzcyBhbmQgZWxmX2JzczogYW55IHRy YWlsaW5nIHBvcnRpb24gc2hvdWxkIGJlCnplcm9lZCwgYW5kIGEgemVybyBzaXplIGlzIGFscmVh ZHkgaGFuZGxlZCBieSBwYWR6ZXJvKCkuCgpUaGVuIGl0IGhhbmRsZXMgdGhlIG1hdGggb24gZWxm X2JzcyB2cyBsYXN0X2JzcyBjb3JyZWN0bHkuICBUaGVzZSBuZWVkCnRvIGJvdGggYmUgRUxGX1BB R0UgYWxpZ25lZCB0byBnZXQgdGhlIGNvbXBhcmlzb24gY29ycmVjdCwgc2luY2UgdGhhdCdzCnRo ZSBleHBlY3RlZCBncmFudWxhcml0eSBvZiB0aGUgbWFwcGluZ3MuICBTaW5jZSBlbGZfYnNzIGFs cmVhZHkgaGFkCmFsaWdubWVudC1iYXNlZCBwYWRkaW5nIGhhcHBlbiBpbiBwYWR6ZXJvKCksIHRo ZSAic3RhcnQiIG9mIHRoZSBuZXcKdm1fYnJrKCkgc2hvdWxkIGJlIG1vdmVkIGZvcndhcmQgYXMg ZG9uZSBpbiB0aGUgb3JpZ2luYWwgY29kZS4gIEhvd2V2ZXIsCnNpbmNlIHRoZSAiZW5kIiBvZiB0 aGUgdm1fYnJrKCkgYXJlYSB3aWxsIGFscmVhZHkgYmVjb21lIFBBR0VfQUxJR05lZCBpbgp2bV9i cmsoKSB0aGVuIGxhc3RfYnNzIHNob3VsZCBnZXQgYWxpZ25lZCBoZXJlIHRvIGF2b2lkIGhpZGlu ZyBpdCBhcyBhCnNpZGUtZWZmZWN0LgoKQWRkaXRpb25hbGx5IG1ha2VzIGEgY29zbWV0aWMgY2hh bmdlIHRvIHRoZSBpbml0aWFsIGxhc3RfYnNzIGNhbGN1bGF0aW9uCnNvIGl0J3MgZWFzaWVyIHRv IHJlYWQgaW4gY29tcGFyaXNvbiB0byB0aGUgbG9hZF9hZGRyIGNhbGN1bGF0aW9uIGFib3ZlCml0 IChpLmUuICB0aGUgb25seSBkaWZmZXJlbmNlIGlzIHBfZmlsZXN6IHZzIHBfbWVtc3opLgoKTGlu azogaHR0cDovL2xrbWwua2VybmVsLm9yZy9yLzE0NjgwMTQ0OTQtMjUyOTEtMi1naXQtc2VuZC1l bWFpbC1rZWVzY29va0BjaHJvbWl1bS5vcmcKU2lnbmVkLW9mZi1ieTogS2VlcyBDb29rIDxrZWVz Y29va0BjaHJvbWl1bS5vcmc+ClJlcG9ydGVkLWJ5OiBIZWN0b3IgTWFyY28tR2lzYmVydCA8aGVj bWFyZ2lAdXB2LmVzPgpDYzogSXNtYWVsIFJpcG9sbCBSaXBvbGwgPGlyaXBvbGxAdXB2LmVzPgpD YzogQWxleGFuZGVyIFZpcm8gPHZpcm9AemVuaXYubGludXgub3JnLnVrPgpDYzogIktpcmlsbCBB LiBTaHV0ZW1vdiIgPGtpcmlsbC5zaHV0ZW1vdkBsaW51eC5pbnRlbC5jb20+CkNjOiBPbGVnIE5l c3Rlcm92IDxvbGVnQHJlZGhhdC5jb20+CkNjOiBDaGVuIEdhbmcgPGdhbmcuY2hlbi41aTVqQGdt YWlsLmNvbT4KQ2M6IE1pY2hhbCBIb2NrbyA8bWhvY2tvQHN1c2UuY29tPgpDYzogS29uc3RhbnRp biBLaGxlYm5pa292IDxrb2N0OWlAZ21haWwuY29tPgpDYzogQW5kcmVhIEFyY2FuZ2VsaSA8YWFy Y2FuZ2VAcmVkaGF0LmNvbT4KQ2M6IEFuZHJleSBSeWFiaW5pbiA8YXJ5YWJpbmluQHZpcnR1b3p6 by5jb20+ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlv bi5vcmc+ClNpZ25lZC1vZmYtYnk6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3Vu ZGF0aW9uLm9yZz4KU2lnbmVkLW9mZi1ieTogQmVuIEh1dGNoaW5ncyA8YmVuLmh1dGNoaW5nc0Bj b2RldGhpbmsuY28udWs+Ci0tLQogZnMvYmluZm10X2VsZi5jIHwgMzQgKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE2 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL2JpbmZtdF9lbGYuYyBiL2ZzL2JpbmZtdF9l bGYuYwppbmRleCA3MGVhNGI5YzZkZDkuLjI5NjNhMjNmN2E4MCAxMDA2NDQKLS0tIGEvZnMvYmlu Zm10X2VsZi5jCisrKyBiL2ZzL2JpbmZtdF9lbGYuYwpAQCAtNjA0LDI4ICs2MDQsMzAgQEAgc3Rh dGljIHVuc2lnbmVkIGxvbmcgbG9hZF9lbGZfaW50ZXJwKHN0cnVjdCBlbGZoZHIgKmludGVycF9l bGZfZXgsCiAJCQkgKiBEbyB0aGUgc2FtZSB0aGluZyBmb3IgdGhlIG1lbW9yeSBtYXBwaW5nIC0g YmV0d2VlbgogCQkJICogZWxmX2JzcyBhbmQgbGFzdF9ic3MgaXMgdGhlIGJzcyBzZWN0aW9uLgog CQkJICovCi0JCQlrID0gbG9hZF9hZGRyICsgZXBwbnQtPnBfbWVtc3ogKyBlcHBudC0+cF92YWRk cjsKKwkJCWsgPSBsb2FkX2FkZHIgKyBlcHBudC0+cF92YWRkciArIGVwcG50LT5wX21lbXN6Owog CQkJaWYgKGsgPiBsYXN0X2JzcykKIAkJCQlsYXN0X2JzcyA9IGs7CiAJCX0KIAl9CiAKKwkvKgor CSAqIE5vdyBmaWxsIG91dCB0aGUgYnNzIHNlY3Rpb246IGZpcnN0IHBhZCB0aGUgbGFzdCBwYWdl IGZyb20KKwkgKiB0aGUgZmlsZSB1cCB0byB0aGUgcGFnZSBib3VuZGFyeSwgYW5kIHplcm8gaXQg ZnJvbSBlbGZfYnNzCisJICogdXAgdG8gdGhlIGVuZCBvZiB0aGUgcGFnZS4KKwkgKi8KKwlpZiAo cGFkemVybyhlbGZfYnNzKSkgeworCQllcnJvciA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0OworCX0K KwkvKgorCSAqIE5leHQsIGFsaWduIGJvdGggdGhlIGZpbGUgYW5kIG1lbSBic3MgdXAgdG8gdGhl IHBhZ2Ugc2l6ZSwKKwkgKiBzaW5jZSB0aGlzIGlzIHdoZXJlIGVsZl9ic3Mgd2FzIGp1c3QgemVy b2VkIHVwIHRvLCBhbmQgd2hlcmUKKwkgKiBsYXN0X2JzcyB3aWxsIGVuZCBhZnRlciB0aGUgdm1f YnJrKCkgYmVsb3cuCisJICovCisJZWxmX2JzcyA9IEVMRl9QQUdFQUxJR04oZWxmX2Jzcyk7CisJ bGFzdF9ic3MgPSBFTEZfUEFHRUFMSUdOKGxhc3RfYnNzKTsKKwkvKiBGaW5hbGx5LCBpZiB0aGVy ZSBpcyBzdGlsbCBtb3JlIGJzcyB0byBhbGxvY2F0ZSwgZG8gaXQuICovCiAJaWYgKGxhc3RfYnNz ID4gZWxmX2JzcykgewotCQkvKgotCQkgKiBOb3cgZmlsbCBvdXQgdGhlIGJzcyBzZWN0aW9uLiAg Rmlyc3QgcGFkIHRoZSBsYXN0IHBhZ2UgdXAKLQkJICogdG8gdGhlIHBhZ2UgYm91bmRhcnksIGFu ZCB0aGVuIHBlcmZvcm0gYSBtbWFwIHRvIG1ha2Ugc3VyZQotCQkgKiB0aGF0IHRoZXJlIGFyZSB6 ZXJvLW1hcHBlZCBwYWdlcyB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZQotCQkgKiBsYXN0IGJzcyBw YWdlLgotCQkgKi8KLQkJaWYgKHBhZHplcm8oZWxmX2JzcykpIHsKLQkJCWVycm9yID0gLUVGQVVM VDsKLQkJCWdvdG8gb3V0OwotCQl9Ci0KLQkJLyogV2hhdCB3ZSBoYXZlIG1hcHBlZCBzbyBmYXIg Ki8KLQkJZWxmX2JzcyA9IEVMRl9QQUdFU1RBUlQoZWxmX2JzcyArIEVMRl9NSU5fQUxJR04gLSAx KTsKLQotCQkvKiBNYXAgdGhlIGxhc3Qgb2YgdGhlIGJzcyBzZWdtZW50ICovCiAJCWVycm9yID0g dm1fYnJrKGVsZl9ic3MsIGxhc3RfYnNzIC0gZWxmX2Jzcyk7CiAJCWlmIChCQURfQUREUihlcnJv cikpCiAJCQlnb3RvIG91dDsKLS0gCkJlbiBIdXRjaGluZ3MsIFNvZnR3YXJlIERldmVsb3BlciAg ICAgICAgICAgICAgICAgICAgICAgICBDb2RldGhpbmsgTHRkCmh0dHBzOi8vd3d3LmNvZGV0aGlu ay5jby51ay8gICAgICAgICAgICAgICAgIERhbGUgSG91c2UsIDM1IERhbGUgU3RyZWV0CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYW5jaGVzdGVyLCBNMSAySEYsIFVuaXRl ZCBLaW5nZG9tCgoKRnJvbSBlMDA0MDBlNGNmYzljYjg3MWFmMjNiYTA0ZThlNTkyMGEwZTRjMmE3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9t aXVtLm9yZz4KRGF0ZTogVHVlLCAyIEF1ZyAyMDE2IDE0OjA0OjU0IC0wNzAwClN1YmplY3Q6IFtQ QVRDSCAzLzVdIG1tOiByZWZ1c2Ugd3JhcHBlZCB2bV9icmsgcmVxdWVzdHMKCmNvbW1pdCBiYTA5 M2E2ZDkzOTdkYThlYWZjZmJhYTdkOTViZDM0MjU1ZGEzOWEwIHVwc3RyZWFtLgoKVGhlIHZtX2Jy aygpIGFsaWdubWVudCBjYWxjdWxhdGlvbnMgc2hvdWxkIHJlZnVzZSB0byBvdmVyZmxvdy4gIFRo ZSBFTEYKbG9hZGVyIGRlcGVuZGluZyBvbiB0aGlzLCBidXQgaXQgaGFzIGJlZW4gZml4ZWQgbm93 LiAgTm8gb3RoZXIgdW5zYWZlCmNhbGxlcnMgaGF2ZSBiZWVuIGZvdW5kLgoKTGluazogaHR0cDov L2xrbWwua2VybmVsLm9yZy9yLzE0NjgwMTQ0OTQtMjUyOTEtMy1naXQtc2VuZC1lbWFpbC1rZWVz Y29va0BjaHJvbWl1bS5vcmcKU2lnbmVkLW9mZi1ieTogS2VlcyBDb29rIDxrZWVzY29va0BjaHJv bWl1bS5vcmc+ClJlcG9ydGVkLWJ5OiBIZWN0b3IgTWFyY28tR2lzYmVydCA8aGVjbWFyZ2lAdXB2 LmVzPgpDYzogSXNtYWVsIFJpcG9sbCBSaXBvbGwgPGlyaXBvbGxAdXB2LmVzPgpDYzogQWxleGFu ZGVyIFZpcm8gPHZpcm9AemVuaXYubGludXgub3JnLnVrPgpDYzogIktpcmlsbCBBLiBTaHV0ZW1v diIgPGtpcmlsbC5zaHV0ZW1vdkBsaW51eC5pbnRlbC5jb20+CkNjOiBPbGVnIE5lc3Rlcm92IDxv bGVnQHJlZGhhdC5jb20+CkNjOiBDaGVuIEdhbmcgPGdhbmcuY2hlbi41aTVqQGdtYWlsLmNvbT4K Q2M6IE1pY2hhbCBIb2NrbyA8bWhvY2tvQHN1c2UuY29tPgpDYzogS29uc3RhbnRpbiBLaGxlYm5p a292IDxrb2N0OWlAZ21haWwuY29tPgpDYzogQW5kcmVhIEFyY2FuZ2VsaSA8YWFyY2FuZ2VAcmVk aGF0LmNvbT4KQ2M6IEFuZHJleSBSeWFiaW5pbiA8YXJ5YWJpbmluQHZpcnR1b3p6by5jb20+ClNp Z25lZC1vZmYtYnk6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+ClNp Z25lZC1vZmYtYnk6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3VuZGF0aW9uLm9y Zz4KW2J3aDogQmFja3BvcnRlZCB0byA0LjQ6IGFkanVzdCBjb250ZXh0XQpTaWduZWQtb2ZmLWJ5 OiBCZW4gSHV0Y2hpbmdzIDxiZW4uaHV0Y2hpbmdzQGNvZGV0aGluay5jby51az4KLS0tCiBtbS9t bWFwLmMgfCA4ICsrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21tL21tYXAuYyBiL21tL21tYXAuYwppbmRleCAzOWY1 ZmJkMDc0ODYuLmRkOTIwNTU0MmE4NiAxMDA2NDQKLS0tIGEvbW0vbW1hcC5jCisrKyBiL21tL21t YXAuYwpAQCAtMjgwOCwxNiArMjgwOCwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5X21t X3dyaXRlbG9ja2VkKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogICogIGFub255bW91cyBtYXBzLiAg ZXZlbnR1YWxseSB3ZSBtYXkgYmUgYWJsZSB0byBkbyBzb21lCiAgKiAgYnJrLXNwZWNpZmljIGFj Y291bnRpbmcgaGVyZS4KICAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgZG9fYnJrKHVuc2lnbmVk IGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBsZW4pCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkb19i cmsodW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3QpCiB7CiAJc3RydWN0 IG1tX3N0cnVjdCAqbW0gPSBjdXJyZW50LT5tbTsKIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSwgKnByZXY7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCBs ZW47CiAJc3RydWN0IHJiX25vZGUgKipyYl9saW5rLCAqcmJfcGFyZW50OwogCXBnb2ZmX3QgcGdv ZmYgPSBhZGRyID4+IFBBR0VfU0hJRlQ7CiAJaW50IGVycm9yOwogCi0JbGVuID0gUEFHRV9BTElH TihsZW4pOworCWxlbiA9IFBBR0VfQUxJR04ocmVxdWVzdCk7CisJaWYgKGxlbiA8IHJlcXVlc3Qp CisJCXJldHVybiAtRU5PTUVNOwogCWlmICghbGVuKQogCQlyZXR1cm4gYWRkcjsKIAotLSAKQmVu IEh1dGNoaW5ncywgU29mdHdhcmUgRGV2ZWxvcGVyICAgICAgICAgICAgICAgICAgICAgICAgIENv ZGV0aGluayBMdGQKaHR0cHM6Ly93d3cuY29kZXRoaW5rLmNvLnVrLyAgICAgICAgICAgICAgICAg RGFsZSBIb3VzZSwgMzUgRGFsZSBTdHJlZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1hbmNoZXN0ZXIsIE0xIDJIRiwgVW5pdGVkIEtpbmdkb20KCgpGcm9tIGQ4ZWQwMDc5 NTE5YzJhOGFkMjgzYWRiN2Q4MTY2MWI3MDVjN2Y5YmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IE9zY2FyIFNhbHZhZG9yIDxvc2FsdmFkb3JAc3VzZS5kZT4KRGF0ZTogRnJpLCAxMyBK dWwgMjAxOCAxNjo1OToxMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSBmcywgZWxmOiBtYWtl IHN1cmUgdG8gcGFnZSBhbGlnbiBic3MgaW4gbG9hZF9lbGZfbGlicmFyeQoKY29tbWl0IDI0OTYy YWY3ZTEwNDFiN2U1MGMxYmM3MWQ4ZDEwZGM2NzhjNTU2YjUgdXBzdHJlYW0uCgpUaGUgY3VycmVu dCBjb2RlIGRvZXMgbm90IG1ha2Ugc3VyZSB0byBwYWdlIGFsaWduIGJzcyBiZWZvcmUgY2FsbGlu Zwp2bV9icmsoKSwgYW5kIHRoaXMgY2FuIGxlYWQgdG8gYSBWTV9CVUdfT04oKSBpbiBfX21tX3Bv cHVsYXRlKCkgZHVlIHRvCnRoZSByZXF1ZXN0ZWQgbGVuZ2h0IG5vdCBiZWluZyBjb3JyZWN0bHkg YWxpZ25lZC4KCkxldCB1cyBtYWtlIHN1cmUgdG8gYWxpZ24gaXQgcHJvcGVybHkuCgpLZWVzOiBv bmx5IGFwcGxpY2FibGUgdG8gQ09ORklHX1VTRUxJQiBrZXJuZWxzOiAzMi1iaXQgYW5kIGNvbmZp Z3VyZWQKZm9yIGxpYmM1LgoKTGluazogaHR0cDovL2xrbWwua2VybmVsLm9yZy9yLzIwMTgwNzA1 MTQ1NTM5Ljk2MjctMS1vc2FsdmFkb3JAdGVjaGFkdmVudHVyZXMubmV0ClNpZ25lZC1vZmYtYnk6 IE9zY2FyIFNhbHZhZG9yIDxvc2FsdmFkb3JAc3VzZS5kZT4KUmVwb3J0ZWQtYnk6IHN5emJvdCs1 ZGNiNTYwZmUxMmFhNTA5MWMwNkBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClRlc3RlZC1ieTog VGV0c3VvIEhhbmRhIDxwZW5ndWluLWtlcm5lbEBpLWxvdmUuc2FrdXJhLm5lLmpwPgpBY2tlZC1i eTogS2VlcyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5vcmc+CkNjOiBNaWNoYWwgSG9ja28gPG1o b2Nrb0BzdXNlLmNvbT4KQ2M6IE5pY29sYXMgUGl0cmUgPG5pY29sYXMucGl0cmVAbGluYXJvLm9y Zz4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9y Zz4KU2lnbmVkLW9mZi1ieTogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRp b24ub3JnPgpTaWduZWQtb2ZmLWJ5OiBCZW4gSHV0Y2hpbmdzIDxiZW4uaHV0Y2hpbmdzQGNvZGV0 aGluay5jby51az4KLS0tCiBmcy9iaW5mbXRfZWxmLmMgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL2JpbmZt dF9lbGYuYyBiL2ZzL2JpbmZtdF9lbGYuYwppbmRleCAyOTYzYTIzZjdhODAuLmYwMTBkNmM4ZGQx NCAxMDA2NDQKLS0tIGEvZnMvYmluZm10X2VsZi5jCisrKyBiL2ZzL2JpbmZtdF9lbGYuYwpAQCAt MTIxNCw5ICsxMjE0LDggQEAgc3RhdGljIGludCBsb2FkX2VsZl9saWJyYXJ5KHN0cnVjdCBmaWxl ICpmaWxlKQogCQlnb3RvIG91dF9mcmVlX3BoOwogCX0KIAotCWxlbiA9IEVMRl9QQUdFU1RBUlQo ZXBwbnQtPnBfZmlsZXN6ICsgZXBwbnQtPnBfdmFkZHIgKwotCQkJICAgIEVMRl9NSU5fQUxJR04g LSAxKTsKLQlic3MgPSBlcHBudC0+cF9tZW1zeiArIGVwcG50LT5wX3ZhZGRyOworCWxlbiA9IEVM Rl9QQUdFQUxJR04oZXBwbnQtPnBfZmlsZXN6ICsgZXBwbnQtPnBfdmFkZHIpOworCWJzcyA9IEVM Rl9QQUdFQUxJR04oZXBwbnQtPnBfbWVtc3ogKyBlcHBudC0+cF92YWRkcik7CiAJaWYgKGJzcyA+ IGxlbikgewogCQllcnJvciA9IHZtX2JyayhsZW4sIGJzcyAtIGxlbik7CiAJCWlmIChCQURfQURE UihlcnJvcikpCi0tIApCZW4gSHV0Y2hpbmdzLCBTb2Z0d2FyZSBEZXZlbG9wZXIgICAgICAgICAg ICAgICAgICAgICAgICAgQ29kZXRoaW5rIEx0ZApodHRwczovL3d3dy5jb2RldGhpbmsuY28udWsv ICAgICAgICAgICAgICAgICBEYWxlIEhvdXNlLCAzNSBEYWxlIFN0cmVldAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTWFuY2hlc3RlciwgTTEgMkhGLCBVbml0ZWQgS2luZ2Rv bQoKCkZyb20gZjI2ODU1M2Q5NTc2MTJiNmEzOTFjNzhjNzNiNTY1NWJlZTQzMTI1MCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFsIEhvY2tvIDxtaG9ja29Ac3VzZS5jb20+CkRh dGU6IEZyaSwgMTMgSnVsIDIwMTggMTY6NTk6MjAgLTA3MDAKU3ViamVjdDogW1BBVENIIDUvNV0g bW06IGRvIG5vdCBidWdfb24gb24gaW5jb3JyZWN0IGxlbmd0aCBpbiBfX21tX3BvcHVsYXRlKCkK CmNvbW1pdCBiYjE3N2E3MzJjNDM2OWJiNThhMWZlMWRmOGY1NTJiNmYwZjdkYjVmIHVwc3RyZWFt LgoKc3l6Ym90IGhhcyBub3RpY2VkIHRoYXQgYSBzcGVjaWFsbHkgY3JhZnRlZCBsaWJyYXJ5IGNh biBlYXNpbHkgaGl0ClZNX0JVR19PTiBpbiBfX21tX3BvcHVsYXRlCgogIGtlcm5lbCBCVUcgYXQg bW0vZ3VwLmM6MTI0MiEKICBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIFNNUAogIENQVTogMiBQ SUQ6IDk2NjcgQ29tbTogYS5vdXQgTm90IHRhaW50ZWQgNC4xOC4wLXJjMyAjNjQ0CiAgSGFyZHdh cmUgbmFtZTogVk13YXJlLCBJbmMuIFZNd2FyZSBWaXJ0dWFsIFBsYXRmb3JtLzQ0MEJYIERlc2t0 b3AgUmVmZXJlbmNlIFBsYXRmb3JtLCBCSU9TIDYuMDAgMDUvMTkvMjAxNwogIFJJUDogMDAxMDpf X21tX3BvcHVsYXRlKzB4MWUyLzB4MWYwCiAgQ29kZTogNTUgZDAgNjUgNDggMzMgMTQgMjUgMjgg MDAgMDAgMDAgODkgZDggNzUgMjEgNDggODMgYzQgMjAgNWIgNDEgNWMgNDEgNWQgNDEgNWUgNDEg NWYgNWQgYzMgZTggNzUgMTggZjEgZmYgMGYgMGIgZTggNmUgMTggZjEgZmYgPDBmPiAwYiAzMSBk YiBlYiBjOSBlOCA5MyAwNiBlMCBmZiAwZiAxZiAwMCA1NSA0OCA4OSBlNSA1MyA0OCA4OSBmYgog IENhbGwgVHJhY2U6CiAgICAgdm1fYnJrX2ZsYWdzKzB4YzMvMHgxMDAKICAgICB2bV9icmsrMHgx Zi8weDMwCiAgICAgbG9hZF9lbGZfbGlicmFyeSsweDI4MS8weDJlMAogICAgIF9faWEzMl9zeXNf dXNlbGliKzB4MTcwLzB4MWUwCiAgICAgZG9fZmFzdF9zeXNjYWxsXzMyKzB4Y2EvMHg0MjAKICAg ICBlbnRyeV9TWVNFTlRFUl9jb21wYXQrMHg3MC8weDdmCgpUaGUgcmVhc29uIGlzIHRoYXQgdGhl IGxlbmd0aCBvZiB0aGUgbmV3IGJyayBpcyBub3QgcGFnZSBhbGlnbmVkIHdoZW4gd2UKdHJ5IHRv IHBvcHVsYXRlIHRoZSBpdC4gIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBidWcgb24gdGhhdCB0aG91 Z2guCmRvX2Jya19mbGFncyBhbHJlYWR5IGFsaWducyB0aGUgbGVuZ3RoIHByb3Blcmx5IHNvIHRo ZSBtYXBwaW5nIGlzCmV4cGFuZGVkIGFzIGl0IHNob3VsZC4gIEFsbCB3ZSBuZWVkIGlzIHRvIHRl bGwgbW1fcG9wdWxhdGUgYWJvdXQgaXQuCkJlc2lkZXMgdGhhdCB0aGVyZSBpcyBhYnNvbHV0ZWx5 IG5vIHJlYXNvbiB0byB0byBidWdfb24gaW4gdGhlIGZpcnN0CnBsYWNlLiAgVGhlIHdvcnN0IHRo aW5nIHRoYXQgY291bGQgaGFwcGVuIGlzIHRoYXQgdGhlIGxhc3QgcGFnZSB3b3VsZG4ndApnZXQg cG9wdWxhdGVkIGFuZCB0aGF0IGlzIGZhciBmcm9tIHB1dHRpbmcgc3lzdGVtIGludG8gYW4gaW5j b25zaXN0ZW50CnN0YXRlLgoKRml4IHRoZSBpc3N1ZSBieSBtb3ZpbmcgdGhlIGxlbmd0aCBzYW5p dGl6YXRpb24gY29kZSBmcm9tIGRvX2Jya19mbGFncwp1cCB0byB2bV9icmtfZmxhZ3MuICBUaGUg b25seSBvdGhlciBjYWxsZXIgb2YgZG9fYnJrX2ZsYWdzIGlzIGJyawpzeXNjYWxsIGVudHJ5IGFu ZCBpdCBtYWtlcyBzdXJlIHRvIHByb3ZpZGUgdGhlIHByb3BlciBsZW5ndGggc28gdCBoZXJlCmlz IG5vIG5lZWQgZm9yIHNhbml0YXRpb24gYW5kIHNvIHdlIGNhbiB1c2UgZG9fYnJrX2ZsYWdzIHdp dGhvdXQgaXQuCgpBbHNvIHJlbW92ZSB0aGUgYm9ndXMgQlVHX09Ocy4KCltvc2FsdmFkb3JAdGVj aGFkdmVudHVyZXMubmV0OiBmaXggdXAgdm1fYnJrX2ZsYWdzIHNAcmVxdWVzdEBsZW5AXQpMaW5r OiBodHRwOi8vbGttbC5rZXJuZWwub3JnL3IvMjAxODA3MDYwOTAyMTcuR0kzMjY1OEBkaGNwMjIu c3VzZS5jegpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgSG9ja28gPG1ob2Nrb0BzdXNlLmNvbT4KUmVw b3J0ZWQtYnk6IHN5emJvdCA8c3l6Ym90KzVkY2I1NjBmZTEyYWE1MDkxYzA2QHN5emthbGxlci5h cHBzcG90bWFpbC5jb20+ClRlc3RlZC1ieTogVGV0c3VvIEhhbmRhIDxwZW5ndWluLWtlcm5lbEBJ LWxvdmUuU0FLVVJBLm5lLmpwPgpSZXZpZXdlZC1ieTogT3NjYXIgU2FsdmFkb3IgPG9zYWx2YWRv ckBzdXNlLmRlPgpDYzogWmkgWWFuIDx6aS55YW5AY3MucnV0Z2Vycy5lZHU+CkNjOiAiQW5lZXNo IEt1bWFyIEsuViIgPGFuZWVzaC5rdW1hckBsaW51eC52bmV0LmlibS5jb20+CkNjOiBEYW4gV2ls bGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4KQ2M6ICJLaXJpbGwgQS4gU2h1dGVtb3Yi IDxraXJpbGwuc2h1dGVtb3ZAbGludXguaW50ZWwuY29tPgpDYzogTWljaGFlbCBTLiBUc2lya2lu IDxtc3RAcmVkaGF0LmNvbT4KQ2M6IEFsIFZpcm8gPHZpcm9AemVuaXYubGludXgub3JnLnVrPgpD YzogIkh1YW5nLCBZaW5nIiA8eWluZy5odWFuZ0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFu ZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+ClNpZ25lZC1vZmYtYnk6IExp bnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3VuZGF0aW9uLm9yZz4KW2J3aDogQmFja3Bv cnRlZCB0byA0LjQ6CiAtIFRoZXJlIGlzIG5vIGRvX2Jya19mbGFncygpIGZ1bmN0aW9uOyB1cGRh dGUgZG9fYnJrKCkKIC0gZG9fYnJrKCksIHZtX2JyaygpIHJldHVybiB0aGUgYWRkcmVzcyBvbiBz dWNjZXNzCiAtIEFkanVzdCBjb250ZXh0XQpTaWduZWQtb2ZmLWJ5OiBCZW4gSHV0Y2hpbmdzIDxi ZW4uaHV0Y2hpbmdzQGNvZGV0aGluay5jby51az4KLS0tCiBtbS9ndXAuYyAgfCAgMiAtLQogbW0v bW1hcC5jIHwgMTkgKysrKysrKysrKy0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNl cnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9tbS9ndXAuYyBiL21tL2d1 cC5jCmluZGV4IGI1OTk1MjZkYjlmNy4uMDE4MTQ0YzRiOWVjIDEwMDY0NAotLS0gYS9tbS9ndXAu YworKysgYi9tbS9ndXAuYwpAQCAtOTQwLDggKzk0MCw2IEBAIGludCBfX21tX3BvcHVsYXRlKHVu c2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgbGVuLCBpbnQgaWdub3JlX2Vycm9ycykK IAlpbnQgbG9ja2VkID0gMDsKIAlsb25nIHJldCA9IDA7CiAKLQlWTV9CVUdfT04oc3RhcnQgJiB+ UEFHRV9NQVNLKTsKLQlWTV9CVUdfT04obGVuICE9IFBBR0VfQUxJR04obGVuKSk7CiAJZW5kID0g c3RhcnQgKyBsZW47CiAKIAlmb3IgKG5zdGFydCA9IHN0YXJ0OyBuc3RhcnQgPCBlbmQ7IG5zdGFy dCA9IG5lbmQpIHsKZGlmZiAtLWdpdCBhL21tL21tYXAuYyBiL21tL21tYXAuYwppbmRleCBkZDky MDU1NDJhODYuLjMwNzRkYmNkOTYyMSAxMDA2NDQKLS0tIGEvbW0vbW1hcC5jCisrKyBiL21tL21t YXAuYwpAQCAtMjgwOCwyMSArMjgwOCwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5X21t X3dyaXRlbG9ja2VkKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogICogIGFub255bW91cyBtYXBzLiAg ZXZlbnR1YWxseSB3ZSBtYXkgYmUgYWJsZSB0byBkbyBzb21lCiAgKiAgYnJrLXNwZWNpZmljIGFj Y291bnRpbmcgaGVyZS4KICAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgZG9fYnJrKHVuc2lnbmVk IGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0KQorc3RhdGljIHVuc2lnbmVkIGxvbmcg ZG9fYnJrKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBsZW4pCiB7CiAJc3RydWN0 IG1tX3N0cnVjdCAqbW0gPSBjdXJyZW50LT5tbTsKIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSwgKnByZXY7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgbGVuOworCXVuc2lnbmVkIGxvbmcgZmxh Z3M7CiAJc3RydWN0IHJiX25vZGUgKipyYl9saW5rLCAqcmJfcGFyZW50OwogCXBnb2ZmX3QgcGdv ZmYgPSBhZGRyID4+IFBBR0VfU0hJRlQ7CiAJaW50IGVycm9yOwogCi0JbGVuID0gUEFHRV9BTElH TihyZXF1ZXN0KTsKLQlpZiAobGVuIDwgcmVxdWVzdCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0JaWYg KCFsZW4pCi0JCXJldHVybiBhZGRyOwotCiAJZmxhZ3MgPSBWTV9EQVRBX0RFRkFVTFRfRkxBR1Mg fCBWTV9BQ0NPVU5UIHwgbW0tPmRlZl9mbGFnczsKIAogCWVycm9yID0gZ2V0X3VubWFwcGVkX2Fy ZWEoTlVMTCwgYWRkciwgbGVuLCAwLCBNQVBfRklYRUQpOwpAQCAtMjg5MCwxMiArMjg4NCwxOSBA QCBvdXQ6CiAJcmV0dXJuIGFkZHI7CiB9CiAKLXVuc2lnbmVkIGxvbmcgdm1fYnJrKHVuc2lnbmVk IGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBsZW4pCit1bnNpZ25lZCBsb25nIHZtX2Jyayh1bnNp Z25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdCkKIHsKIAlzdHJ1Y3QgbW1fc3Ry dWN0ICptbSA9IGN1cnJlbnQtPm1tOworCXVuc2lnbmVkIGxvbmcgbGVuOwogCXVuc2lnbmVkIGxv bmcgcmV0OwogCWJvb2wgcG9wdWxhdGU7CiAKKwlsZW4gPSBQQUdFX0FMSUdOKHJlcXVlc3QpOwor CWlmIChsZW4gPCByZXF1ZXN0KQorCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoIWxlbikKKwkJcmV0 dXJuIGFkZHI7CisKIAlkb3duX3dyaXRlKCZtbS0+bW1hcF9zZW0pOwogCXJldCA9IGRvX2Jyayhh ZGRyLCBsZW4pOwogCXBvcHVsYXRlID0gKChtbS0+ZGVmX2ZsYWdzICYgVk1fTE9DS0VEKSAhPSAw KTsKLS0gCkJlbiBIdXRjaGluZ3MsIFNvZnR3YXJlIERldmVsb3BlciAgICAgICAgICAgICAgICAg ICAgICAgICBDb2RldGhpbmsgTHRkCmh0dHBzOi8vd3d3LmNvZGV0aGluay5jby51ay8gICAgICAg ICAgICAgICAgIERhbGUgSG91c2UsIDM1IERhbGUgU3RyZWV0CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNYW5jaGVzdGVyLCBNMSAySEYsIFVuaXRlZCBLaW5nZG9tCgo= --=-jXSyfs08MfXlCEwhOz/I--