Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261774AbVAMXd5 (ORCPT ); Thu, 13 Jan 2005 18:33:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261822AbVAMXdP (ORCPT ); Thu, 13 Jan 2005 18:33:15 -0500 Received: from wproxy.gmail.com ([64.233.184.199]:518 "EHLO wproxy.gmail.com") by vger.kernel.org with ESMTP id S261774AbVAMX1A (ORCPT ); Thu, 13 Jan 2005 18:27:00 -0500 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=N6jIcHwhID8o9PWn4fEV3I5U4gJCvbyT27i+ohP2R00mFpT+lqJbiscDIF8P1K9sa/4f3bFgAOjE/x4POvQ39tMQ610B9U4YNqSyC4zYX0P3IhEsorDwKDOUieKU0Lc3d2syp58ox5UDQzc40YKwtYSFaYQr1LshgsVejxx/+ww= Message-ID: <8746466a050113152636f49d18@mail.gmail.com> Date: Thu, 13 Jan 2005 16:26:57 -0700 From: Dave Reply-To: Dave To: akpm@osdl.org, torvalds@osdl.org, linux-kernel@vger.kernel.org, smaurer@teja.com, linux@arm.linux.org.uk, dsaxena@plexity.net, drew.moseley@intel.com, mporter@kernel.crashing.org Subject: [PATCH 1/5] Convert resource to u64 from unsigned long Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_692_23703165.1105658817013" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 26922 Lines: 370 ------=_Part_692_23703165.1105658817013 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Here's my first attempt of trying to convert the struct resource start/end to u64 per blessed by Linus =) This is to support >32bit physical address on 32bit archs such as some of the newer ARMv6 and XSC3 based platforms and perhaps IA32 PAE. I left the PCI stuff alone functionally. Supporting 64bit PCI BAR on 32bit archs is for another day. I fixed most of the core stuff I can think of, fixed ARM and i386 hopefully and a few of the device drivers as examples. I have tested on an IQ31244 XScale IOP (ARM) platform and a dual-xeon platform for i386. Matt Porter has graciously sent me PPC fixes that he tested on. Signed-off-by: Dave Jiang (dave.jiang@gmail.com) -- -= Dave =- Software Engineer - Advanced Development Engineering Team Storage Component Division - Intel Corp. mailto://dave.jiang @ intel http://sourceforge.net/projects/xscaleiop/ ---- The views expressed in this email are mine alone and do not necessarily reflect the views of my employer (Intel Corp.). ------=_Part_692_23703165.1105658817013 Content-Type: application/octet-stream; name="patch-core_u64fix" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch-core_u64fix" ZGlmZiAtTmF1ciBsaW51eC0yLjYuMTEtcmMxL2RyaXZlcnMvcGNpL2J1cy5jIGxpbnV4LTIuNi4x MS1yYzEtdTY0L2RyaXZlcnMvcGNpL2J1cy5jCi0tLSBsaW51eC0yLjYuMTEtcmMxL2RyaXZlcnMv cGNpL2J1cy5jCTIwMDQtMTItMjQgMTQ6MzU6MzkuMDAwMDAwMDAwIC0wNzAwCisrKyBsaW51eC0y LjYuMTEtcmMxLXU2NC9kcml2ZXJzL3BjaS9idXMuYwkyMDA1LTAxLTEzIDExOjQ1OjQxLjgzNDQ2 MjE2OCAtMDcwMApAQCAtMzQsMTAgKzM0LDEwIEBACiAgKi8KIGludAogcGNpX2J1c19hbGxvY19y ZXNvdXJjZShzdHJ1Y3QgcGNpX2J1cyAqYnVzLCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywKLQl1bnNp Z25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcgYWxpZ24sIHVuc2lnbmVkIGxvbmcgbWluLAor CXU2NCBzaXplLCB1NjQgYWxpZ24sIHU2NCBtaW4sCiAJdW5zaWduZWQgaW50IHR5cGVfbWFzaywK IAl2b2lkICgqYWxpZ25mKSh2b2lkICosIHN0cnVjdCByZXNvdXJjZSAqLAotCQkJdW5zaWduZWQg bG9uZywgdW5zaWduZWQgbG9uZyksCisJCQl1NjQsIHU2NCksCiAJdm9pZCAqYWxpZ25mX2RhdGEp CiB7CiAJaW50IGksIHJldCA9IC1FTk9NRU07CmRpZmYgLU5hdXIgbGludXgtMi42LjExLXJjMS9k cml2ZXJzL3BjaS9wY2kuYyBsaW51eC0yLjYuMTEtcmMxLXU2NC9kcml2ZXJzL3BjaS9wY2kuYwot LS0gbGludXgtMi42LjExLXJjMS9kcml2ZXJzL3BjaS9wY2kuYwkyMDA1LTAxLTEzIDE0OjQwOjAy LjcyNjE2NDkwNCAtMDcwMAorKysgbGludXgtMi42LjExLXJjMS11NjQvZHJpdmVycy9wY2kvcGNp LmMJMjAwNS0wMS0xMyAxNDowODoxMC44NTQ4MTM1MjggLTA3MDAKQEAgLTU2NCw3ICs1NjQsNyBA QAogCXJldHVybiAwOwogCiBlcnJfb3V0OgotCXByaW50ayAoS0VSTl9XQVJOSU5HICJQQ0k6IFVu YWJsZSB0byByZXNlcnZlICVzIHJlZ2lvbiAjJWQ6JWx4QCVseCBmb3IgZGV2aWNlICVzXG4iLAor CXByaW50ayAoS0VSTl9XQVJOSU5HICJQQ0k6IFVuYWJsZSB0byByZXNlcnZlICVzIHJlZ2lvbiAj JWQ6JSIgVTY0Rk1UICJAJSIgVTY0Rk1UICIgZm9yIGRldmljZSAlc1xuIiwKIAkJcGNpX3Jlc291 cmNlX2ZsYWdzKHBkZXYsIGJhcikgJiBJT1JFU09VUkNFX0lPID8gIkkvTyIgOiAibWVtIiwKIAkJ YmFyICsgMSwgLyogUENJIEJBUiAjICovCiAJCXBjaV9yZXNvdXJjZV9sZW4ocGRldiwgYmFyKSwg cGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsIGJhciksCmRpZmYgLU5hdXIgbGludXgtMi42LjExLXJj MS9kcml2ZXJzL3BjaS9wY2kuaCBsaW51eC0yLjYuMTEtcmMxLXU2NC9kcml2ZXJzL3BjaS9wY2ku aAotLS0gbGludXgtMi42LjExLXJjMS9kcml2ZXJzL3BjaS9wY2kuaAkyMDA0LTEyLTI0IDE0OjM0 OjMxLjAwMDAwMDAwMCAtMDcwMAorKysgbGludXgtMi42LjExLXJjMS11NjQvZHJpdmVycy9wY2kv cGNpLmgJMjAwNS0wMS0xMyAxMTo0NTo0MS44MzY0NjE4NjQgLTA3MDAKQEAgLTYsMTAgKzYsMTAg QEAKIGV4dGVybiB2b2lkIHBjaV9yZW1vdmVfc3lzZnNfZGV2X2ZpbGVzKHN0cnVjdCBwY2lfZGV2 ICpwZGV2KTsKIGV4dGVybiB2b2lkIHBjaV9jbGVhbnVwX3JvbShzdHJ1Y3QgcGNpX2RldiAqZGV2 KTsKIGV4dGVybiBpbnQgcGNpX2J1c19hbGxvY19yZXNvdXJjZShzdHJ1Y3QgcGNpX2J1cyAqYnVz LCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywKLQkJCQkgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWdu ZWQgbG9uZyBhbGlnbiwKLQkJCQkgIHVuc2lnbmVkIGxvbmcgbWluLCB1bnNpZ25lZCBpbnQgdHlw ZV9tYXNrLAorCQkJCSAgdTY0IHNpemUsIHU2NCBhbGlnbiwKKwkJCQkgIHU2NCBtaW4sIHVuc2ln bmVkIGludCB0eXBlX21hc2ssCiAJCQkJICB2b2lkICgqYWxpZ25mKSh2b2lkICosIHN0cnVjdCBy ZXNvdXJjZSAqLAotCQkJCQkgIAkgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZyksCisJCQkJ CSAgCSB1NjQsIHU2NCksCiAJCQkJICB2b2lkICphbGlnbmZfZGF0YSk7CiAvKiBQQ0kgL3Byb2Mg ZnVuY3Rpb25zICovCiAjaWZkZWYgQ09ORklHX1BST0NfRlMKZGlmZiAtTmF1ciBsaW51eC0yLjYu MTEtcmMxL2RyaXZlcnMvcGNpL3BjaS1zeXNmcy5jIGxpbnV4LTIuNi4xMS1yYzEtdTY0L2RyaXZl cnMvcGNpL3BjaS1zeXNmcy5jCi0tLSBsaW51eC0yLjYuMTEtcmMxL2RyaXZlcnMvcGNpL3BjaS1z eXNmcy5jCTIwMDUtMDEtMTMgMTQ6NDA6MDIuNzI1MTY1MDU2IC0wNzAwCisrKyBsaW51eC0yLjYu MTEtcmMxLXU2NC9kcml2ZXJzL3BjaS9wY2ktc3lzZnMuYwkyMDA1LTAxLTEzIDE0OjA5OjQyLjIy OTkyMjQwMCAtMDcwMApAQCAtNjUsNyArNjUsNyBAQAogCQltYXggPSBERVZJQ0VfQ09VTlRfUkVT T1VSQ0U7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbWF4OyBpKyspIHsKLQkJc3RyICs9IHNwcmludGYo c3RyLCIweCUwMTZseCAweCUwMTZseCAweCUwMTZseFxuIiwKKwkJc3RyICs9IHNwcmludGYoc3Ry LCIweCUiIFU2NEZNVCAiIDB4JSIgVTY0Rk1UICIgMHglMDE2bHhcbiIsCiAJCQkgICAgICAgcGNp X3Jlc291cmNlX3N0YXJ0KHBjaV9kZXYsaSksCiAJCQkgICAgICAgcGNpX3Jlc291cmNlX2VuZChw Y2lfZGV2LGkpLAogCQkJICAgICAgIHBjaV9yZXNvdXJjZV9mbGFncyhwY2lfZGV2LGkpKTsKZGlm ZiAtTmF1ciBsaW51eC0yLjYuMTEtcmMxL2RyaXZlcnMvcGNpL3Byb2MuYyBsaW51eC0yLjYuMTEt cmMxLXU2NC9kcml2ZXJzL3BjaS9wcm9jLmMKLS0tIGxpbnV4LTIuNi4xMS1yYzEvZHJpdmVycy9w Y2kvcHJvYy5jCTIwMDQtMTItMjQgMTQ6MzQ6NTguMDAwMDAwMDAwIC0wNzAwCisrKyBsaW51eC0y LjYuMTEtcmMxLXU2NC9kcml2ZXJzL3BjaS9wcm9jLmMJMjAwNS0wMS0xMyAxNDoyNjo1Ny4yOTY1 NjgzNTIgLTA3MDAKQEAgLTMwMSwxMCArMzAxLDEwIEBACiAjZW5kaWYgLyogSEFWRV9QQ0lfTU1B UCAqLwogfTsKIAotI2lmIEJJVFNfUEVSX0xPTkcgPT0gMzIKLSNkZWZpbmUgTE9OR19GT1JNQVQg Ilx0JTA4bHgiCi0jZWxzZQorI2lmIEJJVFNfUEVSX0xPTkcgPT0gNjQKICNkZWZpbmUgTE9OR19G T1JNQVQgIlx0JTE2bHgiCisjZWxzZQorI2RlZmluZSBMT05HX0ZPUk1BVCAiXHQlMTZMeCIKICNl bmRpZgogCiAvKiBpdGVyYXRvciAqLwpkaWZmIC1OYXVyIGxpbnV4LTIuNi4xMS1yYzEvZHJpdmVy cy9wY2kvcm9tLmMgbGludXgtMi42LjExLXJjMS11NjQvZHJpdmVycy9wY2kvcm9tLmMKLS0tIGxp bnV4LTIuNi4xMS1yYzEvZHJpdmVycy9wY2kvcm9tLmMJMjAwNC0xMi0yNCAxNDozNDo0NC4wMDAw MDAwMDAgLTA3MDAKKysrIGxpbnV4LTIuNi4xMS1yYzEtdTY0L2RyaXZlcnMvcGNpL3JvbS5jCTIw MDUtMDEtMTMgMTE6NDU6NDEuODM3NDYxNzEyIC0wNzAwCkBAIC03NCw3ICs3NCwxMSBAQAogCX0g ZWxzZSB7CiAJCWlmIChyZXMtPmZsYWdzICYgSU9SRVNPVVJDRV9ST01fQ09QWSkgewogCQkJKnNp emUgPSBwY2lfcmVzb3VyY2VfbGVuKHBkZXYsIFBDSV9ST01fUkVTT1VSQ0UpOworI2lmIEJJVFNf UEVSX0xPTkcgPT0gNjQJCQkKIAkJCXJldHVybiAodm9pZCBfX2lvbWVtICopcGNpX3Jlc291cmNl X3N0YXJ0KHBkZXYsIFBDSV9ST01fUkVTT1VSQ0UpOworI2Vsc2UKKwkJCXJldHVybiAodm9pZCBf X2lvbWVtICopKHUzMilwY2lfcmVzb3VyY2Vfc3RhcnQocGRldiwgUENJX1JPTV9SRVNPVVJDRSk7 CisjZW5kaWYKIAkJfSBlbHNlIHsKIAkJCS8qIGFzc2lnbiB0aGUgUk9NIGFuIGFkZHJlc3MgaWYg aXQgZG9lc24ndCBoYXZlIG9uZSAqLwogCQkJaWYgKHJlcy0+cGFyZW50ID09IE5VTEwpCkBAIC0x NTYsMTEgKzE2MCwxNSBAQAogCQlyZXR1cm4gcm9tOwogCiAJcmVzLT5lbmQgPSByZXMtPnN0YXJ0 ICsgKnNpemU7IAorI2lmIEJJVFNfUEVSX0xPTkcgPT0gNjQKIAltZW1jcHlfZnJvbWlvKCh2b2lk KilyZXMtPnN0YXJ0LCByb20sICpzaXplKTsKKyNlbHNlCisJbWVtY3B5X2Zyb21pbygodm9pZCop KHUzMilyZXMtPnN0YXJ0LCByb20sICpzaXplKTsKKyNlbmRpZgogCXBjaV91bm1hcF9yb20ocGRl diwgcm9tKTsKIAlyZXMtPmZsYWdzIHw9IElPUkVTT1VSQ0VfUk9NX0NPUFk7CiAJCi0JcmV0dXJu ICh2b2lkIF9faW9tZW0gKilyZXMtPnN0YXJ0OworCXJldHVybiAodm9pZCBfX2lvbWVtICopKHUz MilyZXMtPnN0YXJ0OwogfQogCiAvKioKQEAgLTIxMiw3ICsyMjAsMTEgQEAKIHsKIAlzdHJ1Y3Qg cmVzb3VyY2UgKnJlcyA9ICZwZGV2LT5yZXNvdXJjZVtQQ0lfUk9NX1JFU09VUkNFXTsKIAlpZiAo cmVzLT5mbGFncyAmIElPUkVTT1VSQ0VfUk9NX0NPUFkpIHsKKyNpZiBCSVRTX1BFUl9MT05HID09 IDY0CQkKIAkJa2ZyZWUoKHZvaWQqKXJlcy0+c3RhcnQpOworI2Vsc2UKKwkJa2ZyZWUoKHZvaWQq KSh1MzIpcmVzLT5zdGFydCk7CisjZW5kaWYKIAkJcmVzLT5mbGFncyAmPSB+SU9SRVNPVVJDRV9S T01fQ09QWTsKIAkJcmVzLT5zdGFydCA9IDA7CiAJCXJlcy0+ZW5kID0gMDsKZGlmZiAtTmF1ciBs aW51eC0yLjYuMTEtcmMxL2RyaXZlcnMvcGNpL3NldHVwLWJ1cy5jIGxpbnV4LTIuNi4xMS1yYzEt dTY0L2RyaXZlcnMvcGNpL3NldHVwLWJ1cy5jCi0tLSBsaW51eC0yLjYuMTEtcmMxL2RyaXZlcnMv cGNpL3NldHVwLWJ1cy5jCTIwMDUtMDEtMTMgMTQ6NDA6MDIuNzI5MTY0NDQ4IC0wNzAwCisrKyBs aW51eC0yLjYuMTEtcmMxLXU2NC9kcml2ZXJzL3BjaS9zZXR1cC1idXMuYwkyMDA1LTAxLTEzIDE0 OjE2OjQyLjQ1MDAzOTIzMiAtMDcwMApAQCAtMzU3LDcgKzM1Nyw3IEBACiAJCQlvcmRlciA9IF9f ZmZzKGFsaWduKSAtIDIwOwogCQkJaWYgKG9yZGVyID4gMTEpIHsKIAkJCQlwcmludGsoS0VSTl9X QVJOSU5HICJQQ0k6IHJlZ2lvbiAlcy8lZCAiCi0JCQkJICAgICAgICJ0b28gbGFyZ2U6ICVseC0l bHhcbiIsCisJCQkJICAgICAgICJ0b28gbGFyZ2U6ICUiIFU2NEZNVCAiLSUiIFU2NEZNVCAiXG4i LAogCQkJCSAgICAgICBwY2lfbmFtZShkZXYpLCBpLCByLT5zdGFydCwgci0+ZW5kKTsKIAkJCQly LT5mbGFncyA9IDA7CiAJCQkJY29udGludWU7CmRpZmYgLU5hdXIgbGludXgtMi42LjExLXJjMS9k cml2ZXJzL3BjaS9zZXR1cC1yZXMuYyBsaW51eC0yLjYuMTEtcmMxLXU2NC9kcml2ZXJzL3BjaS9z ZXR1cC1yZXMuYwotLS0gbGludXgtMi42LjExLXJjMS9kcml2ZXJzL3BjaS9zZXR1cC1yZXMuYwky MDA0LTEyLTI0IDE0OjM1OjI1LjAwMDAwMDAwMCAtMDcwMAorKysgbGludXgtMi42LjExLXJjMS11 NjQvZHJpdmVycy9wY2kvc2V0dXAtcmVzLmMJMjAwNS0wMS0xMyAxNDoyMDo1OC4wNjExODA0MzIg LTA3MDAKQEAgLTQyLDcgKzQyLDcgQEAKIAogCXBjaWJpb3NfcmVzb3VyY2VfdG9fYnVzKGRldiwg JnJlZ2lvbiwgcmVzKTsKIAotCURCR0MoKEtFUk5fRVJSICIgIGdvdCByZXMgWyVseDolbHhdIGJ1 cyBbJWx4OiVseF0gZmxhZ3MgJWx4IGZvciAiCisJREJHQygoS0VSTl9FUlIgIiAgZ290IHJlcyBb JSIgVTY0Rk1UICI6JSIgVTY0Rk1UICJdIGJ1cyBbJWx4OiVseF0gZmxhZ3MgJWx4IGZvciAiCiAJ ICAgICAgIkJBUiAlZCBvZiAlc1xuIiwgcmVzLT5zdGFydCwgcmVzLT5lbmQsCiAJICAgICAgcmVn aW9uLnN0YXJ0LCByZWdpb24uZW5kLCByZXMtPmZsYWdzLAogCSAgICAgIHJlc25vLCBwY2lfbmFt ZShkZXYpKSk7CkBAIC0xMDgsNyArMTA4LDcgQEAKIAkJZXJyID0gaW5zZXJ0X3Jlc291cmNlKHJv b3QsIHJlcyk7CiAKIAlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiUENJOiAlcyByZWdp b24gJWQgb2YgJXMgJXMgWyVseDolbHhdXG4iLAorCQlwcmludGsoS0VSTl9FUlIgIlBDSTogJXMg cmVnaW9uICVkIG9mICVzICVzIFslIiBVNjRGTVQgIjolIiBVNjRGTVQgIl1cbiIsCiAJCSAgICAg ICByb290ID8gIkFkZHJlc3Mgc3BhY2UgY29sbGlzaW9uIG9uIiA6CiAJCQkgICAgICAiTm8gcGFy ZW50IGZvdW5kIGZvciIsCiAJCSAgICAgICByZXNvdXJjZSwgZHR5cGUsIHBjaV9uYW1lKGRldiks IHJlcy0+c3RhcnQsIHJlcy0+ZW5kKTsKQEAgLTEyMSw3ICsxMjEsNyBAQAogewogCXN0cnVjdCBw Y2lfYnVzICpidXMgPSBkZXYtPmJ1czsKIAlzdHJ1Y3QgcmVzb3VyY2UgKnJlcyA9IGRldi0+cmVz b3VyY2UgKyByZXNubzsKLQl1bnNpZ25lZCBsb25nIHNpemUsIG1pbiwgYWxpZ247CisJdTY0IHNp emUsIG1pbiwgYWxpZ247CiAJaW50IHJldDsKIAogCXNpemUgPSByZXMtPmVuZCAtIHJlcy0+c3Rh cnQgKyAxOwpAQCAtMTQ4LDcgKzE0OCw3IEBACiAJfQogCiAJaWYgKHJldCkgewotCQlwcmludGso S0VSTl9FUlIgIlBDSTogRmFpbGVkIHRvIGFsbG9jYXRlICVzIHJlc291cmNlICMlZDolbHhAJWx4 IGZvciAlc1xuIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJQQ0k6IEZhaWxlZCB0byBhbGxvY2F0ZSAl cyByZXNvdXJjZSAjJWQ6JSIgVTY0Rk1UICJAJSIgVTY0Rk1UICIgZm9yICVzXG4iLAogCQkgICAg ICAgcmVzLT5mbGFncyAmIElPUkVTT1VSQ0VfSU8gPyAiSS9PIiA6ICJtZW0iLAogCQkgICAgICAg cmVzbm8sIHNpemUsIHJlcy0+c3RhcnQsIHBjaV9uYW1lKGRldikpOwogCX0gZWxzZSBpZiAocmVz bm8gPCBQQ0lfQlJJREdFX1JFU09VUkNFUykgewpAQCAtMTc2LDcgKzE3Niw3IEBACiAJCQljb250 aW51ZTsKIAkJaWYgKCFyX2FsaWduKSB7CiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJQQ0k6IEln bm9yZSBib2d1cyByZXNvdXJjZSAlZCAiCi0JCQkJCSAgICAiWyVseDolbHhdIG9mICVzXG4iLAor CQkJCQkgICAgIlslIiBVNjRGTVQgIjolIiBVNjRGTVQgIl0gb2YgJXNcbiIsCiAJCQkJCSAgICBp LCByLT5zdGFydCwgci0+ZW5kLCBwY2lfbmFtZShkZXYpKTsKIAkJCWNvbnRpbnVlOwogCQl9CmRp ZmYgLU5hdXIgbGludXgtMi42LjExLXJjMS9kcml2ZXJzL3BucC9tYW5hZ2VyLmMgbGludXgtMi42 LjExLXJjMS11NjQvZHJpdmVycy9wbnAvbWFuYWdlci5jCi0tLSBsaW51eC0yLjYuMTEtcmMxL2Ry aXZlcnMvcG5wL21hbmFnZXIuYwkyMDA0LTEyLTI0IDE0OjM1OjM5LjAwMDAwMDAwMCAtMDcwMAor KysgbGludXgtMi42LjExLXJjMS11NjQvZHJpdmVycy9wbnAvbWFuYWdlci5jCTIwMDUtMDEtMTMg MTE6NDU6NDEuODM5NDYxNDA4IC0wNzAwCkBAIC0yNSw3ICsyNSw4IEBACiAKIHN0YXRpYyBpbnQg cG5wX2Fzc2lnbl9wb3J0KHN0cnVjdCBwbnBfZGV2ICpkZXYsIHN0cnVjdCBwbnBfcG9ydCAqcnVs ZSwgaW50IGlkeCkKIHsKLQl1bnNpZ25lZCBsb25nICpzdGFydCwgKmVuZCwgKmZsYWdzOworCXU2 NCAqc3RhcnQsICplbmQ7CisJdW5zaWduZWQgbG9uZyAqZmxhZ3M7CiAKIAlpZiAoIWRldiB8fCAh cnVsZSkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC02OCw3ICs2OSw4IEBACiAKIHN0YXRpYyBpbnQg cG5wX2Fzc2lnbl9tZW0oc3RydWN0IHBucF9kZXYgKmRldiwgc3RydWN0IHBucF9tZW0gKnJ1bGUs IGludCBpZHgpCiB7Ci0JdW5zaWduZWQgbG9uZyAqc3RhcnQsICplbmQsICpmbGFnczsKKwl1NjQg KnN0YXJ0LCAqZW5kOworCXVuc2lnbmVkIGxvbmcgKmZsYWdzOwogCiAJaWYgKCFkZXYgfHwgIXJ1 bGUpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTIxLDcgKzEyMyw4IEBACiAKIHN0YXRpYyBpbnQg cG5wX2Fzc2lnbl9pcnEoc3RydWN0IHBucF9kZXYgKiBkZXYsIHN0cnVjdCBwbnBfaXJxICpydWxl LCBpbnQgaWR4KQogewotCXVuc2lnbmVkIGxvbmcgKnN0YXJ0LCAqZW5kLCAqZmxhZ3M7CisJdTY0 ICpzdGFydCwgKmVuZDsKKwl1bnNpZ25lZCBsb25nICpmbGFnczsKIAlpbnQgaTsKIAogCS8qIElS USBwcmlvcml0eTogdGhpcyB0YWJsZSBpcyBnb29kIGZvciBpMzg2ICovCkBAIC0xNzMsNyArMTc2 LDggQEAKIAogc3RhdGljIGludCBwbnBfYXNzaWduX2RtYShzdHJ1Y3QgcG5wX2RldiAqZGV2LCBz dHJ1Y3QgcG5wX2RtYSAqcnVsZSwgaW50IGlkeCkKIHsKLQl1bnNpZ25lZCBsb25nICpzdGFydCwg KmVuZCwgKmZsYWdzOworCXU2NCAqc3RhcnQsICplbmQ7CisJdW5zaWduZWQgbG9uZyAqZmxhZ3M7 CiAJaW50IGk7CiAKIAkvKiBETUEgcHJpb3JpdHk6IHRoaXMgdGFibGUgaXMgZ29vZCBmb3IgaTM4 NiAqLwpAQCAtNTQ4LDcgKzU1Miw3IEBACiAgKiBAc2l6ZTogc2l6ZSBvZiByZWdpb24KICAqCiAg Ki8KLXZvaWQgcG5wX3Jlc291cmNlX2NoYW5nZShzdHJ1Y3QgcmVzb3VyY2UgKnJlc291cmNlLCB1 bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUpCit2b2lkIHBucF9yZXNvdXJj ZV9jaGFuZ2Uoc3RydWN0IHJlc291cmNlICpyZXNvdXJjZSwgdTY0IHN0YXJ0LCB1NjQgc2l6ZSkK IHsKIAlpZiAocmVzb3VyY2UgPT0gTlVMTCkKIAkJcmV0dXJuOwpkaWZmIC1OYXVyIGxpbnV4LTIu Ni4xMS1yYzEvZHJpdmVycy9wbnAvcmVzb3VyY2UuYyBsaW51eC0yLjYuMTEtcmMxLXU2NC9kcml2 ZXJzL3BucC9yZXNvdXJjZS5jCi0tLSBsaW51eC0yLjYuMTEtcmMxL2RyaXZlcnMvcG5wL3Jlc291 cmNlLmMJMjAwNC0xMi0yNCAxNDozNDo1OC4wMDAwMDAwMDAgLTA3MDAKKysrIGxpbnV4LTIuNi4x MS1yYzEtdTY0L2RyaXZlcnMvcG5wL3Jlc291cmNlLmMJMjAwNS0wMS0xMyAxMTo0NTo0MS44NDA0 NjEyNTYgLTA3MDAKQEAgLTI0Miw3ICsyNDIsNyBAQAogewogCWludCB0bXA7CiAJc3RydWN0IHBu cF9kZXYgKnRkZXY7Ci0JdW5zaWduZWQgbG9uZyAqcG9ydCwgKmVuZCwgKnRwb3J0LCAqdGVuZDsK Kwl1NjQgKnBvcnQsICplbmQsICp0cG9ydCwgKnRlbmQ7CiAJcG9ydCA9ICZkZXYtPnJlcy5wb3J0 X3Jlc291cmNlW2lkeF0uc3RhcnQ7CiAJZW5kID0gJmRldi0+cmVzLnBvcnRfcmVzb3VyY2VbaWR4 XS5lbmQ7CiAKQEAgLTI5OCw3ICsyOTgsNyBAQAogewogCWludCB0bXA7CiAJc3RydWN0IHBucF9k ZXYgKnRkZXY7Ci0JdW5zaWduZWQgbG9uZyAqYWRkciwgKmVuZCwgKnRhZGRyLCAqdGVuZDsKKwl1 NjQgKmFkZHIsICplbmQsICp0YWRkciwgKnRlbmQ7CiAJYWRkciA9ICZkZXYtPnJlcy5tZW1fcmVz b3VyY2VbaWR4XS5zdGFydDsKIAllbmQgPSAmZGV2LT5yZXMubWVtX3Jlc291cmNlW2lkeF0uZW5k OwogCkBAIC0zNTksNyArMzU5LDcgQEAKIHsKIAlpbnQgdG1wOwogCXN0cnVjdCBwbnBfZGV2ICp0 ZGV2OwotCXVuc2lnbmVkIGxvbmcgKiBpcnEgPSAmZGV2LT5yZXMuaXJxX3Jlc291cmNlW2lkeF0u c3RhcnQ7CisJdTY0ICogaXJxID0gJmRldi0+cmVzLmlycV9yZXNvdXJjZVtpZHhdLnN0YXJ0Owog CiAJLyogaWYgdGhlIHJlc291cmNlIGRvZXNuJ3QgZXhpc3QsIGRvbid0IGNvbXBsYWluIGFib3V0 IGl0ICovCiAJaWYgKGNhbm5vdF9jb21wYXJlKGRldi0+cmVzLmlycV9yZXNvdXJjZVtpZHhdLmZs YWdzKSkKQEAgLTQyNCw3ICs0MjQsNyBAQAogI2lmbmRlZiBDT05GSUdfSUE2NAogCWludCB0bXA7 CiAJc3RydWN0IHBucF9kZXYgKnRkZXY7Ci0JdW5zaWduZWQgbG9uZyAqIGRtYSA9ICZkZXYtPnJl cy5kbWFfcmVzb3VyY2VbaWR4XS5zdGFydDsKKwl1NjQgKiBkbWEgPSAmZGV2LT5yZXMuZG1hX3Jl c291cmNlW2lkeF0uc3RhcnQ7CiAKIAkvKiBpZiB0aGUgcmVzb3VyY2UgZG9lc24ndCBleGlzdCwg ZG9uJ3QgY29tcGxhaW4gYWJvdXQgaXQgKi8KIAlpZiAoY2Fubm90X2NvbXBhcmUoZGV2LT5yZXMu ZG1hX3Jlc291cmNlW2lkeF0uZmxhZ3MpKQpkaWZmIC1OYXVyIGxpbnV4LTIuNi4xMS1yYzEvaW5j bHVkZS9saW51eC9pb3BvcnQuaCBsaW51eC0yLjYuMTEtcmMxLXU2NC9pbmNsdWRlL2xpbnV4L2lv cG9ydC5oCi0tLSBsaW51eC0yLjYuMTEtcmMxL2luY2x1ZGUvbGludXgvaW9wb3J0LmgJMjAwNC0x Mi0yNCAxNDozNDoyNi4wMDAwMDAwMDAgLTA3MDAKKysrIGxpbnV4LTIuNi4xMS1yYzEtdTY0L2lu Y2x1ZGUvbGludXgvaW9wb3J0LmgJMjAwNS0wMS0xMyAxMTo0NTo0MS44NDM0NjA4MDAgLTA3MDAK QEAgLTksMTMgKzksMTQgQEAKICNkZWZpbmUgX0xJTlVYX0lPUE9SVF9ICiAKICNpbmNsdWRlIDxs aW51eC9jb21waWxlci5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAvKgogICogUmVzb3Vy Y2VzIGFyZSB0cmVlLWxpa2UsIGFsbG93aW5nCiAgKiBuZXN0aW5nIGV0Yy4uCiAgKi8KIHN0cnVj dCByZXNvdXJjZSB7CisJdTY0IHN0YXJ0LCBlbmQ7CiAJY29uc3QgY2hhciAqbmFtZTsKLQl1bnNp Z25lZCBsb25nIHN0YXJ0LCBlbmQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgcmVz b3VyY2UgKnBhcmVudCwgKnNpYmxpbmcsICpjaGlsZDsKIH07CkBAIC05OCwzMSArOTksMzEgQEAK IGV4dGVybiBpbnQgcmVsZWFzZV9yZXNvdXJjZShzdHJ1Y3QgcmVzb3VyY2UgKm5ldyk7CiBleHRl cm4gaW50IGluc2VydF9yZXNvdXJjZShzdHJ1Y3QgcmVzb3VyY2UgKnBhcmVudCwgc3RydWN0IHJl c291cmNlICpuZXcpOwogZXh0ZXJuIGludCBhbGxvY2F0ZV9yZXNvdXJjZShzdHJ1Y3QgcmVzb3Vy Y2UgKnJvb3QsIHN0cnVjdCByZXNvdXJjZSAqbmV3LAotCQkJICAgICB1bnNpZ25lZCBsb25nIHNp emUsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgbWluLCB1bnNpZ25lZCBsb25nIG1heCwKLQkJCSAg ICAgdW5zaWduZWQgbG9uZyBhbGlnbiwKKwkJCSAgICAgdTY0IHNpemUsCisJCQkgICAgIHU2NCBt aW4sIHU2NCBtYXgsCisJCQkgICAgIHU2NCBhbGlnbiwKIAkJCSAgICAgdm9pZCAoKmFsaWduZiko dm9pZCAqLCBzdHJ1Y3QgcmVzb3VyY2UgKiwKLQkJCQkJICAgIHVuc2lnbmVkIGxvbmcsIHVuc2ln bmVkIGxvbmcpLAorCQkJCQkgICAgdTY0LCB1NjQpLAogCQkJICAgICB2b2lkICphbGlnbmZfZGF0 YSk7Ci1pbnQgYWRqdXN0X3Jlc291cmNlKHN0cnVjdCByZXNvdXJjZSAqcmVzLCB1bnNpZ25lZCBs b25nIHN0YXJ0LAotCQkgICAgdW5zaWduZWQgbG9uZyBzaXplKTsKK2ludCBhZGp1c3RfcmVzb3Vy Y2Uoc3RydWN0IHJlc291cmNlICpyZXMsIHU2NCBzdGFydCwKKwkJICAgIHU2NCBzaXplKTsKIAog LyogQ29udmVuaWVuY2Ugc2hvcnRoYW5kIHdpdGggYWxsb2NhdGlvbiAqLwogI2RlZmluZSByZXF1 ZXN0X3JlZ2lvbihzdGFydCxuLG5hbWUpCV9fcmVxdWVzdF9yZWdpb24oJmlvcG9ydF9yZXNvdXJj ZSwgKHN0YXJ0KSwgKG4pLCAobmFtZSkpCiAjZGVmaW5lIHJlcXVlc3RfbWVtX3JlZ2lvbihzdGFy dCxuLG5hbWUpIF9fcmVxdWVzdF9yZWdpb24oJmlvbWVtX3Jlc291cmNlLCAoc3RhcnQpLCAobiks IChuYW1lKSkKICNkZWZpbmUgcmVuYW1lX3JlZ2lvbihyZWdpb24sIG5ld25hbWUpIGRvIHsgKHJl Z2lvbiktPm5hbWUgPSAobmV3bmFtZSk7IH0gd2hpbGUgKDApCiAKLWV4dGVybiBzdHJ1Y3QgcmVz b3VyY2UgKiBfX3JlcXVlc3RfcmVnaW9uKHN0cnVjdCByZXNvdXJjZSAqLCB1bnNpZ25lZCBsb25n IHN0YXJ0LCB1bnNpZ25lZCBsb25nIG4sIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIHN0cnVj dCByZXNvdXJjZSAqIF9fcmVxdWVzdF9yZWdpb24oc3RydWN0IHJlc291cmNlICosIHU2NCBzdGFy dCwgdTY0IG4sIGNvbnN0IGNoYXIgKm5hbWUpOwogCiAvKiBDb21wYXRpYmlsaXR5IGNydWZ0ICov CiAjZGVmaW5lIHJlbGVhc2VfcmVnaW9uKHN0YXJ0LG4pCV9fcmVsZWFzZV9yZWdpb24oJmlvcG9y dF9yZXNvdXJjZSwgKHN0YXJ0KSwgKG4pKQogI2RlZmluZSBjaGVja19tZW1fcmVnaW9uKHN0YXJ0 LG4pCV9fY2hlY2tfcmVnaW9uKCZpb21lbV9yZXNvdXJjZSwgKHN0YXJ0KSwgKG4pKQogI2RlZmlu ZSByZWxlYXNlX21lbV9yZWdpb24oc3RhcnQsbikJX19yZWxlYXNlX3JlZ2lvbigmaW9tZW1fcmVz b3VyY2UsIChzdGFydCksIChuKSkKIAotZXh0ZXJuIGludCBfX2NoZWNrX3JlZ2lvbihzdHJ1Y3Qg cmVzb3VyY2UgKiwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZyk7Ci1leHRlcm4gdm9pZCBf X3JlbGVhc2VfcmVnaW9uKHN0cnVjdCByZXNvdXJjZSAqLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25l ZCBsb25nKTsKK2V4dGVybiBpbnQgX19jaGVja19yZWdpb24oc3RydWN0IHJlc291cmNlICosIHU2 NCwgdTY0KTsKK2V4dGVybiB2b2lkIF9fcmVsZWFzZV9yZWdpb24oc3RydWN0IHJlc291cmNlICos IHU2NCwgdTY0KTsKIAotc3RhdGljIGlubGluZSBpbnQgX19kZXByZWNhdGVkIGNoZWNrX3JlZ2lv bih1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxvbmcgbikKK3N0YXRpYyBpbmxpbmUgaW50IF9f ZGVwcmVjYXRlZCBjaGVja19yZWdpb24odTY0IHMsIHU2NCBuKQogewogCXJldHVybiBfX2NoZWNr X3JlZ2lvbigmaW9wb3J0X3Jlc291cmNlLCBzLCBuKTsKIH0KZGlmZiAtTmF1ciBsaW51eC0yLjYu MTEtcmMxL2luY2x1ZGUvbGludXgva2VybmVsLmggbGludXgtMi42LjExLXJjMS11NjQvaW5jbHVk ZS9saW51eC9rZXJuZWwuaAotLS0gbGludXgtMi42LjExLXJjMS9pbmNsdWRlL2xpbnV4L2tlcm5l bC5oCTIwMDUtMDEtMTMgMTQ6NDA6MTYuMzY0MDkxNjI0IC0wNzAwCisrKyBsaW51eC0yLjYuMTEt cmMxLXU2NC9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCTIwMDUtMDEtMTMgMTI6MTM6MDMuNTY2ODgw OTA0IC0wNzAwCkBAIC0zOSw2ICszOSwxMiBAQAogI2RlZmluZQlLRVJOX0lORk8JIjw2PiIJLyog aW5mb3JtYXRpb25hbAkJCSovCiAjZGVmaW5lCUtFUk5fREVCVUcJIjw3PiIJLyogZGVidWctbGV2 ZWwgbWVzc2FnZXMJCQkqLwogCisjaWYgQklUU19QRVJfTE9ORyA9PSA2NAorI2RlZmluZSBVNjRG TVQgIjAxNmx4IgorI2Vsc2UKKyNkZWZpbmUgVTY0Rk1UICIwMTZMeCIKKyNlbmRpZgorCiBleHRl cm4gaW50IGNvbnNvbGVfcHJpbnRrW107CiAKICNkZWZpbmUgY29uc29sZV9sb2dsZXZlbCAoY29u c29sZV9wcmludGtbMF0pCmRpZmYgLU5hdXIgbGludXgtMi42LjExLXJjMS9pbmNsdWRlL2xpbnV4 L3BjaS5oIGxpbnV4LTIuNi4xMS1yYzEtdTY0L2luY2x1ZGUvbGludXgvcGNpLmgKLS0tIGxpbnV4 LTIuNi4xMS1yYzEvaW5jbHVkZS9saW51eC9wY2kuaAkyMDA1LTAxLTEzIDE0OjQwOjE4LjAwMTg0 MjY0OCAtMDcwMAorKysgbGludXgtMi42LjExLXJjMS11NjQvaW5jbHVkZS9saW51eC9wY2kuaAky MDA1LTAxLTEzIDExOjQ1OjQxLjg0NDQ2MDY0OCAtMDcwMApAQCAtNzI2LDcgKzcyNiw3IEBACiAK IC8qIFVzZWQgb25seSB3aGVuIGRyaXZlcnMvcGNpL3NldHVwLmMgaXMgdXNlZCAqLwogdm9pZCBw Y2liaW9zX2FsaWduX3Jlc291cmNlKHZvaWQgKiwgc3RydWN0IHJlc291cmNlICosCi0JCQkgICAg dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZyk7CisJCQkgICAgdTY0LCB1NjQpOwogdm9pZCBw Y2liaW9zX3VwZGF0ZV9pcnEoc3RydWN0IHBjaV9kZXYgKiwgaW50IGlycSk7CiAKIC8qIEdlbmVy aWMgUENJIGZ1bmN0aW9ucyB1c2VkIGludGVybmFsbHkgKi8KQEAgLTg0MywxMCArODQzLDEwIEBA CiAKIC8qIGRyaXZlcnMvcGNpL2J1cy5jICovCiBpbnQgcGNpX2J1c19hbGxvY19yZXNvdXJjZShz dHJ1Y3QgcGNpX2J1cyAqYnVzLCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywKLQkJCSAgIHVuc2lnbmVk IGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBhbGlnbiwKLQkJCSAgIHVuc2lnbmVkIGxvbmcgbWlu LCB1bnNpZ25lZCBpbnQgdHlwZV9tYXNrLAorCQkJICAgdTY0IHNpemUsIHU2NCBhbGlnbiwKKwkJ CSAgIHU2NCBtaW4sIHVuc2lnbmVkIGludCB0eXBlX21hc2ssCiAJCQkgICB2b2lkICgqYWxpZ25m KSh2b2lkICosIHN0cnVjdCByZXNvdXJjZSAqLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcsIHVuc2ln bmVkIGxvbmcpLAorCQkJCQkgIHU2NCwgdTY0KSwKIAkJCSAgIHZvaWQgKmFsaWduZl9kYXRhKTsK IHZvaWQgcGNpX2VuYWJsZV9icmlkZ2VzKHN0cnVjdCBwY2lfYnVzICpidXMpOwogCmRpZmYgLU5h dXIgbGludXgtMi42LjExLXJjMS9pbmNsdWRlL2xpbnV4L3BucC5oIGxpbnV4LTIuNi4xMS1yYzEt dTY0L2luY2x1ZGUvbGludXgvcG5wLmgKLS0tIGxpbnV4LTIuNi4xMS1yYzEvaW5jbHVkZS9saW51 eC9wbnAuaAkyMDA0LTEyLTI0IDE0OjM1OjQwLjAwMDAwMDAwMCAtMDcwMAorKysgbGludXgtMi42 LjExLXJjMS11NjQvaW5jbHVkZS9saW51eC9wbnAuaAkyMDA1LTAxLTEzIDExOjQ1OjQxLjg0NTQ2 MDQ5NiAtMDcwMApAQCAtMzg0LDcgKzM4NCw3IEBACiBpbnQgcG5wX3ZhbGlkYXRlX2NvbmZpZyhz dHJ1Y3QgcG5wX2RldiAqZGV2KTsKIGludCBwbnBfYWN0aXZhdGVfZGV2KHN0cnVjdCBwbnBfZGV2 ICpkZXYpOwogaW50IHBucF9kaXNhYmxlX2RldihzdHJ1Y3QgcG5wX2RldiAqZGV2KTsKLXZvaWQg cG5wX3Jlc291cmNlX2NoYW5nZShzdHJ1Y3QgcmVzb3VyY2UgKnJlc291cmNlLCB1bnNpZ25lZCBs b25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUpOwordm9pZCBwbnBfcmVzb3VyY2VfY2hhbmdl KHN0cnVjdCByZXNvdXJjZSAqcmVzb3VyY2UsIHU2NCBzdGFydCwgdTY0IHNpemUpOwogCiAvKiBw cm90b2NvbCBoZWxwZXJzICovCiBpbnQgcG5wX2lzX2FjdGl2ZShzdHJ1Y3QgcG5wX2RldiAqIGRl dik7CkBAIC00MjksNyArNDI5LDcgQEAKIHN0YXRpYyBpbmxpbmUgaW50IHBucF92YWxpZGF0ZV9j b25maWcoc3RydWN0IHBucF9kZXYgKmRldikgeyByZXR1cm4gLUVOT0RFVjsgfQogc3RhdGljIGlu bGluZSBpbnQgcG5wX2FjdGl2YXRlX2RldihzdHJ1Y3QgcG5wX2RldiAqZGV2KSB7IHJldHVybiAt RU5PREVWOyB9CiBzdGF0aWMgaW5saW5lIGludCBwbnBfZGlzYWJsZV9kZXYoc3RydWN0IHBucF9k ZXYgKmRldikgeyByZXR1cm4gLUVOT0RFVjsgfQotc3RhdGljIGlubGluZSB2b2lkIHBucF9yZXNv dXJjZV9jaGFuZ2Uoc3RydWN0IHJlc291cmNlICpyZXNvdXJjZSwgdW5zaWduZWQgbG9uZyBzdGFy dCwgdW5zaWduZWQgbG9uZyBzaXplKSB7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBwbnBfcmVzb3Vy Y2VfY2hhbmdlKHN0cnVjdCByZXNvdXJjZSAqcmVzb3VyY2UsIHU2NCBzdGFydCwgdTY0IHNpemUp IHsgfQogCiAvKiBwcm90b2NvbCBoZWxwZXJzICovCiBzdGF0aWMgaW5saW5lIGludCBwbnBfaXNf YWN0aXZlKHN0cnVjdCBwbnBfZGV2ICogZGV2KSB7IHJldHVybiAwOyB9CmRpZmYgLU5hdXIgbGlu dXgtMi42LjExLXJjMS9rZXJuZWwvcmVzb3VyY2UuYyBsaW51eC0yLjYuMTEtcmMxLXU2NC9rZXJu ZWwvcmVzb3VyY2UuYwotLS0gbGludXgtMi42LjExLXJjMS9rZXJuZWwvcmVzb3VyY2UuYwkyMDA1 LTAxLTEzIDE0OjQwOjE4LjUzNzc2MTE3NiAtMDcwMAorKysgbGludXgtMi42LjExLXJjMS11NjQv a2VybmVsL3Jlc291cmNlLmMJMjAwNS0wMS0xMyAxNDo0MzoyNC44Nzc0MzMyNDAgLTA3MDAKQEAg LTIzLDcgKzIzLDcgQEAKIAogc3RydWN0IHJlc291cmNlIGlvcG9ydF9yZXNvdXJjZSA9IHsKIAku bmFtZQk9ICJQQ0kgSU8iLAotCS5zdGFydAk9IDB4MDAwMCwKKwkuc3RhcnQJPSAweDAwMDBVTEws CiAJLmVuZAk9IElPX1NQQUNFX0xJTUlULAogCS5mbGFncwk9IElPUkVTT1VSQ0VfSU8sCiB9OwpA QCAtMzIsOCArMzIsOCBAQAogCiBzdHJ1Y3QgcmVzb3VyY2UgaW9tZW1fcmVzb3VyY2UgPSB7CiAJ Lm5hbWUJPSAiUENJIG1lbSIsCi0JLnN0YXJ0CT0gMFVMLAotCS5lbmQJPSB+MFVMLAorCS5zdGFy dAk9IDBVTEwsCisJLmVuZAk9IH4wVUxMLAogCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogfTsK IApAQCAtODMsNyArODMsNyBAQAogCWZvciAoZGVwdGggPSAwLCBwID0gcjsgZGVwdGggPCBNQVhf SU9SRVNfTEVWRUw7IGRlcHRoKyssIHAgPSBwLT5wYXJlbnQpCiAJCWlmIChwLT5wYXJlbnQgPT0g cm9vdCkKIAkJCWJyZWFrOwotCXNlcV9wcmludGYobSwgIiUqcyUwKmx4LSUwKmx4IDogJXNcbiIs CisJc2VxX3ByaW50ZihtLCAiJSpzJSIgVTY0Rk1UICItJSIgVTY0Rk1UICIgOiAlc1xuIiwKIAkJ CWRlcHRoICogMiwgIiIsCiAJCQl3aWR0aCwgci0+c3RhcnQsCiAJCQl3aWR0aCwgci0+ZW5kLApA QCAtMTUxLDggKzE1MSw4IEBACiAvKiBSZXR1cm4gdGhlIGNvbmZsaWN0IGVudHJ5IGlmIHlvdSBj YW4ndCByZXF1ZXN0IGl0ICovCiBzdGF0aWMgc3RydWN0IHJlc291cmNlICogX19yZXF1ZXN0X3Jl c291cmNlKHN0cnVjdCByZXNvdXJjZSAqcm9vdCwgc3RydWN0IHJlc291cmNlICpuZXcpCiB7Ci0J dW5zaWduZWQgbG9uZyBzdGFydCA9IG5ldy0+c3RhcnQ7Ci0JdW5zaWduZWQgbG9uZyBlbmQgPSBu ZXctPmVuZDsKKwl1NjQgc3RhcnQgPSBuZXctPnN0YXJ0OworCXU2NCBlbmQgPSBuZXctPmVuZDsK IAlzdHJ1Y3QgcmVzb3VyY2UgKnRtcCwgKipwOwogCiAJaWYgKGVuZCA8IHN0YXJ0KQpAQCAtMjM2 LDExICsyMzYsMTEgQEAKICAqIEZpbmQgZW1wdHkgc2xvdCBpbiB0aGUgcmVzb3VyY2UgdHJlZSBn aXZlbiByYW5nZSBhbmQgYWxpZ25tZW50LgogICovCiBzdGF0aWMgaW50IGZpbmRfcmVzb3VyY2Uo c3RydWN0IHJlc291cmNlICpyb290LCBzdHJ1Y3QgcmVzb3VyY2UgKm5ldywKLQkJCSB1bnNpZ25l ZCBsb25nIHNpemUsCi0JCQkgdW5zaWduZWQgbG9uZyBtaW4sIHVuc2lnbmVkIGxvbmcgbWF4LAot CQkJIHVuc2lnbmVkIGxvbmcgYWxpZ24sCisJCQkgdTY0IHNpemUsCisJCQkgdTY0IG1pbiwgdTY0 IG1heCwKKwkJCSB1NjQgYWxpZ24sCiAJCQkgdm9pZCAoKmFsaWduZikodm9pZCAqLCBzdHJ1Y3Qg cmVzb3VyY2UgKiwKLQkJCQkJdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZyksCisJCQkJCXU2 NCwgdTY0KSwKIAkJCSB2b2lkICphbGlnbmZfZGF0YSkKIHsKIAlzdHJ1Y3QgcmVzb3VyY2UgKnRo aXMgPSByb290LT5jaGlsZDsKQEAgLTI4MiwxMSArMjgyLDExIEBACiAgKiBBbGxvY2F0ZSBlbXB0 eSBzbG90IGluIHRoZSByZXNvdXJjZSB0cmVlIGdpdmVuIHJhbmdlIGFuZCBhbGlnbm1lbnQuCiAg Ki8KIGludCBhbGxvY2F0ZV9yZXNvdXJjZShzdHJ1Y3QgcmVzb3VyY2UgKnJvb3QsIHN0cnVjdCBy ZXNvdXJjZSAqbmV3LAotCQkgICAgICB1bnNpZ25lZCBsb25nIHNpemUsCi0JCSAgICAgIHVuc2ln bmVkIGxvbmcgbWluLCB1bnNpZ25lZCBsb25nIG1heCwKLQkJICAgICAgdW5zaWduZWQgbG9uZyBh bGlnbiwKKwkJICAgICAgdTY0IHNpemUsCisJCSAgICAgIHU2NCBtaW4sIHU2NCBtYXgsCisJCSAg ICAgIHU2NCBhbGlnbiwKIAkJICAgICAgdm9pZCAoKmFsaWduZikodm9pZCAqLCBzdHJ1Y3QgcmVz b3VyY2UgKiwKLQkJCQkgICAgIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpLAorCQkJCSAg ICAgdTY0LCB1NjQpLAogCQkgICAgICB2b2lkICphbGlnbmZfZGF0YSkKIHsKIAlpbnQgZXJyOwpA QCAtMzc4LDEwICszNzgsMTAgQEAKICAqIGFyZ3VtZW50cy4gIFJldHVybnMgLUVCVVNZIGlmIGl0 IGNhbid0IGZpdC4gIEV4aXN0aW5nIGNoaWxkcmVuIG9mCiAgKiB0aGUgcmVzb3VyY2UgYXJlIGFz c3VtZWQgdG8gYmUgaW1tdXRhYmxlLgogICovCi1pbnQgYWRqdXN0X3Jlc291cmNlKHN0cnVjdCBy ZXNvdXJjZSAqcmVzLCB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUpCitp bnQgYWRqdXN0X3Jlc291cmNlKHN0cnVjdCByZXNvdXJjZSAqcmVzLCB1NjQgc3RhcnQsIHU2NCBz aXplKQogewogCXN0cnVjdCByZXNvdXJjZSAqdG1wLCAqcGFyZW50ID0gcmVzLT5wYXJlbnQ7Ci0J dW5zaWduZWQgbG9uZyBlbmQgPSBzdGFydCArIHNpemUgLSAxOworCXU2NCBlbmQgPSBzdGFydCAr IHNpemUgLSAxOwogCWludCByZXN1bHQgPSAtRUJVU1k7CiAKIAl3cml0ZV9sb2NrKCZyZXNvdXJj ZV9sb2NrKTsKQEAgLTQyOCw3ICs0MjgsNyBAQAogICoKICAqIFJlbGVhc2UtcmVnaW9uIHJlbGVh c2VzIGEgbWF0Y2hpbmcgYnVzeSByZWdpb24uCiAgKi8KLXN0cnVjdCByZXNvdXJjZSAqIF9fcmVx dWVzdF9yZWdpb24oc3RydWN0IHJlc291cmNlICpwYXJlbnQsIHVuc2lnbmVkIGxvbmcgc3RhcnQs IHVuc2lnbmVkIGxvbmcgbiwgY29uc3QgY2hhciAqbmFtZSkKK3N0cnVjdCByZXNvdXJjZSAqIF9f cmVxdWVzdF9yZWdpb24oc3RydWN0IHJlc291cmNlICpwYXJlbnQsIHU2NCBzdGFydCwgdTY0IG4s IGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJc3RydWN0IHJlc291cmNlICpyZXMgPSBrbWFsbG9jKHNp emVvZigqcmVzKSwgR0ZQX0tFUk5FTCk7CiAKQEAgLTQ2NSw3ICs0NjUsNyBAQAogCiBFWFBPUlRf U1lNQk9MKF9fcmVxdWVzdF9yZWdpb24pOwogCi1pbnQgX19kZXByZWNhdGVkIF9fY2hlY2tfcmVn aW9uKHN0cnVjdCByZXNvdXJjZSAqcGFyZW50LCB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25l ZCBsb25nIG4pCitpbnQgX19kZXByZWNhdGVkIF9fY2hlY2tfcmVnaW9uKHN0cnVjdCByZXNvdXJj ZSAqcGFyZW50LCB1NjQgc3RhcnQsIHU2NCBuKQogewogCXN0cnVjdCByZXNvdXJjZSAqIHJlczsK IApAQCAtNDgwLDEwICs0ODAsMTAgQEAKIAogRVhQT1JUX1NZTUJPTChfX2NoZWNrX3JlZ2lvbik7 CiAKLXZvaWQgX19yZWxlYXNlX3JlZ2lvbihzdHJ1Y3QgcmVzb3VyY2UgKnBhcmVudCwgdW5zaWdu ZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBuKQordm9pZCBfX3JlbGVhc2VfcmVnaW9uKHN0 cnVjdCByZXNvdXJjZSAqcGFyZW50LCB1NjQgc3RhcnQsIHU2NCBuKQogewogCXN0cnVjdCByZXNv dXJjZSAqKnA7Ci0JdW5zaWduZWQgbG9uZyBlbmQ7CisJdTY0IGVuZDsKIAogCXAgPSAmcGFyZW50 LT5jaGlsZDsKIAllbmQgPSBzdGFydCArIG4gLSAxOwpAQCAtNTEyLDcgKzUxMiw3IEBACiAKIAl3 cml0ZV91bmxvY2soJnJlc291cmNlX2xvY2spOwogCi0JcHJpbnRrKEtFUk5fV0FSTklORyAiVHJ5 aW5nIHRvIGZyZWUgbm9uZXhpc3RlbnQgcmVzb3VyY2UgPCUwOGx4LSUwOGx4PlxuIiwgc3RhcnQs IGVuZCk7CisJcHJpbnRrKEtFUk5fV0FSTklORyAiVHJ5aW5nIHRvIGZyZWUgbm9uZXhpc3RlbnQg cmVzb3VyY2UgPCUiIFU2NEZNVCAiLSUiIFU2NEZNVCAiPlxuIiwgc3RhcnQsIGVuZCk7CiB9CiAK IEVYUE9SVF9TWU1CT0woX19yZWxlYXNlX3JlZ2lvbik7Cg== ------=_Part_692_23703165.1105658817013-- - 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/