From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Hutterer Subject: Re: [PATCH v2 3/4] input: Deprecate real timestamps beyond year 2106 Date: Thu, 27 Oct 2016 12:56:16 +1000 Message-ID: <20161027025616.GC14832@jelly> References: <1476761253-13450-1-git-send-email-deepa.kernel@gmail.com> <1476761253-13450-4-git-send-email-deepa.kernel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1476761253-13450-4-git-send-email-deepa.kernel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" To: Deepa Dinamani Cc: y2038@lists.linaro.org, Dmitry Torokhov , linux-kernel@vger.kernel.org, arnd@arndb.de, linux-input@vger.kernel.org List-Id: linux-input@vger.kernel.org T24gTW9uLCBPY3QgMTcsIDIwMTYgYXQgMDg6Mjc6MzJQTSAtMDcwMCwgRGVlcGEgRGluYW1hbmkg d3JvdGU6Cj4gc3RydWN0IHRpbWV2YWwgaXMgbm90IHkyMDM4IHNhZmUuCj4gQWxsIHVzYWdlIG9m IHRpbWV2YWwgaW4gdGhlIGtlcm5lbCB3aWxsIGJlIHJlcGxhY2VkIGJ5Cj4geTIwMzggc2FmZSBz dHJ1Y3R1cmVzLgo+IAo+IHN0cnVjdCBpbnB1dF9ldmVudCBtYWludGFpbnMgdGltZSBmb3IgZWFj aCBpbnB1dCBldmVudC4KPiBSZWFsIHRpbWUgdGltZXN0YW1wcyBhcmUgbm90IGlkZWFsIGZvciBp bnB1dCBhcyB0aGlzCj4gdGltZSBjYW4gZ28gYmFja3dhcmRzIGFzIG5vdGVkIGluIHRoZSBwYXRj aCBhODBiODNiN2I4Cj4gYnkgSm9obiBTdHVsdHouIEhlbmNlLCBoYXZpbmcgdGhlIGlucHV0X2V2 ZW50LnRpbWUgZmllbGRzCj4gb25seSBiaWcgZW5vdWdoIGZvciBtb25vdG9uaWMgYW5kIGJvb3Qg dGltZXMgYXJlCj4gc3VmZmljaWVudC4KPiAKPiBMZWF2ZSB0aGUgb3JpZ2luYWwgaW5wdXRfZXZl bnQgYXMgaXMuIFRoaXMgaXMgdG8gbWFpbnRhaW4KPiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdp dGggZXhpc3RpbmcgdXNlcnNwYWNlIGludGVyZmFjZXMKPiB0aGF0IHVzZSBpbnB1dF9ldmVudC4K PiBJbnRyb2R1Y2UgYSBuZXcgcmVwbGFjZW1lbnQgc3RydWN0IHJhd19pbnB1dF9ldmVudC4KCmdl bmVyYWwgY29tbWVudCBoZXJlIC0gcGxlYXNlIGRvbid0IG5hbWUgaXQgInJhd19pbnB1dF9ldmVu dCIuCkZpcnN0LCB3aGVuIHlvdSBncmVwIGZvciBpbnB1dF9ldmVudCB5b3Ugd2FudCB0aGUgbmV3 IG9uZXMgdG8gc2hvdyB1cCB0b28sCnNvIGEgc3RydWN0IGlucHV0X2V2ZW50X3JhdyB3b3VsZCBi ZSBiZXR0ZXIgaGVyZS4gVGhhdCBhbHNvIGhhcyBiZXR0ZXIKbmFtZXNwYWNpbmcgaW4gZ2VuZXJh bC4gU2Vjb25kIHRob3VnaDogdGhlIGV2ZW50IGlzbid0IGFueSBtb3JlICJyYXciIHRoYW4KdGhl IHByZXZpb3VzIHdlIGhhZC4KCkkgY2FuJ3QgdGhpbmsgb2YgYW55dGhpbmcgYmV0dGVyIHRoYW4g c3RydWN0IGlucHV0X2V2ZW50X3YyIHRob3VnaC4KCj4gVGhpcyByZXBsYWNlcyB0aW1ldmFsIHdp dGggc3RydWN0IGlucHV0X3RpbWV2YWwuIFRoaXMgc3RydWN0dXJlCj4gbWFpbnRhaW5zIHRpbWUg aW4gX19rZXJuZWxfdWxvbmdfdCBvciBjb21wYXRfdWxvbmdfdCB0byBhbGxvdwo+IGZvciBhcmNo aXRlY3R1cmVzIHRvIG92ZXJyaWRlIHR5cGVzIGFzIGluIHRoZSBjYXNlIG9mIHgzMi4KPiAKPiBU aGUgY2hhbmdlIHJlcXVpcmVzIGFueSB1c2Vyc3BhY2UgdXRpbGl0aWVzIHJlYWRpbmcgb3Igd3Jp dGluZwo+IGZyb20gZXZlbnQgbm9kZXMgdG8gdXBkYXRlIHRoZWlyIHJlYWRpbmcgZm9ybWF0IHRv IG1hdGNoCj4gcmF3X2lucHV0X2V2ZW50LiBUaGUgY2hhbmdlcyB0byB0aGUgcG9wdWxhciBsaWJy YXJpZXMgd2lsbCBiZQo+IHBvc3RlZCBhbG9uZyB3aXRoIHRoZSBrZXJuZWwgY2hhbmdlcy4KPiBU aGUgZHJpdmVyIHZlcnNpb24gaXMgYWxzbyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGNoYW5nZSBp bgo+IGV2ZW50IGZvcm1hdC4KCkRvZXNuJ3QgdGhpcyBicmVhayAqYWxsKiBvZiB1c2Vyc3BhY2Ug dGhlbj8gSSBkb24ndCBzZWUgYW55dGhpbmcgdG8KbmVnb3RpYXRlIHRoZSB0eXBlIG9mIGlucHV0 IGV2ZW50IHRoZSBrZXJuZWwgZ2l2ZXMgbWUuIEFuZCBub3RoaW5nIHJpZ2h0IG5vdwpjaGVja3Mg Zm9yIEVWREVWX1ZFUlNJT04sIHNvIHRoZXkgYWxsIGp1c3QgYXNzdW1lIGl0J3MgYSBzdHJ1Y3QK aW5wdXRfZXZlbnQuIEJlc3QgY2FzZSwgaWYgdGhlIGF2YWlsYWJsZSBldmVudHMgYXJlbid0IGEg bXVsdGlwbGUgb2YKc2l6ZW9mKHN0cnVjdCBpbnB1dF9ldmVudCkgdXNlcnNwYWNlIHdpbGwgYm9t YiBvdXQsIGJ1dCB1bmxlc3MgdGhhdCBoYXBwZW5zLApldmVyeW9uZSB3aWxsIGp1c3QgaGFwcGls eSByZWFkIG9sZC1zdHlsZSBldmVudHMuCgpTbyB3ZSBuZWVkIHNvbWUgbmVnb3RpYXRpb24gd2hh dCBpcyBhY2NlcHRhYmxlLiBXaGljaCBhbHNvIG5lZWRzIHRvIGFkZHJlc3MKdGhlIHJhY2UgY29u ZGl0aW9ucyB3ZSdyZSBnb2luZyB0byBnZXQgd2hlbiBldmVudHMgc3RhcnQgY29taW5nIGluIGJl Zm9yZQp0aGUgY2xpZW50IGhhcyBhbm5vdW5jZWQgdGhhdCBpdCBzdXBwb3J0cyB0aGUgbmV3LXN0 eWxlIGV2ZW50cy4KCkNoZWVycywKICAgUGV0ZXIKCj4gU3VnZ2VzdGVkLWJ5OiBBcm5kIEJlcmdt YW5uIDxhcm5kQGFybmRiLmRlPgo+IFNpZ25lZC1vZmYtYnk6IERlZXBhIERpbmFtYW5pIDxkZWVw YS5rZXJuZWxAZ21haWwuY29tPgo+IFJldmlld2VkLWJ5OiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFy bmRiLmRlPgo+IC0tLQo+ICBkcml2ZXJzL2lucHV0L2V2ZGV2LmMgICAgICAgIHwgMjAgKysrKysr KysrLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2lucHV0L2lucHV0LWNvbXBhdC5jIHwgMjkgKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvaW5wdXQvaW5wdXQtY29tcGF0LmggfCAx OSArKysrKysrKysrKy0tLS0tLS0KPiAgZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jICB8ICA2 ICsrKy0tLQo+ICBpbmNsdWRlL2xpbnV4L3VpbnB1dC5oICAgICAgIHwgIDIgKy0KPiAgaW5jbHVk ZS91YXBpL2xpbnV4L2lucHV0LmggICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMzUg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvZXZkZXYuYyBiL2Ry aXZlcnMvaW5wdXQvZXZkZXYuYwo+IGluZGV4IGI0ZTMxNzEuLjQ1OWUzYmEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9pbnB1dC9ldmRldi5jCj4gKysrIGIvZHJpdmVycy9pbnB1dC9ldmRldi5jCj4g QEAgLTYwLDcgKzYwLDcgQEAgc3RydWN0IGV2ZGV2X2NsaWVudCB7Cj4gIAlib29sIHJldm9rZWQ7 Cj4gIAl1bnNpZ25lZCBsb25nICpldm1hc2tzW0VWX0NOVF07Cj4gIAl1bnNpZ25lZCBpbnQgYnVm c2l6ZTsKPiAtCXN0cnVjdCBpbnB1dF9ldmVudCBidWZmZXJbXTsKPiArCXN0cnVjdCByYXdfaW5w dXRfZXZlbnQgYnVmZmVyW107Cj4gIH07Cj4gIAo+ICBzdGF0aWMgc2l6ZV90IGV2ZGV2X2dldF9t YXNrX2NudCh1bnNpZ25lZCBpbnQgdHlwZSkKPiBAQCAtMTEzLDcgKzExMyw3IEBAIHN0YXRpYyB2 b2lkIF9fZXZkZXZfZmx1c2hfcXVldWUoc3RydWN0IGV2ZGV2X2NsaWVudCAqY2xpZW50LCB1bnNp Z25lZCBpbnQgdHlwZSkKPiAgCXVuc2lnbmVkIGludCBpLCBoZWFkLCBudW07Cj4gIAl1bnNpZ25l ZCBpbnQgbWFzayA9IGNsaWVudC0+YnVmc2l6ZSAtIDE7Cj4gIAlib29sIGlzX3JlcG9ydDsKPiAt CXN0cnVjdCBpbnB1dF9ldmVudCAqZXY7Cj4gKwlzdHJ1Y3QgcmF3X2lucHV0X2V2ZW50ICpldjsK PiAgCj4gIAlCVUdfT04odHlwZSA9PSBFVl9TWU4pOwo+ICAKPiBAQCAtMTU1LDcgKzE1NSw3IEBA IHN0YXRpYyB2b2lkIF9fZXZkZXZfZmx1c2hfcXVldWUoc3RydWN0IGV2ZGV2X2NsaWVudCAqY2xp ZW50LCB1bnNpZ25lZCBpbnQgdHlwZSkKPiAgCj4gIHN0YXRpYyB2b2lkIF9fZXZkZXZfcXVldWVf c3luX2Ryb3BwZWQoc3RydWN0IGV2ZGV2X2NsaWVudCAqY2xpZW50KQo+ICB7Cj4gLQlzdHJ1Y3Qg aW5wdXRfZXZlbnQgZXY7Cj4gKwlzdHJ1Y3QgcmF3X2lucHV0X2V2ZW50IGV2Owo+ICAJc3RydWN0 IHRpbWVzcGVjNjQgdHM7Cj4gIAo+ICAJc3dpdGNoIChjbGllbnQtPmNsa190eXBlKSB7Cj4gQEAg LTIzNiw3ICsyMzYsNyBAQCBzdGF0aWMgaW50IGV2ZGV2X3NldF9jbGtfdHlwZShzdHJ1Y3QgZXZk ZXZfY2xpZW50ICpjbGllbnQsIHVuc2lnbmVkIGludCBjbGtpZCkKPiAgfQo+ICAKPiAgc3RhdGlj IHZvaWQgX19wYXNzX2V2ZW50KHN0cnVjdCBldmRldl9jbGllbnQgKmNsaWVudCwKPiAtCQkJIGNv bnN0IHN0cnVjdCBpbnB1dF9ldmVudCAqZXZlbnQpCj4gKwkJCSBjb25zdCBzdHJ1Y3QgcmF3X2lu cHV0X2V2ZW50ICpldmVudCkKPiAgewo+ICAJY2xpZW50LT5idWZmZXJbY2xpZW50LT5oZWFkKytd ID0gKmV2ZW50Owo+ICAJY2xpZW50LT5oZWFkICY9IGNsaWVudC0+YnVmc2l6ZSAtIDE7Cj4gQEAg LTI2OCw3ICsyNjgsNyBAQCBzdGF0aWMgdm9pZCBldmRldl9wYXNzX3ZhbHVlcyhzdHJ1Y3QgZXZk ZXZfY2xpZW50ICpjbGllbnQsCj4gIHsKPiAgCXN0cnVjdCBldmRldiAqZXZkZXYgPSBjbGllbnQt PmV2ZGV2Owo+ICAJY29uc3Qgc3RydWN0IGlucHV0X3ZhbHVlICp2Owo+IC0Jc3RydWN0IGlucHV0 X2V2ZW50IGV2ZW50Owo+ICsJc3RydWN0IHJhd19pbnB1dF9ldmVudCBldmVudDsKPiAgCXN0cnVj dCB0aW1lc3BlYzY0IHRzOwo+ICAJYm9vbCB3YWtldXAgPSBmYWxzZTsKPiAgCj4gQEAgLTUwNyw3 ICs1MDcsNyBAQCBzdGF0aWMgaW50IGV2ZGV2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3Ry dWN0IGZpbGUgKmZpbGUpCj4gIAlzdHJ1Y3QgZXZkZXYgKmV2ZGV2ID0gY29udGFpbmVyX29mKGlu b2RlLT5pX2NkZXYsIHN0cnVjdCBldmRldiwgY2Rldik7Cj4gIAl1bnNpZ25lZCBpbnQgYnVmc2l6 ZSA9IGV2ZGV2X2NvbXB1dGVfYnVmZmVyX3NpemUoZXZkZXYtPmhhbmRsZS5kZXYpOwo+ICAJdW5z aWduZWQgaW50IHNpemUgPSBzaXplb2Yoc3RydWN0IGV2ZGV2X2NsaWVudCkgKwo+IC0JCQkJCWJ1 ZnNpemUgKiBzaXplb2Yoc3RydWN0IGlucHV0X2V2ZW50KTsKPiArCQkJCWJ1ZnNpemUgKiBzaXpl b2Yoc3RydWN0IHJhd19pbnB1dF9ldmVudCk7Cj4gIAlzdHJ1Y3QgZXZkZXZfY2xpZW50ICpjbGll bnQ7Cj4gIAlpbnQgZXJyb3I7Cj4gIAo+IEBAIC01NDIsNyArNTQyLDcgQEAgc3RhdGljIHNzaXpl X3QgZXZkZXZfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZm ZXIsCj4gIHsKPiAgCXN0cnVjdCBldmRldl9jbGllbnQgKmNsaWVudCA9IGZpbGUtPnByaXZhdGVf ZGF0YTsKPiAgCXN0cnVjdCBldmRldiAqZXZkZXYgPSBjbGllbnQtPmV2ZGV2Owo+IC0Jc3RydWN0 IGlucHV0X2V2ZW50IGV2ZW50Owo+ICsJc3RydWN0IHJhd19pbnB1dF9ldmVudCBldmVudDsKPiAg CWludCByZXR2YWwgPSAwOwo+ICAKPiAgCWlmIChjb3VudCAhPSAwICYmIGNvdW50IDwgaW5wdXRf ZXZlbnRfc2l6ZSgpKQo+IEBAIC01NzUsNyArNTc1LDcgQEAgc3RhdGljIHNzaXplX3QgZXZkZXZf d3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCj4gIH0K PiAgCj4gIHN0YXRpYyBpbnQgZXZkZXZfZmV0Y2hfbmV4dF9ldmVudChzdHJ1Y3QgZXZkZXZfY2xp ZW50ICpjbGllbnQsCj4gLQkJCQkgIHN0cnVjdCBpbnB1dF9ldmVudCAqZXZlbnQpCj4gKwkJCQkg IHN0cnVjdCByYXdfaW5wdXRfZXZlbnQgKmV2ZW50KQo+ICB7Cj4gIAlpbnQgaGF2ZV9ldmVudDsK PiAgCj4gQEAgLTU5Nyw3ICs1OTcsNyBAQCBzdGF0aWMgc3NpemVfdCBldmRldl9yZWFkKHN0cnVj dCBmaWxlICpmaWxlLCBjaGFyIF9fdXNlciAqYnVmZmVyLAo+ICB7Cj4gIAlzdHJ1Y3QgZXZkZXZf Y2xpZW50ICpjbGllbnQgPSBmaWxlLT5wcml2YXRlX2RhdGE7Cj4gIAlzdHJ1Y3QgZXZkZXYgKmV2 ZGV2ID0gY2xpZW50LT5ldmRldjsKPiAtCXN0cnVjdCBpbnB1dF9ldmVudCBldmVudDsKPiArCXN0 cnVjdCByYXdfaW5wdXRfZXZlbnQgZXZlbnQ7Cj4gIAlzaXplX3QgcmVhZCA9IDA7Cj4gIAlpbnQg ZXJyb3I7Cj4gIAo+IEBAIC0xMDgzLDcgKzEwODMsNyBAQCBzdGF0aWMgbG9uZyBldmRldl9kb19p b2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKPiAgCXN3aXRjaCAoY21k KSB7Cj4gIAo+ICAJY2FzZSBFVklPQ0dWRVJTSU9OOgo+IC0JCXJldHVybiBwdXRfdXNlcihFVl9W RVJTSU9OLCBpcCk7Cj4gKwkJcmV0dXJuIHB1dF91c2VyKEVWX1ZFUlNJT05fMV8yLCBpcCk7Cj4g IAo+ICAJY2FzZSBFVklPQ0dJRDoKPiAgCQlpZiAoY29weV90b191c2VyKHAsICZkZXYtPmlkLCBz aXplb2Yoc3RydWN0IGlucHV0X2lkKSkpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvaW5w dXQtY29tcGF0LmMgYi9kcml2ZXJzL2lucHV0L2lucHV0LWNvbXBhdC5jCj4gaW5kZXggZDg0ZDIw Yi4uYjU4ZDM1YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lucHV0L2lucHV0LWNvbXBhdC5jCj4g KysrIGIvZHJpdmVycy9pbnB1dC9pbnB1dC1jb21wYXQuYwo+IEBAIC0xNSwxMyArMTUsMTMgQEAK PiAgI2lmZGVmIENPTkZJR19DT01QQVQKPiAgCj4gIGludCBpbnB1dF9ldmVudF9mcm9tX3VzZXIo Y29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwKPiAtCQkJICBzdHJ1Y3QgaW5wdXRfZXZlbnQgKmV2 ZW50KQo+ICsJCQkgIHN0cnVjdCByYXdfaW5wdXRfZXZlbnQgKmV2ZW50KQo+ICB7Cj4gLQlpZiAo aW5fY29tcGF0X3N5c2NhbGwoKSAmJiAhQ09NUEFUX1VTRV82NEJJVF9USU1FKSB7Cj4gLQkJc3Ry dWN0IGlucHV0X2V2ZW50X2NvbXBhdCBjb21wYXRfZXZlbnQ7Cj4gKwlpZiAoaW5fY29tcGF0X3N5 c2NhbGwoKSkgewo+ICsJCXN0cnVjdCByYXdfaW5wdXRfZXZlbnRfY29tcGF0IGNvbXBhdF9ldmVu dDsKPiAgCj4gIAkJaWYgKGNvcHlfZnJvbV91c2VyKCZjb21wYXRfZXZlbnQsIGJ1ZmZlciwKPiAt CQkJCSAgIHNpemVvZihzdHJ1Y3QgaW5wdXRfZXZlbnRfY29tcGF0KSkpCj4gKwkJCQkgICBzaXpl b2Yoc3RydWN0IHJhd19pbnB1dF9ldmVudF9jb21wYXQpKSkKPiAgCQkJcmV0dXJuIC1FRkFVTFQ7 Cj4gIAo+ICAJCWV2ZW50LT50aW1lLnR2X3NlYyA9IGNvbXBhdF9ldmVudC50aW1lLnR2X3NlYzsK PiBAQCAtMzEsNyArMzEsOCBAQCBpbnQgaW5wdXRfZXZlbnRfZnJvbV91c2VyKGNvbnN0IGNoYXIg X191c2VyICpidWZmZXIsCj4gIAkJZXZlbnQtPnZhbHVlID0gY29tcGF0X2V2ZW50LnZhbHVlOwo+ ICAKPiAgCX0gZWxzZSB7Cj4gLQkJaWYgKGNvcHlfZnJvbV91c2VyKGV2ZW50LCBidWZmZXIsIHNp emVvZihzdHJ1Y3QgaW5wdXRfZXZlbnQpKSkKPiArCQlpZiAoY29weV9mcm9tX3VzZXIoZXZlbnQs IGJ1ZmZlciwKPiArCQkJCSAgIHNpemVvZihzdHJ1Y3QgcmF3X2lucHV0X2V2ZW50KSkpCj4gIAkJ CXJldHVybiAtRUZBVUxUOwo+ICAJfQo+ICAKPiBAQCAtMzksMTAgKzQwLDEwIEBAIGludCBpbnB1 dF9ldmVudF9mcm9tX3VzZXIoY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwKPiAgfQo+ICAKPiAg aW50IGlucHV0X2V2ZW50X3RvX3VzZXIoY2hhciBfX3VzZXIgKmJ1ZmZlciwKPiAtCQkJY29uc3Qg c3RydWN0IGlucHV0X2V2ZW50ICpldmVudCkKPiArCQkJY29uc3Qgc3RydWN0IHJhd19pbnB1dF9l dmVudCAqZXZlbnQpCj4gIHsKPiAtCWlmIChpbl9jb21wYXRfc3lzY2FsbCgpICYmICFDT01QQVRf VVNFXzY0QklUX1RJTUUpIHsKPiAtCQlzdHJ1Y3QgaW5wdXRfZXZlbnRfY29tcGF0IGNvbXBhdF9l dmVudDsKPiArCWlmIChpbl9jb21wYXRfc3lzY2FsbCgpKSB7Cj4gKwkJc3RydWN0IHJhd19pbnB1 dF9ldmVudF9jb21wYXQgY29tcGF0X2V2ZW50Owo+ICAKPiAgCQljb21wYXRfZXZlbnQudGltZS50 dl9zZWMgPSBldmVudC0+dGltZS50dl9zZWM7Cj4gIAkJY29tcGF0X2V2ZW50LnRpbWUudHZfdXNl YyA9IGV2ZW50LT50aW1lLnR2X3VzZWM7Cj4gQEAgLTUxLDExICs1MiwxMSBAQCBpbnQgaW5wdXRf ZXZlbnRfdG9fdXNlcihjaGFyIF9fdXNlciAqYnVmZmVyLAo+ICAJCWNvbXBhdF9ldmVudC52YWx1 ZSA9IGV2ZW50LT52YWx1ZTsKPiAgCj4gIAkJaWYgKGNvcHlfdG9fdXNlcihidWZmZXIsICZjb21w YXRfZXZlbnQsCj4gLQkJCQkgc2l6ZW9mKHN0cnVjdCBpbnB1dF9ldmVudF9jb21wYXQpKSkKPiAr CQkJCSBzaXplb2Yoc3RydWN0IHJhd19pbnB1dF9ldmVudF9jb21wYXQpKSkKPiAgCQkJcmV0dXJu IC1FRkFVTFQ7Cj4gIAo+ICAJfSBlbHNlIHsKPiAtCQlpZiAoY29weV90b191c2VyKGJ1ZmZlciwg ZXZlbnQsIHNpemVvZihzdHJ1Y3QgaW5wdXRfZXZlbnQpKSkKPiArCQlpZiAoY29weV90b191c2Vy KGJ1ZmZlciwgZXZlbnQsIHNpemVvZihzdHJ1Y3QgcmF3X2lucHV0X2V2ZW50KSkpCj4gIAkJCXJl dHVybiAtRUZBVUxUOwo+ICAJfQo+ICAKPiBAQCAtMTAwLDE4ICsxMDEsMTggQEAgaW50IGlucHV0 X2ZmX2VmZmVjdF9mcm9tX3VzZXIoY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90IHNp emUsCj4gICNlbHNlCj4gIAo+ICBpbnQgaW5wdXRfZXZlbnRfZnJvbV91c2VyKGNvbnN0IGNoYXIg X191c2VyICpidWZmZXIsCj4gLQkJCSBzdHJ1Y3QgaW5wdXRfZXZlbnQgKmV2ZW50KQo+ICsJCQkg c3RydWN0IHJhd19pbnB1dF9ldmVudCAqZXZlbnQpCj4gIHsKPiAtCWlmIChjb3B5X2Zyb21fdXNl cihldmVudCwgYnVmZmVyLCBzaXplb2Yoc3RydWN0IGlucHV0X2V2ZW50KSkpCj4gKwlpZiAoY29w eV9mcm9tX3VzZXIoZXZlbnQsIGJ1ZmZlciwgc2l6ZW9mKHN0cnVjdCByYXdfaW5wdXRfZXZlbnQp KSkKPiAgCQlyZXR1cm4gLUVGQVVMVDsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAgaW50 IGlucHV0X2V2ZW50X3RvX3VzZXIoY2hhciBfX3VzZXIgKmJ1ZmZlciwKPiAtCQkJY29uc3Qgc3Ry dWN0IGlucHV0X2V2ZW50ICpldmVudCkKPiArCQkJY29uc3Qgc3RydWN0IHJhd19pbnB1dF9ldmVu dCAqZXZlbnQpCj4gIHsKPiAtCWlmIChjb3B5X3RvX3VzZXIoYnVmZmVyLCBldmVudCwgc2l6ZW9m KHN0cnVjdCBpbnB1dF9ldmVudCkpKQo+ICsJaWYgKGNvcHlfdG9fdXNlcihidWZmZXIsIGV2ZW50 LCBzaXplb2Yoc3RydWN0IHJhd19pbnB1dF9ldmVudCkpKQo+ICAJCXJldHVybiAtRUZBVUxUOwo+ ICAKPiAgCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L2lucHV0LWNvbXBh dC5oIGIvZHJpdmVycy9pbnB1dC9pbnB1dC1jb21wYXQuaAo+IGluZGV4IDE1NjMxNjAuLmMxODEz MmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1dC9pbnB1dC1jb21wYXQuaAo+ICsrKyBiL2Ry aXZlcnMvaW5wdXQvaW5wdXQtY29tcGF0LmgKPiBAQCAtMTcsOCArMTcsMTMgQEAKPiAgCj4gICNp ZmRlZiBDT05GSUdfQ09NUEFUCj4gIAo+IC1zdHJ1Y3QgaW5wdXRfZXZlbnRfY29tcGF0IHsKPiAt CXN0cnVjdCBjb21wYXRfdGltZXZhbCB0aW1lOwo+ICtzdHJ1Y3QgaW5wdXRfdGltZXZhbF9jb21w YXQgewo+ICsJY29tcGF0X3Vsb25nX3QgdHZfc2VjOwo+ICsJY29tcGF0X3Vsb25nX3QgdHZfdXNl YzsKPiArfTsKPiArCj4gK3N0cnVjdCByYXdfaW5wdXRfZXZlbnRfY29tcGF0IHsKPiArCXN0cnVj dCBpbnB1dF90aW1ldmFsX2NvbXBhdCB0aW1lOwo+ICAJX191MTYgdHlwZTsKPiAgCV9fdTE2IGNv ZGU7Cj4gIAlfX3MzMiB2YWx1ZTsKPiBAQCAtNTUsMjQgKzYwLDI0IEBAIHN0cnVjdCBmZl9lZmZl Y3RfY29tcGF0IHsKPiAgCj4gIHN0YXRpYyBpbmxpbmUgc2l6ZV90IGlucHV0X2V2ZW50X3NpemUo dm9pZCkKPiAgewo+IC0JcmV0dXJuIChpbl9jb21wYXRfc3lzY2FsbCgpICYmICFDT01QQVRfVVNF XzY0QklUX1RJTUUpID8KPiAtCQlzaXplb2Yoc3RydWN0IGlucHV0X2V2ZW50X2NvbXBhdCkgOiBz aXplb2Yoc3RydWN0IGlucHV0X2V2ZW50KTsKPiArCXJldHVybiBpbl9jb21wYXRfc3lzY2FsbCgp ID8gc2l6ZW9mKHN0cnVjdCByYXdfaW5wdXRfZXZlbnRfY29tcGF0KSA6Cj4gKwkJCQkgICAgIHNp emVvZihzdHJ1Y3QgcmF3X2lucHV0X2V2ZW50KTsKPiAgfQo+ICAKPiAgI2Vsc2UKPiAgCj4gIHN0 YXRpYyBpbmxpbmUgc2l6ZV90IGlucHV0X2V2ZW50X3NpemUodm9pZCkKPiAgewo+IC0JcmV0dXJu IHNpemVvZihzdHJ1Y3QgaW5wdXRfZXZlbnQpOwo+ICsJcmV0dXJuIHNpemVvZihzdHJ1Y3QgcmF3 X2lucHV0X2V2ZW50KTsKPiAgfQo+ICAKPiAgI2VuZGlmIC8qIENPTkZJR19DT01QQVQgKi8KPiAg Cj4gIGludCBpbnB1dF9ldmVudF9mcm9tX3VzZXIoY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwK PiAtCQkJIHN0cnVjdCBpbnB1dF9ldmVudCAqZXZlbnQpOwo+ICsJCQkgc3RydWN0IHJhd19pbnB1 dF9ldmVudCAqZXZlbnQpOwo+ICAKPiAgaW50IGlucHV0X2V2ZW50X3RvX3VzZXIoY2hhciBfX3Vz ZXIgKmJ1ZmZlciwKPiAtCQkJY29uc3Qgc3RydWN0IGlucHV0X2V2ZW50ICpldmVudCk7Cj4gKwkJ CWNvbnN0IHN0cnVjdCByYXdfaW5wdXRfZXZlbnQgKmV2ZW50KTsKPiAgCj4gIGludCBpbnB1dF9m Zl9lZmZlY3RfZnJvbV91c2VyKGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsIHNpemVfdCBzaXpl LAo+ICAJCQkgICAgICBzdHJ1Y3QgZmZfZWZmZWN0ICplZmZlY3QpOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMgYi9kcml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMK PiBpbmRleCAzZDc1YzVhLi4xMTNhM2FlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaW5wdXQvbWlz Yy91aW5wdXQuYwo+ICsrKyBiL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYwo+IEBAIC01NjIs NyArNTYyLDcgQEAgc3RhdGljIGludCB1aW5wdXRfc2V0dXBfZGV2aWNlX2xlZ2FjeShzdHJ1Y3Qg dWlucHV0X2RldmljZSAqdWRldiwKPiAgc3RhdGljIHNzaXplX3QgdWlucHV0X2luamVjdF9ldmVu dHMoc3RydWN0IHVpbnB1dF9kZXZpY2UgKnVkZXYsCj4gIAkJCQkgICAgY29uc3QgY2hhciBfX3Vz ZXIgKmJ1ZmZlciwgc2l6ZV90IGNvdW50KQo+ICB7Cj4gLQlzdHJ1Y3QgaW5wdXRfZXZlbnQgZXY7 Cj4gKwlzdHJ1Y3QgcmF3X2lucHV0X2V2ZW50IGV2Owo+ICAJc2l6ZV90IGJ5dGVzID0gMDsKPiAg Cj4gIAlpZiAoY291bnQgIT0gMCAmJiBjb3VudCA8IGlucHV0X2V2ZW50X3NpemUoKSkKPiBAQCAt NjA4LDcgKzYwOCw3IEBAIHN0YXRpYyBzc2l6ZV90IHVpbnB1dF93cml0ZShzdHJ1Y3QgZmlsZSAq ZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwKPiAgfQo+ICAKPiAgc3RhdGljIGJvb2wg dWlucHV0X2ZldGNoX25leHRfZXZlbnQoc3RydWN0IHVpbnB1dF9kZXZpY2UgKnVkZXYsCj4gLQkJ CQkgICAgc3RydWN0IGlucHV0X2V2ZW50ICpldmVudCkKPiArCQkJCSAgICBzdHJ1Y3QgcmF3X2lu cHV0X2V2ZW50ICpldmVudCkKPiAgewo+ICAJYm9vbCBoYXZlX2V2ZW50Owo+ICAKPiBAQCAtNjI4 LDcgKzYyOCw3IEBAIHN0YXRpYyBib29sIHVpbnB1dF9mZXRjaF9uZXh0X2V2ZW50KHN0cnVjdCB1 aW5wdXRfZGV2aWNlICp1ZGV2LAo+ICBzdGF0aWMgc3NpemVfdCB1aW5wdXRfZXZlbnRzX3RvX3Vz ZXIoc3RydWN0IHVpbnB1dF9kZXZpY2UgKnVkZXYsCj4gIAkJCQkgICAgIGNoYXIgX191c2VyICpi dWZmZXIsIHNpemVfdCBjb3VudCkKPiAgewo+IC0Jc3RydWN0IGlucHV0X2V2ZW50IGV2ZW50Owo+ ICsJc3RydWN0IHJhd19pbnB1dF9ldmVudCBldmVudDsKPiAgCXNpemVfdCByZWFkID0gMDsKPiAg Cj4gIAl3aGlsZSAocmVhZCArIGlucHV0X2V2ZW50X3NpemUoKSA8PSBjb3VudCAmJgo+IGRpZmYg LS1naXQgYS9pbmNsdWRlL2xpbnV4L3VpbnB1dC5oIGIvaW5jbHVkZS9saW51eC91aW5wdXQuaAo+ IGluZGV4IDY1MjdmYjcuLmQxYWNjYjMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC91aW5w dXQuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvdWlucHV0LmgKPiBAQCAtNzEsNyArNzEsNyBAQCBz dHJ1Y3QgdWlucHV0X2RldmljZSB7Cj4gIAl1bnNpZ25lZCBjaGFyCQlyZWFkeTsKPiAgCXVuc2ln bmVkIGNoYXIJCWhlYWQ7Cj4gIAl1bnNpZ25lZCBjaGFyCQl0YWlsOwo+IC0Jc3RydWN0IGlucHV0 X2V2ZW50CWJ1ZmZbVUlOUFVUX0JVRkZFUl9TSVpFXTsKPiArCXN0cnVjdCByYXdfaW5wdXRfZXZl bnQJYnVmZltVSU5QVVRfQlVGRkVSX1NJWkVdOwo+ICAJaW50CQkJY2xrX3R5cGU7Cj4gIAl1bnNp Z25lZCBpbnQJCWZmX2VmZmVjdHNfbWF4Owo+ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2xpbnV4L2lucHV0LmggYi9pbmNsdWRlL3VhcGkvbGludXgvaW5wdXQuaAo+IGluZGV4IGU3OTRm N2IuLjY2OTFkODMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L2lucHV0LmgKPiAr KysgYi9pbmNsdWRlL3VhcGkvbGludXgvaW5wdXQuaAo+IEBAIC0yMiw2ICsyMiwyOSBAQAo+ICAg KiBUaGUgZXZlbnQgc3RydWN0dXJlIGl0c2VsZgo+ICAgKi8KPiAgCj4gKy8qIFRoZSB0aW1lIHN0 cnVjdHVyZSBmb3IgeTIwMzggc2FmZSByYXdfaW5wdXRfZXZlbnQuCj4gKyAqIFRoZSBmaWVsZHMg dXNlIHVuc2lnbmVkIHR5cGVzIHRvIGV4dGVuZCB0aW1lcyB1bnRpbAo+ICsgKiB5ZWFyIDIxMDYg cmF0aGVyIHRoYW4gMjAzOC4KPiArICovCj4gK3N0cnVjdCBpbnB1dF90aW1ldmFsIHsKPiArCV9f a2VybmVsX3Vsb25nX3QgdHZfc2VjOwo+ICsJX19rZXJuZWxfdWxvbmdfdCB0dl91c2VjOwo+ICt9 Owo+ICsKPiArc3RydWN0IHJhd19pbnB1dF9ldmVudCB7Cj4gKwlzdHJ1Y3QgaW5wdXRfdGltZXZh bCB0aW1lOwo+ICsJX191MTYgdHlwZTsKPiArCV9fdTE2IGNvZGU7Cj4gKwlfX3MzMiB2YWx1ZTsK PiArfTsKPiArCj4gKyNpZm5kZWYgX19LRVJORUxfXwo+ICsKPiArLyogVXNlcnNwYWNlIHN0cnVj dHVyZS4KPiArICogRGVmaW5pdGlvbiBtYWludGFpbmVkIGhlcmUgZm9yIHVzZXJzcGFjZSB0aGF0 IGlzIG5vdCB5ZXQgdXBkYXRlZCB0byB1c2UKPiArICogc3RydWN0IHJhd19pbnB1dF9ldmVudC4K PiArICogTm90IHRvIGJlIHVzZWQgYW55d2hlcmUgd2l0aGluIHRoZSBrZXJuZWwuCj4gKyAqLwo+ ICBzdHJ1Y3QgaW5wdXRfZXZlbnQgewo+ICAJc3RydWN0IHRpbWV2YWwgdGltZTsKPiAgCV9fdTE2 IHR5cGU7Cj4gQEAgLTI5LDExICs1MiwzNSBAQCBzdHJ1Y3QgaW5wdXRfZXZlbnQgewo+ICAJX19z MzIgdmFsdWU7Cj4gIH07Cj4gIAo+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiArcmF3X2lucHV0X3Rv X2lucHV0X2V2ZW50KGNvbnN0IHN0cnVjdCByYXdfaW5wdXRfZXZlbnQgKnJhdywKPiArCQkJc3Ry dWN0IGlucHV0X2V2ZW50ICpldikKPiArewo+ICsJZXYtPnRpbWUudHZfc2VjID0gcmF3LT50aW1l LnR2X3NlYzsKPiArCWV2LT50aW1lLnR2X3VzZWMgPSByYXctPnRpbWUudHZfdXNlYzsKPiArCWV2 LT50eXBlID0gcmF3LT50eXBlOwo+ICsJZXYtPmNvZGUgPSByYXctPmNvZGU7Cj4gKwlldi0+dmFs dWUgPSByYXctPnZhbHVlOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiAraW5wdXRf dG9fcmF3X2V2ZW50KGNvbnN0IHN0cnVjdCBpbnB1dF9ldmVudCAqZXYsIHN0cnVjdCByYXdfaW5w dXRfZXZlbnQgKnJhdykKPiArewo+ICsJcmF3LT50aW1lLnR2X3NlYyA9IGV2LT50aW1lLnR2X3Nl YzsKPiArCXJhdy0+dGltZS50dl91c2VjID0gZXYtPnRpbWUudHZfdXNlYzsKPiArCXJhdy0+dHlw ZSA9IGV2LT50eXBlOwo+ICsJcmF3LT5jb2RlID0gZXYtPmNvZGU7Cj4gKwlyYXctPnZhbHVlID0g ZXYtPnZhbHVlOwo+ICt9Cj4gKwo+ICsjZW5kaWYKPiArCj4gIC8qCj4gICAqIFByb3RvY29sIHZl cnNpb24uCj4gICAqLwo+ICAKPiAgI2RlZmluZSBFVl9WRVJTSU9OCQkweDAxMDAwMQo+ICsjZGVm aW5lIEVWX1ZFUlNJT05fMV8yICAgICAgICAgMHgwMTAwMDIKPiAgCj4gIC8qCj4gICAqIElPQ1RM cyAoMHgwMCAtIDB4N2YpCj4gLS0gCj4gMi43LjQKPiAKPiAtLQo+IFRvIHVuc3Vic2NyaWJlIGZy b20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC1pbnB1dCIgaW4K PiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwo+IE1v cmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWlu Zm8uaHRtbAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpZMjAzOCBtYWlsaW5nIGxpc3QKWTIwMzhAbGlzdHMubGluYXJvLm9yZwpodHRwczovL2xpc3Rz LmxpbmFyby5vcmcvbWFpbG1hbi9saXN0aW5mby95MjAzOAo=