Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Thu, 28 Nov 2002 07:18:52 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Thu, 28 Nov 2002 07:18:52 -0500 Received: from itaqui.terra.com.br ([200.176.3.19]:18048 "EHLO itaqui.terra.com.br") by vger.kernel.org with ESMTP id ; Thu, 28 Nov 2002 07:18:45 -0500 Date: Thu, 28 Nov 2002 10:25:58 -0200 From: Lucio Maciel To: owner-xfs@oss.sgi.com Cc: LKML , lord@oss.sgi.com, linux-xfs@oss.sgi.com, Linus Torvalds Subject: [PATCH RESEND 2.5]FIX XFS redefines Message-Id: <20021128102558.1b33f62a.abslucio@terra.com.br> Organization: absoluta X-Mailer: Sylpheed version 0.8.5 (GTK+ 1.2.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart_Thu__28_Nov_2002_10:25:58_-0200_0858de00" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 34135 Lines: 471 This is a multi-part message in MIME format. --Multipart_Thu__28_Nov_2002_10:25:58_-0200_0858de00 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit I Hate when this happens... now with the pacth attached... Hello.... This patch fixes this redefines in linux-2.5.49 and 2.5.50 ... In file included from fs/xfs/linux/xfs_linux.h:56, from fs/xfs/xfs.h:54, from fs/xfs/xfs_acl.c:33: fs/xfs/linux/xfs_vnode.h:546: warning: `AT_UID' redefined include/linux/elf.h:172: warning: this is the location of the previous definition fs/xfs/linux/xfs_vnode.h:547: warning: `AT_GID' redefined include/linux/elf.h:174: warning: this is the location of the previous definition .... This happens, because linux/module.h is including linux/elf.h that define AT_UID and AT_GID (since 2.5.49) ... i just renamed the XFS Attributes defines from AT_XXX to XFS_AT_XXX best regards. -- ::: Lucio F. Maciel ::: abslucio@terra.com.br ::: icq 93065464 ::: Absoluta.net --Multipart_Thu__28_Nov_2002_10:25:58_-0200_0858de00 Content-Type: application/octet-stream; name="xfs.patch" Content-Disposition: attachment; filename="xfs.patch" Content-Transfer-Encoding: base64 ZGlmZiAtdXIgLS1leGNsdWRlPWF1dG9jb25mLmggLS1leGNsdWRlPScqZGlmZicgLS1leGNsdWRl PWNvbXBpbGVfbG9nIC0tZXhjbHVkZT14ZnNfZXJyb3IgLS1leGNsdWRlPXhmc19sb2cgLS1leGNs dWRlPWVycm9yIC0tZXhjbHVkZT0uY29uZmlnIC0tZXhjbHVkZT0nKi5jbWQnIGxpbnVzLTIuNS40 OS9mcy94ZnMvbGludXgveGZzX2ZpbGUuYyBsaW51eC0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc19m aWxlLmMKLS0tIGxpbnVzLTIuNS40OS9mcy94ZnMvbGludXgveGZzX2ZpbGUuYwkyMDAyLTExLTA0 IDIwOjMwOjMwLjAwMDAwMDAwMCAtMDIwMAorKysgbGludXgtMi41LjQ5L2ZzL3hmcy9saW51eC94 ZnNfZmlsZS5jCTIwMDItMTEtMjMgMDA6MzA6NTQuMDAwMDAwMDAwIC0wMjAwCkBAIC0yODAsNyAr MjgwLDcgQEAKIHsKIAlzdHJ1Y3QgaW5vZGUJKmlwID0gZmlscC0+Zl9kZW50cnktPmRfaW5vZGU7 CiAJdm5vZGVfdAkJKnZwID0gTElOVkZTX0dFVF9WUChpcCk7Ci0JdmF0dHJfdAkJdmEgPSB7IC52 YV9tYXNrID0gQVRfVVBEQVRJTUUgfTsKKwl2YXR0cl90CQl2YSA9IHsgLnZhX21hc2sgPSBYRlNf QVRfVVBEQVRJTUUgfTsKIAlpbnQJCWVycm9yOwogCiAJaWYgKCh2cC0+dl90eXBlID09IFZSRUcp ICYmICh2cC0+dl92ZnNwLT52ZnNfZmxhZyAmIFZGU19ETUkpKSB7CkBAIC0yOTEsNyArMjkxLDcg QEAKIAogCXZtYS0+dm1fb3BzID0gJmxpbnZmc19maWxlX3ZtX29wczsKIAotCVZPUF9TRVRBVFRS KHZwLCAmdmEsIEFUX1VQREFUSU1FLCBOVUxMLCBlcnJvcik7CisJVk9QX1NFVEFUVFIodnAsICZ2 YSwgWEZTX0FUX1VQREFUSU1FLCBOVUxMLCBlcnJvcik7CiAJVVBEQVRFX0FUSU1FKGlwKTsKIAly ZXR1cm4gMDsKIH0KZGlmZiAtdXIgLS1leGNsdWRlPWF1dG9jb25mLmggLS1leGNsdWRlPScqZGlm ZicgLS1leGNsdWRlPWNvbXBpbGVfbG9nIC0tZXhjbHVkZT14ZnNfZXJyb3IgLS1leGNsdWRlPXhm c19sb2cgLS1leGNsdWRlPWVycm9yIC0tZXhjbHVkZT0uY29uZmlnIC0tZXhjbHVkZT0nKi5jbWQn IGxpbnVzLTIuNS40OS9mcy94ZnMvbGludXgveGZzX2lvY3RsLmMgbGludXgtMi41LjQ5L2ZzL3hm cy9saW51eC94ZnNfaW9jdGwuYwotLS0gbGludXMtMi41LjQ5L2ZzL3hmcy9saW51eC94ZnNfaW9j dGwuYwkyMDAyLTExLTIyIDIyOjI5OjUzLjAwMDAwMDAwMCAtMDIwMAorKysgbGludXgtMi41LjQ5 L2ZzL3hmcy9saW51eC94ZnNfaW9jdGwuYwkyMDAyLTExLTIzIDAwOjMwOjU0LjAwMDAwMDAwMCAt MDIwMApAQCAtOTQ1LDcgKzk0NSw3IEBACiAKIAlzd2l0Y2ggKGNtZCkgewogCWNhc2UgWEZTX0lP Q19GU0dFVFhBVFRSOiB7Ci0JCXZhLnZhX21hc2sgPSBBVF9YRkxBR1N8QVRfRVhUU0laRXxBVF9O RVhURU5UUzsKKwkJdmEudmFfbWFzayA9IFhGU19BVF9YRkxBR1N8WEZTX0FUX0VYVFNJWkV8WEZT X0FUX05FWFRFTlRTOwogCQlWT1BfR0VUQVRUUih2cCwgJnZhLCAwLCBOVUxMLCBlcnJvcik7CiAJ CWlmIChlcnJvcikKIAkJCXJldHVybiAtZXJyb3I7CkBAIC05NjUsNyArOTY1LDcgQEAKIAkJaWYg KGNvcHlfZnJvbV91c2VyKCZmYSwgKHN0cnVjdCBmc3hhdHRyICopYXJnLCBzaXplb2YoZmEpKSkK IAkJCXJldHVybiAtWEZTX0VSUk9SKEVGQVVMVCk7CiAKLQkJdmEudmFfbWFzayA9IEFUX1hGTEFH UyB8IEFUX0VYVFNJWkU7CisJCXZhLnZhX21hc2sgPSBYRlNfQVRfWEZMQUdTIHwgWEZTX0FUX0VY VFNJWkU7CiAJCXZhLnZhX3hmbGFncyAgPSBmYS5mc3hfeGZsYWdzOwogCQl2YS52YV9leHRzaXpl ID0gZmEuZnN4X2V4dHNpemU7CiAKQEAgLTk3OCw3ICs5NzgsNyBAQAogCiAJY2FzZSBYRlNfSU9D X0ZTR0VUWEFUVFJBOiB7CiAKLQkJdmEudmFfbWFzayA9IEFUX1hGTEFHU3xBVF9FWFRTSVpFfEFU X0FORVhURU5UUzsKKwkJdmEudmFfbWFzayA9IFhGU19BVF9YRkxBR1N8WEZTX0FUX0VYVFNJWkV8 WEZTX0FUX0FORVhURU5UUzsKIAkJVk9QX0dFVEFUVFIodnAsICZ2YSwgMCwgTlVMTCwgZXJyb3Ip OwogCQlpZiAoZXJyb3IpCiAJCQlyZXR1cm4gLWVycm9yOwpkaWZmIC11ciAtLWV4Y2x1ZGU9YXV0 b2NvbmYuaCAtLWV4Y2x1ZGU9JypkaWZmJyAtLWV4Y2x1ZGU9Y29tcGlsZV9sb2cgLS1leGNsdWRl PXhmc19lcnJvciAtLWV4Y2x1ZGU9eGZzX2xvZyAtLWV4Y2x1ZGU9ZXJyb3IgLS1leGNsdWRlPS5j b25maWcgLS1leGNsdWRlPScqLmNtZCcgbGludXMtMi41LjQ5L2ZzL3hmcy9saW51eC94ZnNfaW9w cy5jIGxpbnV4LTIuNS40OS9mcy94ZnMvbGludXgveGZzX2lvcHMuYwotLS0gbGludXMtMi41LjQ5 L2ZzL3hmcy9saW51eC94ZnNfaW9wcy5jCTIwMDItMTEtMjIgMjI6MzE6NDMuMDAwMDAwMDAwIC0w MjAwCisrKyBsaW51eC0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc19pb3BzLmMJMjAwMi0xMS0yMyAw MDozMDo1NC4wMDAwMDAwMDAgLTAyMDAKQEAgLTQ1LDcgKzQ1LDcgQEAKIAl2YXR0cl90CQl2YTsK IAlpbnQJCWVycm9yOwogCi0JdmEudmFfbWFzayA9IEFUX05MSU5LfEFUX1NJWkU7CisJdmEudmFf bWFzayA9IFhGU19BVF9OTElOS3xYRlNfQVRfU0laRTsKIAlWT1BfR0VUQVRUUih2cCwgJnZhLCBB VFRSX0xBWlksIE5VTEwsIGVycm9yKTsKIAlpcC0+aV9ubGluayA9IHZhLnZhX25saW5rOwogCWlw LT5pX3NpemUgPSB2YS52YV9zaXplOwpAQCAtODUsMTQgKzg1LDE0IEBACiAJCW1vZGUgJj0gfmN1 cnJlbnQtPmZzLT51bWFzazsKIAogCW1lbXNldCgmdmEsIDAsIHNpemVvZih2YSkpOwotCXZhLnZh X21hc2sgPSBBVF9UWVBFfEFUX01PREU7CisJdmEudmFfbWFzayA9IFhGU19BVF9UWVBFfFhGU19B VF9NT0RFOwogCXZhLnZhX3R5cGUgPSBJRlRPVlQobW9kZSk7CiAJdmEudmFfbW9kZSA9IG1vZGU7 CiAKIAlzd2l0Y2ggKG1vZGUgJiBTX0lGTVQpIHsKIAljYXNlIFNfSUZDSFI6IGNhc2UgU19JRkJM SzogY2FzZSBTX0lGSUZPOiBjYXNlIFNfSUZTT0NLOgogCQl2YS52YV9yZGV2ID0gWEZTX01LREVW KE1BSk9SKHJkZXYpLCBNSU5PUihyZGV2KSk7Ci0JCXZhLnZhX21hc2sgfD0gQVRfUkRFVjsKKwkJ dmEudmFfbWFzayB8PSBYRlNfQVRfUkRFVjsKIAkJLypGQUxMVEhST1VHSCovCiAJY2FzZSBTX0lG UkVHOgogCQlWT1BfQ1JFQVRFKGR2cCwgZGVudHJ5LCAmdmEsICZ2cCwgTlVMTCwgZXJyb3IpOwpA QCAtMjU1LDcgKzI1NSw3IEBACiAJbWVtc2V0KCZ2YSwgMCwgc2l6ZW9mKHZhKSk7CiAJdmEudmFf dHlwZSA9IFZMTks7CiAJdmEudmFfbW9kZSA9IGlyaXhfc3ltbGlua19tb2RlID8gMDc3NyAmIH5j dXJyZW50LT5mcy0+dW1hc2sgOiBTX0lSV1hVR087Ci0JdmEudmFfbWFzayA9IEFUX1RZUEV8QVRf TU9ERTsKKwl2YS52YV9tYXNrID0gWEZTX0FUX1RZUEV8WEZTX0FUX01PREU7CiAKIAllcnJvciA9 IDA7CiAJVk9QX1NZTUxJTksoZHZwLCBkZW50cnksICZ2YSwgKGNoYXIgKilzeW1uYW1lLCAmY3Zw LCBOVUxMLCBlcnJvcik7CkBAIC00NjIsMzEgKzQ2MiwzMSBAQAogCiAJbWVtc2V0KCZ2YXR0ciwg MCwgc2l6ZW9mKHZhdHRyX3QpKTsKIAlpZiAoaWFfdmFsaWQgJiBBVFRSX1VJRCkgewotCQl2YXR0 ci52YV9tYXNrIHw9IEFUX1VJRDsKKwkJdmF0dHIudmFfbWFzayB8PSBYRlNfQVRfVUlEOwogCQl2 YXR0ci52YV91aWQgPSBhdHRyLT5pYV91aWQ7CiAJfQogCWlmIChpYV92YWxpZCAmIEFUVFJfR0lE KSB7Ci0JCXZhdHRyLnZhX21hc2sgfD0gQVRfR0lEOworCQl2YXR0ci52YV9tYXNrIHw9IFhGU19B VF9HSUQ7CiAJCXZhdHRyLnZhX2dpZCA9IGF0dHItPmlhX2dpZDsKIAl9CiAJaWYgKGlhX3ZhbGlk ICYgQVRUUl9TSVpFKSB7Ci0JCXZhdHRyLnZhX21hc2sgfD0gQVRfU0laRTsKKwkJdmF0dHIudmFf bWFzayB8PSBYRlNfQVRfU0laRTsKIAkJdmF0dHIudmFfc2l6ZSA9IGF0dHItPmlhX3NpemU7CiAJ fQogCWlmIChpYV92YWxpZCAmIEFUVFJfQVRJTUUpIHsKLQkJdmF0dHIudmFfbWFzayB8PSBBVF9B VElNRTsKKwkJdmF0dHIudmFfbWFzayB8PSBYRlNfQVRfQVRJTUU7CiAJCXZhdHRyLnZhX2F0aW1l ID0gYXR0ci0+aWFfYXRpbWU7CiAJfQogCWlmIChpYV92YWxpZCAmIEFUVFJfTVRJTUUpIHsKLQkJ dmF0dHIudmFfbWFzayB8PSBBVF9NVElNRTsKKwkJdmF0dHIudmFfbWFzayB8PSBYRlNfQVRfTVRJ TUU7CiAJCXZhdHRyLnZhX210aW1lID0gYXR0ci0+aWFfbXRpbWU7CiAJfQogCWlmIChpYV92YWxp ZCAmIEFUVFJfQ1RJTUUpIHsKLQkJdmF0dHIudmFfbWFzayB8PSBBVF9DVElNRTsKKwkJdmF0dHIu dmFfbWFzayB8PSBYRlNfQVRfQ1RJTUU7CiAJCXZhdHRyLnZhX2N0aW1lID0gYXR0ci0+aWFfY3Rp bWU7CiAJfQogCWlmIChpYV92YWxpZCAmIEFUVFJfTU9ERSkgewotCQl2YXR0ci52YV9tYXNrIHw9 IEFUX01PREU7CisJCXZhdHRyLnZhX21hc2sgfD0gWEZTX0FUX01PREU7CiAJCXZhdHRyLnZhX21v ZGUgPSBhdHRyLT5pYV9tb2RlOwogCQlpZiAoIWluX2dyb3VwX3AoaW5vZGUtPmlfZ2lkKSAmJiAh Y2FwYWJsZShDQVBfRlNFVElEKSkKIAkJCWlub2RlLT5pX21vZGUgJj0gflNfSVNHSUQ7CmRpZmYg LXVyIC0tZXhjbHVkZT1hdXRvY29uZi5oIC0tZXhjbHVkZT0nKmRpZmYnIC0tZXhjbHVkZT1jb21w aWxlX2xvZyAtLWV4Y2x1ZGU9eGZzX2Vycm9yIC0tZXhjbHVkZT14ZnNfbG9nIC0tZXhjbHVkZT1l cnJvciAtLWV4Y2x1ZGU9LmNvbmZpZyAtLWV4Y2x1ZGU9JyouY21kJyBsaW51cy0yLjUuNDkvZnMv eGZzL2xpbnV4L3hmc192bm9kZS5jIGxpbnV4LTIuNS40OS9mcy94ZnMvbGludXgveGZzX3Zub2Rl LmMKLS0tIGxpbnVzLTIuNS40OS9mcy94ZnMvbGludXgveGZzX3Zub2RlLmMJMjAwMi0xMS0yMiAy MjoyOTo1My4wMDAwMDAwMDAgLTAyMDAKKysrIGxpbnV4LTIuNS40OS9mcy94ZnMvbGludXgveGZz X3Zub2RlLmMJMjAwMi0xMS0yMyAwMDozMDo1NC4wMDAwMDAwMDAgLTAyMDAKQEAgLTIwMCw3ICsy MDAsNyBAQAogCiAJdm5fdHJhY2VfZW50cnkodnAsICJ2bl9yZXZhbGlkYXRlIiwgKGluc3RfdCAq KV9fcmV0dXJuX2FkZHJlc3MpOwogCi0JdmEudmFfbWFzayA9IEFUX1NUQVR8QVRfR0VOQ09VTlQ7 CisJdmEudmFfbWFzayA9IFhGU19BVF9TVEFUfFhGU19BVF9HRU5DT1VOVDsKIAogCUFTU0VSVCh2 cC0+dl9iaC5iaF9maXJzdCAhPSBOVUxMKTsKIApkaWZmIC11ciAtLWV4Y2x1ZGU9YXV0b2NvbmYu aCAtLWV4Y2x1ZGU9JypkaWZmJyAtLWV4Y2x1ZGU9Y29tcGlsZV9sb2cgLS1leGNsdWRlPXhmc19l cnJvciAtLWV4Y2x1ZGU9eGZzX2xvZyAtLWV4Y2x1ZGU9ZXJyb3IgLS1leGNsdWRlPS5jb25maWcg LS1leGNsdWRlPScqLmNtZCcgbGludXMtMi41LjQ5L2ZzL3hmcy9saW51eC94ZnNfdm5vZGUuaCBs aW51eC0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc192bm9kZS5oCi0tLSBsaW51cy0yLjUuNDkvZnMv eGZzL2xpbnV4L3hmc192bm9kZS5oCTIwMDItMTEtMTEgMjM6NTc6MDcuMDAwMDAwMDAwIC0wMjAw CisrKyBsaW51eC0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc192bm9kZS5oCTIwMDItMTEtMjMgMDA6 Mzc6MjQuMDAwMDAwMDAwIC0wMjAwCkBAIC01NDEsNTMgKzU0MSw1MyBAQAogLyoKICAqIHNldGF0 dHIgb3IgZ2V0YXR0ciBhdHRyaWJ1dGVzCiAgKi8KLSNkZWZpbmUgQVRfVFlQRQkJMHgwMDAwMDAw MQotI2RlZmluZSBBVF9NT0RFCQkweDAwMDAwMDAyCi0jZGVmaW5lIEFUX1VJRAkJMHgwMDAwMDAw NAotI2RlZmluZSBBVF9HSUQJCTB4MDAwMDAwMDgKLSNkZWZpbmUgQVRfRlNJRAkJMHgwMDAwMDAx MAotI2RlZmluZSBBVF9OT0RFSUQJMHgwMDAwMDAyMAotI2RlZmluZSBBVF9OTElOSwkweDAwMDAw MDQwCi0jZGVmaW5lIEFUX1NJWkUJCTB4MDAwMDAwODAKLSNkZWZpbmUgQVRfQVRJTUUJMHgwMDAw MDEwMAotI2RlZmluZSBBVF9NVElNRQkweDAwMDAwMjAwCi0jZGVmaW5lIEFUX0NUSU1FCTB4MDAw MDA0MDAKLSNkZWZpbmUgQVRfUkRFVgkJMHgwMDAwMDgwMAotI2RlZmluZSBBVF9CTEtTSVpFCTB4 MDAwMDEwMDAKLSNkZWZpbmUgQVRfTkJMT0NLUwkweDAwMDAyMDAwCi0jZGVmaW5lIEFUX1ZDT0RF CTB4MDAwMDQwMDAKLSNkZWZpbmUgQVRfTUFDCQkweDAwMDA4MDAwCi0jZGVmaW5lIEFUX1VQREFU SU1FCTB4MDAwMTAwMDAKLSNkZWZpbmUgQVRfVVBETVRJTUUJMHgwMDAyMDAwMAotI2RlZmluZSBB VF9VUERDVElNRQkweDAwMDQwMDAwCi0jZGVmaW5lIEFUX0FDTAkJMHgwMDA4MDAwMAotI2RlZmlu ZSBBVF9DQVAJCTB4MDAxMDAwMDAKLSNkZWZpbmUgQVRfSU5GCQkweDAwMjAwMDAwCi0jZGVmaW5l IEFUX1hGTEFHUwkweDAwNDAwMDAwCi0jZGVmaW5lIEFUX0VYVFNJWkUJMHgwMDgwMDAwMAotI2Rl ZmluZSBBVF9ORVhURU5UUwkweDAxMDAwMDAwCi0jZGVmaW5lIEFUX0FORVhURU5UUwkweDAyMDAw MDAwCi0jZGVmaW5lIEFUX1BST0pJRAkweDA0MDAwMDAwCi0jZGVmaW5lIEFUX1NJWkVfTk9QRVJN CTB4MDgwMDAwMDAKLSNkZWZpbmUgQVRfR0VOQ09VTlQJMHgxMDAwMDAwMAotCi0jZGVmaW5lIEFU X0FMTAkoQVRfVFlQRXxBVF9NT0RFfEFUX1VJRHxBVF9HSUR8QVRfRlNJRHxBVF9OT0RFSUR8XAot CQlBVF9OTElOS3xBVF9TSVpFfEFUX0FUSU1FfEFUX01USU1FfEFUX0NUSU1FfEFUX1JERVZ8XAot CQlBVF9CTEtTSVpFfEFUX05CTE9DS1N8QVRfVkNPREV8QVRfTUFDfEFUX0FDTHxBVF9DQVB8XAot CQlBVF9JTkZ8QVRfWEZMQUdTfEFUX0VYVFNJWkV8QVRfTkVYVEVOVFN8QVRfQU5FWFRFTlRTfFwK LQkJQVRfUFJPSklEfEFUX0dFTkNPVU5UKQotCi0jZGVmaW5lIEFUX1NUQVQgKEFUX1RZUEV8QVRf TU9ERXxBVF9VSUR8QVRfR0lEfEFUX0ZTSUR8QVRfTk9ERUlEfEFUX05MSU5LfFwKLQkJQVRfU0la RXxBVF9BVElNRXxBVF9NVElNRXxBVF9DVElNRXxBVF9SREVWfEFUX0JMS1NJWkV8XAotCQlBVF9O QkxPQ0tTfEFUX1BST0pJRCkKLQotI2RlZmluZSBBVF9USU1FUyAoQVRfQVRJTUV8QVRfTVRJTUV8 QVRfQ1RJTUUpCi0KLSNkZWZpbmUgQVRfVVBEVElNRVMgKEFUX1VQREFUSU1FfEFUX1VQRE1USU1F fEFUX1VQRENUSU1FKQotCi0jZGVmaW5lIEFUX05PU0VUIChBVF9OTElOS3xBVF9SREVWfEFUX0ZT SUR8QVRfTk9ERUlEfEFUX1RZUEV8XAotCQkgQVRfQkxLU0laRXxBVF9OQkxPQ0tTfEFUX1ZDT0RF fEFUX05FWFRFTlRTfEFUX0FORVhURU5UU3xcCi0JCSBBVF9HRU5DT1VOVCkKKyNkZWZpbmUgWEZT X0FUX1RZUEUJCTB4MDAwMDAwMDEKKyNkZWZpbmUgWEZTX0FUX01PREUJCTB4MDAwMDAwMDIKKyNk ZWZpbmUgWEZTX0FUX1VJRAkJMHgwMDAwMDAwNAorI2RlZmluZSBYRlNfQVRfR0lECQkweDAwMDAw MDA4CisjZGVmaW5lIFhGU19BVF9GU0lECQkweDAwMDAwMDEwCisjZGVmaW5lIFhGU19BVF9OT0RF SUQJMHgwMDAwMDAyMAorI2RlZmluZSBYRlNfQVRfTkxJTksJMHgwMDAwMDA0MAorI2RlZmluZSBY RlNfQVRfU0laRQkJMHgwMDAwMDA4MAorI2RlZmluZSBYRlNfQVRfQVRJTUUJMHgwMDAwMDEwMAor I2RlZmluZSBYRlNfQVRfTVRJTUUJMHgwMDAwMDIwMAorI2RlZmluZSBYRlNfQVRfQ1RJTUUJMHgw MDAwMDQwMAorI2RlZmluZSBYRlNfQVRfUkRFVgkJMHgwMDAwMDgwMAorI2RlZmluZSBYRlNfQVRf QkxLU0laRQkweDAwMDAxMDAwCisjZGVmaW5lIFhGU19BVF9OQkxPQ0tTCTB4MDAwMDIwMDAKKyNk ZWZpbmUgWEZTX0FUX1ZDT0RFCTB4MDAwMDQwMDAKKyNkZWZpbmUgWEZTX0FUX01BQwkJMHgwMDAw ODAwMAorI2RlZmluZSBYRlNfQVRfVVBEQVRJTUUJMHgwMDAxMDAwMAorI2RlZmluZSBYRlNfQVRf VVBETVRJTUUJMHgwMDAyMDAwMAorI2RlZmluZSBYRlNfQVRfVVBEQ1RJTUUJMHgwMDA0MDAwMAor I2RlZmluZSBYRlNfQVRfQUNMCQkweDAwMDgwMDAwCisjZGVmaW5lIFhGU19BVF9DQVAJCTB4MDAx MDAwMDAKKyNkZWZpbmUgWEZTX0FUX0lORgkJMHgwMDIwMDAwMAorI2RlZmluZSBYRlNfQVRfWEZM QUdTCTB4MDA0MDAwMDAKKyNkZWZpbmUgWEZTX0FUX0VYVFNJWkUJMHgwMDgwMDAwMAorI2RlZmlu ZSBYRlNfQVRfTkVYVEVOVFMJMHgwMTAwMDAwMAorI2RlZmluZSBYRlNfQVRfQU5FWFRFTlRTCTB4 MDIwMDAwMDAKKyNkZWZpbmUgWEZTX0FUX1BST0pJRAkweDA0MDAwMDAwCisjZGVmaW5lIFhGU19B VF9TSVpFX05PUEVSTQkweDA4MDAwMDAwCisjZGVmaW5lIFhGU19BVF9HRU5DT1VOVAkweDEwMDAw MDAwCisKKyNkZWZpbmUgWEZTX0FUX0FMTCAoWEZTX0FUX1RZUEV8WEZTX0FUX01PREV8WEZTX0FU X1VJRHxYRlNfQVRfR0lEfFhGU19BVF9GU0lEfFwKKwkJWEZTX0FUX05PREVJRHxYRlNfQVRfTkxJ Tkt8WEZTX0FUX1NJWkV8WEZTX0FUX0FUSU1FfFhGU19BVF9NVElNRXxcCisJCVhGU19BVF9DVElN RXxYRlNfQVRfUkRFVnxYRlNfQVRfQkxLU0laRXxYRlNfQVRfTkJMT0NLU3xYRlNfQVRfVkNPREV8 XAorCQlYRlNfQVRfTUFDfFhGU19BVF9BQ0x8WEZTX0FUX0NBUHxYRlNfQVRfSU5GfFhGU19BVF9Y RkxBR1N8WEZTX0FUX0VYVFNJWkV8XAorCQlYRlNfQVRfTkVYVEVOVFN8WEZTX0FUX0FORVhURU5U U3xYRlNfQVRfUFJPSklEfFhGU19BVF9HRU5DT1VOVCkKKworI2RlZmluZSBYRlNfQVRfU1RBVCAo WEZTX0FUX1RZUEV8WEZTX0FUX01PREV8WEZTX0FUX1VJRHxYRlNfQVRfR0lEfFhGU19BVF9GU0lE fFwKKwkJWEZTX0FUX05PREVJRHxYRlNfQVRfTkxJTkt8WEZTX0FUX1NJWkV8WEZTX0FUX0FUSU1F fFhGU19BVF9NVElNRXxcCisJCVhGU19BVF9DVElNRXxYRlNfQVRfUkRFVnxYRlNfQVRfQkxLU0la RXxYRlNfQVRfTkJMT0NLU3xYRlNfQVRfUFJPSklEKQorCisjZGVmaW5lIFhGU19BVF9USU1FUyAo WEZTX0FUX0FUSU1FfFhGU19BVF9NVElNRXxYRlNfQVRfQ1RJTUUpCisKKyNkZWZpbmUgWEZTX0FU X1VQRFRJTUVTIChYRlNfQVRfVVBEQVRJTUV8WEZTX0FUX1VQRE1USU1FfFhGU19BVF9VUERDVElN RSkKKworI2RlZmluZSBYRlNfQVRfTk9TRVQgKFhGU19BVF9OTElOS3xYRlNfQVRfUkRFVnxYRlNf QVRfRlNJRHxYRlNfQVRfTk9ERUlEfFwKKwkJIFhGU19BVF9UWVBFfFhGU19BVF9CTEtTSVpFfFhG U19BVF9OQkxPQ0tTfFhGU19BVF9WQ09ERXxcCisJCSBYRlNfQVRfTkVYVEVOVFN8WEZTX0FUX0FO RVhURU5UU3xYRlNfQVRfR0VOQ09VTlQpCiAKICNkZWZpbmUgVlJFQUQJCTAwNDAwCiAjZGVmaW5l IFZXUklURQkJMDAyMDAKZGlmZiAtdXIgLS1leGNsdWRlPWF1dG9jb25mLmggLS1leGNsdWRlPScq ZGlmZicgLS1leGNsdWRlPWNvbXBpbGVfbG9nIC0tZXhjbHVkZT14ZnNfZXJyb3IgLS1leGNsdWRl PXhmc19sb2cgLS1leGNsdWRlPWVycm9yIC0tZXhjbHVkZT0uY29uZmlnIC0tZXhjbHVkZT0nKi5j bWQnIGxpbnVzLTIuNS40OS9mcy94ZnMveGZzX2FjbC5jIGxpbnV4LTIuNS40OS9mcy94ZnMveGZz X2FjbC5jCi0tLSBsaW51cy0yLjUuNDkvZnMveGZzL3hmc19hY2wuYwkyMDAyLTExLTExIDIzOjU3 OjA3LjAwMDAwMDAwMCAtMDIwMAorKysgbGludXgtMi41LjQ5L2ZzL3hmcy94ZnNfYWNsLmMJMjAw Mi0xMS0yMyAwMDozMDo1NC4wMDAwMDAwMDAgLTAyMDAKQEAgLTIzNSw3ICsyMzUsNyBAQAogCQlp ZiAoa2luZCA9PSBfQUNMX1RZUEVfQUNDRVNTKSB7CiAJCQl2YXR0cl90IHZhOwogCi0JCQl2YS52 YV9tYXNrID0gQVRfTU9ERTsKKwkJCXZhLnZhX21hc2sgPSBYRlNfQVRfTU9ERTsKIAkJCVZPUF9H RVRBVFRSKHZwLCAmdmEsIDAsIHN5c19jcmVkLCBlcnJvcik7CiAJCQlpZiAoZXJyb3IpCiAJCQkJ Z290byBvdXQ7CkBAIC0zNzIsNyArMzcyLDcgQEAKIAkJcmV0dXJuIEVST0ZTOwogCWlmICgoZXJy b3IgPSBfTUFDX1ZBQ0NFU1ModnAsIE5VTEwsIFZXUklURSkpKQogCQlyZXR1cm4gZXJyb3I7Ci0J dmEudmFfbWFzayA9IEFUX1VJRDsKKwl2YS52YV9tYXNrID0gWEZTX0FUX1VJRDsKIAlWT1BfR0VU QVRUUih2cCwgJnZhLCAwLCBOVUxMLCBlcnJvcik7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJy b3I7CkBAIC03MDIsNyArNzAyLDcgQEAKIAkJeGZzX2FjbF9nZXRfYXR0cih2cCwgYWNjZXNzX2Fj bCwgX0FDTF9UWVBFX0FDQ0VTUywgMCwgJmVycm9yKTsKIAkJaWYgKCFlcnJvcikgewogCQkJLyog R290IHRoZSBBQ0wsIG5lZWQgdGhlIG1vZGUuLi4gKi8KLQkJCXZhLnZhX21hc2sgPSBBVF9NT0RF OworCQkJdmEudmFfbWFzayA9IFhGU19BVF9NT0RFOwogCQkJVk9QX0dFVEFUVFIodnAsICZ2YSwg MCwgc3lzX2NyZWQsIGVycm9yKTsKIAkJfQogCkBAIC04MDAsMTIgKzgwMCwxMiBAQAogCSAqIENv cHkgdGhlIHU6OiwgZzo6LCBvOjosIGFuZCBtOjogYml0cyBmcm9tIHRoZSBBQ0wgaW50byB0aGUK IAkgKiBtb2RlLiAgVGhlIG06OiBiaXRzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSBnOjogYml0 cy4KIAkgKi8KLQl2YS52YV9tYXNrID0gQVRfTU9ERTsKKwl2YS52YV9tYXNrID0gWEZTX0FUX01P REU7CiAJVk9QX0dFVEFUVFIodnAsICZ2YSwgMCwgc3lzX2NyZWQsIGVycm9yKTsKIAlpZiAoZXJy b3IpCiAJCXJldHVybiBlcnJvcjsKIAotCXZhLnZhX21hc2sgPSBBVF9NT0RFOworCXZhLnZhX21h c2sgPSBYRlNfQVRfTU9ERTsKIAl2YS52YV9tb2RlICY9IH4oU19JUldYVXxTX0lSV1hHfFNfSVJX WE8pOwogCWFwID0gYWNsLT5hY2xfZW50cnk7CiAJZm9yIChpID0gMDsgaSA8IGFjbC0+YWNsX2Nu dDsgKytpKSB7CmRpZmYgLXVyIC0tZXhjbHVkZT1hdXRvY29uZi5oIC0tZXhjbHVkZT0nKmRpZmYn IC0tZXhjbHVkZT1jb21waWxlX2xvZyAtLWV4Y2x1ZGU9eGZzX2Vycm9yIC0tZXhjbHVkZT14ZnNf bG9nIC0tZXhjbHVkZT1lcnJvciAtLWV4Y2x1ZGU9LmNvbmZpZyAtLWV4Y2x1ZGU9JyouY21kJyBs aW51cy0yLjUuNDkvZnMveGZzL3hmc19jYXAuYyBsaW51eC0yLjUuNDkvZnMveGZzL3hmc19jYXAu YwotLS0gbGludXMtMi41LjQ5L2ZzL3hmcy94ZnNfY2FwLmMJMjAwMi0xMS0wNCAyMDozMDoyNS4w MDAwMDAwMDAgLTAyMDAKKysrIGxpbnV4LTIuNS40OS9mcy94ZnMveGZzX2NhcC5jCTIwMDItMTEt MjMgMDA6MzA6NTQuMDAwMDAwMDAwIC0wMjAwCkBAIC0xOTIsNyArMTkyLDcgQEAKIAkJcmV0dXJu IEVST0ZTOwogCWlmICgoZXJyb3IgPSBfTUFDX1ZBQ0NFU1ModnAsIE5VTEwsIFZXUklURSkpKQog CQlyZXR1cm4gZXJyb3I7Ci0JdmEudmFfbWFzayA9IEFUX1VJRDsKKwl2YS52YV9tYXNrID0gWEZT X0FUX1VJRDsKIAlWT1BfR0VUQVRUUih2cCwgJnZhLCAwLCBOVUxMLCBlcnJvcik7CiAJaWYgKGVy cm9yKQogCQlyZXR1cm4gZXJyb3I7CmRpZmYgLXVyIC0tZXhjbHVkZT1hdXRvY29uZi5oIC0tZXhj bHVkZT0nKmRpZmYnIC0tZXhjbHVkZT1jb21waWxlX2xvZyAtLWV4Y2x1ZGU9eGZzX2Vycm9yIC0t ZXhjbHVkZT14ZnNfbG9nIC0tZXhjbHVkZT1lcnJvciAtLWV4Y2x1ZGU9LmNvbmZpZyAtLWV4Y2x1 ZGU9JyouY21kJyBsaW51cy0yLjUuNDkvZnMveGZzL3hmc19xbS5jIGxpbnV4LTIuNS40OS9mcy94 ZnMveGZzX3FtLmMKLS0tIGxpbnVzLTIuNS40OS9mcy94ZnMveGZzX3FtLmMJMjAwMi0xMS0xMSAy Mzo1NzowOC4wMDAwMDAwMDAgLTAyMDAKKysrIGxpbnV4LTIuNS40OS9mcy94ZnMveGZzX3FtLmMJ MjAwMi0xMS0yMyAwMDozMDo1NC4wMDAwMDAwMDAgLTAyMDAKQEAgLTI2MzksNyArMjYzOSw3IEBA CiB9CiAKIC8qCi0gKiBRdW90YSByZXNlcnZhdGlvbnMgZm9yIHNldGF0dHIoQVRfVUlEfEFUX0dJ RCkuCisgKiBRdW90YSByZXNlcnZhdGlvbnMgZm9yIHNldGF0dHIoWEZTX0FUX1VJRHxYRlNfQVRf R0lEKS4KICAqLwogaW50CiB4ZnNfcW1fdm9wX2Nob3duX3Jlc2VydmUoCmRpZmYgLXVyIC0tZXhj bHVkZT1hdXRvY29uZi5oIC0tZXhjbHVkZT0nKmRpZmYnIC0tZXhjbHVkZT1jb21waWxlX2xvZyAt LWV4Y2x1ZGU9eGZzX2Vycm9yIC0tZXhjbHVkZT14ZnNfbG9nIC0tZXhjbHVkZT1lcnJvciAtLWV4 Y2x1ZGU9LmNvbmZpZyAtLWV4Y2x1ZGU9JyouY21kJyBsaW51cy0yLjUuNDkvZnMveGZzL3hmc192 bm9kZW9wcy5jIGxpbnV4LTIuNS40OS9mcy94ZnMveGZzX3Zub2Rlb3BzLmMKLS0tIGxpbnVzLTIu NS40OS9mcy94ZnMveGZzX3Zub2Rlb3BzLmMJMjAwMi0xMS0xMSAyMzo1NzowOC4wMDAwMDAwMDAg LTAyMDAKKysrIGxpbnV4LTIuNS40OS9mcy94ZnMveGZzX3Zub2Rlb3BzLmMJMjAwMi0xMS0yMyAx Mjo1MTowNC4wMDAwMDAwMDAgLTAyMDAKQEAgLTExOSw3ICsxMTksNyBAQAogCQl4ZnNfaWxvY2so aXAsIFhGU19JTE9DS19TSEFSRUQpOwogCiAJdmFwLT52YV9zaXplID0gaXAtPmlfZC5kaV9zaXpl OwotCWlmICh2YXAtPnZhX21hc2sgPT0gQVRfU0laRSkgeworCWlmICh2YXAtPnZhX21hc2sgPT0g WEZTX0FUX1NJWkUpIHsKIAkJaWYgKCEoZmxhZ3MgJiBBVFRSX0xBWlkpKQogCQkJeGZzX2l1bmxv Y2soaXAsIFhGU19JTE9DS19TSEFSRUQpOwogCQlyZXR1cm4gMDsKQEAgLTEzNyw3ICsxMzcsOCBA QAogCS8qCiAJICogUXVpY2sgZXhpdCBmb3Igbm9uLXN0YXQgY2FsbGVycwogCSAqLwotCWlmICgo dmFwLT52YV9tYXNrICYgfihBVF9TSVpFfEFUX0ZTSUR8QVRfTk9ERUlEfEFUX05MSU5LKSkgPT0g MCkgeworCWlmICgodmFwLT52YV9tYXNrICYgCisJCSB+KFhGU19BVF9TSVpFfFhGU19BVF9GU0lE fFhGU19BVF9OT0RFSUR8WEZTX0FUX05MSU5LKSkgPT0gMCkgewogCQlpZiAoIShmbGFncyAmIEFU VFJfTEFaWSkpCiAJCQl4ZnNfaXVubG9jayhpcCwgWEZTX0lMT0NLX1NIQVJFRCk7CiAJCXJldHVy biAwOwpAQCAtMjI0LDggKzIyNSw4IEBACiAJICogdG8gYmUgZmlsbGVkIGluIGFyZSBuZWVkZWQu CiAJICovCiAJaWYgKCh2YXAtPnZhX21hc2sgJgotCSAgICAgKEFUX1hGTEFHU3xBVF9FWFRTSVpF fEFUX05FWFRFTlRTfEFUX0FORVhURU5UU3wKLQkgICAgICBBVF9HRU5DT1VOVHxBVF9WQ09ERSkp ID09IDApIHsKKwkgICAgIChYRlNfQVRfWEZMQUdTfFhGU19BVF9FWFRTSVpFfFhGU19BVF9ORVhU RU5UU3xYRlNfQVRfQU5FWFRFTlRTfAorCSAgICAgIFhGU19BVF9HRU5DT1VOVHxYRlNfQVRfVkNP REUpKSA9PSAwKSB7CiAJCWlmICghKGZsYWdzICYgQVRUUl9MQVpZKSkKIAkJCXhmc19pdW5sb2Nr KGlwLCBYRlNfSUxPQ0tfU0hBUkVEKTsKIAkJcmV0dXJuIDA7CkBAIC0yOTQsNyArMjk1LDcgQEAK IAkgKiBDYW5ub3Qgc2V0IGNlcnRhaW4gYXR0cmlidXRlcy4KIAkgKi8KIAltYXNrID0gdmFwLT52 YV9tYXNrOwotCWlmIChtYXNrICYgQVRfTk9TRVQpIHsKKwlpZiAobWFzayAmIFhGU19BVF9OT1NF VCkgewogCQlyZXR1cm4gWEZTX0VSUk9SKEVJTlZBTCk7CiAJfQogCkBAIC0zMDgsMTEgKzMwOSwx MSBAQAogCSAqIFRpbWVzdGFtcHMgZG8gbm90IG5lZWQgdG8gYmUgbG9nZ2VkIGFuZCBoZW5jZSBk byBub3QKIAkgKiBuZWVkIHRvIGJlIGRvbmUgd2l0aGluIGEgdHJhbnNhY3Rpb24uCiAJICovCi0J aWYgKG1hc2sgJiBBVF9VUERUSU1FUykgeworCWlmIChtYXNrICYgWEZTX0FUX1VQRFRJTUVTKSB7 CiAJCUFTU0VSVCgobWFzayAmIH5BVF9VUERUSU1FUykgPT0gMCk7Ci0JCXRpbWVmbGFncyA9ICgo bWFzayAmIEFUX1VQREFUSU1FKSA/IFhGU19JQ0hHVElNRV9BQ0MgOiAwKSB8Ci0JCQkgICAgKCht YXNrICYgQVRfVVBEQ1RJTUUpID8gWEZTX0lDSEdUSU1FX0NIRyA6IDApIHwKLQkJCSAgICAoKG1h c2sgJiBBVF9VUERNVElNRSkgPyBYRlNfSUNIR1RJTUVfTU9EIDogMCk7CisJCXRpbWVmbGFncyA9 ICgobWFzayAmIFhGU19BVF9VUERBVElNRSkgPyBYRlNfSUNIR1RJTUVfQUNDIDogMCkgfAorCQkJ ICAgICgobWFzayAmIFhGU19BVF9VUERDVElNRSkgPyBYRlNfSUNIR1RJTUVfQ0hHIDogMCkgfAor CQkJICAgICgobWFzayAmIFhGU19BVF9VUERNVElNRSkgPyBYRlNfSUNIR1RJTUVfTU9EIDogMCk7 CiAJCXhmc19pY2hndGltZShpcCwgdGltZWZsYWdzKTsKIAkJcmV0dXJuIDA7CiAJfQpAQCAtMzI4 LDE1ICszMjksMTUgQEAKIAkgKiBJZiB0aGUgSURzIGRvIGNoYW5nZSBiZWZvcmUgd2UgdGFrZSB0 aGUgaWxvY2ssIHdlJ3JlIGNvdmVyZWQKIAkgKiBiZWNhdXNlIHRoZSBpXypkcXVvdCBmaWVsZHMg d2lsbCBnZXQgdXBkYXRlZCBhbnl3YXkuCiAJICovCi0JaWYgKFhGU19JU19RVU9UQV9PTihtcCkg JiYgKG1hc2sgJiAoQVRfVUlEfEFUX0dJRCkpKSB7CisJaWYgKFhGU19JU19RVU9UQV9PTihtcCkg JiYgKG1hc2sgJiAoWEZTX0FUX1VJRHxYRlNfQVRfR0lEKSkpIHsKIAkJcWZsYWdzID0gMDsKLQkJ aWYgKG1hc2sgJiBBVF9VSUQpIHsKKwkJaWYgKG1hc2sgJiBYRlNfQVRfVUlEKSB7CiAJCQl1aWQg PSB2YXAtPnZhX3VpZDsKIAkJCXFmbGFncyB8PSBYRlNfUU1PUFRfVVFVT1RBOwogCQl9IGVsc2Ug ewogCQkJdWlkID0gaXAtPmlfZC5kaV91aWQ7CiAJCX0KLQkJaWYgKG1hc2sgJiBBVF9HSUQpIHsK KwkJaWYgKG1hc2sgJiBYRlNfQVRfR0lEKSB7CiAJCQlnaWQgPSB2YXAtPnZhX2dpZDsKIAkJCXFm bGFncyB8PSBYRlNfUU1PUFRfR1FVT1RBOwogCQl9ICBlbHNlIHsKQEAgLTM2MCw4ICszNjEsOCBA QAogCSAqLwogCXRwID0gTlVMTDsKIAlsb2NrX2ZsYWdzID0gWEZTX0lMT0NLX0VYQ0w7Ci0JaWYg KCEobWFzayAmIEFUX1NJWkUpKSB7Ci0JCWlmICgobWFzayAhPSAoQVRfQ1RJTUV8QVRfQVRJTUV8 QVRfTVRJTUUpKSB8fAorCWlmICghKG1hc2sgJiBYRlNfQVRfU0laRSkpIHsKKwkJaWYgKChtYXNr ICE9IChYRlNfQVRfQ1RJTUV8WEZTX0FUX0FUSU1FfFhGU19BVF9NVElNRSkpIHx8CiAJCSAgICAo bXAtPm1fZmxhZ3MgJiBYRlNfTU9VTlRfV1NZTkMpKSB7CiAJCQl0cCA9IHhmc190cmFuc19hbGxv YyhtcCwgWEZTX1RSQU5TX1NFVEFUVFJfTk9UX1NJWkUpOwogCQkJY29tbWl0X2ZsYWdzID0gMDsK QEAgLTQwMCw3ICs0MDEsOCBAQAogCSAqIE9ubHkgdGhlIG93bmVyIG9yIHVzZXJzIHdpdGggQ0FQ X0ZPV05FUgogCSAqIGNhcGFiaWxpdHkgbWF5IGRvIHRoZXNlIHRoaW5ncy4KIAkgKi8KLQlpZiAo bWFzayAmIChBVF9NT0RFfEFUX1hGTEFHU3xBVF9FWFRTSVpFfEFUX1VJRHxBVF9HSUR8QVRfUFJP SklEKSkgeworCWlmIChtYXNrICYgKFhGU19BVF9NT0RFfFhGU19BVF9YRkxBR1N8WEZTX0FUX0VY VFNJWkV8WEZTX0FUX1VJRHwKKwkJCQkJWEZTX0FUX0dJRHxYRlNfQVRfUFJPSklEKSkgewogCQkv KgogCQkgKiBDQVBfRk9XTkVSIG92ZXJyaWRlcyB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uczoK IAkJICoKQEAgLTQyNCw3ICs0MjYsNyBAQAogCQkgKiBJRHMgb2YgdGhlIGNhbGxpbmcgcHJvY2Vz cyBzaGFsbCBtYXRjaCB0aGUgZ3JvdXAgb3duZXIgb2YKIAkJICogdGhlIGZpbGUgd2hlbiBzZXR0 aW5nIHRoZSBzZXQtZ3JvdXAtSUQgYml0IG9uIHRoYXQgZmlsZQogCQkgKi8KLQkJaWYgKG1hc2sg JiBBVF9NT0RFKSB7CisJCWlmIChtYXNrICYgWEZTX0FUX01PREUpIHsKIAkJCW1vZGVfdCBtID0g MDsKIAogCQkJaWYgKCh2YXAtPnZhX21vZGUgJiBJU1VJRCkgJiYgIWZpbGVfb3duZXIpCkBAIC00 NDksNyArNDUxLDcgQEAKIAkgKiBhbmQgY2FuIGNoYW5nZSB0aGUgZ3JvdXAgaWQgb25seSB0byBh IGdyb3VwIG9mIHdoaWNoIGhlCiAJICogb3Igc2hlIGlzIGEgbWVtYmVyLgogCSAqLwotCWlmICht YXNrICYgKEFUX1VJRHxBVF9HSUR8QVRfUFJPSklEKSkgeworCWlmIChtYXNrICYgKFhGU19BVF9V SUR8WEZTX0FUX0dJRHxYRlNfQVRfUFJPSklEKSkgewogCQkvKgogCQkgKiBUaGVzZSBJRHMgY291 bGQgaGF2ZSBjaGFuZ2VkIHNpbmNlIHdlIGxhc3QgbG9va2VkIGF0IHRoZW0uCiAJCSAqIEJ1dCwg d2UncmUgYXNzdXJlZCB0aGF0IGlmIHRoZSBvd25lcnNoaXAgZGlkIGNoYW5nZQpAQCAtNDU5LDkg KzQ2MSw5IEBACiAJCWl1aWQgPSBpcC0+aV9kLmRpX3VpZDsKIAkJaXByb2ppZCA9IGlwLT5pX2Qu ZGlfcHJvamlkOwogCQlpZ2lkID0gaXAtPmlfZC5kaV9naWQ7Ci0JCWdpZCA9IChtYXNrICYgQVRf R0lEKSA/IHZhcC0+dmFfZ2lkIDogaWdpZDsKLQkJdWlkID0gKG1hc2sgJiBBVF9VSUQpID8gdmFw LT52YV91aWQgOiBpdWlkOwotCQlwcm9qaWQgPSAobWFzayAmIEFUX1BST0pJRCkgPyAoeGZzX3By aWRfdCl2YXAtPnZhX3Byb2ppZCA6CisJCWdpZCA9IChtYXNrICYgWEZTX0FUX0dJRCkgPyB2YXAt PnZhX2dpZCA6IGlnaWQ7CisJCXVpZCA9IChtYXNrICYgWEZTX0FUX1VJRCkgPyB2YXAtPnZhX3Vp ZCA6IGl1aWQ7CisJCXByb2ppZCA9IChtYXNrICYgWEZTX0FUX1BST0pJRCkgPyAoeGZzX3ByaWRf dCl2YXAtPnZhX3Byb2ppZCA6CiAJCQkgaXByb2ppZDsKIAogCQkvKgpAQCAtNTA2LDEzICs1MDgs MTMgQEAKIAkvKgogCSAqIFRydW5jYXRlIGZpbGUuICBNdXN0IGhhdmUgd3JpdGUgcGVybWlzc2lv biBhbmQgbm90IGJlIGEgZGlyZWN0b3J5LgogCSAqLwotCWlmIChtYXNrICYgQVRfU0laRSkgewor CWlmIChtYXNrICYgWEZTX0FUX1NJWkUpIHsKIAkJLyogU2hvcnQgY2lyY3VpdCB0aGUgdHJ1bmNh dGUgY2FzZSBmb3IgemVybyBsZW5ndGggZmlsZXMgKi8KIAkJaWYgKCh2YXAtPnZhX3NpemUgPT0g MCkgJiYKIAkJICAgKGlwLT5pX2QuZGlfc2l6ZSA9PSAwKSAmJiAoaXAtPmlfZC5kaV9uZXh0ZW50 cyA9PSAwKSkgewogCQkJeGZzX2l1bmxvY2soaXAsIFhGU19JTE9DS19FWENMKTsKIAkJCWxvY2tf ZmxhZ3MgJj0gflhGU19JTE9DS19FWENMOwotCQkJaWYgKG1hc2sgJiBBVF9DVElNRSkKKwkJCWlm IChtYXNrICYgWEZTX0FUX0NUSU1FKQogCQkJCXhmc19pY2hndGltZShpcCwgWEZTX0lDSEdUSU1F X01PRCB8IFhGU19JQ0hHVElNRV9DSEcpOwogCQkJY29kZSA9IDA7CiAJCQlnb3RvIGVycm9yX3Jl dHVybjsKQEAgLTUzNyw3ICs1MzksNyBAQAogCS8qCiAJICogQ2hhbmdlIGZpbGUgYWNjZXNzIG9y IG1vZGlmaWVkIHRpbWVzLgogCSAqLwotCWlmIChtYXNrICYgKEFUX0FUSU1FfEFUX01USU1FKSkg eworCWlmIChtYXNrICYgKFhGU19BVF9BVElNRXxYRlNfQVRfTVRJTUUpKSB7CiAJCWlmICghZmls ZV9vd25lcikgewogCQkJaWYgKChmbGFncyAmIEFUVFJfVVRJTUUpICYmCiAJCQkgICAgIWNhcGFi bGUoQ0FQX0ZPV05FUikpIHsKQEAgLTU1MCwxMSArNTUyLDExIEBACiAJLyoKIAkgKiBDaGFuZ2Ug ZXh0ZW50IHNpemUgb3IgcmVhbHRpbWUgZmxhZy4KIAkgKi8KLQlpZiAobWFzayAmIChBVF9FWFRT SVpFfEFUX1hGTEFHUykpIHsKKwlpZiAobWFzayAmIChYRlNfQVRfRVhUU0laRXxYRlNfQVRfWEZM QUdTKSkgewogCQkvKgogCQkgKiBDYW4ndCBjaGFuZ2UgZXh0ZW50IHNpemUgaWYgYW55IGV4dGVu dHMgYXJlIGFsbG9jYXRlZC4KIAkJICovCi0JCWlmIChpcC0+aV9kLmRpX25leHRlbnRzICYmICht YXNrICYgQVRfRVhUU0laRSkgJiYKKwkJaWYgKGlwLT5pX2QuZGlfbmV4dGVudHMgJiYgKG1hc2sg JiBYRlNfQVRfRVhUU0laRSkgJiYKIAkJICAgICgoaXAtPmlfZC5kaV9leHRzaXplIDw8IG1wLT5t X3NiLnNiX2Jsb2NrbG9nKSAhPQogCQkgICAgIHZhcC0+dmFfZXh0c2l6ZSkgKSB7CiAJCQljb2Rl ID0gWEZTX0VSUk9SKEVJTlZBTCk7CS8qIEVGQklHPyAqLwpAQCAtNTY5LDExICs1NzEsMTEgQEAK IAkJICogd2l0aCBidWZmZXJlZCBkYXRhIHdyaXRlcyBpcyBpbXBsZW1lbnRlZC4KIAkJICoKIAkJ ICovCi0JCWlmICgobWFzayAmIEFUX0VYVFNJWkUpCQkJCSYmCisJCWlmICgobWFzayAmIFhGU19B VF9FWFRTSVpFKQkJCQkmJgogCQkgICAgKChpcC0+aV9kLmRpX2V4dHNpemUgPDwgbXAtPm1fc2Iu c2JfYmxvY2tsb2cpICE9CiAJCSAgICAgdmFwLT52YV9leHRzaXplKSAmJgogCQkgICAgKCEoKGlw LT5pX2QuZGlfZmxhZ3MgJiBYRlNfRElGTEFHX1JFQUxUSU1FKSB8fAotCQkgICAgICAgKChtYXNr ICYgQVRfWEZMQUdTKSAmJgorCQkgICAgICAgKChtYXNrICYgWEZTX0FUX1hGTEFHUykgJiYKIAkJ CSh2YXAtPnZhX3hmbGFncyAmIFhGU19YRkxBR19SRUFMVElNRSkpKSkpIHsKIAkJCWNvZGUgPSBY RlNfRVJST1IoRUlOVkFMKTsKIAkJCWdvdG8gZXJyb3JfcmV0dXJuOwpAQCAtNTgyLDcgKzU4NCw3 IEBACiAJCS8qCiAJCSAqIENhbid0IGNoYW5nZSByZWFsdGltZSBmbGFnIGlmIGFueSBleHRlbnRz IGFyZSBhbGxvY2F0ZWQuCiAJCSAqLwotCQlpZiAoaXAtPmlfZC5kaV9uZXh0ZW50cyAmJiAobWFz ayAmIEFUX1hGTEFHUykgJiYKKwkJaWYgKGlwLT5pX2QuZGlfbmV4dGVudHMgJiYgKG1hc2sgJiBY RlNfQVRfWEZMQUdTKSAmJgogCQkgICAgKGlwLT5pX2QuZGlfZmxhZ3MgJiBYRlNfRElGTEFHX1JF QUxUSU1FKSAhPQogCQkgICAgKHZhcC0+dmFfeGZsYWdzICYgWEZTX1hGTEFHX1JFQUxUSU1FKSkg ewogCQkJY29kZSA9IFhGU19FUlJPUihFSU5WQUwpOwkvKiBFRkJJRz8gKi8KQEAgLTU5MiwxMSAr NTk0LDExIEBACiAJCSAqIEV4dGVudCBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiB0aGUgYXBw cm9wcmlhdGUgYmxvY2sKIAkJICogc2l6ZSwgaWYgc2V0IGF0IGFsbC4KIAkJICovCi0JCWlmICgo bWFzayAmIEFUX0VYVFNJWkUpICYmIHZhcC0+dmFfZXh0c2l6ZSAhPSAwKSB7CisJCWlmICgobWFz ayAmIFhGU19BVF9FWFRTSVpFKSAmJiB2YXAtPnZhX2V4dHNpemUgIT0gMCkgewogCQkJeGZzX2V4 dGxlbl90CXNpemU7CiAKIAkJCWlmICgoaXAtPmlfZC5kaV9mbGFncyAmIFhGU19ESUZMQUdfUkVB TFRJTUUpIHx8Ci0JCQkgICAgKChtYXNrICYgQVRfWEZMQUdTKSAmJgorCQkJICAgICgobWFzayAm IFhGU19BVF9YRkxBR1MpICYmCiAJCQkgICAgKHZhcC0+dmFfeGZsYWdzICYgWEZTX1hGTEFHX1JF QUxUSU1FKSkpIHsKIAkJCQlzaXplID0gbXAtPm1fc2Iuc2JfcmV4dHNpemUgPDwKIAkJCQkgICAg ICAgbXAtPm1fc2Iuc2JfYmxvY2tsb2c7CkBAIC02MTEsNyArNjEzLDcgQEAKIAkJLyoKIAkJICog SWYgcmVhbHRpbWUgZmxhZyBpcyBzZXQgdGhlbiBtdXN0IGhhdmUgcmVhbHRpbWUgZGF0YS4KIAkJ ICovCi0JCWlmICgobWFzayAmIEFUX1hGTEFHUykgJiYKKwkJaWYgKChtYXNrICYgWEZTX0FUX1hG TEFHUykgJiYKIAkJICAgICh2YXAtPnZhX3hmbGFncyAmIFhGU19YRkxBR19SRUFMVElNRSkpIHsK IAkJCWlmICgobXAtPm1fc2Iuc2JfcmJsb2NrcyA9PSAwKSB8fAogCQkJICAgIChtcC0+bV9zYi5z Yl9yZXh0c2l6ZSA9PSAwKSB8fApAQCAtNjI0LDEzICs2MjYsMTMgQEAKIAogCS8qCiAJICogTm93 IHdlIGNhbiBtYWtlIHRoZSBjaGFuZ2VzLgkgQmVmb3JlIHdlIGpvaW4gdGhlIGlub2RlCi0JICog dG8gdGhlIHRyYW5zYWN0aW9uLCBpZiBBVF9TSVpFIGlzIHNldCB0aGVuIHRha2UgY2FyZSBvZgor CSAqIHRvIHRoZSB0cmFuc2FjdGlvbiwgaWYgWEZTX0FUX1NJWkUgaXMgc2V0IHRoZW4gdGFrZSBj YXJlIG9mCiAJICogdGhlIHBhcnQgb2YgdGhlIHRydW5jYXRpb24gdGhhdCBtdXN0IGJlIGRvbmUg d2l0aG91dCB0aGUKIAkgKiBpbm9kZSBsb2NrLglUaGlzIG5lZWRzIHRvIGJlIGRvbmUgYmVmb3Jl IGpvaW5pbmcgdGhlIGlub2RlCiAJICogdG8gdGhlIHRyYW5zYWN0aW9uLCBiZWNhdXNlIHRoZSBp bm9kZSBjYW5ub3QgYmUgdW5sb2NrZWQKIAkgKiBvbmNlIGl0IGlzIGEgcGFydCBvZiB0aGUgdHJh bnNhY3Rpb24uCiAJICovCi0JaWYgKG1hc2sgJiBBVF9TSVpFKSB7CisJaWYgKG1hc2sgJiBYRlNf QVRfU0laRSkgewogCQlpZiAodmFwLT52YV9zaXplID4gaXAtPmlfZC5kaV9zaXplKSB7CiAJCQlj b2RlID0geGZzX2lncm93X3N0YXJ0KGlwLCB2YXAtPnZhX3NpemUsIGNyZWRwKTsKIAkJCXhmc19p dW5sb2NrKGlwLCBYRlNfSUxPQ0tfRVhDTCk7CkBAIC02NzMsNyArNjc1LDcgQEAKIAkvKgogCSAq IFRydW5jYXRlIGZpbGUuICBNdXN0IGhhdmUgd3JpdGUgcGVybWlzc2lvbiBhbmQgbm90IGJlIGEg ZGlyZWN0b3J5LgogCSAqLwotCWlmIChtYXNrICYgQVRfU0laRSkgeworCWlmIChtYXNrICYgWEZT X0FUX1NJWkUpIHsKIAkJaWYgKHZhcC0+dmFfc2l6ZSA+IGlwLT5pX2QuZGlfc2l6ZSkgewogCQkJ eGZzX2lncm93X2ZpbmlzaCh0cCwgaXAsIHZhcC0+dmFfc2l6ZSwKIAkJCSAgICAhKGZsYWdzICYg QVRUUl9ETUkpKTsKQEAgLTcwMyw3ICs3MDUsNyBAQAogCS8qCiAJICogQ2hhbmdlIGZpbGUgYWNj ZXNzIG1vZGVzLgogCSAqLwotCWlmIChtYXNrICYgQVRfTU9ERSkgeworCWlmIChtYXNrICYgWEZT X0FUX01PREUpIHsKIAkJaXAtPmlfZC5kaV9tb2RlICY9IElGTVQ7CiAJCWlwLT5pX2QuZGlfbW9k ZSB8PSB2YXAtPnZhX21vZGUgJiB+SUZNVDsKIApAQCAtNzE4LDcgKzcyMCw3IEBACiAJICogYW5k IGNhbiBjaGFuZ2UgdGhlIGdyb3VwIGlkIG9ubHkgdG8gYSBncm91cCBvZiB3aGljaCBoZQogCSAq IG9yIHNoZSBpcyBhIG1lbWJlci4KIAkgKi8KLQlpZiAobWFzayAmIChBVF9VSUR8QVRfR0lEfEFU X1BST0pJRCkpIHsKKwlpZiAobWFzayAmIChYRlNfQVRfVUlEfFhGU19BVF9HSUR8WEZTX0FUX1BS T0pJRCkpIHsKIAkJLyoKIAkJICogQ0FQX0ZTRVRJRCBvdmVycmlkZXMgdGhlIGZvbGxvd2luZyBy ZXN0cmljdGlvbnM6CiAJCSAqCkBAIC03MzYsNyArNzM4LDcgQEAKIAkJICovCiAJCWlmIChpdWlk ICE9IHVpZCkgewogCQkJaWYgKFhGU19JU19VUVVPVEFfT04obXApKSB7Ci0JCQkJQVNTRVJUKG1h c2sgJiBBVF9VSUQpOworCQkJCUFTU0VSVChtYXNrICYgWEZTX0FUX1VJRCk7CiAJCQkJQVNTRVJU KHVkcXApOwogCQkJCUFTU0VSVCh4ZnNfcW1fZHFpZCh1ZHFwKSA9PSAoeGZzX2RxaWRfdCl1aWQp OwogCQkJCW9sZGRxdW90MSA9IHhmc19xbV92b3BfY2hvd24odHAsIGlwLApAQCAtNzUwLDcgKzc1 Miw3IEBACiAJCX0KIAkJaWYgKGlnaWQgIT0gZ2lkKSB7CiAJCQlpZiAoWEZTX0lTX0dRVU9UQV9P TihtcCkpIHsKLQkJCQlBU1NFUlQobWFzayAmIEFUX0dJRCk7CisJCQkJQVNTRVJUKG1hc2sgJiBY RlNfQVRfR0lEKTsKIAkJCQlBU1NFUlQoZ2RxcCk7CiAJCQkJQVNTRVJUKHhmc19xbV9kcWlkKGdk cXApID09IGdpZCk7CiAJCQkJb2xkZHF1b3QyID0geGZzX3FtX3ZvcF9jaG93bih0cCwgaXAsCkBA IC03NzgsMTQgKzc4MCwxNCBAQAogCS8qCiAJICogQ2hhbmdlIGZpbGUgYWNjZXNzIG9yIG1vZGlm aWVkIHRpbWVzLgogCSAqLwotCWlmIChtYXNrICYgKEFUX0FUSU1FfEFUX01USU1FKSkgewotCQlp ZiAobWFzayAmIEFUX0FUSU1FKSB7CisJaWYgKG1hc2sgJiAoWEZTX0FUX0FUSU1FfFhGU19BVF9N VElNRSkpIHsKKwkJaWYgKG1hc2sgJiBYRlNfQVRfQVRJTUUpIHsKIAkJCWlwLT5pX2QuZGlfYXRp bWUudF9zZWMgPSB2YXAtPnZhX2F0aW1lLnR2X3NlYzsKIAkJCWlwLT5pX2QuZGlfYXRpbWUudF9u c2VjID0gdmFwLT52YV9hdGltZS50dl9uc2VjOwogCQkJaXAtPmlfdXBkYXRlX2NvcmUgPSAxOwog CQkJdGltZWZsYWdzICY9IH5YRlNfSUNIR1RJTUVfQUNDOwogCQl9Ci0JCWlmIChtYXNrICYgQVRf TVRJTUUpIHsKKwkJaWYgKG1hc2sgJiBYRlNfQVRfTVRJTUUpIHsKIAkJCWlwLT5pX2QuZGlfbXRp bWUudF9zZWMgPSB2YXAtPnZhX210aW1lLnR2X3NlYzsKIAkJCWlwLT5pX2QuZGlfbXRpbWUudF9u c2VjID0gdmFwLT52YV9tdGltZS50dl9uc2VjOwogCQkJdGltZWZsYWdzICY9IH5YRlNfSUNIR1RJ TUVfTU9EOwpAQCAtNzk4LDE1ICs4MDAsMTUgQEAKIAkvKgogCSAqIENoYW5nZSBYRlMtYWRkZWQg YXR0cmlidXRlcy4KIAkgKi8KLQlpZiAobWFzayAmIChBVF9FWFRTSVpFfEFUX1hGTEFHUykpIHsK LQkJaWYgKG1hc2sgJiBBVF9FWFRTSVpFKSB7CisJaWYgKG1hc2sgJiAoWEZTX0FUX0VYVFNJWkV8 WEZTX0FUX1hGTEFHUykpIHsKKwkJaWYgKG1hc2sgJiBYRlNfQVRfRVhUU0laRSkgewogCQkJLyoK IAkJCSAqIENvbnZlcnRpbmcgYnl0ZXMgdG8gZnMgYmxvY2tzLgogCQkJICovCiAJCQlpcC0+aV9k LmRpX2V4dHNpemUgPSB2YXAtPnZhX2V4dHNpemUgPj4KIAkJCQltcC0+bV9zYi5zYl9ibG9ja2xv ZzsKIAkJfQotCQlpZiAobWFzayAmIEFUX1hGTEFHUykgeworCQlpZiAobWFzayAmIFhGU19BVF9Y RkxBR1MpIHsKIAkJCWlwLT5pX2QuZGlfZmxhZ3MgPSAwOwogCQkJaWYgKHZhcC0+dmFfeGZsYWdz ICYgWEZTX1hGTEFHX1JFQUxUSU1FKSB7CiAJCQkJaXAtPmlfZC5kaV9mbGFncyB8PSBYRlNfRElG TEFHX1JFQUxUSU1FOwpAQCAtODIyLDExICs4MjQsMTEgQEAKIAl9CiAKIAkvKgotCSAqIENoYW5n ZSBmaWxlIGlub2RlIGNoYW5nZSB0aW1lIG9ubHkgaWYgQVRfQ1RJTUUgc2V0CisJICogQ2hhbmdl IGZpbGUgaW5vZGUgY2hhbmdlIHRpbWUgb25seSBpZiBYRlNfQVRfQ1RJTUUgc2V0CiAJICogQU5E IHdlIGhhdmUgYmVlbiBjYWxsZWQgYnkgYSBETUkgZnVuY3Rpb24uCiAJICovCiAKLQlpZiAoIChm bGFncyAmIEFUVFJfRE1JKSAmJiAobWFzayAmIEFUX0NUSU1FKSApIHsKKwlpZiAoIChmbGFncyAm IEFUVFJfRE1JKSAmJiAobWFzayAmIFhGU19BVF9DVElNRSkgKSB7CiAJCWlwLT5pX2QuZGlfY3Rp bWUudF9zZWMgPSB2YXAtPnZhX2N0aW1lLnR2X3NlYzsKIAkJaXAtPmlfZC5kaV9jdGltZS50X25z ZWMgPSB2YXAtPnZhX2N0aW1lLnR2X25zZWM7CiAJCWlwLT5pX3VwZGF0ZV9jb3JlID0gMTsKQEAg LTIwMTUsNyArMjAxNyw3IEBACiAJCXJldHVybiBYRlNfRVJST1IoRUlPKTsKIAogCXVkcXAgPSBn ZHFwID0gTlVMTDsKLQlpZiAodmFwLT52YV9tYXNrICYgQVRfUFJPSklEKQorCWlmICh2YXAtPnZh X21hc2sgJiBYRlNfQVRfUFJPSklEKQogCQlwcmlkID0gKHhmc19wcmlkX3QpdmFwLT52YV9wcm9q aWQ7CiAJZWxzZQogCQlwcmlkID0gKHhmc19wcmlkX3QpZGZsdHByaWQ7CkBAIC0yMDc2LDcgKzIw NzgsNyBAQAogCWlmIChyZXNibGtzID09IDAgJiYKIAkgICAgKGVycm9yID0gWEZTX0RJUl9DQU5F TlRFUihtcCwgdHAsIGRwLCBuYW1lLCBuYW1lbGVuKSkpCiAJCWdvdG8gZXJyb3JfcmV0dXJuOwot CXJkZXYgPSAodmFwLT52YV9tYXNrICYgQVRfUkRFVikgPyB2YXAtPnZhX3JkZXYgOiAwOworCXJk ZXYgPSAodmFwLT52YV9tYXNrICYgWEZTX0FUX1JERVYpID8gdmFwLT52YV9yZGV2IDogMDsKIAll cnJvciA9IHhmc19kaXJfaWFsbG9jKCZ0cCwgZHAsCiAJCQlNQUtFSU1PREUodmFwLT52YV90eXBl LHZhcC0+dmFfbW9kZSksIDEsCiAJCQlyZGV2LCBjcmVkcCwgcHJpZCwgcmVzYmxrcyA+IDAsCkBA IC0yOTg5LDcgKzI5OTEsNyBAQAogCiAJbXAgPSBkcC0+aV9tb3VudDsKIAl1ZHFwID0gZ2RxcCA9 IE5VTEw7Ci0JaWYgKHZhcC0+dmFfbWFzayAmIEFUX1BST0pJRCkKKwlpZiAodmFwLT52YV9tYXNr ICYgWEZTX0FUX1BST0pJRCkKIAkJcHJpZCA9ICh4ZnNfcHJpZF90KXZhcC0+dmFfcHJvamlkOwog CWVsc2UKIAkJcHJpZCA9ICh4ZnNfcHJpZF90KWRmbHRwcmlkOwpAQCAtMzA0OSw3ICszMDUxLDcg QEAKIAkvKgogCSAqIGNyZWF0ZSB0aGUgZGlyZWN0b3J5IGlub2RlLgogCSAqLwotCXJkZXYgPSAo dmFwLT52YV9tYXNrICYgQVRfUkRFVikgPyB2YXAtPnZhX3JkZXYgOiAwOworCXJkZXYgPSAodmFw LT52YV9tYXNrICYgWEZTX0FUX1JERVYpID8gdmFwLT52YV9yZGV2IDogMDsKIAllcnJvciA9IHhm c19kaXJfaWFsbG9jKCZ0cCwgZHAsIAogCQkJTUFLRUlNT0RFKHZhcC0+dmFfdHlwZSx2YXAtPnZh X21vZGUpLCAyLAogCQkJcmRldiwgY3JlZHAsIHByaWQsIHJlc2Jsa3MgPiAwLApAQCAtMzU5NCw3 ICszNTk2LDcgQEAKIAkvKiBSZXR1cm4gdGhyb3VnaCBzdGRfcmV0dXJuIGFmdGVyIHRoaXMgcG9p bnQuICovCiAKIAl1ZHFwID0gZ2RxcCA9IE5VTEw7Ci0JaWYgKHZhcC0+dmFfbWFzayAmIEFUX1BS T0pJRCkKKwlpZiAodmFwLT52YV9tYXNrICYgWEZTX0FUX1BST0pJRCkKIAkJcHJpZCA9ICh4ZnNf cHJpZF90KXZhcC0+dmFfcHJvamlkOwogCWVsc2UKIAkJcHJpZCA9ICh4ZnNfcHJpZF90KWRmbHRw cmlkOwpAQCAtMzY2Miw3ICszNjY0LDcgQEAKIAkvKgogCSAqIEFsbG9jYXRlIGFuIGlub2RlIGZv ciB0aGUgc3ltbGluay4KIAkgKi8KLQlyZGV2ID0gKHZhcC0+dmFfbWFzayAmIEFUX1JERVYpID8g dmFwLT52YV9yZGV2IDogMDsKKwlyZGV2ID0gKHZhcC0+dmFfbWFzayAmIFhGU19BVF9SREVWKSA/ IHZhcC0+dmFfcmRldiA6IDA7CiAKIAllcnJvciA9IHhmc19kaXJfaWFsbG9jKCZ0cCwgZHAsIElG TE5LIHwgKHZhcC0+dmFfbW9kZSZ+SUZNVCksCiAJCQkgICAgICAgMSwgcmRldiwgY3JlZHAsIHBy aWQsIHJlc2Jsa3MgPiAwLCAmaXAsIE5VTEwpOwpAQCAtNDgyNCw3ICs0ODI2LDcgQEAKIAkJCQli cmVhazsKIAkJfQogCi0JCXZhLnZhX21hc2sgPSBBVF9TSVpFOworCQl2YS52YV9tYXNrID0gWEZT X0FUX1NJWkU7CiAJCXZhLnZhX3NpemUgPSBzdGFydG9mZnNldDsKIAogCQllcnJvciA9IHhmc19z ZXRhdHRyKGJkcCwgJnZhLCBhdHRyX2ZsYWdzLCBjcmVkcCk7Cgo= --Multipart_Thu__28_Nov_2002_10:25:58_-0200_0858de00-- - 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/