Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755176Ab2BWCZe (ORCPT ); Wed, 22 Feb 2012 21:25:34 -0500 Received: from aymard.digitalswift.net ([210.175.54.248]:45866 "EHLO buro.asia" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754832Ab2BWCZb (ORCPT ); Wed, 22 Feb 2012 21:25:31 -0500 X-Greylist: delayed 434 seconds by postgrey-1.27 at vger.kernel.org; Wed, 22 Feb 2012 21:25:30 EST MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_cfd1bb5c9c82ccdca19aefb1d5d9d251" Date: Thu, 23 Feb 2012 09:47:38 +0800 From: raphael@buro.asia To: Greg Kroah-Hartman Cc: Linus Torvalds , "H. Peter Anvin" , , Suresh Siddha , Linux Kernel Mailing List Subject: Re: [PATCH 0/5] i387: stable kernel backport In-Reply-To: <20120223003706.GA3246@kroah.com> References: <4F456D8F.1080801@zytor.com> <4F4584EB.9060605@zytor.com> <20120223003706.GA3246@kroah.com> Message-ID: <6e9d38ffcb1a66f62a335450d4722809@buro.asia> User-Agent: Roundcube Webmail/0.6 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 75925 Lines: 1066 --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=UTF-8; format=flowed On 23.02.2012 08:37, Greg Kroah-Hartman wrote: > On Wed, Feb 22, 2012 at 04:25:42PM -0800, Linus Torvalds wrote: >> On Wed, Feb 22, 2012 at 4:14 PM, H. Peter Anvin >> wrote: >> > >> > Immediate failure, still. >> >> Damn, I'll have to look closer at what else is missing then. >> >> I really didn't want to back-port the whole series as-is, but that >> would certainly have been easier. Hello, Thank you for backporting this patchset to -stable. FWIW, the test machine I had been working with has an uptime of 4 days now, with the patchset in attachment applied on top of 3.2.6, so if it were unpractical to trim it down further you can find solace in that it does not break anything. I'll be glad to help test any new patchset as well! Also, the issue started before 2.6.30, 2.6.39 had the same issue, and probably 2.6.38 even I did not test it for a while. 2.6.37 was the last known "safe" release WRT this bug. > > I can do that, it wouldn't be that hard, just give me the git commit > ids to apply. > > I can do a release with just these fixes in it if you think that > would > make it easier to test/verify. > > thanks, > > greg k-h --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-1.diff Content-Disposition: attachment; filename=fpu-patch-1.diff RnJvbSBiZTk4YzJjZGIxNWJhMjYxNDhjZDJiZDU4YTg1N2Q0Zjc3NTllZDM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IE1vbiwgMTMgRmViIDIwMTIgMTM6NDc6MjUgLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBtYXRoX3N0YXRlX3Jlc3RvcmUoKSBpc24ndCBjYWxsZWQgZnJvbSBhc20K Ckl0IHdhcyBtYXJrZWQgYXNtbGlua2FnZSBmb3Igc29tZSByZWFsbHkgb2xkIGFuZCBzdGFsZSBs ZWdhY3kgcmVhc29ucy4KRml4IHRoYXQgYW5kIHRoZSBlcXVhbGx5IHN0YWxlIGNvbW1lbnQuCgpO b3RpY2VkIHdoZW4gZGVidWdnaW5nIHRoZSBpcnFfZnB1X3VzYWJsZSgpIGJ1Z3MuCgpTaWduZWQt b2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+Ci0t LQogYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oIHwgICAgMiArLQogYXJjaC94ODYva2VybmVs L3RyYXBzLmMgICAgIHwgICAgNiArKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2kz ODcuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2kzODcuaAppbmRleCA2OTE5ZTkzLi5hNWM3YWU1 IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKKysrIGIvYXJjaC94ODYv aW5jbHVkZS9hc20vaTM4Ny5oCkBAIC0yOSw3ICsyOSw3IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQg c2lnX3hzdGF0ZV9zaXplOwogZXh0ZXJuIHZvaWQgZnB1X2luaXQodm9pZCk7CiBleHRlcm4gdm9p ZCBteGNzcl9mZWF0dXJlX21hc2tfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgaW5pdF9mcHUoc3Ry dWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIG1hdGhfc3Rh dGVfcmVzdG9yZSh2b2lkKTsKK2V4dGVybiB2b2lkIG1hdGhfc3RhdGVfcmVzdG9yZSh2b2lkKTsK IGV4dGVybiB2b2lkIF9fbWF0aF9zdGF0ZV9yZXN0b3JlKHZvaWQpOwogZXh0ZXJuIGludCBkdW1w X2ZwdShzdHJ1Y3QgcHRfcmVncyAqLCBzdHJ1Y3QgdXNlcl9pMzg3X3N0cnVjdCAqKTsKIApkaWZm IC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMu YwppbmRleCA0ODJlYzNhLi45ODI0MzNiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJh cHMuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYwpAQCAtNTk5LDEwICs1OTksMTAgQEAg dm9pZCBfX21hdGhfc3RhdGVfcmVzdG9yZSh2b2lkKQogICogQ2FyZWZ1bC4uIFRoZXJlIGFyZSBw cm9ibGVtcyB3aXRoIElCTS1kZXNpZ25lZCBJUlExMyBiZWhhdmlvdXIuCiAgKiBEb24ndCB0b3Vj aCB1bmxlc3MgeW91ICpyZWFsbHkqIGtub3cgaG93IGl0IHdvcmtzLgogICoKLSAqIE11c3QgYmUg Y2FsbGVkIHdpdGgga2VybmVsIHByZWVtcHRpb24gZGlzYWJsZWQgKGluIHRoaXMgY2FzZSwKLSAq IGxvY2FsIGludGVycnVwdHMgYXJlIGRpc2FibGVkIGF0IHRoZSBjYWxsLXNpdGUgaW4gZW50cnku UykuCisgKiBNdXN0IGJlIGNhbGxlZCB3aXRoIGtlcm5lbCBwcmVlbXB0aW9uIGRpc2FibGVkIChl ZyB3aXRoIGxvY2FsCisgKiBsb2NhbCBpbnRlcnJ1cHRzIGFzIGluIHRoZSBjYXNlIG9mIGRvX2Rl dmljZV9ub3RfYXZhaWxhYmxlKS4KICAqLwotYXNtbGlua2FnZSB2b2lkIG1hdGhfc3RhdGVfcmVz dG9yZSh2b2lkKQordm9pZCBtYXRoX3N0YXRlX3Jlc3RvcmUodm9pZCkKIHsKICAgIHN0cnVjdCB0 aHJlYWRfaW5mbyAqdGhyZWFkID0gY3VycmVudF90aHJlYWRfaW5mbygpOwogICAgc3RydWN0IHRh c2tfc3RydWN0ICp0c2sgPSB0aHJlYWQtPnRhc2s7Ci0tIAoxLjcuNi41Cgo= --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-2.diff Content-Disposition: attachment; filename=fpu-patch-2.diff RnJvbSA1YjFjYmFjMzc3OTg4MDVjMWZlZTE4YzhjZWJlNWMwYTEzOTc1YjE3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IE1vbiwgMTMgRmViIDIwMTIgMTM6NTY6MTQgLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBtYWtlIGlycV9mcHVfdXNhYmxlKCkgdGVzdHMgbW9yZSByb2J1c3QKClNv bWUgY29kZSAtIGVzcGVjaWFsbHkgdGhlIGNyeXB0byBsYXllciAtIHdhbnRzIHRvIHVzZSB0aGUg eDg2CkZQL01NWC9BVlggcmVnaXN0ZXIgc2V0IGluIHdoYXQgbWF5IGJlIGludGVycnVwdCAodHlw aWNhbGx5IHNvZnRpcnEpCmNvbnRleHQuCgpUaGF0ICpjYW4qIGJlIG9rLCBidXQgdGhlIHRlc3Rz IGZvciB3aGVuIGl0IHdhcyBvayB3ZXJlIHNvbWV3aGF0CnN1c3BlY3QuICBXZSBjYW5ub3QgdG91 Y2ggdGhlIHRocmVhZC1zcGVjaWZpYyBzdGF0dXMgYml0cyBlaXRoZXIsIHNvCndlJ2QgYmV0dGVy IGNoZWNrIHRoYXQgd2UncmUgbm90IGdvaW5nIHRvIHRyeSB0byBzYXZlIEZQIHN0YXRlIG9yCmFu eXRoaW5nIGxpa2UgdGhhdC4KCk5vdywgaXQgbWF5IGJlIHRoYXQgdGhlIFRTIGJpdCBpcyBhbHdh eXMgY2xlYXJlZCAqYmVmb3JlKiB3ZSBzZXQgdGhlClVTRURGUFUgYml0IChhbmQgb25seSBzZXQg d2hlbiB3ZSBoYWQgYWxyZWFkeSBjbGVhcmVkIHRoZSBVU0VERlAKYmVmb3JlKSwgc28gdGhlIFRT IGJpdCB0ZXN0IG1heSBhY3R1YWxseSBoYXZlIGJlZW4gc3VmZmljaWVudCwgYnV0IGl0CmNlcnRh aW5seSB3YXMgbm90IG9idmlvdXNseSBzby4KClNvIHRoaXMgZXhwbGljaXRseSB2ZXJpZmllcyB0 aGF0IHdlIHdpbGwgbm90IHRvdWNoIHRoZSBUU19VU0VERlBVIGJpdCwKYW5kIGFkZHMgYSBmZXcg cmVsYXRlZCBzYW5pdHktY2hlY2tzLiAgQmVjYXVzZSBpdCBzZWVtcyB0aGF0IHNvbWVob3cKQUVT LU5JIGlzIGNvcnJ1cHRpbmcgdXNlciBGUCBzdGF0ZS4gIFRoZSBjYXVzZSBpcyBub3QgY2xlYXIs IGFuZCB0aGlzCnBhdGNoIGRvZXNuJ3QgZml4IGl0LCBidXQgd2hpbGUgZGVidWdnaW5nIGl0IEkg cmVhbGx5IHdhbnRlZCB0aGUgY29kZSB0bwpiZSBtb3JlIG9idmlvdXNseSBjb3JyZWN0IGFuZCBy b2J1c3QuCgpTaWduZWQtb2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91 bmRhdGlvbi5vcmc+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oIHwgICA1NCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIGFyY2gveDg2L2tlcm5lbC90 cmFwcy5jICAgICB8ICAgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCA4 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2kzODcuaCBi L2FyY2gveDg2L2luY2x1ZGUvYXNtL2kzODcuaAppbmRleCBhNWM3YWU1Li5hMjk1NzE4IDEwMDY0 NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKKysrIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vaTM4Ny5oCkBAIC0zMDcsOSArMzA3LDU0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2Ns ZWFyX2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKICAgIH0KIH0KIAorLyoKKyAqIFdlcmUg d2UgaW4gYW4gaW50ZXJydXB0IHRoYXQgaW50ZXJydXB0ZWQga2VybmVsIG1vZGU/CisgKgorICog V2UgY2FuIGRvIGEga2VybmVsX2ZwdV9iZWdpbi9lbmQoKSBwYWlyICpPTkxZKiBpZiB0aGF0Cisg KiBwYWlyIGRvZXMgbm90aGluZyBhdCBhbGw6IFRTX1VTRURGUFUgbXVzdCBiZSBjbGVhciAoc28K KyAqIHRoYXQgd2UgZG9uJ3QgdHJ5IHRvIHNhdmUgdGhlIEZQVSBzdGF0ZSksIGFuZCBUUyBtdXN0 CisgKiBiZSBzZXQgKHNvIHRoYXQgdGhlIGNsdHMvc3R0cyBwYWlyIGRvZXMgbm90aGluZyB0aGF0 IGlzCisgKiB2aXNpYmxlIGluIHRoZSBpbnRlcnJ1cHRlZCBrZXJuZWwgdGhyZWFkKS4KKyAqLwor c3RhdGljIGlubGluZSBib29sIGludGVycnVwdGVkX2tlcm5lbF9mcHVfaWRsZSh2b2lkKQorewor ICAgcmV0dXJuICEoY3VycmVudF90aHJlYWRfaW5mbygpLT5zdGF0dXMgJiBUU19VU0VERlBVKSAm JgorICAgICAgIChyZWFkX2NyMCgpICYgWDg2X0NSMF9UUyk7Cit9CisKKy8qCisgKiBXZXJlIHdl IGluIHVzZXIgbW9kZSAob3Igdm04NiBtb2RlKSB3aGVuIHdlIHdlcmUKKyAqIGludGVycnVwdGVk PworICoKKyAqIERvaW5nIGtlcm5lbF9mcHVfYmVnaW4vZW5kKCkgaXMgb2sgaWYgd2UgYXJlIHJ1 bm5pbmcKKyAqIGluIGFuIGludGVycnVwdCBjb250ZXh0IGZyb20gdXNlciBtb2RlIC0gd2UnbGwg anVzdAorICogc2F2ZSB0aGUgRlBVIHN0YXRlIGFzIHJlcXVpcmVkLgorICovCitzdGF0aWMgaW5s aW5lIGJvb2wgaW50ZXJydXB0ZWRfdXNlcl9tb2RlKHZvaWQpCit7CisgICBzdHJ1Y3QgcHRfcmVn cyAqcmVncyA9IGdldF9pcnFfcmVncygpOworICAgcmV0dXJuIHJlZ3MgJiYgdXNlcl9tb2RlX3Zt KHJlZ3MpOworfQorCisvKgorICogQ2FuIHdlIHVzZSB0aGUgRlBVIGluIGtlcm5lbCBtb2RlIHdp dGggdGhlCisgKiB3aG9sZSAia2VybmVsX2ZwdV9iZWdpbi9lbmQoKSIgc2VxdWVuY2U/CisgKgor ICogSXQncyBhbHdheXMgb2sgaW4gcHJvY2VzcyBjb250ZXh0IChpZSAibm90IGludGVycnVwdCIp CisgKiBidXQgaXQgaXMgc29tZXRpbWVzIG9rIGV2ZW4gZnJvbSBhbiBpcnEuCisgKi8KK3N0YXRp YyBpbmxpbmUgYm9vbCBpcnFfZnB1X3VzYWJsZSh2b2lkKQoreworICAgcmV0dXJuICFpbl9pbnRl cnJ1cHQoKSB8fAorICAgICAgIGludGVycnVwdGVkX3VzZXJfbW9kZSgpIHx8CisgICAgICAgaW50 ZXJydXB0ZWRfa2VybmVsX2ZwdV9pZGxlKCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBrZXJu ZWxfZnB1X2JlZ2luKHZvaWQpCiB7CiAgICBzdHJ1Y3QgdGhyZWFkX2luZm8gKm1lID0gY3VycmVu dF90aHJlYWRfaW5mbygpOworCisgICBXQVJOX09OX09OQ0UoIWlycV9mcHVfdXNhYmxlKCkpOwog ICAgcHJlZW1wdF9kaXNhYmxlKCk7CiAgICBpZiAobWUtPnN0YXR1cyAmIFRTX1VTRURGUFUpCiAg ICAgICAgX19zYXZlX2luaXRfZnB1KG1lLT50YXNrKTsKQEAgLTMyMywxNCArMzY4LDYgQEAgc3Rh dGljIGlubGluZSB2b2lkIGtlcm5lbF9mcHVfZW5kKHZvaWQpCiAgICBwcmVlbXB0X2VuYWJsZSgp OwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXJxX2ZwdV91c2FibGUodm9pZCkKLXsKLSAgIHN0 cnVjdCBwdF9yZWdzICpyZWdzOwotCi0gICByZXR1cm4gIWluX2ludGVycnVwdCgpIHx8ICEocmVn cyA9IGdldF9pcnFfcmVncygpKSB8fCBcCi0gICAgICAgdXNlcl9tb2RlKHJlZ3MpIHx8IChyZWFk X2NyMCgpICYgWDg2X0NSMF9UUyk7Ci19Ci0KIC8qCiAgKiBTb21lIGluc3RydWN0aW9ucyBsaWtl IFZJQSdzIHBhZGxvY2sgaW5zdHJ1Y3Rpb25zIGdlbmVyYXRlIGEgc3B1cmlvdXMKICAqIEROQSBm YXVsdCBidXQgZG9uJ3QgbW9kaWZ5IFNTRSByZWdpc3RlcnMuIEFuZCB0aGVzZSBpbnN0cnVjdGlv bnMKQEAgLTM2Nyw2ICs0MDQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaXJxX3RzX3Jlc3RvcmUo aW50IFRTX3N0YXRlKQogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgc2F2ZV9pbml0X2ZwdShzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnRzaykKIHsKKyAgIFdBUk5fT05fT05DRSh0YXNrX3RocmVhZF9pbmZv KHRzayktPnN0YXR1cyAmIFRTX1VTRURGUFUpOwogICAgcHJlZW1wdF9kaXNhYmxlKCk7CiAgICBf X3NhdmVfaW5pdF9mcHUodHNrKTsKICAgIHN0dHMoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tl cm5lbC90cmFwcy5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKaW5kZXggOTgyNDMzYi4uOGJh MjdkYiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKKysrIGIvYXJjaC94ODYv a2VybmVsL3RyYXBzLmMKQEAgLTYzMSw2ICs2MzEsNyBAQCBFWFBPUlRfU1lNQk9MX0dQTChtYXRo X3N0YXRlX3Jlc3RvcmUpOwogZG90cmFwbGlua2FnZSB2b2lkIF9fa3Byb2JlcwogZG9fZGV2aWNl X25vdF9hdmFpbGFibGUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsK KyAgIFdBUk5fT05fT05DRSghdXNlcl9tb2RlX3ZtKHJlZ3MpKTsKICNpZmRlZiBDT05GSUdfTUFU SF9FTVVMQVRJT04KICAgIGlmIChyZWFkX2NyMCgpICYgWDg2X0NSMF9FTSkgewogICAgICAgIHN0 cnVjdCBtYXRoX2VtdV9pbmZvIGluZm8gPSB7IH07Ci0tIAoxLjcuNi41Cgo= --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-3.diff Content-Disposition: attachment; filename=fpu-patch-3.diff RnJvbSBjMzhlMjM0NTYyNzhlOTY3ZjA5NGIwODI0N2ZmYzM3MTFiMTAyOWIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFdlZCwgMTUgRmViIDIwMTIgMDg6MDU6MTggLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBmaXggc2Vuc2Ugb2Ygc2FuaXR5IGNoZWNrCgpUaGUgY2hlY2sgZm9yIHNh dmVfaW5pdF9mcHUoKSAoaW50cm9kdWNlZCBpbiBjb21taXQgNWIxY2JhYzM3Nzk4OiAiaTM4NzoK bWFrZSBpcnFfZnB1X3VzYWJsZSgpIHRlc3RzIG1vcmUgcm9idXN0Iikgd2FzIHRoZSB3cm9uZyB3 YXkgYXJvdW5kLCBidXQKSSBoYWRuJ3Qgbm90aWNlZCwgYmVjYXVzZSBteSAidGVzdHMiIHdlcmUg Ym9ndXM6IHRoZSBGUFUgZXhjZXB0aW9ucyBhcmUKZGlzYWJsZWQgYnkgZGVmYXVsdCwgc28gZXZl biBkb2luZyBhIGRpdmlkZSBieSB6ZXJvIG5ldmVyIGFjdHVhbGx5CnRyaWdnZXJzIHRoaXMgY29k ZSBhdCBhbGwgdW5sZXNzIHlvdSBkbyBleHRyYSB3b3JrIHRvIGVuYWJsZSB0aGVtLgoKU28gaWYg YW55Ym9keSBkaWQgZW5hYmxlIHRoZW0sIHRoZXknZCBnZXQgb25lIHNwdXJpb3VzIHdhcm5pbmcu CgpTaWduZWQtb2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlv bi5vcmc+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oIHwgICAgMiArLQogMSBmaWxl cyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv YXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5o CmluZGV4IGEyOTU3MTguLjcyN2MxZGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNt L2kzODcuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKQEAgLTQwNCw3ICs0MDQs NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaXJxX3RzX3Jlc3RvcmUoaW50IFRTX3N0YXRlKQogICov CiBzdGF0aWMgaW5saW5lIHZvaWQgc2F2ZV9pbml0X2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRz aykKIHsKLSAgIFdBUk5fT05fT05DRSh0YXNrX3RocmVhZF9pbmZvKHRzayktPnN0YXR1cyAmIFRT X1VTRURGUFUpOworICAgV0FSTl9PTl9PTkNFKCEodGFza190aHJlYWRfaW5mbyh0c2spLT5zdGF0 dXMgJiBUU19VU0VERlBVKSk7CiAgICBwcmVlbXB0X2Rpc2FibGUoKTsKICAgIF9fc2F2ZV9pbml0 X2ZwdSh0c2spOwogICAgc3R0cygpOwotLSAKMS43LjYuNQoK --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-4.diff Content-Disposition: attachment; filename=fpu-patch-4.diff RnJvbSAxNWQ4NzkxY2FlNzVkY2EyN2JmZGE4ZWNmZTg3ZGNhOTM3OWQ2YmIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFRodSwgMTYgRmViIDIwMTIgMDk6MTU6MDQgLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBmaXggeDg2LTY0IHByZWVtcHRpb24tdW5zYWZlIHVzZXIgc3RhY2sgc2F2 ZS9yZXN0b3JlCgpDb21taXQgNWIxY2JhYzM3Nzk4ICgiaTM4NzogbWFrZSBpcnFfZnB1X3VzYWJs ZSgpIHRlc3RzIG1vcmUgcm9idXN0IikKYWRkZWQgYSBzYW5pdHkgY2hlY2sgdG8gdGhlICNOTSBo YW5kbGVyIHRvIHZlcmlmeSB0aGF0IHdlIG5ldmVyIGNhdXNlCnRoZSAiRGV2aWNlIE5vdCBBdmFp bGFibGUiIGV4Y2VwdGlvbiBpbiBrZXJuZWwgbW9kZS4KCkhvd2V2ZXIsIHRoYXQgY2hlY2sgYWN0 dWFsbHkgcGlucG9pbnRlZCBhIChmdW5kYW1lbnRhbCkgcmFjZSB3aGVyZSB3ZSBkbwpjYXVzZSB0 aGF0IGV4Y2VwdGlvbiBhcyBwYXJ0IG9mIHRoZSBzaWduYWwgc3RhY2sgRlBVIHN0YXRlIHNhdmUv cmVzdG9yZQpjb2RlLgoKQmVjYXVzZSB3ZSB1c2UgdGhlIGZsb2F0aW5nIHBvaW50IGluc3RydWN0 aW9ucyB0aGVtc2VsdmVzIHRvIHNhdmUgYW5kCnJlc3RvcmUgc3RhdGUgZGlyZWN0bHkgZnJvbSB1 c2VyIG1vZGUsIHdlIGNhbm5vdCBkbyB0aGF0IGF0b21pY2FsbHkgd2l0aAp0ZXN0aW5nIHRoZSBU U19VU0VERlBVIGJpdDogdGhlIHVzZXIgbW9kZSBhY2Nlc3MgaXRzZWxmIG1heSBjYXVzZSBhIHBh Z2UKZmF1bHQsIHdoaWNoIGNhdXNlcyBhIHRhc2sgc3dpdGNoLCB3aGljaCBzYXZlcyBhbmQgcmVz dG9yZXMgdGhlIEZQL01NWApzdGF0ZSBmcm9tIHRoZSBrZXJuZWwgYnVmZmVycy4KClRoaXMga2lu ZCBvZiAicmVjdXJzaXZlIiBGUCBzdGF0ZSBzYXZlIGlzIGZpbmUgcGVyIHNlLCBidXQgaXQgbWVh bnMgdGhhdAp3aGVuIHRoZSBzaWduYWwgc3RhY2sgc2F2ZS9yZXN0b3JlIGdldHMgcmVzdGFydGVk LCBpdCB3aWxsIG5vdyB0YWtlIHRoZQonI05NJyBleGNlcHRpb24gd2Ugb3JpZ2luYWxseSB0cmll ZCB0byBhdm9pZC4gIFdpdGggcHJlZW1wdGlvbiB0aGlzIGNhbgpoYXBwZW4gZXZlbiB3aXRob3V0 IHRoZSBwYWdlIGZhdWx0IC0gYnV0IGJlY2F1c2Ugb2YgdGhlIHVzZXIgYWNjZXNzLCB3ZQpjYW5u b3QganVzdCBkaXNhYmxlIHByZWVtcHRpb24gYXJvdW5kIHRoZSBzYXZlL3Jlc3RvcmUgaW5zdHJ1 Y3Rpb24uCgpUaGVyZSBhcmUgdmFyaW91cyB3YXlzIHRvIHNvbHZlIHRoaXMsIGluY2x1ZGluZyB1 c2luZyB0aGUKImVuYWJsZS9kaXNhYmxlX3BhZ2VfZmF1bHQoKSIgaGVscGVycyB0byBub3QgYWxs b3cgcGFnZSBmYXVsdHMgYXQgYWxsCmR1cmluZyB0aGUgc2VxdWVuY2UsIGFuZCBmYWxsIGJhY2sg dG8gY29weWluZyB0aGluZ3MgYnkgaGFuZCB3aXRob3V0IHRoZQp1c2Ugb2YgdGhlIG5hdGl2ZSBG UCBzdGF0ZSBzYXZlL3Jlc3RvcmUgaW5zdHJ1Y3Rpb25zLgoKSG93ZXZlciwgdGhlIHNpbXBsZXN0 IHRoaW5nIHRvIGRvIGlzIHRvIGp1c3QgYWxsb3cgdGhlICNOTSBmcm9tIGtlcm5lbApzcGFjZSwg YnV0IGZpeCB0aGUgcmFjZSBpbiBzZXR0aW5nIGFuZCBjbGVhcmluZyBDUjAuVFMgdGhhdCB0aGlz IGFsbApleHBvc2VkOiB0aGUgVFMgYml0IGNoYW5nZXMgYW5kIHRoZSBUU19VU0VERlBVIGJpdCBh YnNvbHV0ZWx5IGhhdmUgdG8gYmUKYXRvbWljIHdydCBzY2hlZHVsaW5nLCBzbyB3aGlsZSB0aGUg YWN0dWFsIHN0YXRlIHNhdmUvcmVzdG9yZSBjYW4gYmUKaW50ZXJydXB0ZWQgYW5kIHJlc3RhcnRl ZCwgdGhlIGFjdCBvZiBhY3R1YWxseSBjbGVhcmluZy9zZXR0aW5nIENSMC5UUwphbmQgdGhlIFRT X1VTRURGUFUgYml0IHRvZ2V0aGVyIG11c3Qgbm90LgoKSW5zdGVhZCBvZiBqdXN0IGFkZGluZyBy YW5kb20gInByZWVtcHRfZGlzYWJsZS9lbmFibGUoKSIgY2FsbHMgdG8gd2hhdAppcyBhbHJlYWR5 IGV4Y2Vzc2l2ZWx5IHVnbHkgY29kZSwgdGhpcyBpbnRyb2R1Y2VzIHNvbWUgaGVscGVyIGZ1bmN0 aW9ucwp0aGF0IG1vc3RseSBtaXJyb3IgdGhlICJrZXJuZWxfZnB1X2JlZ2luL2VuZCgpIiBmdW5j dGlvbmFsaXR5LCBqdXN0IGZvcgp0aGUgdXNlciBzdGF0ZSBpbnN0ZWFkLgoKVGhvc2UgaGVscGVy IGZ1bmN0aW9ucyBzaG91bGQgcHJvYmFibHkgZXZlbnR1YWxseSByZXBsYWNlIHRoZSBvdGhlcgph ZC1ob2MgQ1IwLlRTIGFuZCBUU19VU0VERlBVIHRlc3RzIHRvbywgYnV0IEknbGwgbmVlZCB0byB0 aGluayBhYm91dCBpdApzb21lIG1vcmU6IHRoZSB0YXNrIHN3aXRjaGluZyBmdW5jdGlvbmFsaXR5 IGluIHBhcnRpY3VsYXIgbmVlZHMgdG8KZXhwb3NlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhl ICdwcmV2JyBhbmQgJ25leHQnIHRocmVhZHMsIHdoaWxlIHRoZQpuZXcgaGVscGVyIGZ1bmN0aW9u cyBpbnRlbnRpb25hbGx5IHdlcmUgd3JpdHRlbiB0byBvbmx5IHdvcmsgd2l0aAonY3VycmVudCcu CgpTaWduZWQtb2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlv bi5vcmc+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oIHwgICA0MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGFyY2gveDg2L2tlcm5lbC90cmFwcy5j ICAgICB8ICAgIDEgLQogYXJjaC94ODYva2VybmVsL3hzYXZlLmMgICAgIHwgICAxMCArKystLS0t LS0tCiAzIGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vaTM4Ny5oCmluZGV4IDcyN2MxZGQuLmY3MDRiZTIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2 L2luY2x1ZGUvYXNtL2kzODcuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKQEAg LTQwMCw2ICs0MDAsNDggQEAgc3RhdGljIGlubGluZSB2b2lkIGlycV90c19yZXN0b3JlKGludCBU U19zdGF0ZSkKIH0KIAogLyoKKyAqIFRoZSBxdWVzdGlvbiAiZG9lcyB0aGlzIHRocmVhZCBoYXZl IGZwdSBhY2Nlc3M/IgorICogaXMgc2xpZ2h0bHkgcmFjeSwgc2luY2UgcHJlZW1wdGlvbiBjb3Vs ZCBjb21lIGluCisgKiBhbmQgcmV2b2tlIGl0IGltbWVkaWF0ZWx5IGFmdGVyIHRoZSB0ZXN0Lgor ICoKKyAqIEhvd2V2ZXIsIGV2ZW4gaW4gdGhhdCB2ZXJ5IHVubGlrZWx5IHNjZW5hcmlvLAorICog d2UgY2FuIGp1c3QgYXNzdW1lIHdlIGhhdmUgRlBVIGFjY2VzcyAtIHR5cGljYWxseQorICogdG8g c2F2ZSB0aGUgRlAgc3RhdGUgLSB3ZSdsbCBqdXN0IHRha2UgYSAjTk0KKyAqIGZhdWx0IGFuZCBn ZXQgdGhlIEZQVSBhY2Nlc3MgYmFjay4KKyAqCisgKiBUaGUgYWN0dWFsIHVzZXJfZnB1X2JlZ2lu L2VuZCgpIGZ1bmN0aW9ucworICogbmVlZCB0byBiZSBwcmVlbXB0aW9uLXNhZmUsIHRob3VnaC4K KyAqCisgKiBOT1RFISB1c2VyX2ZwdV9lbmQoKSBtdXN0IGJlIHVzZWQgb25seSBhZnRlciB5b3UK KyAqIGhhdmUgc2F2ZWQgdGhlIEZQIHN0YXRlLCBhbmQgdXNlcl9mcHVfYmVnaW4oKSBtdXN0Cisg KiBiZSB1c2VkIG9ubHkgaW1tZWRpYXRlbHkgYmVmb3JlIHJlc3RvcmluZyBpdC4KKyAqIFRoZXNl IGZ1bmN0aW9ucyBkbyBub3QgZG8gYW55IHNhdmUvcmVzdG9yZSBvbgorICogdGhlaXIgb3duLgor ICovCitzdGF0aWMgaW5saW5lIGludCB1c2VyX2hhc19mcHUodm9pZCkKK3sKKyAgIHJldHVybiBj dXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyAmIFRTX1VTRURGUFU7Cit9CisKK3N0YXRpYyBp bmxpbmUgdm9pZCB1c2VyX2ZwdV9lbmQodm9pZCkKK3sKKyAgIHByZWVtcHRfZGlzYWJsZSgpOwor ICAgY3VycmVudF90aHJlYWRfaW5mbygpLT5zdGF0dXMgJj0gflRTX1VTRURGUFU7CisgICBzdHRz KCk7CisgICBwcmVlbXB0X2VuYWJsZSgpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdXNlcl9m cHVfYmVnaW4odm9pZCkKK3sKKyAgIHByZWVtcHRfZGlzYWJsZSgpOworICAgaWYgKCF1c2VyX2hh c19mcHUoKSkgeworICAgICAgIGNsdHMoKTsKKyAgICAgICBjdXJyZW50X3RocmVhZF9pbmZvKCkt PnN0YXR1cyB8PSBUU19VU0VERlBVOworICAgfQorICAgcHJlZW1wdF9lbmFibGUoKTsKK30KKwor LyoKICAqIFRoZXNlIGRpc2FibGUgcHJlZW1wdGlvbiBvbiB0aGVpciBvd24gYW5kIGFyZSBzYWZl CiAgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBzYXZlX2luaXRfZnB1KHN0cnVjdCB0YXNrX3N0cnVj dCAqdHNrKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMgYi9hcmNoL3g4Ni9r ZXJuZWwvdHJhcHMuYwppbmRleCA4YmEyN2RiLi45ODI0MzNiIDEwMDY0NAotLS0gYS9hcmNoL3g4 Ni9rZXJuZWwvdHJhcHMuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYwpAQCAtNjMxLDcg KzYzMSw2IEBAIEVYUE9SVF9TWU1CT0xfR1BMKG1hdGhfc3RhdGVfcmVzdG9yZSk7CiBkb3RyYXBs aW5rYWdlIHZvaWQgX19rcHJvYmVzCiBkb19kZXZpY2Vfbm90X2F2YWlsYWJsZShzdHJ1Y3QgcHRf cmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogewotICAgV0FSTl9PTl9PTkNFKCF1c2VyX21v ZGVfdm0ocmVncykpOwogI2lmZGVmIENPTkZJR19NQVRIX0VNVUxBVElPTgogICAgaWYgKHJlYWRf Y3IwKCkgJiBYODZfQ1IwX0VNKSB7CiAgICAgICAgc3RydWN0IG1hdGhfZW11X2luZm8gaW5mbyA9 IHsgfTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC94c2F2ZS5jIGIvYXJjaC94ODYva2Vy bmVsL3hzYXZlLmMKaW5kZXggYTM5MTEzNC4uODZmMWYwOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYv a2VybmVsL3hzYXZlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3hzYXZlLmMKQEAgLTE2OCw3ICsx NjgsNyBAQCBpbnQgc2F2ZV9pMzg3X3hzdGF0ZSh2b2lkIF9fdXNlciAqYnVmKQogICAgaWYgKCF1 c2VkX21hdGgoKSkKICAgICAgICByZXR1cm4gMDsKIAotICAgaWYgKHRhc2tfdGhyZWFkX2luZm8o dHNrKS0+c3RhdHVzICYgVFNfVVNFREZQVSkgeworICAgaWYgKHVzZXJfaGFzX2ZwdSgpKSB7CiAg ICAgICAgaWYgKHVzZV94c2F2ZSgpKQogICAgICAgICAgICBlcnIgPSB4c2F2ZV91c2VyKGJ1Zik7 CiAgICAgICAgZWxzZQpAQCAtMTc2LDggKzE3Niw3IEBAIGludCBzYXZlX2kzODdfeHN0YXRlKHZv aWQgX191c2VyICpidWYpCiAKICAgICAgICBpZiAoZXJyKQogICAgICAgICAgICByZXR1cm4gZXJy OwotICAgICAgIHRhc2tfdGhyZWFkX2luZm8odHNrKS0+c3RhdHVzICY9IH5UU19VU0VERlBVOwot ICAgICAgIHN0dHMoKTsKKyAgICAgICB1c2VyX2ZwdV9lbmQoKTsKICAgIH0gZWxzZSB7CiAgICAg ICAgc2FuaXRpemVfaTM4N19zdGF0ZSh0c2spOwogICAgICAgIGlmIChfX2NvcHlfdG9fdXNlcihi dWYsICZ0c2stPnRocmVhZC5mcHUuc3RhdGUtPmZ4c2F2ZSwKQEAgLTI5MiwxMCArMjkxLDcgQEAg aW50IHJlc3RvcmVfaTM4N194c3RhdGUodm9pZCBfX3VzZXIgKmJ1ZikKICAgICAgICAgICAgcmV0 dXJuIGVycjsKICAgIH0KIAotICAgaWYgKCEodGFza190aHJlYWRfaW5mbyhjdXJyZW50KS0+c3Rh dHVzICYgVFNfVVNFREZQVSkpIHsKLSAgICAgICBjbHRzKCk7Ci0gICAgICAgdGFza190aHJlYWRf aW5mbyhjdXJyZW50KS0+c3RhdHVzIHw9IFRTX1VTRURGUFU7Ci0gICB9CisgICB1c2VyX2ZwdV9i ZWdpbigpOwogICAgaWYgKHVzZV94c2F2ZSgpKQogICAgICAgIGVyciA9IHJlc3RvcmVfdXNlcl94 c3RhdGUoYnVmKTsKICAgIGVsc2UKLS0gCjEuNy42LjUKCg== --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-5.diff Content-Disposition: attachment; filename=fpu-patch-5.diff RnJvbSBiNmM2NjQxOGRjYWQwZmNmODNjZDFkMGEzOTQ4MmRiMzdiZjRmYzQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFRodSwgMTYgRmViIDIwMTIgMTI6MjI6NDggLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBtb3ZlIFRTX1VTRURGUFUgY2xlYXJpbmcgb3V0IG9mIF9fc2F2ZV9pbml0 X2ZwdSBhbmQKIGludG8gY2FsbGVycwoKVG91Y2hpbmcgVFNfVVNFREZQVSB3aXRob3V0IHRvdWNo aW5nIENSMC5UUyBpcyBjb25mdXNpbmcsIHNvIGRvbid0IGRvCml0LiAgQnkgbW92aW5nIGl0IGlu dG8gdGhlIGNhbGxlcnMsIHdlIGFsd2F5cyBkbyB0aGUgVFNfVVNFREZQVSBuZXh0IHRvCnRoZSBD UjAuVFMgYWNjZXNzZXMgaW4gdGhlIHNvdXJjZSBjb2RlLCBhbmQgaXQncyBtdWNoIGVhc2llciB0 byBzZWUgaG93CnRoZSB0d28gZ28gaGFuZCBpbiBoYW5kLgoKU2lnbmVkLW9mZi1ieTogTGludXMg VG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgotLS0KIGFyY2gveDg2L2lu Y2x1ZGUvYXNtL2kzODcuaCB8ICAgIDkgKysrKysrLS0tCiAxIGZpbGVzIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRl L2FzbS9pMzg3LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKaW5kZXggZjcwNGJlMi4u MWUxMmMyZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oCisrKyBiL2Fy Y2gveDg2L2luY2x1ZGUvYXNtL2kzODcuaApAQCAtMjU5LDcgKzI1OSw2IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBmcHVfc2F2ZV9pbml0KHN0cnVjdCBmcHUgKmZwdSkKIHN0YXRpYyBpbmxpbmUgdm9p ZCBfX3NhdmVfaW5pdF9mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7CiAgICBmcHVfc2F2 ZV9pbml0KCZ0c2stPnRocmVhZC5mcHUpOwotICAgdGFza190aHJlYWRfaW5mbyh0c2spLT5zdGF0 dXMgJj0gflRTX1VTRURGUFU7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGZwdV9meHJzdG9yX2No ZWNraW5nKHN0cnVjdCBmcHUgKmZwdSkKQEAgLTI5MCw2ICsyODksNyBAQCBzdGF0aWMgaW5saW5l IHZvaWQgX191bmxhenlfZnB1KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQogewogICAgaWYgKHRh c2tfdGhyZWFkX2luZm8odHNrKS0+c3RhdHVzICYgVFNfVVNFREZQVSkgewogICAgICAgIF9fc2F2 ZV9pbml0X2ZwdSh0c2spOworICAgICAgIHRhc2tfdGhyZWFkX2luZm8odHNrKS0+c3RhdHVzICY9 IH5UU19VU0VERlBVOwogICAgICAgIHN0dHMoKTsKICAgIH0gZWxzZQogICAgICAgIHRzay0+ZnB1 X2NvdW50ZXIgPSAwOwpAQCAtMzU2LDkgKzM1NiwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQga2Vy bmVsX2ZwdV9iZWdpbih2b2lkKQogCiAgICBXQVJOX09OX09OQ0UoIWlycV9mcHVfdXNhYmxlKCkp OwogICAgcHJlZW1wdF9kaXNhYmxlKCk7Ci0gICBpZiAobWUtPnN0YXR1cyAmIFRTX1VTRURGUFUp CisgICBpZiAobWUtPnN0YXR1cyAmIFRTX1VTRURGUFUpIHsKICAgICAgICBfX3NhdmVfaW5pdF9m cHUobWUtPnRhc2spOwotICAgZWxzZQorICAgICAgIG1lLT5zdGF0dXMgJj0gflRTX1VTRURGUFU7 CisgICAgICAgLyogV2UgZG8gJ3N0dHMoKScgaW4ga2VybmVsX2ZwdV9lbmQoKSAqLworICAgfSBl bHNlCiAgICAgICAgY2x0cygpOwogfQogCkBAIC00NDksNiArNDUxLDcgQEAgc3RhdGljIGlubGlu ZSB2b2lkIHNhdmVfaW5pdF9mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiAgICBXQVJOX09O X09OQ0UoISh0YXNrX3RocmVhZF9pbmZvKHRzayktPnN0YXR1cyAmIFRTX1VTRURGUFUpKTsKICAg IHByZWVtcHRfZGlzYWJsZSgpOwogICAgX19zYXZlX2luaXRfZnB1KHRzayk7CisgICB0YXNrX3Ro cmVhZF9pbmZvKHRzayktPnN0YXR1cyAmPSB+VFNfVVNFREZQVTsKICAgIHN0dHMoKTsKICAgIHBy ZWVtcHRfZW5hYmxlKCk7CiB9Ci0tIAoxLjcuNi41Cgo= --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-6.diff Content-Disposition: attachment; filename=fpu-patch-6.diff RnJvbSA2ZDU5ZDdhOWY1YjcyM2E3YWMxOTI1YzEzNmU5M2VjODNjMGMzMDQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFRodSwgMTYgRmViIDIwMTIgMTM6MzM6MTIgLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBkb24ndCBldmVyIHRvdWNoIFRTX1VTRURGUFUgZGlyZWN0bHksIHVzZSBo ZWxwZXIKIGZ1bmN0aW9ucwoKVGhpcyBjcmVhdGVzIHRocmVlIGhlbHBlciBmdW5jdGlvbnMgdGhh dCBkbyB0aGUgVFNfVVNFREZQVSBhY2Nlc3NlcywgYW5kCm1ha2VzIGV2ZXJ5Ym9keSB0aGF0IHVz ZWQgdG8gZG8gaXQgYnkgaGFuZCB1c2UgdGhvc2UgaGVscGVycyBpbnN0ZWFkLgoKSW4gYWRkaXRp b24sIHRoZXJlJ3MgYSBjb3VwbGUgb2YgaGVscGVyIGZ1bmN0aW9ucyBmb3IgdGhlICJjaGFuZ2Ug Ym90aApDUjAuVFMgYW5kIFRTX1VTRURGUFUgYXQgdGhlIHNhbWUgdGltZSIgY2FzZSwgYW5kIHRo ZSBwbGFjZXMgdGhhdCBkbwp0aGF0IHRvZ2V0aGVyIGhhdmUgYmVlbiBjaGFuZ2VkIHRvIHVzZSB0 aG9zZS4gIFRoYXQgbWVhbnMgdGhhdCB3ZSBoYXZlCmZld2VyIHJhbmRvbSBwbGFjZXMgdGhhdCBv cGVuLWNvZGUgdGhpcyBzaXR1YXRpb24uCgpUaGUgaW50ZW50IGlzIHBhcnRseSB0byBjbGFyaWZ5 IHRoZSBjb2RlIHdpdGhvdXQgYWN0dWFsbHkgY2hhbmdpbmcgYW55CnNlbWFudGljcyB5ZXQgKHNp bmNlIHdlIGNsZWFybHkgc3RpbGwgaGF2ZSBzb21lIGhhcmQgdG8gcmVwcm9kdWNlIGJ1ZyBpbgp0 aGlzIGFyZWEpLCBidXQgYWxzbyB0byBtYWtlIGl0IG11Y2ggZWFzaWVyIHRvIHVzZSBhbm90aGVy IGFwcHJvYWNoCmVudGlyZWx5IHRvIGNhY2hpbmcgdGhlIENSMC5UUyBiaXQgZm9yIHNvZnR3YXJl IGFjY2Vzc2VzLgoKUmlnaHQgbm93IHdlIHVzZSBhIGJpdCBpbiB0aGUgdGhyZWFkLWluZm8gJ3N0 YXR1cycgdmFyaWFibGUgKHRoaXMgcGF0Y2gKZG9lcyBub3QgY2hhbmdlIHRoYXQpLCBidXQgd2Ug bWlnaHQgd2FudCB0byBtYWtlIGl0IGEgZnVsbCBmaWVsZCBvZiBpdHMKb3duIG9yIGV2ZW4gbWFr ZSBpdCBhIHBlci1jcHUgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8 dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20v aTM4Ny5oIHwgICA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0K IGFyY2gveDg2L2tlcm5lbC90cmFwcy5jICAgICB8ICAgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC94 c2F2ZS5jICAgICB8ICAgIDIgKy0KIGFyY2gveDg2L2t2bS92bXguYyAgICAgICAgICB8ICAgIDIg Ky0KIDQgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vaTM4Ny5oCmluZGV4IDFlMTJjMmQuLjU0OGIyYzAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2 L2luY2x1ZGUvYXNtL2kzODcuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKQEAg LTI4MCw2ICsyODAsNDcgQEAgc3RhdGljIGlubGluZSBpbnQgcmVzdG9yZV9mcHVfY2hlY2tpbmco c3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB9CiAKIC8qCisgKiBTb2Z0d2FyZSBGUFUgc3RhdGUg aGVscGVycy4gQ2FyZWZ1bDogdGhlc2UgbmVlZCB0bworICogYmUgcHJlZW1wdGlvbiBwcm90ZWN0 aW9uICphbmQqIHRoZXkgbmVlZCB0byBiZQorICogcHJvcGVybHkgcGFpcmVkIHdpdGggdGhlIENS MC5UUyBjaGFuZ2VzIQorICovCitzdGF0aWMgaW5saW5lIGludCBfX3RocmVhZF9oYXNfZnB1KHN0 cnVjdCB0aHJlYWRfaW5mbyAqdGkpCit7CisgICByZXR1cm4gdGktPnN0YXR1cyAmIFRTX1VTRURG UFU7Cit9CisKKy8qIE11c3QgYmUgcGFpcmVkIHdpdGggYW4gJ3N0dHMnIGFmdGVyISAqLworc3Rh dGljIGlubGluZSB2b2lkIF9fdGhyZWFkX2NsZWFyX2hhc19mcHUoc3RydWN0IHRocmVhZF9pbmZv ICp0aSkKK3sKKyAgIHRpLT5zdGF0dXMgJj0gflRTX1VTRURGUFU7Cit9CisKKy8qIE11c3QgYmUg cGFpcmVkIHdpdGggYSAnY2x0cycgYmVmb3JlISAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdGhy ZWFkX3NldF9oYXNfZnB1KHN0cnVjdCB0aHJlYWRfaW5mbyAqdGkpCit7CisgICB0aS0+c3RhdHVz IHw9IFRTX1VTRURGUFU7Cit9CisKKy8qCisgKiBFbmNhcHN1bGF0ZSB0aGUgQ1IwLlRTIGhhbmRs aW5nIHRvZ2V0aGVyIHdpdGggdGhlCisgKiBzb2Z0d2FyZSBmbGFnLgorICoKKyAqIFRoZXNlIGdl bmVyYWxseSBuZWVkIHByZWVtcHRpb24gcHJvdGVjdGlvbiB0byB3b3JrLAorICogZG8gdHJ5IHRv IGF2b2lkIHVzaW5nIHRoZXNlIG9uIHRoZWlyIG93bi4KKyAqLworc3RhdGljIGlubGluZSB2b2lk IF9fdGhyZWFkX2ZwdV9lbmQoc3RydWN0IHRocmVhZF9pbmZvICp0aSkKK3sKKyAgIF9fdGhyZWFk X2NsZWFyX2hhc19mcHUodGkpOworICAgc3R0cygpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQg X190aHJlYWRfZnB1X2JlZ2luKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGkpCit7CisgICBjbHRzKCk7 CisgICBfX3RocmVhZF9zZXRfaGFzX2ZwdSh0aSk7Cit9CisKKy8qCiAgKiBTaWduYWwgZnJhbWUg aGFuZGxlcnMuLi4KICAqLwogZXh0ZXJuIGludCBzYXZlX2kzODdfeHN0YXRlKHZvaWQgX191c2Vy ICpidWYpOwpAQCAtMjg3LDIzICszMjgsMjEgQEAgZXh0ZXJuIGludCByZXN0b3JlX2kzODdfeHN0 YXRlKHZvaWQgX191c2VyICpidWYpOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgX191bmxhenlfZnB1 KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQogewotICAgaWYgKHRhc2tfdGhyZWFkX2luZm8odHNr KS0+c3RhdHVzICYgVFNfVVNFREZQVSkgeworICAgaWYgKF9fdGhyZWFkX2hhc19mcHUodGFza190 aHJlYWRfaW5mbyh0c2spKSkgewogICAgICAgIF9fc2F2ZV9pbml0X2ZwdSh0c2spOwotICAgICAg IHRhc2tfdGhyZWFkX2luZm8odHNrKS0+c3RhdHVzICY9IH5UU19VU0VERlBVOwotICAgICAgIHN0 dHMoKTsKKyAgICAgICBfX3RocmVhZF9mcHVfZW5kKHRhc2tfdGhyZWFkX2luZm8odHNrKSk7CiAg ICB9IGVsc2UKICAgICAgICB0c2stPmZwdV9jb3VudGVyID0gMDsKIH0KIAogc3RhdGljIGlubGlu ZSB2b2lkIF9fY2xlYXJfZnB1KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQogewotICAgaWYgKHRh c2tfdGhyZWFkX2luZm8odHNrKS0+c3RhdHVzICYgVFNfVVNFREZQVSkgeworICAgaWYgKF9fdGhy ZWFkX2hhc19mcHUodGFza190aHJlYWRfaW5mbyh0c2spKSkgewogICAgICAgIC8qIElnbm9yZSBk ZWxheWVkIGV4Y2VwdGlvbnMgZnJvbSB1c2VyIHNwYWNlICovCiAgICAgICAgYXNtIHZvbGF0aWxl KCIxOiBmd2FpdFxuIgogICAgICAgICAgICAgICAgICIyOlxuIgogICAgICAgICAgICAgICAgIF9B U01fRVhUQUJMRSgxYiwgMmIpKTsKLSAgICAgICB0YXNrX3RocmVhZF9pbmZvKHRzayktPnN0YXR1 cyAmPSB+VFNfVVNFREZQVTsKLSAgICAgICBzdHRzKCk7CisgICAgICAgX190aHJlYWRfZnB1X2Vu ZCh0YXNrX3RocmVhZF9pbmZvKHRzaykpOwogICAgfQogfQogCkBAIC0zMTEsMTQgKzM1MCwxNCBA QCBzdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2sp CiAgKiBXZXJlIHdlIGluIGFuIGludGVycnVwdCB0aGF0IGludGVycnVwdGVkIGtlcm5lbCBtb2Rl PwogICoKICAqIFdlIGNhbiBkbyBhIGtlcm5lbF9mcHVfYmVnaW4vZW5kKCkgcGFpciAqT05MWSog aWYgdGhhdAotICogcGFpciBkb2VzIG5vdGhpbmcgYXQgYWxsOiBUU19VU0VERlBVIG11c3QgYmUg Y2xlYXIgKHNvCisgKiBwYWlyIGRvZXMgbm90aGluZyBhdCBhbGw6IHRoZSB0aHJlYWQgbXVzdCBu b3QgaGF2ZSBmcHUgKHNvCiAgKiB0aGF0IHdlIGRvbid0IHRyeSB0byBzYXZlIHRoZSBGUFUgc3Rh dGUpLCBhbmQgVFMgbXVzdAogICogYmUgc2V0IChzbyB0aGF0IHRoZSBjbHRzL3N0dHMgcGFpciBk b2VzIG5vdGhpbmcgdGhhdCBpcwogICogdmlzaWJsZSBpbiB0aGUgaW50ZXJydXB0ZWQga2VybmVs IHRocmVhZCkuCiAgKi8KIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlcnJ1cHRlZF9rZXJuZWxfZnB1 X2lkbGUodm9pZCkKIHsKLSAgIHJldHVybiAhKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVz ICYgVFNfVVNFREZQVSkgJiYKKyAgIHJldHVybiAhX190aHJlYWRfaGFzX2ZwdShjdXJyZW50X3Ro cmVhZF9pbmZvKCkpICYmCiAgICAgICAgKHJlYWRfY3IwKCkgJiBYODZfQ1IwX1RTKTsKIH0KIApA QCAtMzU2LDkgKzM5NSw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBrZXJuZWxfZnB1X2JlZ2luKHZv aWQpCiAKICAgIFdBUk5fT05fT05DRSghaXJxX2ZwdV91c2FibGUoKSk7CiAgICBwcmVlbXB0X2Rp c2FibGUoKTsKLSAgIGlmIChtZS0+c3RhdHVzICYgVFNfVVNFREZQVSkgeworICAgaWYgKF9fdGhy ZWFkX2hhc19mcHUobWUpKSB7CiAgICAgICAgX19zYXZlX2luaXRfZnB1KG1lLT50YXNrKTsKLSAg ICAgICBtZS0+c3RhdHVzICY9IH5UU19VU0VERlBVOworICAgICAgIF9fdGhyZWFkX2NsZWFyX2hh c19mcHUobWUpOwogICAgICAgIC8qIFdlIGRvICdzdHRzKCknIGluIGtlcm5lbF9mcHVfZW5kKCkg Ki8KICAgIH0gZWxzZQogICAgICAgIGNsdHMoKTsKQEAgLTQyMiwyNCArNDYxLDIxIEBAIHN0YXRp YyBpbmxpbmUgdm9pZCBpcnFfdHNfcmVzdG9yZShpbnQgVFNfc3RhdGUpCiAgKi8KIHN0YXRpYyBp bmxpbmUgaW50IHVzZXJfaGFzX2ZwdSh2b2lkKQogewotICAgcmV0dXJuIGN1cnJlbnRfdGhyZWFk X2luZm8oKS0+c3RhdHVzICYgVFNfVVNFREZQVTsKKyAgIHJldHVybiBfX3RocmVhZF9oYXNfZnB1 KGN1cnJlbnRfdGhyZWFkX2luZm8oKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1c2VyX2Zw dV9lbmQodm9pZCkKIHsKICAgIHByZWVtcHRfZGlzYWJsZSgpOwotICAgY3VycmVudF90aHJlYWRf aW5mbygpLT5zdGF0dXMgJj0gflRTX1VTRURGUFU7Ci0gICBzdHRzKCk7CisgICBfX3RocmVhZF9m cHVfZW5kKGN1cnJlbnRfdGhyZWFkX2luZm8oKSk7CiAgICBwcmVlbXB0X2VuYWJsZSgpOwogfQog CiBzdGF0aWMgaW5saW5lIHZvaWQgdXNlcl9mcHVfYmVnaW4odm9pZCkKIHsKICAgIHByZWVtcHRf ZGlzYWJsZSgpOwotICAgaWYgKCF1c2VyX2hhc19mcHUoKSkgewotICAgICAgIGNsdHMoKTsKLSAg ICAgICBjdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19VU0VERlBVOwotICAgfQor ICAgaWYgKCF1c2VyX2hhc19mcHUoKSkKKyAgICAgICBfX3RocmVhZF9mcHVfYmVnaW4oY3VycmVu dF90aHJlYWRfaW5mbygpKTsKICAgIHByZWVtcHRfZW5hYmxlKCk7CiB9CiAKQEAgLTQ0OCwxMSAr NDg0LDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1c2VyX2ZwdV9iZWdpbih2b2lkKQogICovCiBz dGF0aWMgaW5saW5lIHZvaWQgc2F2ZV9pbml0X2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykK IHsKLSAgIFdBUk5fT05fT05DRSghKHRhc2tfdGhyZWFkX2luZm8odHNrKS0+c3RhdHVzICYgVFNf VVNFREZQVSkpOworICAgV0FSTl9PTl9PTkNFKCFfX3RocmVhZF9oYXNfZnB1KHRhc2tfdGhyZWFk X2luZm8odHNrKSkpOwogICAgcHJlZW1wdF9kaXNhYmxlKCk7CiAgICBfX3NhdmVfaW5pdF9mcHUo dHNrKTsKLSAgIHRhc2tfdGhyZWFkX2luZm8odHNrKS0+c3RhdHVzICY9IH5UU19VU0VERlBVOwot ICAgc3R0cygpOworICAgX190aHJlYWRfZnB1X2VuZCh0YXNrX3RocmVhZF9pbmZvKHRzaykpOwog ICAgcHJlZW1wdF9lbmFibGUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Ry YXBzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYwppbmRleCA5ODI0MzNiLi5mYzY3NmU0IDEw MDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwv dHJhcHMuYwpAQCAtNTg4LDcgKzU4OCw3IEBAIHZvaWQgX19tYXRoX3N0YXRlX3Jlc3RvcmUodm9p ZCkKICAgICAgICByZXR1cm47CiAgICB9CiAKLSAgIHRocmVhZC0+c3RhdHVzIHw9IFRTX1VTRURG UFU7ICAgLyogU28gd2UgZm5zYXZlIG9uIHN3aXRjaF90bygpICovCisgICBfX3RocmVhZF9zZXRf aGFzX2ZwdSh0aHJlYWQpOyAgIC8qIGNsdHMgaW4gY2FsbGVyISAqLwogICAgdHNrLT5mcHVfY291 bnRlcisrOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwveHNhdmUuYyBiL2FyY2gv eDg2L2tlcm5lbC94c2F2ZS5jCmluZGV4IDg2ZjFmMDkuLmEwYmNkMGQgMTAwNjQ0Ci0tLSBhL2Fy Y2gveDg2L2tlcm5lbC94c2F2ZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC94c2F2ZS5jCkBAIC00 Nyw3ICs0Nyw3IEBAIHZvaWQgX19zYW5pdGl6ZV9pMzg3X3N0YXRlKHN0cnVjdCB0YXNrX3N0cnVj dCAqdHNrKQogICAgaWYgKCFmeCkKICAgICAgICByZXR1cm47CiAKLSAgIEJVR19PTih0YXNrX3Ro cmVhZF9pbmZvKHRzayktPnN0YXR1cyAmIFRTX1VTRURGUFUpOworICAgQlVHX09OKF9fdGhyZWFk X2hhc19mcHUodGFza190aHJlYWRfaW5mbyh0c2spKSk7CiAKICAgIHhzdGF0ZV9idiA9IHRzay0+ dGhyZWFkLmZwdS5zdGF0ZS0+eHNhdmUueHNhdmVfaGRyLnhzdGF0ZV9idjsKIApkaWZmIC0tZ2l0 IGEvYXJjaC94ODYva3ZtL3ZteC5jIGIvYXJjaC94ODYva3ZtL3ZteC5jCmluZGV4IGQyOTIxNmMu LjM2MDkxZGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2t2bS92bXguYworKysgYi9hcmNoL3g4Ni9r dm0vdm14LmMKQEAgLTE0NTcsNyArMTQ1Nyw3IEBAIHN0YXRpYyB2b2lkIF9fdm14X2xvYWRfaG9z dF9zdGF0ZShzdHJ1Y3QgdmNwdV92bXggKnZteCkKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAgICB3 cm1zcmwoTVNSX0tFUk5FTF9HU19CQVNFLCB2bXgtPm1zcl9ob3N0X2tlcm5lbF9nc19iYXNlKTsK ICNlbmRpZgotICAgaWYgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICYgVFNfVVNFREZQ VSkKKyAgIGlmIChfX3RocmVhZF9oYXNfZnB1KGN1cnJlbnRfdGhyZWFkX2luZm8oKSkpCiAgICAg ICAgY2x0cygpOwogICAgbG9hZF9nZHQoJl9fZ2V0X2NwdV92YXIoaG9zdF9nZHQpKTsKIH0KLS0g CjEuNy42LjUKCg== --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-9.diff Content-Disposition: attachment; filename=fpu-patch-9.diff IGFyY2gveDg2L2luY2x1ZGUvYXNtL2kzODcuaCAgICAgICAgfCAgIDQ0ICsrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgg ICB8ICAgIDEgKwogYXJjaC94ODYvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaCB8ICAgIDIgLQog YXJjaC94ODYva2VybmVsL3RyYXBzLmMgICAgICAgICAgICB8ICAgMTEgKysrKy0tLS0tCiBhcmNo L3g4Ni9rZXJuZWwveHNhdmUuYyAgICAgICAgICAgIHwgICAgMiArLQogYXJjaC94ODYva3ZtL3Zt eC5jICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0 aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9h c20vaTM4Ny5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oCmluZGV4IDAxYjExNWQ4Njc3 MC4uZjUzNzY2NzZmODljIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgK KysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oCkBAIC0yNjQsMjEgKzI2NCwyMSBAQCBz dGF0aWMgaW5saW5lIGludCByZXN0b3JlX2ZwdV9jaGVja2luZyhzdHJ1Y3QgdGFza19zdHJ1Y3Qg KnRzaykKICAqIGJlIHByZWVtcHRpb24gcHJvdGVjdGlvbiAqYW5kKiB0aGV5IG5lZWQgdG8gYmUK ICAqIHByb3Blcmx5IHBhaXJlZCB3aXRoIHRoZSBDUjAuVFMgY2hhbmdlcyEKICAqLwotc3RhdGlj IGlubGluZSBpbnQgX190aHJlYWRfaGFzX2ZwdShzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpKQorc3Rh dGljIGlubGluZSBpbnQgX190aHJlYWRfaGFzX2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykK IHsKLQlyZXR1cm4gdGktPnN0YXR1cyAmIFRTX1VTRURGUFU7CisJcmV0dXJuIHRzay0+dGhyZWFk Lmhhc19mcHU7CiB9CiAKIC8qIE11c3QgYmUgcGFpcmVkIHdpdGggYW4gJ3N0dHMnIGFmdGVyISAq Lwotc3RhdGljIGlubGluZSB2b2lkIF9fdGhyZWFkX2NsZWFyX2hhc19mcHUoc3RydWN0IHRocmVh ZF9pbmZvICp0aSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3RocmVhZF9jbGVhcl9oYXNfZnB1KHN0 cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQogewotCXRpLT5zdGF0dXMgJj0gflRTX1VTRURGUFU7CisJ dHNrLT50aHJlYWQuaGFzX2ZwdSA9IDA7CiB9CiAKIC8qIE11c3QgYmUgcGFpcmVkIHdpdGggYSAn Y2x0cycgYmVmb3JlISAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fdGhyZWFkX3NldF9oYXNfZnB1 KHN0cnVjdCB0aHJlYWRfaW5mbyAqdGkpCitzdGF0aWMgaW5saW5lIHZvaWQgX190aHJlYWRfc2V0 X2hhc19mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7Ci0JdGktPnN0YXR1cyB8PSBUU19V U0VERlBVOworCXRzay0+dGhyZWFkLmhhc19mcHUgPSAxOwogfQogCiAvKgpAQCAtMjg4LDE2ICsy ODgsMTYgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fdGhyZWFkX3NldF9oYXNfZnB1KHN0cnVjdCB0 aHJlYWRfaW5mbyAqdGkpCiAgKiBUaGVzZSBnZW5lcmFsbHkgbmVlZCBwcmVlbXB0aW9uIHByb3Rl Y3Rpb24gdG8gd29yaywKICAqIGRvIHRyeSB0byBhdm9pZCB1c2luZyB0aGVzZSBvbiB0aGVpciBv d24uCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3RocmVhZF9mcHVfZW5kKHN0cnVjdCB0aHJl YWRfaW5mbyAqdGkpCitzdGF0aWMgaW5saW5lIHZvaWQgX190aHJlYWRfZnB1X2VuZChzdHJ1Y3Qg dGFza19zdHJ1Y3QgKnRzaykKIHsKLQlfX3RocmVhZF9jbGVhcl9oYXNfZnB1KHRpKTsKKwlfX3Ro cmVhZF9jbGVhcl9oYXNfZnB1KHRzayk7CiAJc3R0cygpOwogfQogCi1zdGF0aWMgaW5saW5lIHZv aWQgX190aHJlYWRfZnB1X2JlZ2luKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGkpCitzdGF0aWMgaW5s aW5lIHZvaWQgX190aHJlYWRfZnB1X2JlZ2luKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQogewog CWNsdHMoKTsKLQlfX3RocmVhZF9zZXRfaGFzX2ZwdSh0aSk7CisJX190aHJlYWRfc2V0X2hhc19m cHUodHNrKTsKIH0KIAogLyoKQEAgLTMwOCwyMSArMzA4LDIxIEBAIGV4dGVybiBpbnQgcmVzdG9y ZV9pMzg3X3hzdGF0ZSh2b2lkIF9fdXNlciAqYnVmKTsKIAogc3RhdGljIGlubGluZSB2b2lkIF9f dW5sYXp5X2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKIHsKLQlpZiAoX190aHJlYWRfaGFz X2ZwdSh0YXNrX3RocmVhZF9pbmZvKHRzaykpKSB7CisJaWYgKF9fdGhyZWFkX2hhc19mcHUodHNr KSkgewogCQlfX3NhdmVfaW5pdF9mcHUodHNrKTsKLQkJX190aHJlYWRfZnB1X2VuZCh0YXNrX3Ro cmVhZF9pbmZvKHRzaykpOworCQlfX3RocmVhZF9mcHVfZW5kKHRzayk7CiAJfSBlbHNlCiAJCXRz ay0+ZnB1X2NvdW50ZXIgPSAwOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9mcHUo c3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7Ci0JaWYgKF9fdGhyZWFkX2hhc19mcHUodGFza190 aHJlYWRfaW5mbyh0c2spKSkgeworCWlmIChfX3RocmVhZF9oYXNfZnB1KHRzaykpIHsKIAkJLyog SWdub3JlIGRlbGF5ZWQgZXhjZXB0aW9ucyBmcm9tIHVzZXIgc3BhY2UgKi8KIAkJYXNtIHZvbGF0 aWxlKCIxOiBmd2FpdFxuIgogCQkJICAgICAiMjpcbiIKIAkJCSAgICAgX0FTTV9FWFRBQkxFKDFi LCAyYikpOwotCQlfX3RocmVhZF9mcHVfZW5kKHRhc2tfdGhyZWFkX2luZm8odHNrKSk7CisJCV9f dGhyZWFkX2ZwdV9lbmQodHNrKTsKIAl9CiB9CiAKQEAgLTMzNyw3ICszMzcsNyBAQCBzdGF0aWMg aW5saW5lIHZvaWQgX19jbGVhcl9mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiAgKi8KIHN0 YXRpYyBpbmxpbmUgYm9vbCBpbnRlcnJ1cHRlZF9rZXJuZWxfZnB1X2lkbGUodm9pZCkKIHsKLQly ZXR1cm4gIV9fdGhyZWFkX2hhc19mcHUoY3VycmVudF90aHJlYWRfaW5mbygpKSAmJgorCXJldHVy biAhX190aHJlYWRfaGFzX2ZwdShjdXJyZW50KSAmJgogCQkocmVhZF9jcjAoKSAmIFg4Nl9DUjBf VFMpOwogfQogCkBAIC0zNzEsMTIgKzM3MSwxMiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXJxX2Zw dV91c2FibGUodm9pZCkKIAogc3RhdGljIGlubGluZSB2b2lkIGtlcm5lbF9mcHVfYmVnaW4odm9p ZCkKIHsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKm1lID0gY3VycmVudF90aHJlYWRfaW5mbygpOwor CXN0cnVjdCB0YXNrX3N0cnVjdCAqbWUgPSBjdXJyZW50OwogCiAJV0FSTl9PTl9PTkNFKCFpcnFf ZnB1X3VzYWJsZSgpKTsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAlpZiAoX190aHJlYWRfaGFzX2Zw dShtZSkpIHsKLQkJX19zYXZlX2luaXRfZnB1KG1lLT50YXNrKTsKKwkJX19zYXZlX2luaXRfZnB1 KG1lKTsKIAkJX190aHJlYWRfY2xlYXJfaGFzX2ZwdShtZSk7CiAJCS8qIFdlIGRvICdzdHRzKCkn IGluIGtlcm5lbF9mcHVfZW5kKCkgKi8KIAl9IGVsc2UKQEAgLTQ0MSwxMyArNDQxLDEzIEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCBpcnFfdHNfcmVzdG9yZShpbnQgVFNfc3RhdGUpCiAgKi8KIHN0YXRp YyBpbmxpbmUgaW50IHVzZXJfaGFzX2ZwdSh2b2lkKQogewotCXJldHVybiBfX3RocmVhZF9oYXNf ZnB1KGN1cnJlbnRfdGhyZWFkX2luZm8oKSk7CisJcmV0dXJuIF9fdGhyZWFkX2hhc19mcHUoY3Vy cmVudCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1c2VyX2ZwdV9lbmQodm9pZCkKIHsKIAlw cmVlbXB0X2Rpc2FibGUoKTsKLQlfX3RocmVhZF9mcHVfZW5kKGN1cnJlbnRfdGhyZWFkX2luZm8o KSk7CisJX190aHJlYWRfZnB1X2VuZChjdXJyZW50KTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQog CkBAIC00NTUsNyArNDU1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHVzZXJfZnB1X2JlZ2luKHZv aWQpCiB7CiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAJaWYgKCF1c2VyX2hhc19mcHUoKSkKLQkJX190 aHJlYWRfZnB1X2JlZ2luKGN1cnJlbnRfdGhyZWFkX2luZm8oKSk7CisJCV9fdGhyZWFkX2ZwdV9i ZWdpbihjdXJyZW50KTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCkBAIC00NjQsMTAgKzQ2NCwx MCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdXNlcl9mcHVfYmVnaW4odm9pZCkKICAqLwogc3RhdGlj IGlubGluZSB2b2lkIHNhdmVfaW5pdF9mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7Ci0J V0FSTl9PTl9PTkNFKCFfX3RocmVhZF9oYXNfZnB1KHRhc2tfdGhyZWFkX2luZm8odHNrKSkpOwor CVdBUk5fT05fT05DRSghX190aHJlYWRfaGFzX2ZwdSh0c2spKTsKIAlwcmVlbXB0X2Rpc2FibGUo KTsKIAlfX3NhdmVfaW5pdF9mcHUodHNrKTsKLQlfX3RocmVhZF9mcHVfZW5kKHRhc2tfdGhyZWFk X2luZm8odHNrKSk7CisJX190aHJlYWRfZnB1X2VuZCh0c2spOwogCXByZWVtcHRfZW5hYmxlKCk7 CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIGIvYXJj aC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKaW5kZXggYWE5MDg4YzI2OTMxLi5mN2M4OWUy MzFjNmMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCisrKyBi L2FyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCkBAIC00NTQsNiArNDU0LDcgQEAgc3Ry dWN0IHRocmVhZF9zdHJ1Y3QgewogCXVuc2lnbmVkIGxvbmcJCXRyYXBfbm87CiAJdW5zaWduZWQg bG9uZwkJZXJyb3JfY29kZTsKIAkvKiBmbG9hdGluZyBwb2ludCBhbmQgZXh0ZW5kZWQgcHJvY2Vz c29yIHN0YXRlICovCisJdW5zaWduZWQgbG9uZwkJaGFzX2ZwdTsKIAlzdHJ1Y3QgZnB1CQlmcHU7 CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCS8qIFZpcnR1YWwgODYgbW9kZSBpbmZvICovCmRpZmYg LS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oIGIvYXJjaC94ODYvaW5j bHVkZS9hc20vdGhyZWFkX2luZm8uaAppbmRleCBiYzgxN2NkOGI0NDMuLmNmZDgxNDRkNTUyNyAx MDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAorKysgYi9hcmNo L3g4Ni9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oCkBAIC0yNDcsOCArMjQ3LDYgQEAgc3RhdGlj IGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKmN1cnJlbnRfdGhyZWFkX2luZm8odm9pZCkKICAq IGV2ZXIgdG91Y2hlcyBvdXIgdGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cywgc28gd2UgZG9uJ3QK ICAqIGhhdmUgdG8gd29ycnkgYWJvdXQgYXRvbWljIGFjY2Vzc2VzLgogICovCi0jZGVmaW5lIFRT X1VTRURGUFUJCTB4MDAwMQkvKiBGUFUgd2FzIHVzZWQgYnkgdGhpcyB0YXNrCi0JCQkJCSAgIHRo aXMgcXVhbnR1bSAoU01QKSAqLwogI2RlZmluZSBUU19DT01QQVQJCTB4MDAwMgkvKiAzMmJpdCBz eXNjYWxsIGFjdGl2ZSAoNjRCSVQpKi8KICNkZWZpbmUgVFNfUE9MTElORwkJMHgwMDA0CS8qIGlk bGUgdGFzayBwb2xsaW5nIG5lZWRfcmVzY2hlZCwKIAkJCQkJICAgc2tpcCBzZW5kaW5nIGludGVy cnVwdCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMgYi9hcmNoL3g4Ni9r ZXJuZWwvdHJhcHMuYwppbmRleCA0ZDQyMzAwZGNkMmMuLmFkMjVlNTFmNDBjNCAxMDA2NDQKLS0t IGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RyYXBzLmMK QEAgLTU4MiwxMiArNTgyLDExIEBAIGFzbWxpbmthZ2Ugdm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFr KSkgc21wX3RocmVzaG9sZF9pbnRlcnJ1cHQodm9pZCkKICAqLwogdm9pZCBtYXRoX3N0YXRlX3Jl c3RvcmUodm9pZCkKIHsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRocmVhZCA9IGN1cnJlbnRfdGhy ZWFkX2luZm8oKTsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IHRocmVhZC0+dGFzazsKKwlz dHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7CiAKIAkvKiBXZSBuZWVkIGEgc2FmZSBh ZGRyZXNzIHRoYXQgaXMgY2hlYXAgdG8gZmluZCBhbmQgdGhhdCBpcyBhbHJlYWR5Ci0JICAgaW4g TDEuIFdlIGp1c3QgYnJvdWdodCBpbiAidGhyZWFkLT50YXNrIiwgc28gdXNlIHRoYXQgKi8KLSNk ZWZpbmUgc2FmZV9hZGRyZXNzICh0aHJlYWQtPnRhc2spCisJICAgaW4gTDEuIFdlJ3JlIGp1c3Qg YnJpbmdpbmcgaW4gInRzay0+dGhyZWFkLmhhc19mcHUiLCBzbyB1c2UgdGhhdCAqLworI2RlZmlu ZSBzYWZlX2FkZHJlc3MgKHRzay0+dGhyZWFkLmhhc19mcHUpCiAKIAlpZiAoIXRza191c2VkX21h dGgodHNrKSkgewogCQlsb2NhbF9pcnFfZW5hYmxlKCk7CkBAIC02MDQsNyArNjAzLDcgQEAgdm9p ZCBtYXRoX3N0YXRlX3Jlc3RvcmUodm9pZCkKIAkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAl9CiAK LQlfX3RocmVhZF9mcHVfYmVnaW4odGhyZWFkKTsKKwlfX3RocmVhZF9mcHVfYmVnaW4odHNrKTsK IAogCS8qIEFNRCBLNy9LOCBDUFVzIGRvbid0IHNhdmUvcmVzdG9yZSBGRFAvRklQL0ZPUCB1bmxl c3MgYW4gZXhjZXB0aW9uCiAJICAgaXMgcGVuZGluZy4gIENsZWFyIHRoZSB4ODcgc3RhdGUgaGVy ZSBieSBzZXR0aW5nIGl0IHRvIGZpeGVkCkBAIC02MjAsNyArNjE5LDcgQEAgdm9pZCBtYXRoX3N0 YXRlX3Jlc3RvcmUodm9pZCkKIAkgKiBQYXJhbm9pZCByZXN0b3JlLiBzZW5kIGEgU0lHU0VHViBp ZiB3ZSBmYWlsIHRvIHJlc3RvcmUgdGhlIHN0YXRlLgogCSAqLwogCWlmICh1bmxpa2VseShyZXN0 b3JlX2ZwdV9jaGVja2luZyh0c2spKSkgewotCQlfX3RocmVhZF9mcHVfZW5kKHRocmVhZCk7CisJ CV9fdGhyZWFkX2ZwdV9lbmQodHNrKTsKIAkJZm9yY2Vfc2lnKFNJR1NFR1YsIHRzayk7CiAJCXJl dHVybjsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwveHNhdmUuYyBiL2FyY2gveDg2 L2tlcm5lbC94c2F2ZS5jCmluZGV4IGEwYmNkMGRiYzk1MS4uNzExMDkxMTE0MTE5IDEwMDY0NAot LS0gYS9hcmNoL3g4Ni9rZXJuZWwveHNhdmUuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwveHNhdmUu YwpAQCAtNDcsNyArNDcsNyBAQCB2b2lkIF9fc2FuaXRpemVfaTM4N19zdGF0ZShzdHJ1Y3QgdGFz a19zdHJ1Y3QgKnRzaykKIAlpZiAoIWZ4KQogCQlyZXR1cm47CiAKLQlCVUdfT04oX190aHJlYWRf aGFzX2ZwdSh0YXNrX3RocmVhZF9pbmZvKHRzaykpKTsKKwlCVUdfT04oX190aHJlYWRfaGFzX2Zw dSh0c2spKTsKIAogCXhzdGF0ZV9idiA9IHRzay0+dGhyZWFkLmZwdS5zdGF0ZS0+eHNhdmUueHNh dmVfaGRyLnhzdGF0ZV9idjsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3ZteC5jIGIvYXJj aC94ODYva3ZtL3ZteC5jCmluZGV4IDM2MDkxZGQwNGI0Yi4uM2I0YzhkOGFkOTA2IDEwMDY0NAot LS0gYS9hcmNoL3g4Ni9rdm0vdm14LmMKKysrIGIvYXJjaC94ODYva3ZtL3ZteC5jCkBAIC0xNDU3 LDcgKzE0NTcsNyBAQCBzdGF0aWMgdm9pZCBfX3ZteF9sb2FkX2hvc3Rfc3RhdGUoc3RydWN0IHZj cHVfdm14ICp2bXgpCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogCXdybXNybChNU1JfS0VSTkVMX0dT X0JBU0UsIHZteC0+bXNyX2hvc3Rfa2VybmVsX2dzX2Jhc2UpOwogI2VuZGlmCi0JaWYgKF9fdGhy ZWFkX2hhc19mcHUoY3VycmVudF90aHJlYWRfaW5mbygpKSkKKwlpZiAoX190aHJlYWRfaGFzX2Zw dShjdXJyZW50KSkKIAkJY2x0cygpOwogCWxvYWRfZ2R0KCZfX2dldF9jcHVfdmFyKGhvc3RfZ2R0 KSk7CiB9Cg== --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-81.diff Content-Disposition: attachment; filename=fpu-patch-81.diff RnJvbSBiM2IwODcwZWYzZmZlZDcyYjkyNDE1NDIzZGE4NjRmNDQwZjU3YWQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFRodSwgMTYgRmViIDIwMTIgMTU6NDU6MjMgLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBkbyBub3QgcHJlbG9hZCBGUFUgc3RhdGUgYXQgdGFzayBzd2l0Y2ggdGlt ZQoKWWVzLCB0YWtpbmcgdGhlIHRyYXAgdG8gcmUtbG9hZCB0aGUgRlBVL01NWCBzdGF0ZSBpcyBl eHBlbnNpdmUsIGJ1dCBzbwppcyBzcGVuZGluZyBzZXZlcmFsIGRheXMgbG9va2luZyBmb3IgYSBi dWcgaW4gdGhlIHN0YXRlIHNhdmUvcmVzdG9yZQpjb2RlLiAgQW5kIHRoZSBwcmVsb2FkIGNvZGUg aGFzIHNvbWUgcmF0aGVyIHN1YnRsZSBpbnRlcmFjdGlvbnMgd2l0aApib3RoIHBhcmF2aXJ0dWFs aXphdGlvbiBzdXBwb3J0IGFuZCBzZWdtZW50IHN0YXRlIHJlc3RvcmUsIHNvIGl0J3Mgbm90Cm5l YXJseSBhcyBzaW1wbGUgYXMgaXQgc2hvdWxkIGJlLgoKQWxzbywgbm93IHRoYXQgd2Ugbm8gbG9u Z2VyIG5lY2Vzc2FyaWx5IGRlcGVuZCBvbiBhIHNpbmdsZSBiaXQgKGllClRTX1VTRURGUFUpIGZv ciBrZWVwaW5nIHRyYWNrIG9mIHRoZSBzdGF0ZSBvZiB0aGUgRlBVLCB3ZSBtaWd0aCBiZSBhYmxl CnRvIGRvIGJldHRlci4gIElmIHdlIGFyZSByZWFsbHkgc3dpdGNoaW5nIGJldHdlZW4gdHdvIHBy b2Nlc3NlcyB0aGF0CmtlZXAgdG91Y2hpbmcgdGhlIEZQIHN0YXRlLCBzYXZlL3Jlc3RvcmUgaXMg aW5ldml0YWJsZSwgYnV0IGluIHRoZSBjYXNlCm9mIGhhdmluZyBvbmUgcHJvY2VzcyB0aGF0IGRv ZXMgbW9zdCBvZiB0aGUgRlBVIHVzYWdlLCB3ZSBtYXkgYWN0dWFsbHkKYmUgYWJsZSB0byBkbyBt dWNoIGJldHRlciB0aGFuIHRoZSBwcmVsb2FkaW5nLgoKSW4gcGFydGljdWxhciwgd2UgbWF5IGJl IGFibGUgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBDUFUgdGhlIHByb2Nlc3MgcmFuCm9uIGxhc3Qs IGFuZCBhbHNvIHBlciBDUFUga2VlcCB0cmFjayBvZiB3aGljaCBwcm9jZXNzJyBGUCBzdGF0ZSB0 aGF0IENQVQpoYXMuICBGb3IgbW9kZXJuIENQVSdzIHRoYXQgZG9uJ3QgZGVzdHJveSB0aGUgRlBV IGNvbnRlbnRzIG9uIHNhdmUgdGltZSwKdGhhdCB3b3VsZCBhbGxvdyB1cyB0byBkbyBhIGxhenkg cmVzdG9yZSBieSBqdXN0IHJlLWVuYWJsaW5nIHRoZQpleGlzdGluZyBGUFUgc3RhdGUgLSB3aXRo IG5vIHJlc3RvcmUgY29zdCBhdCBhbGwhCgpTaWduZWQtb2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8 dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20v aTM4Ny5oICB8ICAgIDEgLQogYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYyB8ICAgMjAgLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGFyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMgfCAgIDIzIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYyAgICAgIHwgICAz NSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCA2OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9p bmNsdWRlL2FzbS9pMzg3LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKaW5kZXggNTQ4 YjJjMC4uODY5NzRjNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oCisr KyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2kzODcuaApAQCAtMzAsNyArMzAsNiBAQCBleHRlcm4g dm9pZCBmcHVfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIG14Y3NyX2ZlYXR1cmVfbWFza19pbml0 KHZvaWQpOwogZXh0ZXJuIGludCBpbml0X2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsK IGV4dGVybiB2b2lkIG1hdGhfc3RhdGVfcmVzdG9yZSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fbWF0 aF9zdGF0ZV9yZXN0b3JlKHZvaWQpOwogZXh0ZXJuIGludCBkdW1wX2ZwdShzdHJ1Y3QgcHRfcmVn cyAqLCBzdHJ1Y3QgdXNlcl9pMzg3X3N0cnVjdCAqKTsKIAogZXh0ZXJuIHVzZXJfcmVnc2V0X2Fj dGl2ZV9mbiBmcHJlZ3NfYWN0aXZlLCB4ZnByZWdzX2FjdGl2ZTsKZGlmZiAtLWdpdCBhL2FyY2gv eDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jCmlu ZGV4IDQ4NTIwNGYuLjMyNGNkNzIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNz XzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwpAQCAtMjk5LDIzICsyOTks MTEgQEAgX19zd2l0Y2hfdG8oc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2X3AsIHN0cnVjdCB0YXNr X3N0cnVjdCAqbmV4dF9wKQogICAgICAgICAgICAgICAgICpuZXh0ID0gJm5leHRfcC0+dGhyZWFk OwogICAgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKICAgIHN0cnVjdCB0c3Nfc3RydWN0 ICp0c3MgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1KTsKLSAgIGJvb2wgcHJlbG9hZF9mcHU7CiAK ICAgIC8qIG5ldmVyIHB1dCBhIHByaW50ayBpbiBfX3N3aXRjaF90by4uLiBwcmludGsoKSBjYWxs cyB3YWtlX3VwKigpIGluZGlyZWN0bHkgKi8KIAotICAgLyoKLSAgICAqIElmIHRoZSB0YXNrIGhh cyB1c2VkIGZwdSB0aGUgbGFzdCA1IHRpbWVzbGljZXMsIGp1c3QgZG8gYSBmdWxsCi0gICAgKiBy ZXN0b3JlIG9mIHRoZSBtYXRoIHN0YXRlIGltbWVkaWF0ZWx5IHRvIGF2b2lkIHRoZSB0cmFwOyB0 aGUKLSAgICAqIGNoYW5jZXMgb2YgbmVlZGluZyBGUFUgc29vbiBhcmUgb2J2aW91c2x5IGhpZ2gg bm93Ci0gICAgKi8KLSAgIHByZWxvYWRfZnB1ID0gdHNrX3VzZWRfbWF0aChuZXh0X3ApICYmIG5l eHRfcC0+ZnB1X2NvdW50ZXIgPiA1OwotCiAgICBfX3VubGF6eV9mcHUocHJldl9wKTsKIAotICAg Lyogd2UncmUgZ29pbmcgdG8gdXNlIHRoaXMgc29vbiwgYWZ0ZXIgYSBmZXcgZXhwZW5zaXZlIHRo aW5ncyAqLwotICAgaWYgKHByZWxvYWRfZnB1KQotICAgICAgIHByZWZldGNoKG5leHQtPmZwdS5z dGF0ZSk7Ci0KICAgIC8qCiAgICAgKiBSZWxvYWQgZXNwMC4KICAgICAqLwpAQCAtMzU0LDExICsz NDIsNiBAQCBfX3N3aXRjaF90byhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXZfcCwgc3RydWN0IHRh c2tfc3RydWN0ICpuZXh0X3ApCiAgICAgICAgICAgICB0YXNrX3RocmVhZF9pbmZvKG5leHRfcCkt PmZsYWdzICYgX1RJRl9XT1JLX0NUWFNXX05FWFQpKQogICAgICAgIF9fc3dpdGNoX3RvX3h0cmEo cHJldl9wLCBuZXh0X3AsIHRzcyk7CiAKLSAgIC8qIElmIHdlJ3JlIGdvaW5nIHRvIHByZWxvYWQg dGhlIGZwdSBjb250ZXh0LCBtYWtlIHN1cmUgY2x0cwotICAgICAgaXMgcnVuIHdoaWxlIHdlJ3Jl IGJhdGNoaW5nIHRoZSBjcHUgc3RhdGUgdXBkYXRlcy4gKi8KLSAgIGlmIChwcmVsb2FkX2ZwdSkK LSAgICAgICBjbHRzKCk7Ci0KICAgIC8qCiAgICAgKiBMZWF2ZSBsYXp5IG1vZGUsIGZsdXNoaW5n IGFueSBoeXBlcmNhbGxzIG1hZGUgaGVyZS4KICAgICAqIFRoaXMgbXVzdCBiZSBkb25lIGJlZm9y ZSByZXN0b3JpbmcgVExTIHNlZ21lbnRzIHNvCkBAIC0zNjgsOSArMzUxLDYgQEAgX19zd2l0Y2hf dG8oc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2X3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dF9w KQogICAgICovCiAgICBhcmNoX2VuZF9jb250ZXh0X3N3aXRjaChuZXh0X3ApOwogCi0gICBpZiAo cHJlbG9hZF9mcHUpCi0gICAgICAgX19tYXRoX3N0YXRlX3Jlc3RvcmUoKTsKLQogICAgLyoKICAg ICAqIFJlc3RvcmUgJWdzIGlmIG5lZWRlZCAod2hpY2ggaXMgY29tbW9uKQogICAgICovCmRpZmYg LS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jIGIvYXJjaC94ODYva2VybmVsL3By b2Nlc3NfNjQuYwppbmRleCA5YjlmZTRhLi45OTJiNGU1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9r ZXJuZWwvcHJvY2Vzc182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMKQEAg LTM4NiwxOCArMzg2LDYgQEAgX19zd2l0Y2hfdG8oc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2X3As IHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dF9wKQogICAgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3Jf aWQoKTsKICAgIHN0cnVjdCB0c3Nfc3RydWN0ICp0c3MgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1 KTsKICAgIHVuc2lnbmVkIGZzaW5kZXgsIGdzaW5kZXg7Ci0gICBib29sIHByZWxvYWRfZnB1Owot Ci0gICAvKgotICAgICogSWYgdGhlIHRhc2sgaGFzIHVzZWQgZnB1IHRoZSBsYXN0IDUgdGltZXNs aWNlcywganVzdCBkbyBhIGZ1bGwKLSAgICAqIHJlc3RvcmUgb2YgdGhlIG1hdGggc3RhdGUgaW1t ZWRpYXRlbHkgdG8gYXZvaWQgdGhlIHRyYXA7IHRoZQotICAgICogY2hhbmNlcyBvZiBuZWVkaW5n IEZQVSBzb29uIGFyZSBvYnZpb3VzbHkgaGlnaCBub3cKLSAgICAqLwotICAgcHJlbG9hZF9mcHUg PSB0c2tfdXNlZF9tYXRoKG5leHRfcCkgJiYgbmV4dF9wLT5mcHVfY291bnRlciA+IDU7Ci0KLSAg IC8qIHdlJ3JlIGdvaW5nIHRvIHVzZSB0aGlzIHNvb24sIGFmdGVyIGEgZmV3IGV4cGVuc2l2ZSB0 aGluZ3MgKi8KLSAgIGlmIChwcmVsb2FkX2ZwdSkKLSAgICAgICBwcmVmZXRjaChuZXh0LT5mcHUu c3RhdGUpOwogCiAgICAvKgogICAgICogUmVsb2FkIGVzcDAsIExEVCBhbmQgdGhlIHBhZ2UgdGFi bGUgcG9pbnRlcjoKQEAgLTQzMCwxMCArNDE4LDYgQEAgX19zd2l0Y2hfdG8oc3RydWN0IHRhc2tf c3RydWN0ICpwcmV2X3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dF9wKQogICAgLyogTXVzdCBi ZSBhZnRlciBEUyByZWxvYWQgKi8KICAgIF9fdW5sYXp5X2ZwdShwcmV2X3ApOwogCi0gICAvKiBN YWtlIHN1cmUgY3B1IGlzIHJlYWR5IGZvciBuZXcgY29udGV4dCAqLwotICAgaWYgKHByZWxvYWRf ZnB1KQotICAgICAgIGNsdHMoKTsKLQogICAgLyoKICAgICAqIExlYXZlIGxhenkgbW9kZSwgZmx1 c2hpbmcgYW55IGh5cGVyY2FsbHMgbWFkZSBoZXJlLgogICAgICogVGhpcyBtdXN0IGJlIGRvbmUg YmVmb3JlIHJlc3RvcmluZyBUTFMgc2VnbWVudHMgc28KQEAgLTQ5MiwxMyArNDc2LDYgQEAgX19z d2l0Y2hfdG8oc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2X3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAq bmV4dF9wKQogICAgICAgICAgICAgdGFza190aHJlYWRfaW5mbyhwcmV2X3ApLT5mbGFncyAmIF9U SUZfV09SS19DVFhTV19QUkVWKSkKICAgICAgICBfX3N3aXRjaF90b194dHJhKHByZXZfcCwgbmV4 dF9wLCB0c3MpOwogCi0gICAvKgotICAgICogUHJlbG9hZCB0aGUgRlBVIGNvbnRleHQsIG5vdyB0 aGF0IHdlJ3ZlIGRldGVybWluZWQgdGhhdCB0aGUKLSAgICAqIHRhc2sgaXMgbGlrZWx5IHRvIGJl IHVzaW5nIGl0LiAKLSAgICAqLwotICAgaWYgKHByZWxvYWRfZnB1KQotICAgICAgIF9fbWF0aF9z dGF0ZV9yZXN0b3JlKCk7Ci0KICAgIHJldHVybiBwcmV2X3A7CiB9CiAKZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L2tlcm5lbC90cmFwcy5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKaW5kZXggZmM2 NzZlNC4uNWFmZTgyNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKKysrIGIv YXJjaC94ODYva2VybmVsL3RyYXBzLmMKQEAgLTU3MSwyOCArNTcxLDYgQEAgYXNtbGlua2FnZSB2 b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBzbXBfdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKQog fQogCiAvKgotICogX19tYXRoX3N0YXRlX3Jlc3RvcmUgYXNzdW1lcyB0aGF0IGNyMC5UUyBpcyBh bHJlYWR5IGNsZWFyIGFuZCB0aGUKLSAqIGZwdSBzdGF0ZSBpcyBhbGwgcmVhZHkgZm9yIHVzZS4g IFVzZWQgZHVyaW5nIGNvbnRleHQgc3dpdGNoLgotICovCi12b2lkIF9fbWF0aF9zdGF0ZV9yZXN0 b3JlKHZvaWQpCi17Ci0gICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRocmVhZCA9IGN1cnJlbnRfdGhy ZWFkX2luZm8oKTsKLSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gdGhyZWFkLT50YXNrOwot Ci0gICAvKgotICAgICogUGFyYW5vaWQgcmVzdG9yZS4gc2VuZCBhIFNJR1NFR1YgaWYgd2UgZmFp bCB0byByZXN0b3JlIHRoZSBzdGF0ZS4KLSAgICAqLwotICAgaWYgKHVubGlrZWx5KHJlc3RvcmVf ZnB1X2NoZWNraW5nKHRzaykpKSB7Ci0gICAgICAgc3R0cygpOwotICAgICAgIGZvcmNlX3NpZyhT SUdTRUdWLCB0c2spOwotICAgICAgIHJldHVybjsKLSAgIH0KLQotICAgX190aHJlYWRfc2V0X2hh c19mcHUodGhyZWFkKTsgICAvKiBjbHRzIGluIGNhbGxlciEgKi8KLSAgIHRzay0+ZnB1X2NvdW50 ZXIrKzsKLX0KLQotLyoKICAqICdtYXRoX3N0YXRlX3Jlc3RvcmUoKScgc2F2ZXMgdGhlIGN1cnJl bnQgbWF0aCBpbmZvcm1hdGlvbiBpbiB0aGUKICAqIG9sZCBtYXRoIHN0YXRlIGFycmF5LCBhbmQg Z2V0cyB0aGUgbmV3IG9uZXMgZnJvbSB0aGUgY3VycmVudCB0YXNrCiAgKgpAQCAtNjIyLDkgKzYw MCwxOCBAQCB2b2lkIG1hdGhfc3RhdGVfcmVzdG9yZSh2b2lkKQogICAgICAgIGxvY2FsX2lycV9k aXNhYmxlKCk7CiAgICB9CiAKLSAgIGNsdHMoKTsgICAgICAgICAgICAgLyogQWxsb3cgbWF0aHMg b3BzIChvciB3ZSByZWN1cnNlKSAqLworICAgX190aHJlYWRfZnB1X2JlZ2luKHRocmVhZCk7CiAK LSAgIF9fbWF0aF9zdGF0ZV9yZXN0b3JlKCk7CisgICAvKgorICAgICogUGFyYW5vaWQgcmVzdG9y ZS4gc2VuZCBhIFNJR1NFR1YgaWYgd2UgZmFpbCB0byByZXN0b3JlIHRoZSBzdGF0ZS4KKyAgICAq LworICAgaWYgKHVubGlrZWx5KHJlc3RvcmVfZnB1X2NoZWNraW5nKHRzaykpKSB7CisgICAgICAg X190aHJlYWRfZnB1X2VuZCh0aHJlYWQpOworICAgICAgIGZvcmNlX3NpZyhTSUdTRUdWLCB0c2sp OworICAgICAgIHJldHVybjsKKyAgIH0KKworICAgdHNrLT5mcHVfY291bnRlcisrOwogfQogRVhQ T1JUX1NZTUJPTF9HUEwobWF0aF9zdGF0ZV9yZXN0b3JlKTsKIAotLSAKMS43LjYuNQoK --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-82.diff Content-Disposition: attachment; filename=fpu-patch-82.diff RnJvbSA0OTAzMDYyYjU0ODVmMGUyYzI4NmEyM2I0NGM5YjU5ZDliMDE3ZDUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFRodSwgMTYgRmViIDIwMTIgMTk6MTE6MTUgLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiBtb3ZlIEFNRCBLNy9LOCBmcHUgZnhzYXZlL2Z4cnN0b3Igd29ya2Fyb3Vu ZCBmcm9tIHNhdmUKIHRvIHJlc3RvcmUKClRoZSBBTUQgSzcvSzggQ1BVcyBkb24ndCBzYXZlL3Jl c3RvcmUgRkRQL0ZJUC9GT1AgdW5sZXNzIGFuIGV4Y2VwdGlvbiBpcwpwZW5kaW5nLiAgSW4gb3Jk ZXIgdG8gbm90IGxlYWsgRklQIHN0YXRlIGZyb20gb25lIHByb2Nlc3MgdG8gYW5vdGhlciwgd2UK bmVlZCB0byBkbyBhIGZsb2F0aW5nIHBvaW50IGxvYWQgYWZ0ZXIgdGhlIGZ4c2F2ZSBvZiB0aGUg b2xkIHByb2Nlc3MsCmFuZCBiZWZvcmUgdGhlIGZ4cnN0b3Igb2YgdGhlIG5ldyBGUFUgc3RhdGUu ICBUaGF0IHJlc2V0cyB0aGUgc3RhdGUgdG8KdGhlICh1bmludGVyZXN0aW5nKSBrZXJuZWwgbG9h ZCwgcmF0aGVyIHRoYW4gc29tZSBwb3RlbnRpYWxseSBzZW5zaXRpdmUKdXNlciBpbmZvcm1hdGlv bi4KCldlIHVzZWQgdG8gZG8gdGhpcyBkaXJlY3RseSBhZnRlciB0aGUgRlBVIHN0YXRlIHNhdmUs IGJ1dCB0aGF0IGlzCmFjdHVhbGx5IHZlcnkgaW5jb252ZW5pZW50LCBzaW5jZSBpdAoKIChhKSBj b3JydXB0cyB3aGF0IGlzIHBvdGVudGlhbGx5IHBlcmZlY3RseSBnb29kIEZQVSBzdGF0ZSB0aGF0 IHdlIG1pZ2h0CiAgICAgd2FudCB0byBsYXp5IGF2b2lkIHJlc3RvcmluZyBsYXRlciBhbmQKCiAo Yikgb24geDg2LTY0IGl0IHJlc3VsdGVkIGluIGEgdmVyeSBhbm5veWluZyBvcmRlcmluZyBjb25z dHJhaW50LCB3aGVyZQogICAgICJfX3VubGF6eV9mcHUoKSIgaW4gdGhlIHRhc2sgc3dpdGNoIG5l ZWRzIHRvIGJlIGRlbGF5ZWQgdW50aWwgYWZ0ZXIKICAgICB0aGUgRFMgc2VnbWVudCBoYXMgYmVl biByZWxvYWRlZCBqdXN0IHRvIGdldCB0aGUgbmV3IERTIHZhbHVlLgoKQ291cGxpbmcgaXQgdG8g dGhlIGZ4cnN0b3IgaW5zdGVhZCBvZiB0aGUgZnhzYXZlIGF1dG9tYXRpY2FsbHkgYXZvaWRzCmJv dGggb2YgdGhlc2UgaXNzdWVzLCBhbmQgYWxzbyBlbnN1cmVzIHRoYXQgd2Ugb25seSBkbyBpdCB3 aGVuIGFjdHVhbGx5Cm5lY2Vzc2FyeSAodGhlIEZQIHN0YXRlIGFmdGVyIGEgc2F2ZSBtYXkgbmV2 ZXIgYWN0dWFsbHkgZ2V0IHVzZWQpLiAgSXQncwpzaW1wbHkgYSBtdWNoIG1vcmUgbmF0dXJhbCBw bGFjZSBmb3IgdGhlIGxlYWtlZCBzdGF0ZSBjbGVhbnVwLgoKU2lnbmVkLW9mZi1ieTogTGludXMg VG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgotLS0KIGFyY2gveDg2L2lu Y2x1ZGUvYXNtL2kzODcuaCAgfCAgIDE5IC0tLS0tLS0tLS0tLS0tLS0tLS0KIGFyY2gveDg2L2tl cm5lbC9wcm9jZXNzXzY0LmMgfCAgICA1ICsrLS0tCiBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYyAg ICAgIHwgICAxNCArKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25z KCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9p Mzg3LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKaW5kZXggODY5NzRjNy4uMDFiMTE1 ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oCisrKyBiL2FyY2gveDg2 L2luY2x1ZGUvYXNtL2kzODcuaApAQCAtMjExLDE1ICsyMTEsNiBAQCBzdGF0aWMgaW5saW5lIHZv aWQgZnB1X2Z4c2F2ZShzdHJ1Y3QgZnB1ICpmcHUpCiAKICNlbmRpZiAvKiBDT05GSUdfWDg2XzY0 ICovCiAKLS8qIFdlIG5lZWQgYSBzYWZlIGFkZHJlc3MgdGhhdCBpcyBjaGVhcCB0byBmaW5kIGFu ZCB0aGF0IGlzIGFscmVhZHkKLSAgIGluIEwxIGR1cmluZyBjb250ZXh0IHN3aXRjaC4gVGhlIGJl c3QgY2hvaWNlcyBhcmUgdW5mb3J0dW5hdGVseQotICAgZGlmZmVyZW50IGZvciBVUCBhbmQgU01Q ICovCi0jaWZkZWYgQ09ORklHX1NNUAotI2RlZmluZSBzYWZlX2FkZHJlc3MgKF9fcGVyX2NwdV9v ZmZzZXRbMF0pCi0jZWxzZQotI2RlZmluZSBzYWZlX2FkZHJlc3MgKGtzdGF0X2NwdSgwKS5jcHVz dGF0LnVzZXIpCi0jZW5kaWYKLQogLyoKICAqIFRoZXNlIG11c3QgYmUgY2FsbGVkIHdpdGggcHJl ZW1wdCBkaXNhYmxlZAogICovCkBAIC0yNDMsMTYgKzIzNCw2IEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBmcHVfc2F2ZV9pbml0KHN0cnVjdCBmcHUgKmZwdSkKIAogICAgaWYgKHVubGlrZWx5KGZwdS0+ c3RhdGUtPmZ4c2F2ZS5zd2QgJiBYODdfRlNXX0VTKSkKICAgICAgICBhc20gdm9sYXRpbGUoImZu Y2xleCIpOwotCi0gICAvKiBBTUQgSzcvSzggQ1BVcyBkb24ndCBzYXZlL3Jlc3RvcmUgRkRQL0ZJ UC9GT1AgdW5sZXNzIGFuIGV4Y2VwdGlvbgotICAgICAgaXMgcGVuZGluZy4gIENsZWFyIHRoZSB4 ODcgc3RhdGUgaGVyZSBieSBzZXR0aW5nIGl0IHRvIGZpeGVkCi0gICAgICB2YWx1ZXMuIHNhZmVf YWRkcmVzcyBpcyBhIHJhbmRvbSB2YXJpYWJsZSB0aGF0IHNob3VsZCBiZSBpbiBMMSAqLwotICAg YWx0ZXJuYXRpdmVfaW5wdXQoCi0gICAgICAgQVNNX05PUDggQVNNX05PUDIsCi0gICAgICAgImVt bXNcblx0IiAgICAgIC8qIGNsZWFyIHN0YWNrIHRhZ3MgKi8KLSAgICAgICAiZmlsZGwgJVBbYWRk cl0iLCAgIC8qIHNldCBGP1AgdG8gZGVmaW5lZCB2YWx1ZSAqLwotICAgICAgIFg4Nl9GRUFUVVJF X0ZYU0FWRV9MRUFLLAotICAgICAgIFthZGRyXSAibSIgKHNhZmVfYWRkcmVzcykpOwogfQogCiBz dGF0aWMgaW5saW5lIHZvaWQgX19zYXZlX2luaXRfZnB1KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNr KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYyBiL2FyY2gveDg2L2tl cm5lbC9wcm9jZXNzXzY0LmMKaW5kZXggOTkyYjRlNS4uNzUzZTgwMyAxMDA2NDQKLS0tIGEvYXJj aC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182 NC5jCkBAIC0zODcsNiArMzg3LDggQEAgX19zd2l0Y2hfdG8oc3RydWN0IHRhc2tfc3RydWN0ICpw cmV2X3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dF9wKQogICAgc3RydWN0IHRzc19zdHJ1Y3Qg KnRzcyA9ICZwZXJfY3B1KGluaXRfdHNzLCBjcHUpOwogICAgdW5zaWduZWQgZnNpbmRleCwgZ3Np bmRleDsKIAorICAgX191bmxhenlfZnB1KHByZXZfcCk7CisKICAgIC8qCiAgICAgKiBSZWxvYWQg ZXNwMCwgTERUIGFuZCB0aGUgcGFnZSB0YWJsZSBwb2ludGVyOgogICAgICovCkBAIC00MTUsOSAr NDE3LDYgQEAgX19zd2l0Y2hfdG8oc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2X3AsIHN0cnVjdCB0 YXNrX3N0cnVjdCAqbmV4dF9wKQogCiAgICBsb2FkX1RMUyhuZXh0LCBjcHUpOwogCi0gICAvKiBN dXN0IGJlIGFmdGVyIERTIHJlbG9hZCAqLwotICAgX191bmxhenlfZnB1KHByZXZfcCk7Ci0KICAg IC8qCiAgICAgKiBMZWF2ZSBsYXp5IG1vZGUsIGZsdXNoaW5nIGFueSBoeXBlcmNhbGxzIG1hZGUg aGVyZS4KICAgICAqIFRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSByZXN0b3JpbmcgVExTIHNlZ21l bnRzIHNvCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYyBiL2FyY2gveDg2L2tl cm5lbC90cmFwcy5jCmluZGV4IDVhZmU4MjQuLjRkNDIzMDAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2 L2tlcm5lbC90cmFwcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90cmFwcy5jCkBAIC01ODUsNiAr NTg1LDEwIEBAIHZvaWQgbWF0aF9zdGF0ZV9yZXN0b3JlKHZvaWQpCiAgICBzdHJ1Y3QgdGhyZWFk X2luZm8gKnRocmVhZCA9IGN1cnJlbnRfdGhyZWFkX2luZm8oKTsKICAgIHN0cnVjdCB0YXNrX3N0 cnVjdCAqdHNrID0gdGhyZWFkLT50YXNrOwogCisgICAvKiBXZSBuZWVkIGEgc2FmZSBhZGRyZXNz IHRoYXQgaXMgY2hlYXAgdG8gZmluZCBhbmQgdGhhdCBpcyBhbHJlYWR5CisgICAgICBpbiBMMS4g V2UganVzdCBicm91Z2h0IGluICJ0aHJlYWQtPnRhc2siLCBzbyB1c2UgdGhhdCAqLworI2RlZmlu ZSBzYWZlX2FkZHJlc3MgKHRocmVhZC0+dGFzaykKKwogICAgaWYgKCF0c2tfdXNlZF9tYXRoKHRz aykpIHsKICAgICAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CiAgICAgICAgLyoKQEAgLTYwMiw2ICs2 MDYsMTYgQEAgdm9pZCBtYXRoX3N0YXRlX3Jlc3RvcmUodm9pZCkKIAogICAgX190aHJlYWRfZnB1 X2JlZ2luKHRocmVhZCk7CiAKKyAgIC8qIEFNRCBLNy9LOCBDUFVzIGRvbid0IHNhdmUvcmVzdG9y ZSBGRFAvRklQL0ZPUCB1bmxlc3MgYW4gZXhjZXB0aW9uCisgICAgICBpcyBwZW5kaW5nLiAgQ2xl YXIgdGhlIHg4NyBzdGF0ZSBoZXJlIGJ5IHNldHRpbmcgaXQgdG8gZml4ZWQKKyAgICAgIHZhbHVl cy4gc2FmZV9hZGRyZXNzIGlzIGEgcmFuZG9tIHZhcmlhYmxlIHRoYXQgc2hvdWxkIGJlIGluIEwx ICovCisgICBhbHRlcm5hdGl2ZV9pbnB1dCgKKyAgICAgICBBU01fTk9QOCBBU01fTk9QMiwKKyAg ICAgICAiZW1tc1xuXHQiICAgICAgLyogY2xlYXIgc3RhY2sgdGFncyAqLworICAgICAgICJmaWxk bCAlUFthZGRyXSIsICAgLyogc2V0IEY/UCB0byBkZWZpbmVkIHZhbHVlICovCisgICAgICAgWDg2 X0ZFQVRVUkVfRlhTQVZFX0xFQUssCisgICAgICAgW2FkZHJdICJtIiAoc2FmZV9hZGRyZXNzKSk7 CisKICAgIC8qCiAgICAgKiBQYXJhbm9pZCByZXN0b3JlLiBzZW5kIGEgU0lHU0VHViBpZiB3ZSBm YWlsIHRvIHJlc3RvcmUgdGhlIHN0YXRlLgogICAgICovCi0tIAoxLjcuNi41Cgo= --=_cfd1bb5c9c82ccdca19aefb1d5d9d251 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=fpu-patch-91.diff Content-Disposition: attachment; filename=fpu-patch-91.diff RnJvbSAzNGRkYzgxYTIzMGIxNWMwZTM0NWI2YjI1MzA0OWRiNzMxNDk5ZjdlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFNhdCwgMTggRmViIDIwMTIgMTI6NTY6MzUgLTA4MDAKU3ViamVjdDog W1BBVENIXSBpMzg3OiByZS1pbnRyb2R1Y2UgRlBVIHN0YXRlIHByZWxvYWRpbmcgYXQgY29udGV4 dCBzd2l0Y2gKIHRpbWUKCkFmdGVyIGFsbCB0aGUgRlBVIHN0YXRlIGNsZWFudXBzIGFuZCBmaW5h bGx5IGZpbmRpbmcgdGhlIHByb2JsZW0gdGhhdApjYXVzZWQgYWxsIG91ciBGUFUgc2F2ZS9yZXN0 b3JlIHByb2JsZW1zLCB0aGlzIHJlLWludHJvZHVjZXMgdGhlCnByZWxvYWRpbmcgb2YgRlBVIHN0 YXRlIHRoYXQgd2FzIHJlbW92ZWQgaW4gY29tbWl0IGIzYjA4NzBlZjNmZiAoImkzODc6CmRvIG5v dCBwcmVsb2FkIEZQVSBzdGF0ZSBhdCB0YXNrIHN3aXRjaCB0aW1lIikuCgpIb3dldmVyLCBpbnN0 ZWFkIG9mIHNpbXBseSByZXZlcnRpbmcgdGhlIHJlbW92YWwsIHRoaXMgcmVpbXBsZW1lbnRzCnBy ZWxvYWRpbmcgd2l0aCBzZXZlcmFsIGZpeGVzLCBtb3N0IG5vdGFibHkKCiAtIHByb3Blcmx5IGFi c3RyYWN0ZWQgYXMgYSB0cnVlIEZQVSBzdGF0ZSBzd2l0Y2gsIHJhdGhlciB0aGFuIGFzCiAgIG9w ZW4tY29kZWQgc2F2ZSBhbmQgcmVzdG9yZSB3aXRoIHZhcmlvdXMgaGFja3MuCgogICBJbiBwYXJ0 aWN1bGFyLCBpbXBsZW1lbnRpbmcgaXQgYXMgYSBwcm9wZXIgRlBVIHN0YXRlIHN3aXRjaCBhbGxv d3MgdXMKICAgdG8gb3B0aW1pemUgdGhlIENSMC5UUyBmbGFnIGFjY2Vzc2VzOiB0aGVyZSBpcyBu byByZWFzb24gdG8gc2V0IHRoZQogICBUUyBiaXQgb25seSB0byB0aGVuIGFsbW9zdCBpbW1lZGlh dGVseSBjbGVhciBpdCBhZ2Fpbi4gIENSMCBhY2Nlc3NlcwogICBhcmUgcXVpdGUgc2xvdyBhbmQg ZXhwZW5zaXZlLCBkb24ndCBmbGlwIHRoZSBiaXQgYmFjayBhbmQgZm9ydGggZm9yCiAgIG5vIGdv b2QgcmVhc29uLgoKIC0gTWFrZSBzdXJlIHRoYXQgdGhlIHNhbWUgbW9kZWwgd29ya3MgZm9yIGJv dGggeDg2LTMyIGFuZCB4ODYtNjQsIHNvCiAgIHRoYXQgdGhlcmUgYXJlIG5vIGdyYXR1aXRvdXMg ZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgdHdvIGR1ZSB0byB0aGUKICAgd2F5IHRoZXkgc2F2ZSBh bmQgcmVzdG9yZSBzZWdtZW50IHN0YXRlIGRpZmZlcmVudGx5IGR1ZSB0bwogICBhcmNoaXRlY3R1 cmFsIGRpZmZlcmVuY2VzIHRoYXQgcmVhbGx5IGRvbid0IG1hdHRlciB0byB0aGUgRlBVIHN0YXRl LgoKIC0gQXZvaWQgZXhwb3NpbmcgdGhlICJwcmVsb2FkIiBzdGF0ZSB0byB0aGUgY29udGV4dCBz d2l0Y2ggcm91dGluZXMsCiAgIGFuZCBpbiBwYXJ0aWN1bGFyIGFsbG93IHRoZSBjb25jZXB0IG9m IGxhenkgc3RhdGUgcmVzdG9yZTogaWYgbm90aGluZwogICBlbHNlIGhhcyB1c2VkIHRoZSBGUFUg aW4gdGhlIG1lYW50aW1lLCBhbmQgdGhlIHByb2Nlc3MgaXMgc3RpbGwgb24KICAgdGhlIHNhbWUg Q1BVLCB3ZSBjYW4gYXZvaWQgcmVzdG9yaW5nIHN0YXRlIGZyb20gbWVtb3J5IGVudGlyZWx5LCBq dXN0CiAgIHJlLWV4cG9zZSB0aGUgc3RhdGUgdGhhdCBpcyBzdGlsbCBpbiB0aGUgRlBVIHVuaXQu CgogICBUaGF0IG9wdGltaXplZCBsYXp5IHJlc3RvcmUgaXNuJ3QgYWN0dWFsbHkgaW1wbGVtZW50 ZWQgaGVyZSwgYnV0IHRoZQogICBpbmZyYXN0cnVjdHVyZSBpcyBzZXQgdXAgZm9yIGl0LiAgT2Yg Y291cnNlLCBvbGRlciBDUFUncyB0aGF0IHVzZQogICAnZm5zYXZlJyB0byBzYXZlIHRoZSBzdGF0 ZSBjYW5ub3QgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhpcywgc2luY2UgdGhlCiAgIHN0YXRlIHNhdmlu ZyBhbHNvIHRyYXNoZXMgdGhlIHN0YXRlLgoKSW4gb3RoZXIgd29yZHMsIHRoZXJlIGlzIG5vdyBh biBhY3R1YWwgX2Rlc2lnbl8gdG8gdGhlIEZQVSBzdGF0ZSBzYXZpbmcsCnJhdGhlciB0aGFuIGp1 c3QgcmFuZG9tIGhpc3RvcmljYWwgYmFnZ2FnZS4gIEhvcGVmdWxseSBpdCdzIGVhc2llciB0bwpm b2xsb3cgYXMgYSByZXN1bHQuCgpTaWduZWQtb2ZmLWJ5OiBMaW51cyBUb3J2YWxkcyA8dG9ydmFs ZHNAbGludXgtZm91bmRhdGlvbi5vcmc+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5o ICB8ICAxMTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBhcmNo L3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jIHwgICAgNSArKy0KIGFyY2gveDg2L2tlcm5lbC9wcm9j ZXNzXzY0LmMgfCAgICA1ICsrLQogYXJjaC94ODYva2VybmVsL3RyYXBzLmMgICAgICB8ICAgNTUg KysrKysrKysrKysrLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCsp LCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3 LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pMzg3LmgKaW5kZXggZjUzNzY2Ny4uYTg1MGI0ZCAx MDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaTM4Ny5oCisrKyBiL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL2kzODcuaApAQCAtMjksNiArMjksNyBAQCBleHRlcm4gdW5zaWduZWQgaW50IHNp Z194c3RhdGVfc2l6ZTsKIGV4dGVybiB2b2lkIGZwdV9pbml0KHZvaWQpOwogZXh0ZXJuIHZvaWQg bXhjc3JfZmVhdHVyZV9tYXNrX2luaXQodm9pZCk7CiBleHRlcm4gaW50IGluaXRfZnB1KHN0cnVj dCB0YXNrX3N0cnVjdCAqY2hpbGQpOworZXh0ZXJuIHZvaWQgX19tYXRoX3N0YXRlX3Jlc3RvcmUo c3RydWN0IHRhc2tfc3RydWN0ICopOwogZXh0ZXJuIHZvaWQgbWF0aF9zdGF0ZV9yZXN0b3JlKHZv aWQpOwogZXh0ZXJuIGludCBkdW1wX2ZwdShzdHJ1Y3QgcHRfcmVncyAqLCBzdHJ1Y3QgdXNlcl9p Mzg3X3N0cnVjdCAqKTsKIApAQCAtMjEyLDkgKzIxMywxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQg ZnB1X2Z4c2F2ZShzdHJ1Y3QgZnB1ICpmcHUpCiAjZW5kaWYgLyogQ09ORklHX1g4Nl82NCAqLwog CiAvKgotICogVGhlc2UgbXVzdCBiZSBjYWxsZWQgd2l0aCBwcmVlbXB0IGRpc2FibGVkCisgKiBU aGVzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIHByZWVtcHQgZGlzYWJsZWQuIFJldHVybnMKKyAqICd0 cnVlJyBpZiB0aGUgRlBVIHN0YXRlIGlzIHN0aWxsIGludGFjdC4KICAqLwotc3RhdGljIGlubGlu ZSB2b2lkIGZwdV9zYXZlX2luaXQoc3RydWN0IGZwdSAqZnB1KQorc3RhdGljIGlubGluZSBpbnQg ZnB1X3NhdmVfaW5pdChzdHJ1Y3QgZnB1ICpmcHUpCiB7CiAgICBpZiAodXNlX3hzYXZlKCkpIHsK ICAgICAgICBmcHVfeHNhdmUoZnB1KTsKQEAgLTIyMywyMiArMjI1LDMzIEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBmcHVfc2F2ZV9pbml0KHN0cnVjdCBmcHUgKmZwdSkKICAgICAgICAgKiB4c2F2ZSBo ZWFkZXIgbWF5IGluZGljYXRlIHRoZSBpbml0IHN0YXRlIG9mIHRoZSBGUC4KICAgICAgICAgKi8K ICAgICAgICBpZiAoIShmcHUtPnN0YXRlLT54c2F2ZS54c2F2ZV9oZHIueHN0YXRlX2J2ICYgWFNU QVRFX0ZQKSkKLSAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICByZXR1cm4gMTsKICAgIH0g ZWxzZSBpZiAodXNlX2Z4c3IoKSkgewogICAgICAgIGZwdV9meHNhdmUoZnB1KTsKICAgIH0gZWxz ZSB7CiAgICAgICAgYXNtIHZvbGF0aWxlKCJmbnNhdmUgJVtmeF07IGZ3YWl0IgogICAgICAgICAg ICAgICAgIDogW2Z4XSAiPW0iIChmcHUtPnN0YXRlLT5mc2F2ZSkpOwotICAgICAgIHJldHVybjsK KyAgICAgICByZXR1cm4gMDsKICAgIH0KIAotICAgaWYgKHVubGlrZWx5KGZwdS0+c3RhdGUtPmZ4 c2F2ZS5zd2QgJiBYODdfRlNXX0VTKSkKKyAgIC8qCisgICAgKiBJZiBleGNlcHRpb25zIGFyZSBw ZW5kaW5nLCB3ZSBuZWVkIHRvIGNsZWFyIHRoZW0gc28KKyAgICAqIHRoYXQgd2UgZG9uJ3QgcmFu ZG9tbHkgZ2V0IGV4Y2VwdGlvbnMgbGF0ZXIuCisgICAgKgorICAgICogRklYTUUhIElzIHRoaXMg cGVyaGFwcyBvbmx5IHRydWUgZm9yIHRoZSBvbGQtc3R5bGUKKyAgICAqIGlycTEzIGNhc2U/IE1h eWJlIHdlIGNvdWxkIGxlYXZlIHRoZSB4ODcgc3RhdGUKKyAgICAqIGludGFjdCBvdGhlcndpc2U/ CisgICAgKi8KKyAgIGlmICh1bmxpa2VseShmcHUtPnN0YXRlLT5meHNhdmUuc3dkICYgWDg3X0ZT V19FUykpIHsKICAgICAgICBhc20gdm9sYXRpbGUoImZuY2xleCIpOworICAgICAgIHJldHVybiAw OworICAgfQorICAgcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3NhdmVfaW5p dF9mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCitzdGF0aWMgaW5saW5lIGludCBfX3NhdmVf aW5pdF9mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7Ci0gICBmcHVfc2F2ZV9pbml0KCZ0 c2stPnRocmVhZC5mcHUpOworICAgcmV0dXJuIGZwdV9zYXZlX2luaXQoJnRzay0+dGhyZWFkLmZw dSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGZwdV9meHJzdG9yX2NoZWNraW5nKHN0cnVjdCBm cHUgKmZwdSkKQEAgLTMwMSwyMCArMzE0LDc5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX3RocmVh ZF9mcHVfYmVnaW4oc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB9CiAKIC8qCi0gKiBTaWduYWwg ZnJhbWUgaGFuZGxlcnMuLi4KKyAqIEZQVSBzdGF0ZSBzd2l0Y2hpbmcgZm9yIHNjaGVkdWxpbmcu CisgKgorICogVGhpcyBpcyBhIHR3by1zdGFnZSBwcm9jZXNzOgorICoKKyAqICAtIHN3aXRjaF9m cHVfcHJlcGFyZSgpIHNhdmVzIHRoZSBvbGQgc3RhdGUgYW5kCisgKiAgICBzZXRzIHRoZSBuZXcg c3RhdGUgb2YgdGhlIENSMC5UUyBiaXQuIFRoaXMgaXMKKyAqICAgIGRvbmUgd2l0aGluIHRoZSBj b250ZXh0IG9mIHRoZSBvbGQgcHJvY2Vzcy4KKyAqCisgKiAgLSBzd2l0Y2hfZnB1X2ZpbmlzaCgp IHJlc3RvcmVzIHRoZSBuZXcgc3RhdGUgYXMKKyAqICAgIG5lY2Vzc2FyeS4KICAqLwotZXh0ZXJu IGludCBzYXZlX2kzODdfeHN0YXRlKHZvaWQgX191c2VyICpidWYpOwotZXh0ZXJuIGludCByZXN0 b3JlX2kzODdfeHN0YXRlKHZvaWQgX191c2VyICpidWYpOwordHlwZWRlZiBzdHJ1Y3QgeyBpbnQg cHJlbG9hZDsgfSBmcHVfc3dpdGNoX3Q7CisKKy8qCisgKiBGSVhNRSEgV2UgY291bGQgZG8gYSB0 b3RhbGx5IGxhenkgcmVzdG9yZSwgYnV0IHdlIG5lZWQgdG8KKyAqIGFkZCBhIHBlci1jcHUgInRo aXMgd2FzIHRoZSB0YXNrIHRoYXQgbGFzdCB0b3VjaGVkIHRoZSBGUFUKKyAqIG9uIHRoaXMgQ1BV IiB2YXJpYWJsZSwgYW5kIHRoZSB0YXNrIG5lZWRzIHRvIGhhdmUgYSAiSSBsYXN0CisgKiB0b3Vj aGVkIHRoZSBGUFUgb24gdGhpcyBDUFUiIGFuZCBjaGVjayB0aGVtLgorICoKKyAqIFdlIGRvbid0 IGRvIHRoYXQgeWV0LCBzbyAiZnB1X2xhenlfcmVzdG9yZSgpIiBhbHdheXMgcmV0dXJucworICog ZmFsc2UsIGJ1dCBzb21lIGRheS4uCisgKi8KKyNkZWZpbmUgZnB1X2xhenlfcmVzdG9yZSh0c2sp ICgwKQorI2RlZmluZSBmcHVfbGF6eV9zdGF0ZV9pbnRhY3QodHNrKSBkbyB7IH0gd2hpbGUgKDAp CisKK3N0YXRpYyBpbmxpbmUgZnB1X3N3aXRjaF90IHN3aXRjaF9mcHVfcHJlcGFyZShzdHJ1Y3Qg dGFza19zdHJ1Y3QgKm9sZCwgc3RydWN0IHRhc2tfc3RydWN0ICpuZXcpCit7CisgICBmcHVfc3dp dGNoX3QgZnB1OworCisgICBmcHUucHJlbG9hZCA9IHRza191c2VkX21hdGgobmV3KSAmJiBuZXct PmZwdV9jb3VudGVyID4gNTsKKyAgIGlmIChfX3RocmVhZF9oYXNfZnB1KG9sZCkpIHsKKyAgICAg ICBpZiAoX19zYXZlX2luaXRfZnB1KG9sZCkpCisgICAgICAgICAgIGZwdV9sYXp5X3N0YXRlX2lu dGFjdChvbGQpOworICAgICAgIF9fdGhyZWFkX2NsZWFyX2hhc19mcHUob2xkKTsKKyAgICAgICBv bGQtPmZwdV9jb3VudGVyKys7CisKKyAgICAgICAvKiBEb24ndCBjaGFuZ2UgQ1IwLlRTIGlmIHdl IGp1c3Qgc3dpdGNoISAqLworICAgICAgIGlmIChmcHUucHJlbG9hZCkgeworICAgICAgICAgICBf X3RocmVhZF9zZXRfaGFzX2ZwdShuZXcpOworICAgICAgICAgICBwcmVmZXRjaChuZXctPnRocmVh ZC5mcHUuc3RhdGUpOworICAgICAgIH0gZWxzZQorICAgICAgICAgICBzdHRzKCk7CisgICB9IGVs c2UgeworICAgICAgIG9sZC0+ZnB1X2NvdW50ZXIgPSAwOworICAgICAgIGlmIChmcHUucHJlbG9h ZCkgeworICAgICAgICAgICBpZiAoZnB1X2xhenlfcmVzdG9yZShuZXcpKQorICAgICAgICAgICAg ICAgZnB1LnByZWxvYWQgPSAwOworICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICBwcmVm ZXRjaChuZXctPnRocmVhZC5mcHUuc3RhdGUpOworICAgICAgICAgICBfX3RocmVhZF9mcHVfYmVn aW4obmV3KTsKKyAgICAgICB9CisgICB9CisgICByZXR1cm4gZnB1OworfQogCi1zdGF0aWMgaW5s aW5lIHZvaWQgX191bmxhenlfZnB1KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQorLyoKKyAqIEJ5 IHRoZSB0aW1lIHRoaXMgZ2V0cyBjYWxsZWQsIHdlJ3ZlIGFscmVhZHkgY2xlYXJlZCBDUjAuVFMg YW5kCisgKiBnaXZlbiB0aGUgcHJvY2VzcyB0aGUgRlBVIGlmIHdlIGFyZSBnb2luZyB0byBwcmVs b2FkIHRoZSBGUFUKKyAqIHN0YXRlIC0gYWxsIHdlIG5lZWQgdG8gZG8gaXMgdG8gY29uZGl0aW9u YWxseSByZXN0b3JlIHRoZSByZWdpc3RlcgorICogc3RhdGUgaXRzZWxmLgorICovCitzdGF0aWMg aW5saW5lIHZvaWQgc3dpdGNoX2ZwdV9maW5pc2goc3RydWN0IHRhc2tfc3RydWN0ICpuZXcsIGZw dV9zd2l0Y2hfdCBmcHUpCiB7Ci0gICBpZiAoX190aHJlYWRfaGFzX2ZwdSh0c2spKSB7Ci0gICAg ICAgX19zYXZlX2luaXRfZnB1KHRzayk7Ci0gICAgICAgX190aHJlYWRfZnB1X2VuZCh0c2spOwot ICAgfSBlbHNlCi0gICAgICAgdHNrLT5mcHVfY291bnRlciA9IDA7CisgICBpZiAoZnB1LnByZWxv YWQpCisgICAgICAgX19tYXRoX3N0YXRlX3Jlc3RvcmUobmV3KTsKIH0KIAorLyoKKyAqIFNpZ25h bCBmcmFtZSBoYW5kbGVycy4uLgorICovCitleHRlcm4gaW50IHNhdmVfaTM4N194c3RhdGUodm9p ZCBfX3VzZXIgKmJ1Zik7CitleHRlcm4gaW50IHJlc3RvcmVfaTM4N194c3RhdGUodm9pZCBfX3Vz ZXIgKmJ1Zik7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2NsZWFyX2ZwdShzdHJ1Y3QgdGFza19z dHJ1Y3QgKnRzaykKIHsKICAgIGlmIChfX3RocmVhZF9oYXNfZnB1KHRzaykpIHsKQEAgLTQ3NCw3 ICs1NDYsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIHNhdmVfaW5pdF9mcHUoc3RydWN0IHRhc2tf c3RydWN0ICp0c2spCiBzdGF0aWMgaW5saW5lIHZvaWQgdW5sYXp5X2ZwdShzdHJ1Y3QgdGFza19z dHJ1Y3QgKnRzaykKIHsKICAgIHByZWVtcHRfZGlzYWJsZSgpOwotICAgX191bmxhenlfZnB1KHRz ayk7CisgICBpZiAoX190aHJlYWRfaGFzX2ZwdSh0c2spKSB7CisgICAgICAgX19zYXZlX2luaXRf ZnB1KHRzayk7CisgICAgICAgX190aHJlYWRfZnB1X2VuZCh0c2spOworICAgfSBlbHNlCisgICAg ICAgdHNrLT5mcHVfY291bnRlciA9IDA7CiAgICBwcmVlbXB0X2VuYWJsZSgpOwogfQogCmRpZmYg LS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3By b2Nlc3NfMzIuYwppbmRleCAzMjRjZDcyLi44MGJmZTFhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9r ZXJuZWwvcHJvY2Vzc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKQEAg LTI5OSwxMCArMjk5LDExIEBAIF9fc3dpdGNoX3RvKHN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldl9w LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHRfcCkKICAgICAgICAgICAgICAgICAqbmV4dCA9ICZu ZXh0X3AtPnRocmVhZDsKICAgIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAgICBzdHJ1 Y3QgdHNzX3N0cnVjdCAqdHNzID0gJnBlcl9jcHUoaW5pdF90c3MsIGNwdSk7CisgICBmcHVfc3dp dGNoX3QgZnB1OwogCiAgICAvKiBuZXZlciBwdXQgYSBwcmludGsgaW4gX19zd2l0Y2hfdG8uLi4g cHJpbnRrKCkgY2FsbHMgd2FrZV91cCooKSBpbmRpcmVjdGx5ICovCiAKLSAgIF9fdW5sYXp5X2Zw dShwcmV2X3ApOworICAgZnB1ID0gc3dpdGNoX2ZwdV9wcmVwYXJlKHByZXZfcCwgbmV4dF9wKTsK IAogICAgLyoKICAgICAqIFJlbG9hZCBlc3AwLgpAQCAtMzU3LDYgKzM1OCw4IEBAIF9fc3dpdGNo X3RvKHN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldl9wLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHRf cCkKICAgIGlmIChwcmV2LT5ncyB8IG5leHQtPmdzKQogICAgICAgIGxhenlfbG9hZF9ncyhuZXh0 LT5ncyk7CiAKKyAgIHN3aXRjaF9mcHVfZmluaXNoKG5leHRfcCwgZnB1KTsKKwogICAgcGVyY3B1 X3dyaXRlKGN1cnJlbnRfdGFzaywgbmV4dF9wKTsKIAogICAgcmV0dXJuIHByZXZfcDsKZGlmZiAt LWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJv Y2Vzc182NC5jCmluZGV4IDc1M2U4MDMuLjFmZDk0YmMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tl cm5lbC9wcm9jZXNzXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYwpAQCAt Mzg2LDggKzM4Niw5IEBAIF9fc3dpdGNoX3RvKHN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldl9wLCBz dHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHRfcCkKICAgIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lk KCk7CiAgICBzdHJ1Y3QgdHNzX3N0cnVjdCAqdHNzID0gJnBlcl9jcHUoaW5pdF90c3MsIGNwdSk7 CiAgICB1bnNpZ25lZCBmc2luZGV4LCBnc2luZGV4OworICAgZnB1X3N3aXRjaF90IGZwdTsKIAot ICAgX191bmxhenlfZnB1KHByZXZfcCk7CisgICBmcHUgPSBzd2l0Y2hfZnB1X3ByZXBhcmUocHJl dl9wLCBuZXh0X3ApOwogCiAgICAvKgogICAgICogUmVsb2FkIGVzcDAsIExEVCBhbmQgdGhlIHBh Z2UgdGFibGUgcG9pbnRlcjoKQEAgLTQ1Nyw2ICs0NTgsOCBAQCBfX3N3aXRjaF90byhzdHJ1Y3Qg dGFza19zdHJ1Y3QgKnByZXZfcCwgc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0X3ApCiAgICAgICAg d3Jtc3JsKE1TUl9LRVJORUxfR1NfQkFTRSwgbmV4dC0+Z3MpOwogICAgcHJldi0+Z3NpbmRleCA9 IGdzaW5kZXg7CiAKKyAgIHN3aXRjaF9mcHVfZmluaXNoKG5leHRfcCwgZnB1KTsKKwogICAgLyoK ICAgICAqIFN3aXRjaCB0aGUgUERBIGFuZCBGUFUgY29udGV4dHMuCiAgICAgKi8KZGlmZiAtLWdp dCBhL2FyY2gveDg2L2tlcm5lbC90cmFwcy5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKaW5k ZXggYWQyNWU1MS4uNzdkYTViNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMK KysrIGIvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKQEAgLTU3MSw2ICs1NzEsMzcgQEAgYXNtbGlu a2FnZSB2b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBzbXBfdGhyZXNob2xkX2ludGVycnVwdCh2 b2lkKQogfQogCiAvKgorICogVGhpcyBnZXRzIGNhbGxlZCB3aXRoIHRoZSBwcm9jZXNzIGFscmVh ZHkgb3duaW5nIHRoZQorICogRlBVIHN0YXRlLCBhbmQgd2l0aCBDUjAuVFMgY2xlYXJlZC4gSXQg anVzdCBuZWVkcyB0bworICogcmVzdG9yZSB0aGUgRlBVIHJlZ2lzdGVyIHN0YXRlLgorICovCit2 b2lkIF9fbWF0aF9zdGF0ZV9yZXN0b3JlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQoreworICAg LyogV2UgbmVlZCBhIHNhZmUgYWRkcmVzcyB0aGF0IGlzIGNoZWFwIHRvIGZpbmQgYW5kIHRoYXQg aXMgYWxyZWFkeQorICAgICAgaW4gTDEuIFdlJ3ZlIGp1c3QgYnJvdWdodCBpbiAidHNrLT50aHJl YWQuaGFzX2ZwdSIsIHNvIHVzZSB0aGF0ICovCisjZGVmaW5lIHNhZmVfYWRkcmVzcyAodHNrLT50 aHJlYWQuaGFzX2ZwdSkKKworICAgLyogQU1EIEs3L0s4IENQVXMgZG9uJ3Qgc2F2ZS9yZXN0b3Jl IEZEUC9GSVAvRk9QIHVubGVzcyBhbiBleGNlcHRpb24KKyAgICAgIGlzIHBlbmRpbmcuICBDbGVh ciB0aGUgeDg3IHN0YXRlIGhlcmUgYnkgc2V0dGluZyBpdCB0byBmaXhlZAorICAgICAgdmFsdWVz LiBzYWZlX2FkZHJlc3MgaXMgYSByYW5kb20gdmFyaWFibGUgdGhhdCBzaG91bGQgYmUgaW4gTDEg Ki8KKyAgIGFsdGVybmF0aXZlX2lucHV0KAorICAgICAgIEFTTV9OT1A4IEFTTV9OT1AyLAorICAg ICAgICJlbW1zXG5cdCIgICAgICAvKiBjbGVhciBzdGFjayB0YWdzICovCisgICAgICAgImZpbGRs ICVQW2FkZHJdIiwgICAvKiBzZXQgRj9QIHRvIGRlZmluZWQgdmFsdWUgKi8KKyAgICAgICBYODZf RkVBVFVSRV9GWFNBVkVfTEVBSywKKyAgICAgICBbYWRkcl0gIm0iIChzYWZlX2FkZHJlc3MpKTsK KworICAgLyoKKyAgICAqIFBhcmFub2lkIHJlc3RvcmUuIHNlbmQgYSBTSUdTRUdWIGlmIHdlIGZh aWwgdG8gcmVzdG9yZSB0aGUgc3RhdGUuCisgICAgKi8KKyAgIGlmICh1bmxpa2VseShyZXN0b3Jl X2ZwdV9jaGVja2luZyh0c2spKSkgeworICAgICAgIF9fdGhyZWFkX2ZwdV9lbmQodHNrKTsKKyAg ICAgICBmb3JjZV9zaWcoU0lHU0VHViwgdHNrKTsKKyAgICAgICByZXR1cm47CisgICB9Cit9CisK Ky8qCiAgKiAnbWF0aF9zdGF0ZV9yZXN0b3JlKCknIHNhdmVzIHRoZSBjdXJyZW50IG1hdGggaW5m b3JtYXRpb24gaW4gdGhlCiAgKiBvbGQgbWF0aCBzdGF0ZSBhcnJheSwgYW5kIGdldHMgdGhlIG5l dyBvbmVzIGZyb20gdGhlIGN1cnJlbnQgdGFzawogICoKQEAgLTU4NCwxMCArNjE1LDYgQEAgdm9p ZCBtYXRoX3N0YXRlX3Jlc3RvcmUodm9pZCkKIHsKICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNr ID0gY3VycmVudDsKIAotICAgLyogV2UgbmVlZCBhIHNhZmUgYWRkcmVzcyB0aGF0IGlzIGNoZWFw IHRvIGZpbmQgYW5kIHRoYXQgaXMgYWxyZWFkeQotICAgICAgaW4gTDEuIFdlJ3JlIGp1c3QgYnJp bmdpbmcgaW4gInRzay0+dGhyZWFkLmhhc19mcHUiLCBzbyB1c2UgdGhhdCAqLwotI2RlZmluZSBz YWZlX2FkZHJlc3MgKHRzay0+dGhyZWFkLmhhc19mcHUpCi0KICAgIGlmICghdHNrX3VzZWRfbWF0 aCh0c2spKSB7CiAgICAgICAgbG9jYWxfaXJxX2VuYWJsZSgpOwogICAgICAgIC8qCkBAIC02MDQs MjUgKzYzMSw3IEBAIHZvaWQgbWF0aF9zdGF0ZV9yZXN0b3JlKHZvaWQpCiAgICB9CiAKICAgIF9f dGhyZWFkX2ZwdV9iZWdpbih0c2spOwotCi0gICAvKiBBTUQgSzcvSzggQ1BVcyBkb24ndCBzYXZl L3Jlc3RvcmUgRkRQL0ZJUC9GT1AgdW5sZXNzIGFuIGV4Y2VwdGlvbgotICAgICAgaXMgcGVuZGlu Zy4gIENsZWFyIHRoZSB4ODcgc3RhdGUgaGVyZSBieSBzZXR0aW5nIGl0IHRvIGZpeGVkCi0gICAg ICB2YWx1ZXMuIHNhZmVfYWRkcmVzcyBpcyBhIHJhbmRvbSB2YXJpYWJsZSB0aGF0IHNob3VsZCBi ZSBpbiBMMSAqLwotICAgYWx0ZXJuYXRpdmVfaW5wdXQoCi0gICAgICAgQVNNX05PUDggQVNNX05P UDIsCi0gICAgICAgImVtbXNcblx0IiAgICAgIC8qIGNsZWFyIHN0YWNrIHRhZ3MgKi8KLSAgICAg ICAiZmlsZGwgJVBbYWRkcl0iLCAgIC8qIHNldCBGP1AgdG8gZGVmaW5lZCB2YWx1ZSAqLwotICAg ICAgIFg4Nl9GRUFUVVJFX0ZYU0FWRV9MRUFLLAotICAgICAgIFthZGRyXSAibSIgKHNhZmVfYWRk cmVzcykpOwotCi0gICAvKgotICAgICogUGFyYW5vaWQgcmVzdG9yZS4gc2VuZCBhIFNJR1NFR1Yg aWYgd2UgZmFpbCB0byByZXN0b3JlIHRoZSBzdGF0ZS4KLSAgICAqLwotICAgaWYgKHVubGlrZWx5 KHJlc3RvcmVfZnB1X2NoZWNraW5nKHRzaykpKSB7Ci0gICAgICAgX190aHJlYWRfZnB1X2VuZCh0 c2spOwotICAgICAgIGZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOwotICAgICAgIHJldHVybjsKLSAg IH0KKyAgIF9fbWF0aF9zdGF0ZV9yZXN0b3JlKHRzayk7CiAKICAgIHRzay0+ZnB1X2NvdW50ZXIr KzsKIH0KLS0gCjEuNy42LjUKCg== --=_cfd1bb5c9c82ccdca19aefb1d5d9d251-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/