[PATCH 2.5] XFS redefine AT_UID and AT_GID

abslucio (lucio@terra.com.br)
Sat, 23 Nov 2002 18:36:26 -0200 (BRST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1463811830-281740972-1038083786=:255
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hello....

This patch fixes this redefines in linux-2.5.49...

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...

i just renamed the XFS Attributes defines from AT_XXX to XFS_AT_XXX

best regards.

Lucio Maciel
abslucio@terra.com.br

---1463811830-281740972-1038083786=:255
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xfs.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0211231836260.255@julia-ann.home.net>
Content-Description:
Content-Disposition: attachment; filename="xfs.patch"

ZGlmZiAtdXIgLS1leGNsdWRlPWF1dG9jb25mLmggLS1leGNsdWRlPScqZGlm
ZicgLS1leGNsdWRlPWNvbXBpbGVfbG9nIC0tZXhjbHVkZT14ZnNfZXJyb3Ig
LS1leGNsdWRlPXhmc19sb2cgLS1leGNsdWRlPWVycm9yIC0tZXhjbHVkZT0u
Y29uZmlnIC0tZXhjbHVkZT0nKi5jbWQnIGxpbnVzLTIuNS40OS9mcy94ZnMv
bGludXgveGZzX2ZpbGUuYyBsaW51eC0yLjUuNDkvZnMveGZzL2xpbnV4L3hm
c19maWxlLmMNCi0tLSBsaW51cy0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc19m
aWxlLmMJMjAwMi0xMS0wNCAyMDozMDozMC4wMDAwMDAwMDAgLTAyMDANCisr
KyBsaW51eC0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc19maWxlLmMJMjAwMi0x
MS0yMyAwMDozMDo1NC4wMDAwMDAwMDAgLTAyMDANCkBAIC0yODAsNyArMjgw
LDcgQEANCiB7DQogCXN0cnVjdCBpbm9kZQkqaXAgPSBmaWxwLT5mX2RlbnRy
eS0+ZF9pbm9kZTsNCiAJdm5vZGVfdAkJKnZwID0gTElOVkZTX0dFVF9WUChp
cCk7DQotCXZhdHRyX3QJCXZhID0geyAudmFfbWFzayA9IEFUX1VQREFUSU1F
IH07DQorCXZhdHRyX3QJCXZhID0geyAudmFfbWFzayA9IFhGU19BVF9VUERB
VElNRSB9Ow0KIAlpbnQJCWVycm9yOw0KIA0KIAlpZiAoKHZwLT52X3R5cGUg
PT0gVlJFRykgJiYgKHZwLT52X3Zmc3AtPnZmc19mbGFnICYgVkZTX0RNSSkp
IHsNCkBAIC0yOTEsNyArMjkxLDcgQEANCiANCiAJdm1hLT52bV9vcHMgPSAm
bGludmZzX2ZpbGVfdm1fb3BzOw0KIA0KLQlWT1BfU0VUQVRUUih2cCwgJnZh
LCBBVF9VUERBVElNRSwgTlVMTCwgZXJyb3IpOw0KKwlWT1BfU0VUQVRUUih2
cCwgJnZhLCBYRlNfQVRfVVBEQVRJTUUsIE5VTEwsIGVycm9yKTsNCiAJVVBE
QVRFX0FUSU1FKGlwKTsNCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdXIgLS1l
eGNsdWRlPWF1dG9jb25mLmggLS1leGNsdWRlPScqZGlmZicgLS1leGNsdWRl
PWNvbXBpbGVfbG9nIC0tZXhjbHVkZT14ZnNfZXJyb3IgLS1leGNsdWRlPXhm
c19sb2cgLS1leGNsdWRlPWVycm9yIC0tZXhjbHVkZT0uY29uZmlnIC0tZXhj
bHVkZT0nKi5jbWQnIGxpbnVzLTIuNS40OS9mcy94ZnMvbGludXgveGZzX2lv
Y3RsLmMgbGludXgtMi41LjQ5L2ZzL3hmcy9saW51eC94ZnNfaW9jdGwuYw0K
LS0tIGxpbnVzLTIuNS40OS9mcy94ZnMvbGludXgveGZzX2lvY3RsLmMJMjAw
Mi0xMS0yMiAyMjoyOTo1My4wMDAwMDAwMDAgLTAyMDANCisrKyBsaW51eC0y
LjUuNDkvZnMveGZzL2xpbnV4L3hmc19pb2N0bC5jCTIwMDItMTEtMjMgMDA6
MzA6NTQuMDAwMDAwMDAwIC0wMjAwDQpAQCAtOTQ1LDcgKzk0NSw3IEBADQog
DQogCXN3aXRjaCAoY21kKSB7DQogCWNhc2UgWEZTX0lPQ19GU0dFVFhBVFRS
OiB7DQotCQl2YS52YV9tYXNrID0gQVRfWEZMQUdTfEFUX0VYVFNJWkV8QVRf
TkVYVEVOVFM7DQorCQl2YS52YV9tYXNrID0gWEZTX0FUX1hGTEFHU3xYRlNf
QVRfRVhUU0laRXxYRlNfQVRfTkVYVEVOVFM7DQogCQlWT1BfR0VUQVRUUih2
cCwgJnZhLCAwLCBOVUxMLCBlcnJvcik7DQogCQlpZiAoZXJyb3IpDQogCQkJ
cmV0dXJuIC1lcnJvcjsNCkBAIC05NjUsNyArOTY1LDcgQEANCiAJCWlmIChj
b3B5X2Zyb21fdXNlcigmZmEsIChzdHJ1Y3QgZnN4YXR0ciAqKWFyZywgc2l6
ZW9mKGZhKSkpDQogCQkJcmV0dXJuIC1YRlNfRVJST1IoRUZBVUxUKTsNCiAN
Ci0JCXZhLnZhX21hc2sgPSBBVF9YRkxBR1MgfCBBVF9FWFRTSVpFOw0KKwkJ
dmEudmFfbWFzayA9IFhGU19BVF9YRkxBR1MgfCBYRlNfQVRfRVhUU0laRTsN
CiAJCXZhLnZhX3hmbGFncyAgPSBmYS5mc3hfeGZsYWdzOw0KIAkJdmEudmFf
ZXh0c2l6ZSA9IGZhLmZzeF9leHRzaXplOw0KIA0KQEAgLTk3OCw3ICs5Nzgs
NyBAQA0KIA0KIAljYXNlIFhGU19JT0NfRlNHRVRYQVRUUkE6IHsNCiANCi0J
CXZhLnZhX21hc2sgPSBBVF9YRkxBR1N8QVRfRVhUU0laRXxBVF9BTkVYVEVO
VFM7DQorCQl2YS52YV9tYXNrID0gWEZTX0FUX1hGTEFHU3xYRlNfQVRfRVhU
U0laRXxYRlNfQVRfQU5FWFRFTlRTOw0KIAkJVk9QX0dFVEFUVFIodnAsICZ2
YSwgMCwgTlVMTCwgZXJyb3IpOw0KIAkJaWYgKGVycm9yKQ0KIAkJCXJldHVy
biAtZXJyb3I7DQpkaWZmIC11ciAtLWV4Y2x1ZGU9YXV0b2NvbmYuaCAtLWV4
Y2x1ZGU9JypkaWZmJyAtLWV4Y2x1ZGU9Y29tcGlsZV9sb2cgLS1leGNsdWRl
PXhmc19lcnJvciAtLWV4Y2x1ZGU9eGZzX2xvZyAtLWV4Y2x1ZGU9ZXJyb3Ig
LS1leGNsdWRlPS5jb25maWcgLS1leGNsdWRlPScqLmNtZCcgbGludXMtMi41
LjQ5L2ZzL3hmcy9saW51eC94ZnNfaW9wcy5jIGxpbnV4LTIuNS40OS9mcy94
ZnMvbGludXgveGZzX2lvcHMuYw0KLS0tIGxpbnVzLTIuNS40OS9mcy94ZnMv
bGludXgveGZzX2lvcHMuYwkyMDAyLTExLTIyIDIyOjMxOjQzLjAwMDAwMDAw
MCAtMDIwMA0KKysrIGxpbnV4LTIuNS40OS9mcy94ZnMvbGludXgveGZzX2lv
cHMuYwkyMDAyLTExLTIzIDAwOjMwOjU0LjAwMDAwMDAwMCAtMDIwMA0KQEAg
LTQ1LDcgKzQ1LDcgQEANCiAJdmF0dHJfdAkJdmE7DQogCWludAkJZXJyb3I7
DQogDQotCXZhLnZhX21hc2sgPSBBVF9OTElOS3xBVF9TSVpFOw0KKwl2YS52
YV9tYXNrID0gWEZTX0FUX05MSU5LfFhGU19BVF9TSVpFOw0KIAlWT1BfR0VU
QVRUUih2cCwgJnZhLCBBVFRSX0xBWlksIE5VTEwsIGVycm9yKTsNCiAJaXAt
PmlfbmxpbmsgPSB2YS52YV9ubGluazsNCiAJaXAtPmlfc2l6ZSA9IHZhLnZh
X3NpemU7DQpAQCAtODUsMTQgKzg1LDE0IEBADQogCQltb2RlICY9IH5jdXJy
ZW50LT5mcy0+dW1hc2s7DQogDQogCW1lbXNldCgmdmEsIDAsIHNpemVvZih2
YSkpOw0KLQl2YS52YV9tYXNrID0gQVRfVFlQRXxBVF9NT0RFOw0KKwl2YS52
YV9tYXNrID0gWEZTX0FUX1RZUEV8WEZTX0FUX01PREU7DQogCXZhLnZhX3R5
cGUgPSBJRlRPVlQobW9kZSk7DQogCXZhLnZhX21vZGUgPSBtb2RlOw0KIA0K
IAlzd2l0Y2ggKG1vZGUgJiBTX0lGTVQpIHsNCiAJY2FzZSBTX0lGQ0hSOiBj
YXNlIFNfSUZCTEs6IGNhc2UgU19JRklGTzogY2FzZSBTX0lGU09DSzoNCiAJ
CXZhLnZhX3JkZXYgPSBYRlNfTUtERVYoTUFKT1IocmRldiksIE1JTk9SKHJk
ZXYpKTsNCi0JCXZhLnZhX21hc2sgfD0gQVRfUkRFVjsNCisJCXZhLnZhX21h
c2sgfD0gWEZTX0FUX1JERVY7DQogCQkvKkZBTExUSFJPVUdIKi8NCiAJY2Fz
ZSBTX0lGUkVHOg0KIAkJVk9QX0NSRUFURShkdnAsIGRlbnRyeSwgJnZhLCAm
dnAsIE5VTEwsIGVycm9yKTsNCkBAIC0yNTUsNyArMjU1LDcgQEANCiAJbWVt
c2V0KCZ2YSwgMCwgc2l6ZW9mKHZhKSk7DQogCXZhLnZhX3R5cGUgPSBWTE5L
Ow0KIAl2YS52YV9tb2RlID0gaXJpeF9zeW1saW5rX21vZGUgPyAwNzc3ICYg
fmN1cnJlbnQtPmZzLT51bWFzayA6IFNfSVJXWFVHTzsNCi0JdmEudmFfbWFz
ayA9IEFUX1RZUEV8QVRfTU9ERTsNCisJdmEudmFfbWFzayA9IFhGU19BVF9U
WVBFfFhGU19BVF9NT0RFOw0KIA0KIAllcnJvciA9IDA7DQogCVZPUF9TWU1M
SU5LKGR2cCwgZGVudHJ5LCAmdmEsIChjaGFyICopc3ltbmFtZSwgJmN2cCwg
TlVMTCwgZXJyb3IpOw0KQEAgLTQ2MiwzMSArNDYyLDMxIEBADQogDQogCW1l
bXNldCgmdmF0dHIsIDAsIHNpemVvZih2YXR0cl90KSk7DQogCWlmIChpYV92
YWxpZCAmIEFUVFJfVUlEKSB7DQotCQl2YXR0ci52YV9tYXNrIHw9IEFUX1VJ
RDsNCisJCXZhdHRyLnZhX21hc2sgfD0gWEZTX0FUX1VJRDsNCiAJCXZhdHRy
LnZhX3VpZCA9IGF0dHItPmlhX3VpZDsNCiAJfQ0KIAlpZiAoaWFfdmFsaWQg
JiBBVFRSX0dJRCkgew0KLQkJdmF0dHIudmFfbWFzayB8PSBBVF9HSUQ7DQor
CQl2YXR0ci52YV9tYXNrIHw9IFhGU19BVF9HSUQ7DQogCQl2YXR0ci52YV9n
aWQgPSBhdHRyLT5pYV9naWQ7DQogCX0NCiAJaWYgKGlhX3ZhbGlkICYgQVRU
Ul9TSVpFKSB7DQotCQl2YXR0ci52YV9tYXNrIHw9IEFUX1NJWkU7DQorCQl2
YXR0ci52YV9tYXNrIHw9IFhGU19BVF9TSVpFOw0KIAkJdmF0dHIudmFfc2l6
ZSA9IGF0dHItPmlhX3NpemU7DQogCX0NCiAJaWYgKGlhX3ZhbGlkICYgQVRU
Ul9BVElNRSkgew0KLQkJdmF0dHIudmFfbWFzayB8PSBBVF9BVElNRTsNCisJ
CXZhdHRyLnZhX21hc2sgfD0gWEZTX0FUX0FUSU1FOw0KIAkJdmF0dHIudmFf
YXRpbWUgPSBhdHRyLT5pYV9hdGltZTsNCiAJfQ0KIAlpZiAoaWFfdmFsaWQg
JiBBVFRSX01USU1FKSB7DQotCQl2YXR0ci52YV9tYXNrIHw9IEFUX01USU1F
Ow0KKwkJdmF0dHIudmFfbWFzayB8PSBYRlNfQVRfTVRJTUU7DQogCQl2YXR0
ci52YV9tdGltZSA9IGF0dHItPmlhX210aW1lOw0KIAl9DQogCWlmIChpYV92
YWxpZCAmIEFUVFJfQ1RJTUUpIHsNCi0JCXZhdHRyLnZhX21hc2sgfD0gQVRf
Q1RJTUU7DQorCQl2YXR0ci52YV9tYXNrIHw9IFhGU19BVF9DVElNRTsNCiAJ
CXZhdHRyLnZhX2N0aW1lID0gYXR0ci0+aWFfY3RpbWU7DQogCX0NCiAJaWYg
KGlhX3ZhbGlkICYgQVRUUl9NT0RFKSB7DQotCQl2YXR0ci52YV9tYXNrIHw9
IEFUX01PREU7DQorCQl2YXR0ci52YV9tYXNrIHw9IFhGU19BVF9NT0RFOw0K
IAkJdmF0dHIudmFfbW9kZSA9IGF0dHItPmlhX21vZGU7DQogCQlpZiAoIWlu
X2dyb3VwX3AoaW5vZGUtPmlfZ2lkKSAmJiAhY2FwYWJsZShDQVBfRlNFVElE
KSkNCiAJCQlpbm9kZS0+aV9tb2RlICY9IH5TX0lTR0lEOw0KZGlmZiAtdXIg
LS1leGNsdWRlPWF1dG9jb25mLmggLS1leGNsdWRlPScqZGlmZicgLS1leGNs
dWRlPWNvbXBpbGVfbG9nIC0tZXhjbHVkZT14ZnNfZXJyb3IgLS1leGNsdWRl
PXhmc19sb2cgLS1leGNsdWRlPWVycm9yIC0tZXhjbHVkZT0uY29uZmlnIC0t
ZXhjbHVkZT0nKi5jbWQnIGxpbnVzLTIuNS40OS9mcy94ZnMvbGludXgveGZz
X3Zub2RlLmMgbGludXgtMi41LjQ5L2ZzL3hmcy9saW51eC94ZnNfdm5vZGUu
Yw0KLS0tIGxpbnVzLTIuNS40OS9mcy94ZnMvbGludXgveGZzX3Zub2RlLmMJ
MjAwMi0xMS0yMiAyMjoyOTo1My4wMDAwMDAwMDAgLTAyMDANCisrKyBsaW51
eC0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc192bm9kZS5jCTIwMDItMTEtMjMg
MDA6MzA6NTQuMDAwMDAwMDAwIC0wMjAwDQpAQCAtMjAwLDcgKzIwMCw3IEBA
DQogDQogCXZuX3RyYWNlX2VudHJ5KHZwLCAidm5fcmV2YWxpZGF0ZSIsIChp
bnN0X3QgKilfX3JldHVybl9hZGRyZXNzKTsNCiANCi0JdmEudmFfbWFzayA9
IEFUX1NUQVR8QVRfR0VOQ09VTlQ7DQorCXZhLnZhX21hc2sgPSBYRlNfQVRf
U1RBVHxYRlNfQVRfR0VOQ09VTlQ7DQogDQogCUFTU0VSVCh2cC0+dl9iaC5i
aF9maXJzdCAhPSBOVUxMKTsNCiANCmRpZmYgLXVyIC0tZXhjbHVkZT1hdXRv
Y29uZi5oIC0tZXhjbHVkZT0nKmRpZmYnIC0tZXhjbHVkZT1jb21waWxlX2xv
ZyAtLWV4Y2x1ZGU9eGZzX2Vycm9yIC0tZXhjbHVkZT14ZnNfbG9nIC0tZXhj
bHVkZT1lcnJvciAtLWV4Y2x1ZGU9LmNvbmZpZyAtLWV4Y2x1ZGU9JyouY21k
JyBsaW51cy0yLjUuNDkvZnMveGZzL2xpbnV4L3hmc192bm9kZS5oIGxpbnV4
LTIuNS40OS9mcy94ZnMvbGludXgveGZzX3Zub2RlLmgNCi0tLSBsaW51cy0y
LjUuNDkvZnMveGZzL2xpbnV4L3hmc192bm9kZS5oCTIwMDItMTEtMTEgMjM6
NTc6MDcuMDAwMDAwMDAwIC0wMjAwDQorKysgbGludXgtMi41LjQ5L2ZzL3hm
cy9saW51eC94ZnNfdm5vZGUuaAkyMDAyLTExLTIzIDAwOjM3OjI0LjAwMDAw
MDAwMCAtMDIwMA0KQEAgLTU0MSw1MyArNTQxLDUzIEBADQogLyoNCiAgKiBz
ZXRhdHRyIG9yIGdldGF0dHIgYXR0cmlidXRlcw0KICAqLw0KLSNkZWZpbmUg
QVRfVFlQRQkJMHgwMDAwMDAwMQ0KLSNkZWZpbmUgQVRfTU9ERQkJMHgwMDAw
MDAwMg0KLSNkZWZpbmUgQVRfVUlECQkweDAwMDAwMDA0DQotI2RlZmluZSBB
VF9HSUQJCTB4MDAwMDAwMDgNCi0jZGVmaW5lIEFUX0ZTSUQJCTB4MDAwMDAw
MTANCi0jZGVmaW5lIEFUX05PREVJRAkweDAwMDAwMDIwDQotI2RlZmluZSBB
VF9OTElOSwkweDAwMDAwMDQwDQotI2RlZmluZSBBVF9TSVpFCQkweDAwMDAw
MDgwDQotI2RlZmluZSBBVF9BVElNRQkweDAwMDAwMTAwDQotI2RlZmluZSBB
VF9NVElNRQkweDAwMDAwMjAwDQotI2RlZmluZSBBVF9DVElNRQkweDAwMDAw
NDAwDQotI2RlZmluZSBBVF9SREVWCQkweDAwMDAwODAwDQotI2RlZmluZSBB
VF9CTEtTSVpFCTB4MDAwMDEwMDANCi0jZGVmaW5lIEFUX05CTE9DS1MJMHgw
MDAwMjAwMA0KLSNkZWZpbmUgQVRfVkNPREUJMHgwMDAwNDAwMA0KLSNkZWZp
bmUgQVRfTUFDCQkweDAwMDA4MDAwDQotI2RlZmluZSBBVF9VUERBVElNRQkw
eDAwMDEwMDAwDQotI2RlZmluZSBBVF9VUERNVElNRQkweDAwMDIwMDAwDQot
I2RlZmluZSBBVF9VUERDVElNRQkweDAwMDQwMDAwDQotI2RlZmluZSBBVF9B
Q0wJCTB4MDAwODAwMDANCi0jZGVmaW5lIEFUX0NBUAkJMHgwMDEwMDAwMA0K
LSNkZWZpbmUgQVRfSU5GCQkweDAwMjAwMDAwDQotI2RlZmluZSBBVF9YRkxB
R1MJMHgwMDQwMDAwMA0KLSNkZWZpbmUgQVRfRVhUU0laRQkweDAwODAwMDAw
DQotI2RlZmluZSBBVF9ORVhURU5UUwkweDAxMDAwMDAwDQotI2RlZmluZSBB
VF9BTkVYVEVOVFMJMHgwMjAwMDAwMA0KLSNkZWZpbmUgQVRfUFJPSklECTB4
MDQwMDAwMDANCi0jZGVmaW5lIEFUX1NJWkVfTk9QRVJNCTB4MDgwMDAwMDAN
Ci0jZGVmaW5lIEFUX0dFTkNPVU5UCTB4MTAwMDAwMDANCi0NCi0jZGVmaW5l
IEFUX0FMTAkoQVRfVFlQRXxBVF9NT0RFfEFUX1VJRHxBVF9HSUR8QVRfRlNJ
RHxBVF9OT0RFSUR8XA0KLQkJQVRfTkxJTkt8QVRfU0laRXxBVF9BVElNRXxB
VF9NVElNRXxBVF9DVElNRXxBVF9SREVWfFwNCi0JCUFUX0JMS1NJWkV8QVRf
TkJMT0NLU3xBVF9WQ09ERXxBVF9NQUN8QVRfQUNMfEFUX0NBUHxcDQotCQlB
VF9JTkZ8QVRfWEZMQUdTfEFUX0VYVFNJWkV8QVRfTkVYVEVOVFN8QVRfQU5F
WFRFTlRTfFwNCi0JCUFUX1BST0pJRHxBVF9HRU5DT1VOVCkNCi0NCi0jZGVm
aW5lIEFUX1NUQVQgKEFUX1RZUEV8QVRfTU9ERXxBVF9VSUR8QVRfR0lEfEFU
X0ZTSUR8QVRfTk9ERUlEfEFUX05MSU5LfFwNCi0JCUFUX1NJWkV8QVRfQVRJ
TUV8QVRfTVRJTUV8QVRfQ1RJTUV8QVRfUkRFVnxBVF9CTEtTSVpFfFwNCi0J
CUFUX05CTE9DS1N8QVRfUFJPSklEKQ0KLQ0KLSNkZWZpbmUgQVRfVElNRVMg
KEFUX0FUSU1FfEFUX01USU1FfEFUX0NUSU1FKQ0KLQ0KLSNkZWZpbmUgQVRf
VVBEVElNRVMgKEFUX1VQREFUSU1FfEFUX1VQRE1USU1FfEFUX1VQRENUSU1F
KQ0KLQ0KLSNkZWZpbmUgQVRfTk9TRVQgKEFUX05MSU5LfEFUX1JERVZ8QVRf
RlNJRHxBVF9OT0RFSUR8QVRfVFlQRXxcDQotCQkgQVRfQkxLU0laRXxBVF9O
QkxPQ0tTfEFUX1ZDT0RFfEFUX05FWFRFTlRTfEFUX0FORVhURU5UU3xcDQot
CQkgQVRfR0VOQ09VTlQpDQorI2RlZmluZSBYRlNfQVRfVFlQRQkJMHgwMDAw
MDAwMQ0KKyNkZWZpbmUgWEZTX0FUX01PREUJCTB4MDAwMDAwMDINCisjZGVm
aW5lIFhGU19BVF9VSUQJCTB4MDAwMDAwMDQNCisjZGVmaW5lIFhGU19BVF9H
SUQJCTB4MDAwMDAwMDgNCisjZGVmaW5lIFhGU19BVF9GU0lECQkweDAwMDAw
MDEwDQorI2RlZmluZSBYRlNfQVRfTk9ERUlECTB4MDAwMDAwMjANCisjZGVm
aW5lIFhGU19BVF9OTElOSwkweDAwMDAwMDQwDQorI2RlZmluZSBYRlNfQVRf
U0laRQkJMHgwMDAwMDA4MA0KKyNkZWZpbmUgWEZTX0FUX0FUSU1FCTB4MDAw
MDAxMDANCisjZGVmaW5lIFhGU19BVF9NVElNRQkweDAwMDAwMjAwDQorI2Rl
ZmluZSBYRlNfQVRfQ1RJTUUJMHgwMDAwMDQwMA0KKyNkZWZpbmUgWEZTX0FU
X1JERVYJCTB4MDAwMDA4MDANCisjZGVmaW5lIFhGU19BVF9CTEtTSVpFCTB4
MDAwMDEwMDANCisjZGVmaW5lIFhGU19BVF9OQkxPQ0tTCTB4MDAwMDIwMDAN
CisjZGVmaW5lIFhGU19BVF9WQ09ERQkweDAwMDA0MDAwDQorI2RlZmluZSBY
RlNfQVRfTUFDCQkweDAwMDA4MDAwDQorI2RlZmluZSBYRlNfQVRfVVBEQVRJ
TUUJMHgwMDAxMDAwMA0KKyNkZWZpbmUgWEZTX0FUX1VQRE1USU1FCTB4MDAw
MjAwMDANCisjZGVmaW5lIFhGU19BVF9VUERDVElNRQkweDAwMDQwMDAwDQor
I2RlZmluZSBYRlNfQVRfQUNMCQkweDAwMDgwMDAwDQorI2RlZmluZSBYRlNf
QVRfQ0FQCQkweDAwMTAwMDAwDQorI2RlZmluZSBYRlNfQVRfSU5GCQkweDAw
MjAwMDAwDQorI2RlZmluZSBYRlNfQVRfWEZMQUdTCTB4MDA0MDAwMDANCisj
ZGVmaW5lIFhGU19BVF9FWFRTSVpFCTB4MDA4MDAwMDANCisjZGVmaW5lIFhG
U19BVF9ORVhURU5UUwkweDAxMDAwMDAwDQorI2RlZmluZSBYRlNfQVRfQU5F
WFRFTlRTCTB4MDIwMDAwMDANCisjZGVmaW5lIFhGU19BVF9QUk9KSUQJMHgw
NDAwMDAwMA0KKyNkZWZpbmUgWEZTX0FUX1NJWkVfTk9QRVJNCTB4MDgwMDAw
MDANCisjZGVmaW5lIFhGU19BVF9HRU5DT1VOVAkweDEwMDAwMDAwDQorDQor
I2RlZmluZSBYRlNfQVRfQUxMIChYRlNfQVRfVFlQRXxYRlNfQVRfTU9ERXxY
RlNfQVRfVUlEfFhGU19BVF9HSUR8WEZTX0FUX0ZTSUR8XA0KKwkJWEZTX0FU
X05PREVJRHxYRlNfQVRfTkxJTkt8WEZTX0FUX1NJWkV8WEZTX0FUX0FUSU1F
fFhGU19BVF9NVElNRXxcDQorCQlYRlNfQVRfQ1RJTUV8WEZTX0FUX1JERVZ8
WEZTX0FUX0JMS1NJWkV8WEZTX0FUX05CTE9DS1N8WEZTX0FUX1ZDT0RFfFwN
CisJCVhGU19BVF9NQUN8WEZTX0FUX0FDTHxYRlNfQVRfQ0FQfFhGU19BVF9J
TkZ8WEZTX0FUX1hGTEFHU3xYRlNfQVRfRVhUU0laRXxcDQorCQlYRlNfQVRf
TkVYVEVOVFN8WEZTX0FUX0FORVhURU5UU3xYRlNfQVRfUFJPSklEfFhGU19B
VF9HRU5DT1VOVCkNCisNCisjZGVmaW5lIFhGU19BVF9TVEFUIChYRlNfQVRf
VFlQRXxYRlNfQVRfTU9ERXxYRlNfQVRfVUlEfFhGU19BVF9HSUR8WEZTX0FU
X0ZTSUR8XA0KKwkJWEZTX0FUX05PREVJRHxYRlNfQVRfTkxJTkt8WEZTX0FU
X1NJWkV8WEZTX0FUX0FUSU1FfFhGU19BVF9NVElNRXxcDQorCQlYRlNfQVRf
Q1RJTUV8WEZTX0FUX1JERVZ8WEZTX0FUX0JMS1NJWkV8WEZTX0FUX05CTE9D
S1N8WEZTX0FUX1BST0pJRCkNCisNCisjZGVmaW5lIFhGU19BVF9USU1FUyAo
WEZTX0FUX0FUSU1FfFhGU19BVF9NVElNRXxYRlNfQVRfQ1RJTUUpDQorDQor
I2RlZmluZSBYRlNfQVRfVVBEVElNRVMgKFhGU19BVF9VUERBVElNRXxYRlNf
QVRfVVBETVRJTUV8WEZTX0FUX1VQRENUSU1FKQ0KKw0KKyNkZWZpbmUgWEZT
X0FUX05PU0VUIChYRlNfQVRfTkxJTkt8WEZTX0FUX1JERVZ8WEZTX0FUX0ZT
SUR8WEZTX0FUX05PREVJRHxcDQorCQkgWEZTX0FUX1RZUEV8WEZTX0FUX0JM
S1NJWkV8WEZTX0FUX05CTE9DS1N8WEZTX0FUX1ZDT0RFfFwNCisJCSBYRlNf
QVRfTkVYVEVOVFN8WEZTX0FUX0FORVhURU5UU3xYRlNfQVRfR0VOQ09VTlQp
DQogDQogI2RlZmluZSBWUkVBRAkJMDA0MDANCiAjZGVmaW5lIFZXUklURQkJ
MDAyMDANCmRpZmYgLXVyIC0tZXhjbHVkZT1hdXRvY29uZi5oIC0tZXhjbHVk
ZT0nKmRpZmYnIC0tZXhjbHVkZT1jb21waWxlX2xvZyAtLWV4Y2x1ZGU9eGZz
X2Vycm9yIC0tZXhjbHVkZT14ZnNfbG9nIC0tZXhjbHVkZT1lcnJvciAtLWV4
Y2x1ZGU9LmNvbmZpZyAtLWV4Y2x1ZGU9JyouY21kJyBsaW51cy0yLjUuNDkv
ZnMveGZzL3hmc19hY2wuYyBsaW51eC0yLjUuNDkvZnMveGZzL3hmc19hY2wu
Yw0KLS0tIGxpbnVzLTIuNS40OS9mcy94ZnMveGZzX2FjbC5jCTIwMDItMTEt
MTEgMjM6NTc6MDcuMDAwMDAwMDAwIC0wMjAwDQorKysgbGludXgtMi41LjQ5
L2ZzL3hmcy94ZnNfYWNsLmMJMjAwMi0xMS0yMyAwMDozMDo1NC4wMDAwMDAw
MDAgLTAyMDANCkBAIC0yMzUsNyArMjM1LDcgQEANCiAJCWlmIChraW5kID09
IF9BQ0xfVFlQRV9BQ0NFU1MpIHsNCiAJCQl2YXR0cl90IHZhOw0KIA0KLQkJ
CXZhLnZhX21hc2sgPSBBVF9NT0RFOw0KKwkJCXZhLnZhX21hc2sgPSBYRlNf
QVRfTU9ERTsNCiAJCQlWT1BfR0VUQVRUUih2cCwgJnZhLCAwLCBzeXNfY3Jl
ZCwgZXJyb3IpOw0KIAkJCWlmIChlcnJvcikNCiAJCQkJZ290byBvdXQ7DQpA
QCAtMzcyLDcgKzM3Miw3IEBADQogCQlyZXR1cm4gRVJPRlM7DQogCWlmICgo
ZXJyb3IgPSBfTUFDX1ZBQ0NFU1ModnAsIE5VTEwsIFZXUklURSkpKQ0KIAkJ
cmV0dXJuIGVycm9yOw0KLQl2YS52YV9tYXNrID0gQVRfVUlEOw0KKwl2YS52
YV9tYXNrID0gWEZTX0FUX1VJRDsNCiAJVk9QX0dFVEFUVFIodnAsICZ2YSwg
MCwgTlVMTCwgZXJyb3IpOw0KIAlpZiAoZXJyb3IpDQogCQlyZXR1cm4gZXJy
b3I7DQpAQCAtNzAyLDcgKzcwMiw3IEBADQogCQl4ZnNfYWNsX2dldF9hdHRy
KHZwLCBhY2Nlc3NfYWNsLCBfQUNMX1RZUEVfQUNDRVNTLCAwLCAmZXJyb3Ip
Ow0KIAkJaWYgKCFlcnJvcikgew0KIAkJCS8qIEdvdCB0aGUgQUNMLCBuZWVk
IHRoZSBtb2RlLi4uICovDQotCQkJdmEudmFfbWFzayA9IEFUX01PREU7DQor
CQkJdmEudmFfbWFzayA9IFhGU19BVF9NT0RFOw0KIAkJCVZPUF9HRVRBVFRS
KHZwLCAmdmEsIDAsIHN5c19jcmVkLCBlcnJvcik7DQogCQl9DQogDQpAQCAt
ODAwLDEyICs4MDAsMTIgQEANCiAJICogQ29weSB0aGUgdTo6LCBnOjosIG86
OiwgYW5kIG06OiBiaXRzIGZyb20gdGhlIEFDTCBpbnRvIHRoZQ0KIAkgKiBt
b2RlLiAgVGhlIG06OiBiaXRzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSBn
OjogYml0cy4NCiAJICovDQotCXZhLnZhX21hc2sgPSBBVF9NT0RFOw0KKwl2
YS52YV9tYXNrID0gWEZTX0FUX01PREU7DQogCVZPUF9HRVRBVFRSKHZwLCAm
dmEsIDAsIHN5c19jcmVkLCBlcnJvcik7DQogCWlmIChlcnJvcikNCiAJCXJl
dHVybiBlcnJvcjsNCiANCi0JdmEudmFfbWFzayA9IEFUX01PREU7DQorCXZh
LnZhX21hc2sgPSBYRlNfQVRfTU9ERTsNCiAJdmEudmFfbW9kZSAmPSB+KFNf
SVJXWFV8U19JUldYR3xTX0lSV1hPKTsNCiAJYXAgPSBhY2wtPmFjbF9lbnRy
eTsNCiAJZm9yIChpID0gMDsgaSA8IGFjbC0+YWNsX2NudDsgKytpKSB7DQpk
aWZmIC11ciAtLWV4Y2x1ZGU9YXV0b2NvbmYuaCAtLWV4Y2x1ZGU9JypkaWZm
JyAtLWV4Y2x1ZGU9Y29tcGlsZV9sb2cgLS1leGNsdWRlPXhmc19lcnJvciAt
LWV4Y2x1ZGU9eGZzX2xvZyAtLWV4Y2x1ZGU9ZXJyb3IgLS1leGNsdWRlPS5j
b25maWcgLS1leGNsdWRlPScqLmNtZCcgbGludXMtMi41LjQ5L2ZzL3hmcy94
ZnNfY2FwLmMgbGludXgtMi41LjQ5L2ZzL3hmcy94ZnNfY2FwLmMNCi0tLSBs
aW51cy0yLjUuNDkvZnMveGZzL3hmc19jYXAuYwkyMDAyLTExLTA0IDIwOjMw
OjI1LjAwMDAwMDAwMCAtMDIwMA0KKysrIGxpbnV4LTIuNS40OS9mcy94ZnMv
eGZzX2NhcC5jCTIwMDItMTEtMjMgMDA6MzA6NTQuMDAwMDAwMDAwIC0wMjAw
DQpAQCAtMTkyLDcgKzE5Miw3IEBADQogCQlyZXR1cm4gRVJPRlM7DQogCWlm
ICgoZXJyb3IgPSBfTUFDX1ZBQ0NFU1ModnAsIE5VTEwsIFZXUklURSkpKQ0K
IAkJcmV0dXJuIGVycm9yOw0KLQl2YS52YV9tYXNrID0gQVRfVUlEOw0KKwl2
YS52YV9tYXNrID0gWEZTX0FUX1VJRDsNCiAJVk9QX0dFVEFUVFIodnAsICZ2
YSwgMCwgTlVMTCwgZXJyb3IpOw0KIAlpZiAoZXJyb3IpDQogCQlyZXR1cm4g
ZXJyb3I7DQpkaWZmIC11ciAtLWV4Y2x1ZGU9YXV0b2NvbmYuaCAtLWV4Y2x1
ZGU9JypkaWZmJyAtLWV4Y2x1ZGU9Y29tcGlsZV9sb2cgLS1leGNsdWRlPXhm
c19lcnJvciAtLWV4Y2x1ZGU9eGZzX2xvZyAtLWV4Y2x1ZGU9ZXJyb3IgLS1l
eGNsdWRlPS5jb25maWcgLS1leGNsdWRlPScqLmNtZCcgbGludXMtMi41LjQ5
L2ZzL3hmcy94ZnNfcW0uYyBsaW51eC0yLjUuNDkvZnMveGZzL3hmc19xbS5j
DQotLS0gbGludXMtMi41LjQ5L2ZzL3hmcy94ZnNfcW0uYwkyMDAyLTExLTEx
IDIzOjU3OjA4LjAwMDAwMDAwMCAtMDIwMA0KKysrIGxpbnV4LTIuNS40OS9m
cy94ZnMveGZzX3FtLmMJMjAwMi0xMS0yMyAwMDozMDo1NC4wMDAwMDAwMDAg
LTAyMDANCkBAIC0yNjM5LDcgKzI2MzksNyBAQA0KIH0NCiANCiAvKg0KLSAq
IFF1b3RhIHJlc2VydmF0aW9ucyBmb3Igc2V0YXR0cihBVF9VSUR8QVRfR0lE
KS4NCisgKiBRdW90YSByZXNlcnZhdGlvbnMgZm9yIHNldGF0dHIoWEZTX0FU
X1VJRHxYRlNfQVRfR0lEKS4NCiAgKi8NCiBpbnQNCiB4ZnNfcW1fdm9wX2No
b3duX3Jlc2VydmUoDQpkaWZmIC11ciAtLWV4Y2x1ZGU9YXV0b2NvbmYuaCAt
LWV4Y2x1ZGU9JypkaWZmJyAtLWV4Y2x1ZGU9Y29tcGlsZV9sb2cgLS1leGNs
dWRlPXhmc19lcnJvciAtLWV4Y2x1ZGU9eGZzX2xvZyAtLWV4Y2x1ZGU9ZXJy
b3IgLS1leGNsdWRlPS5jb25maWcgLS1leGNsdWRlPScqLmNtZCcgbGludXMt
Mi41LjQ5L2ZzL3hmcy94ZnNfdm5vZGVvcHMuYyBsaW51eC0yLjUuNDkvZnMv
eGZzL3hmc192bm9kZW9wcy5jDQotLS0gbGludXMtMi41LjQ5L2ZzL3hmcy94
ZnNfdm5vZGVvcHMuYwkyMDAyLTExLTExIDIzOjU3OjA4LjAwMDAwMDAwMCAt
MDIwMA0KKysrIGxpbnV4LTIuNS40OS9mcy94ZnMveGZzX3Zub2Rlb3BzLmMJ
MjAwMi0xMS0yMyAxMjo1MTowNC4wMDAwMDAwMDAgLTAyMDANCkBAIC0xMTks
NyArMTE5LDcgQEANCiAJCXhmc19pbG9jayhpcCwgWEZTX0lMT0NLX1NIQVJF
RCk7DQogDQogCXZhcC0+dmFfc2l6ZSA9IGlwLT5pX2QuZGlfc2l6ZTsNCi0J
aWYgKHZhcC0+dmFfbWFzayA9PSBBVF9TSVpFKSB7DQorCWlmICh2YXAtPnZh
X21hc2sgPT0gWEZTX0FUX1NJWkUpIHsNCiAJCWlmICghKGZsYWdzICYgQVRU
Ul9MQVpZKSkNCiAJCQl4ZnNfaXVubG9jayhpcCwgWEZTX0lMT0NLX1NIQVJF
RCk7DQogCQlyZXR1cm4gMDsNCkBAIC0xMzcsNyArMTM3LDggQEANCiAJLyoN
CiAJICogUXVpY2sgZXhpdCBmb3Igbm9uLXN0YXQgY2FsbGVycw0KIAkgKi8N
Ci0JaWYgKCh2YXAtPnZhX21hc2sgJiB+KEFUX1NJWkV8QVRfRlNJRHxBVF9O
T0RFSUR8QVRfTkxJTkspKSA9PSAwKSB7DQorCWlmICgodmFwLT52YV9tYXNr
ICYgDQorCQkgfihYRlNfQVRfU0laRXxYRlNfQVRfRlNJRHxYRlNfQVRfTk9E
RUlEfFhGU19BVF9OTElOSykpID09IDApIHsNCiAJCWlmICghKGZsYWdzICYg
QVRUUl9MQVpZKSkNCiAJCQl4ZnNfaXVubG9jayhpcCwgWEZTX0lMT0NLX1NI
QVJFRCk7DQogCQlyZXR1cm4gMDsNCkBAIC0yMjQsOCArMjI1LDggQEANCiAJ
ICogdG8gYmUgZmlsbGVkIGluIGFyZSBuZWVkZWQuDQogCSAqLw0KIAlpZiAo
KHZhcC0+dmFfbWFzayAmDQotCSAgICAgKEFUX1hGTEFHU3xBVF9FWFRTSVpF
fEFUX05FWFRFTlRTfEFUX0FORVhURU5UU3wNCi0JICAgICAgQVRfR0VOQ09V
TlR8QVRfVkNPREUpKSA9PSAwKSB7DQorCSAgICAgKFhGU19BVF9YRkxBR1N8
WEZTX0FUX0VYVFNJWkV8WEZTX0FUX05FWFRFTlRTfFhGU19BVF9BTkVYVEVO
VFN8DQorCSAgICAgIFhGU19BVF9HRU5DT1VOVHxYRlNfQVRfVkNPREUpKSA9
PSAwKSB7DQogCQlpZiAoIShmbGFncyAmIEFUVFJfTEFaWSkpDQogCQkJeGZz
X2l1bmxvY2soaXAsIFhGU19JTE9DS19TSEFSRUQpOw0KIAkJcmV0dXJuIDA7
DQpAQCAtMjk0LDcgKzI5NSw3IEBADQogCSAqIENhbm5vdCBzZXQgY2VydGFp
biBhdHRyaWJ1dGVzLg0KIAkgKi8NCiAJbWFzayA9IHZhcC0+dmFfbWFzazsN
Ci0JaWYgKG1hc2sgJiBBVF9OT1NFVCkgew0KKwlpZiAobWFzayAmIFhGU19B
VF9OT1NFVCkgew0KIAkJcmV0dXJuIFhGU19FUlJPUihFSU5WQUwpOw0KIAl9
DQogDQpAQCAtMzA4LDExICszMDksMTEgQEANCiAJICogVGltZXN0YW1wcyBk
byBub3QgbmVlZCB0byBiZSBsb2dnZWQgYW5kIGhlbmNlIGRvIG5vdA0KIAkg
KiBuZWVkIHRvIGJlIGRvbmUgd2l0aGluIGEgdHJhbnNhY3Rpb24uDQogCSAq
Lw0KLQlpZiAobWFzayAmIEFUX1VQRFRJTUVTKSB7DQorCWlmIChtYXNrICYg
WEZTX0FUX1VQRFRJTUVTKSB7DQogCQlBU1NFUlQoKG1hc2sgJiB+QVRfVVBE
VElNRVMpID09IDApOw0KLQkJdGltZWZsYWdzID0gKChtYXNrICYgQVRfVVBE
QVRJTUUpID8gWEZTX0lDSEdUSU1FX0FDQyA6IDApIHwNCi0JCQkgICAgKCht
YXNrICYgQVRfVVBEQ1RJTUUpID8gWEZTX0lDSEdUSU1FX0NIRyA6IDApIHwN
Ci0JCQkgICAgKChtYXNrICYgQVRfVVBETVRJTUUpID8gWEZTX0lDSEdUSU1F
X01PRCA6IDApOw0KKwkJdGltZWZsYWdzID0gKChtYXNrICYgWEZTX0FUX1VQ
REFUSU1FKSA/IFhGU19JQ0hHVElNRV9BQ0MgOiAwKSB8DQorCQkJICAgICgo
bWFzayAmIFhGU19BVF9VUERDVElNRSkgPyBYRlNfSUNIR1RJTUVfQ0hHIDog
MCkgfA0KKwkJCSAgICAoKG1hc2sgJiBYRlNfQVRfVVBETVRJTUUpID8gWEZT
X0lDSEdUSU1FX01PRCA6IDApOw0KIAkJeGZzX2ljaGd0aW1lKGlwLCB0aW1l
ZmxhZ3MpOw0KIAkJcmV0dXJuIDA7DQogCX0NCkBAIC0zMjgsMTUgKzMyOSwx
NSBAQA0KIAkgKiBJZiB0aGUgSURzIGRvIGNoYW5nZSBiZWZvcmUgd2UgdGFr
ZSB0aGUgaWxvY2ssIHdlJ3JlIGNvdmVyZWQNCiAJICogYmVjYXVzZSB0aGUg
aV8qZHF1b3QgZmllbGRzIHdpbGwgZ2V0IHVwZGF0ZWQgYW55d2F5Lg0KIAkg
Ki8NCi0JaWYgKFhGU19JU19RVU9UQV9PTihtcCkgJiYgKG1hc2sgJiAoQVRf
VUlEfEFUX0dJRCkpKSB7DQorCWlmIChYRlNfSVNfUVVPVEFfT04obXApICYm
IChtYXNrICYgKFhGU19BVF9VSUR8WEZTX0FUX0dJRCkpKSB7DQogCQlxZmxh
Z3MgPSAwOw0KLQkJaWYgKG1hc2sgJiBBVF9VSUQpIHsNCisJCWlmIChtYXNr
ICYgWEZTX0FUX1VJRCkgew0KIAkJCXVpZCA9IHZhcC0+dmFfdWlkOw0KIAkJ
CXFmbGFncyB8PSBYRlNfUU1PUFRfVVFVT1RBOw0KIAkJfSBlbHNlIHsNCiAJ
CQl1aWQgPSBpcC0+aV9kLmRpX3VpZDsNCiAJCX0NCi0JCWlmIChtYXNrICYg
QVRfR0lEKSB7DQorCQlpZiAobWFzayAmIFhGU19BVF9HSUQpIHsNCiAJCQln
aWQgPSB2YXAtPnZhX2dpZDsNCiAJCQlxZmxhZ3MgfD0gWEZTX1FNT1BUX0dR
VU9UQTsNCiAJCX0gIGVsc2Ugew0KQEAgLTM2MCw4ICszNjEsOCBAQA0KIAkg
Ki8NCiAJdHAgPSBOVUxMOw0KIAlsb2NrX2ZsYWdzID0gWEZTX0lMT0NLX0VY
Q0w7DQotCWlmICghKG1hc2sgJiBBVF9TSVpFKSkgew0KLQkJaWYgKChtYXNr
ICE9IChBVF9DVElNRXxBVF9BVElNRXxBVF9NVElNRSkpIHx8DQorCWlmICgh
KG1hc2sgJiBYRlNfQVRfU0laRSkpIHsNCisJCWlmICgobWFzayAhPSAoWEZT
X0FUX0NUSU1FfFhGU19BVF9BVElNRXxYRlNfQVRfTVRJTUUpKSB8fA0KIAkJ
ICAgIChtcC0+bV9mbGFncyAmIFhGU19NT1VOVF9XU1lOQykpIHsNCiAJCQl0
cCA9IHhmc190cmFuc19hbGxvYyhtcCwgWEZTX1RSQU5TX1NFVEFUVFJfTk9U
X1NJWkUpOw0KIAkJCWNvbW1pdF9mbGFncyA9IDA7DQpAQCAtNDAwLDcgKzQw
MSw4IEBADQogCSAqIE9ubHkgdGhlIG93bmVyIG9yIHVzZXJzIHdpdGggQ0FQ
X0ZPV05FUg0KIAkgKiBjYXBhYmlsaXR5IG1heSBkbyB0aGVzZSB0aGluZ3Mu
DQogCSAqLw0KLQlpZiAobWFzayAmIChBVF9NT0RFfEFUX1hGTEFHU3xBVF9F
WFRTSVpFfEFUX1VJRHxBVF9HSUR8QVRfUFJPSklEKSkgew0KKwlpZiAobWFz
ayAmIChYRlNfQVRfTU9ERXxYRlNfQVRfWEZMQUdTfFhGU19BVF9FWFRTSVpF
fFhGU19BVF9VSUR8DQorCQkJCQlYRlNfQVRfR0lEfFhGU19BVF9QUk9KSUQp
KSB7DQogCQkvKg0KIAkJICogQ0FQX0ZPV05FUiBvdmVycmlkZXMgdGhlIGZv
bGxvd2luZyByZXN0cmljdGlvbnM6DQogCQkgKg0KQEAgLTQyNCw3ICs0MjYs
NyBAQA0KIAkJICogSURzIG9mIHRoZSBjYWxsaW5nIHByb2Nlc3Mgc2hhbGwg
bWF0Y2ggdGhlIGdyb3VwIG93bmVyIG9mDQogCQkgKiB0aGUgZmlsZSB3aGVu
IHNldHRpbmcgdGhlIHNldC1ncm91cC1JRCBiaXQgb24gdGhhdCBmaWxlDQog
CQkgKi8NCi0JCWlmIChtYXNrICYgQVRfTU9ERSkgew0KKwkJaWYgKG1hc2sg
JiBYRlNfQVRfTU9ERSkgew0KIAkJCW1vZGVfdCBtID0gMDsNCiANCiAJCQlp
ZiAoKHZhcC0+dmFfbW9kZSAmIElTVUlEKSAmJiAhZmlsZV9vd25lcikNCkBA
IC00NDksNyArNDUxLDcgQEANCiAJICogYW5kIGNhbiBjaGFuZ2UgdGhlIGdy
b3VwIGlkIG9ubHkgdG8gYSBncm91cCBvZiB3aGljaCBoZQ0KIAkgKiBvciBz
aGUgaXMgYSBtZW1iZXIuDQogCSAqLw0KLQlpZiAobWFzayAmIChBVF9VSUR8
QVRfR0lEfEFUX1BST0pJRCkpIHsNCisJaWYgKG1hc2sgJiAoWEZTX0FUX1VJ
RHxYRlNfQVRfR0lEfFhGU19BVF9QUk9KSUQpKSB7DQogCQkvKg0KIAkJICog
VGhlc2UgSURzIGNvdWxkIGhhdmUgY2hhbmdlZCBzaW5jZSB3ZSBsYXN0IGxv
b2tlZCBhdCB0aGVtLg0KIAkJICogQnV0LCB3ZSdyZSBhc3N1cmVkIHRoYXQg
aWYgdGhlIG93bmVyc2hpcCBkaWQgY2hhbmdlDQpAQCAtNDU5LDkgKzQ2MSw5
IEBADQogCQlpdWlkID0gaXAtPmlfZC5kaV91aWQ7DQogCQlpcHJvamlkID0g
aXAtPmlfZC5kaV9wcm9qaWQ7DQogCQlpZ2lkID0gaXAtPmlfZC5kaV9naWQ7
DQotCQlnaWQgPSAobWFzayAmIEFUX0dJRCkgPyB2YXAtPnZhX2dpZCA6IGln
aWQ7DQotCQl1aWQgPSAobWFzayAmIEFUX1VJRCkgPyB2YXAtPnZhX3VpZCA6
IGl1aWQ7DQotCQlwcm9qaWQgPSAobWFzayAmIEFUX1BST0pJRCkgPyAoeGZz
X3ByaWRfdCl2YXAtPnZhX3Byb2ppZCA6DQorCQlnaWQgPSAobWFzayAmIFhG
U19BVF9HSUQpID8gdmFwLT52YV9naWQgOiBpZ2lkOw0KKwkJdWlkID0gKG1h
c2sgJiBYRlNfQVRfVUlEKSA/IHZhcC0+dmFfdWlkIDogaXVpZDsNCisJCXBy
b2ppZCA9IChtYXNrICYgWEZTX0FUX1BST0pJRCkgPyAoeGZzX3ByaWRfdCl2
YXAtPnZhX3Byb2ppZCA6DQogCQkJIGlwcm9qaWQ7DQogDQogCQkvKg0KQEAg
LTUwNiwxMyArNTA4LDEzIEBADQogCS8qDQogCSAqIFRydW5jYXRlIGZpbGUu
ICBNdXN0IGhhdmUgd3JpdGUgcGVybWlzc2lvbiBhbmQgbm90IGJlIGEgZGly
ZWN0b3J5Lg0KIAkgKi8NCi0JaWYgKG1hc2sgJiBBVF9TSVpFKSB7DQorCWlm
IChtYXNrICYgWEZTX0FUX1NJWkUpIHsNCiAJCS8qIFNob3J0IGNpcmN1aXQg
dGhlIHRydW5jYXRlIGNhc2UgZm9yIHplcm8gbGVuZ3RoIGZpbGVzICovDQog
CQlpZiAoKHZhcC0+dmFfc2l6ZSA9PSAwKSAmJg0KIAkJICAgKGlwLT5pX2Qu
ZGlfc2l6ZSA9PSAwKSAmJiAoaXAtPmlfZC5kaV9uZXh0ZW50cyA9PSAwKSkg
ew0KIAkJCXhmc19pdW5sb2NrKGlwLCBYRlNfSUxPQ0tfRVhDTCk7DQogCQkJ
bG9ja19mbGFncyAmPSB+WEZTX0lMT0NLX0VYQ0w7DQotCQkJaWYgKG1hc2sg
JiBBVF9DVElNRSkNCisJCQlpZiAobWFzayAmIFhGU19BVF9DVElNRSkNCiAJ
CQkJeGZzX2ljaGd0aW1lKGlwLCBYRlNfSUNIR1RJTUVfTU9EIHwgWEZTX0lD
SEdUSU1FX0NIRyk7DQogCQkJY29kZSA9IDA7DQogCQkJZ290byBlcnJvcl9y
ZXR1cm47DQpAQCAtNTM3LDcgKzUzOSw3IEBADQogCS8qDQogCSAqIENoYW5n
ZSBmaWxlIGFjY2VzcyBvciBtb2RpZmllZCB0aW1lcy4NCiAJICovDQotCWlm
IChtYXNrICYgKEFUX0FUSU1FfEFUX01USU1FKSkgew0KKwlpZiAobWFzayAm
IChYRlNfQVRfQVRJTUV8WEZTX0FUX01USU1FKSkgew0KIAkJaWYgKCFmaWxl
X293bmVyKSB7DQogCQkJaWYgKChmbGFncyAmIEFUVFJfVVRJTUUpICYmDQog
CQkJICAgICFjYXBhYmxlKENBUF9GT1dORVIpKSB7DQpAQCAtNTUwLDExICs1
NTIsMTEgQEANCiAJLyoNCiAJICogQ2hhbmdlIGV4dGVudCBzaXplIG9yIHJl
YWx0aW1lIGZsYWcuDQogCSAqLw0KLQlpZiAobWFzayAmIChBVF9FWFRTSVpF
fEFUX1hGTEFHUykpIHsNCisJaWYgKG1hc2sgJiAoWEZTX0FUX0VYVFNJWkV8
WEZTX0FUX1hGTEFHUykpIHsNCiAJCS8qDQogCQkgKiBDYW4ndCBjaGFuZ2Ug
ZXh0ZW50IHNpemUgaWYgYW55IGV4dGVudHMgYXJlIGFsbG9jYXRlZC4NCiAJ
CSAqLw0KLQkJaWYgKGlwLT5pX2QuZGlfbmV4dGVudHMgJiYgKG1hc2sgJiBB
VF9FWFRTSVpFKSAmJg0KKwkJaWYgKGlwLT5pX2QuZGlfbmV4dGVudHMgJiYg
KG1hc2sgJiBYRlNfQVRfRVhUU0laRSkgJiYNCiAJCSAgICAoKGlwLT5pX2Qu
ZGlfZXh0c2l6ZSA8PCBtcC0+bV9zYi5zYl9ibG9ja2xvZykgIT0NCiAJCSAg
ICAgdmFwLT52YV9leHRzaXplKSApIHsNCiAJCQljb2RlID0gWEZTX0VSUk9S
KEVJTlZBTCk7CS8qIEVGQklHPyAqLw0KQEAgLTU2OSwxMSArNTcxLDExIEBA
DQogCQkgKiB3aXRoIGJ1ZmZlcmVkIGRhdGEgd3JpdGVzIGlzIGltcGxlbWVu
dGVkLg0KIAkJICoNCiAJCSAqLw0KLQkJaWYgKChtYXNrICYgQVRfRVhUU0la
RSkJCQkJJiYNCisJCWlmICgobWFzayAmIFhGU19BVF9FWFRTSVpFKQkJCQkm
Jg0KIAkJICAgICgoaXAtPmlfZC5kaV9leHRzaXplIDw8IG1wLT5tX3NiLnNi
X2Jsb2NrbG9nKSAhPQ0KIAkJICAgICB2YXAtPnZhX2V4dHNpemUpICYmDQog
CQkgICAgKCEoKGlwLT5pX2QuZGlfZmxhZ3MgJiBYRlNfRElGTEFHX1JFQUxU
SU1FKSB8fA0KLQkJICAgICAgICgobWFzayAmIEFUX1hGTEFHUykgJiYNCisJ
CSAgICAgICAoKG1hc2sgJiBYRlNfQVRfWEZMQUdTKSAmJg0KIAkJCSh2YXAt
PnZhX3hmbGFncyAmIFhGU19YRkxBR19SRUFMVElNRSkpKSkpIHsNCiAJCQlj
b2RlID0gWEZTX0VSUk9SKEVJTlZBTCk7DQogCQkJZ290byBlcnJvcl9yZXR1
cm47DQpAQCAtNTgyLDcgKzU4NCw3IEBADQogCQkvKg0KIAkJICogQ2FuJ3Qg
Y2hhbmdlIHJlYWx0aW1lIGZsYWcgaWYgYW55IGV4dGVudHMgYXJlIGFsbG9j
YXRlZC4NCiAJCSAqLw0KLQkJaWYgKGlwLT5pX2QuZGlfbmV4dGVudHMgJiYg
KG1hc2sgJiBBVF9YRkxBR1MpICYmDQorCQlpZiAoaXAtPmlfZC5kaV9uZXh0
ZW50cyAmJiAobWFzayAmIFhGU19BVF9YRkxBR1MpICYmDQogCQkgICAgKGlw
LT5pX2QuZGlfZmxhZ3MgJiBYRlNfRElGTEFHX1JFQUxUSU1FKSAhPQ0KIAkJ
ICAgICh2YXAtPnZhX3hmbGFncyAmIFhGU19YRkxBR19SRUFMVElNRSkpIHsN
CiAJCQljb2RlID0gWEZTX0VSUk9SKEVJTlZBTCk7CS8qIEVGQklHPyAqLw0K
QEAgLTU5MiwxMSArNTk0LDExIEBADQogCQkgKiBFeHRlbnQgc2l6ZSBtdXN0
IGJlIGEgbXVsdGlwbGUgb2YgdGhlIGFwcHJvcHJpYXRlIGJsb2NrDQogCQkg
KiBzaXplLCBpZiBzZXQgYXQgYWxsLg0KIAkJICovDQotCQlpZiAoKG1hc2sg
JiBBVF9FWFRTSVpFKSAmJiB2YXAtPnZhX2V4dHNpemUgIT0gMCkgew0KKwkJ
aWYgKChtYXNrICYgWEZTX0FUX0VYVFNJWkUpICYmIHZhcC0+dmFfZXh0c2l6
ZSAhPSAwKSB7DQogCQkJeGZzX2V4dGxlbl90CXNpemU7DQogDQogCQkJaWYg
KChpcC0+aV9kLmRpX2ZsYWdzICYgWEZTX0RJRkxBR19SRUFMVElNRSkgfHwN
Ci0JCQkgICAgKChtYXNrICYgQVRfWEZMQUdTKSAmJg0KKwkJCSAgICAoKG1h
c2sgJiBYRlNfQVRfWEZMQUdTKSAmJg0KIAkJCSAgICAodmFwLT52YV94Zmxh
Z3MgJiBYRlNfWEZMQUdfUkVBTFRJTUUpKSkgew0KIAkJCQlzaXplID0gbXAt
Pm1fc2Iuc2JfcmV4dHNpemUgPDwNCiAJCQkJICAgICAgIG1wLT5tX3NiLnNi
X2Jsb2NrbG9nOw0KQEAgLTYxMSw3ICs2MTMsNyBAQA0KIAkJLyoNCiAJCSAq
IElmIHJlYWx0aW1lIGZsYWcgaXMgc2V0IHRoZW4gbXVzdCBoYXZlIHJlYWx0
aW1lIGRhdGEuDQogCQkgKi8NCi0JCWlmICgobWFzayAmIEFUX1hGTEFHUykg
JiYNCisJCWlmICgobWFzayAmIFhGU19BVF9YRkxBR1MpICYmDQogCQkgICAg
KHZhcC0+dmFfeGZsYWdzICYgWEZTX1hGTEFHX1JFQUxUSU1FKSkgew0KIAkJ
CWlmICgobXAtPm1fc2Iuc2JfcmJsb2NrcyA9PSAwKSB8fA0KIAkJCSAgICAo
bXAtPm1fc2Iuc2JfcmV4dHNpemUgPT0gMCkgfHwNCkBAIC02MjQsMTMgKzYy
NiwxMyBAQA0KIA0KIAkvKg0KIAkgKiBOb3cgd2UgY2FuIG1ha2UgdGhlIGNo
YW5nZXMuCSBCZWZvcmUgd2Ugam9pbiB0aGUgaW5vZGUNCi0JICogdG8gdGhl
IHRyYW5zYWN0aW9uLCBpZiBBVF9TSVpFIGlzIHNldCB0aGVuIHRha2UgY2Fy
ZSBvZg0KKwkgKiB0byB0aGUgdHJhbnNhY3Rpb24sIGlmIFhGU19BVF9TSVpF
IGlzIHNldCB0aGVuIHRha2UgY2FyZSBvZg0KIAkgKiB0aGUgcGFydCBvZiB0
aGUgdHJ1bmNhdGlvbiB0aGF0IG11c3QgYmUgZG9uZSB3aXRob3V0IHRoZQ0K
IAkgKiBpbm9kZSBsb2NrLglUaGlzIG5lZWRzIHRvIGJlIGRvbmUgYmVmb3Jl
IGpvaW5pbmcgdGhlIGlub2RlDQogCSAqIHRvIHRoZSB0cmFuc2FjdGlvbiwg
YmVjYXVzZSB0aGUgaW5vZGUgY2Fubm90IGJlIHVubG9ja2VkDQogCSAqIG9u
Y2UgaXQgaXMgYSBwYXJ0IG9mIHRoZSB0cmFuc2FjdGlvbi4NCiAJICovDQot
CWlmIChtYXNrICYgQVRfU0laRSkgew0KKwlpZiAobWFzayAmIFhGU19BVF9T
SVpFKSB7DQogCQlpZiAodmFwLT52YV9zaXplID4gaXAtPmlfZC5kaV9zaXpl
KSB7DQogCQkJY29kZSA9IHhmc19pZ3Jvd19zdGFydChpcCwgdmFwLT52YV9z
aXplLCBjcmVkcCk7DQogCQkJeGZzX2l1bmxvY2soaXAsIFhGU19JTE9DS19F
WENMKTsNCkBAIC02NzMsNyArNjc1LDcgQEANCiAJLyoNCiAJICogVHJ1bmNh
dGUgZmlsZS4gIE11c3QgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIGFuZCBub3Qg
YmUgYSBkaXJlY3RvcnkuDQogCSAqLw0KLQlpZiAobWFzayAmIEFUX1NJWkUp
IHsNCisJaWYgKG1hc2sgJiBYRlNfQVRfU0laRSkgew0KIAkJaWYgKHZhcC0+
dmFfc2l6ZSA+IGlwLT5pX2QuZGlfc2l6ZSkgew0KIAkJCXhmc19pZ3Jvd19m
aW5pc2godHAsIGlwLCB2YXAtPnZhX3NpemUsDQogCQkJICAgICEoZmxhZ3Mg
JiBBVFRSX0RNSSkpOw0KQEAgLTcwMyw3ICs3MDUsNyBAQA0KIAkvKg0KIAkg
KiBDaGFuZ2UgZmlsZSBhY2Nlc3MgbW9kZXMuDQogCSAqLw0KLQlpZiAobWFz
ayAmIEFUX01PREUpIHsNCisJaWYgKG1hc2sgJiBYRlNfQVRfTU9ERSkgew0K
IAkJaXAtPmlfZC5kaV9tb2RlICY9IElGTVQ7DQogCQlpcC0+aV9kLmRpX21v
ZGUgfD0gdmFwLT52YV9tb2RlICYgfklGTVQ7DQogDQpAQCAtNzE4LDcgKzcy
MCw3IEBADQogCSAqIGFuZCBjYW4gY2hhbmdlIHRoZSBncm91cCBpZCBvbmx5
IHRvIGEgZ3JvdXAgb2Ygd2hpY2ggaGUNCiAJICogb3Igc2hlIGlzIGEgbWVt
YmVyLg0KIAkgKi8NCi0JaWYgKG1hc2sgJiAoQVRfVUlEfEFUX0dJRHxBVF9Q
Uk9KSUQpKSB7DQorCWlmIChtYXNrICYgKFhGU19BVF9VSUR8WEZTX0FUX0dJ
RHxYRlNfQVRfUFJPSklEKSkgew0KIAkJLyoNCiAJCSAqIENBUF9GU0VUSUQg
b3ZlcnJpZGVzIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOg0KIAkJICoN
CkBAIC03MzYsNyArNzM4LDcgQEANCiAJCSAqLw0KIAkJaWYgKGl1aWQgIT0g
dWlkKSB7DQogCQkJaWYgKFhGU19JU19VUVVPVEFfT04obXApKSB7DQotCQkJ
CUFTU0VSVChtYXNrICYgQVRfVUlEKTsNCisJCQkJQVNTRVJUKG1hc2sgJiBY
RlNfQVRfVUlEKTsNCiAJCQkJQVNTRVJUKHVkcXApOw0KIAkJCQlBU1NFUlQo
eGZzX3FtX2RxaWQodWRxcCkgPT0gKHhmc19kcWlkX3QpdWlkKTsNCiAJCQkJ
b2xkZHF1b3QxID0geGZzX3FtX3ZvcF9jaG93bih0cCwgaXAsDQpAQCAtNzUw
LDcgKzc1Miw3IEBADQogCQl9DQogCQlpZiAoaWdpZCAhPSBnaWQpIHsNCiAJ
CQlpZiAoWEZTX0lTX0dRVU9UQV9PTihtcCkpIHsNCi0JCQkJQVNTRVJUKG1h
c2sgJiBBVF9HSUQpOw0KKwkJCQlBU1NFUlQobWFzayAmIFhGU19BVF9HSUQp
Ow0KIAkJCQlBU1NFUlQoZ2RxcCk7DQogCQkJCUFTU0VSVCh4ZnNfcW1fZHFp
ZChnZHFwKSA9PSBnaWQpOw0KIAkJCQlvbGRkcXVvdDIgPSB4ZnNfcW1fdm9w
X2Nob3duKHRwLCBpcCwNCkBAIC03NzgsMTQgKzc4MCwxNCBAQA0KIAkvKg0K
IAkgKiBDaGFuZ2UgZmlsZSBhY2Nlc3Mgb3IgbW9kaWZpZWQgdGltZXMuDQog
CSAqLw0KLQlpZiAobWFzayAmIChBVF9BVElNRXxBVF9NVElNRSkpIHsNCi0J
CWlmIChtYXNrICYgQVRfQVRJTUUpIHsNCisJaWYgKG1hc2sgJiAoWEZTX0FU
X0FUSU1FfFhGU19BVF9NVElNRSkpIHsNCisJCWlmIChtYXNrICYgWEZTX0FU
X0FUSU1FKSB7DQogCQkJaXAtPmlfZC5kaV9hdGltZS50X3NlYyA9IHZhcC0+
dmFfYXRpbWUudHZfc2VjOw0KIAkJCWlwLT5pX2QuZGlfYXRpbWUudF9uc2Vj
ID0gdmFwLT52YV9hdGltZS50dl9uc2VjOw0KIAkJCWlwLT5pX3VwZGF0ZV9j
b3JlID0gMTsNCiAJCQl0aW1lZmxhZ3MgJj0gflhGU19JQ0hHVElNRV9BQ0M7
DQogCQl9DQotCQlpZiAobWFzayAmIEFUX01USU1FKSB7DQorCQlpZiAobWFz
ayAmIFhGU19BVF9NVElNRSkgew0KIAkJCWlwLT5pX2QuZGlfbXRpbWUudF9z
ZWMgPSB2YXAtPnZhX210aW1lLnR2X3NlYzsNCiAJCQlpcC0+aV9kLmRpX210
aW1lLnRfbnNlYyA9IHZhcC0+dmFfbXRpbWUudHZfbnNlYzsNCiAJCQl0aW1l
ZmxhZ3MgJj0gflhGU19JQ0hHVElNRV9NT0Q7DQpAQCAtNzk4LDE1ICs4MDAs
MTUgQEANCiAJLyoNCiAJICogQ2hhbmdlIFhGUy1hZGRlZCBhdHRyaWJ1dGVz
Lg0KIAkgKi8NCi0JaWYgKG1hc2sgJiAoQVRfRVhUU0laRXxBVF9YRkxBR1Mp
KSB7DQotCQlpZiAobWFzayAmIEFUX0VYVFNJWkUpIHsNCisJaWYgKG1hc2sg
JiAoWEZTX0FUX0VYVFNJWkV8WEZTX0FUX1hGTEFHUykpIHsNCisJCWlmICht
YXNrICYgWEZTX0FUX0VYVFNJWkUpIHsNCiAJCQkvKg0KIAkJCSAqIENvbnZl
cnRpbmcgYnl0ZXMgdG8gZnMgYmxvY2tzLg0KIAkJCSAqLw0KIAkJCWlwLT5p
X2QuZGlfZXh0c2l6ZSA9IHZhcC0+dmFfZXh0c2l6ZSA+Pg0KIAkJCQltcC0+
bV9zYi5zYl9ibG9ja2xvZzsNCiAJCX0NCi0JCWlmIChtYXNrICYgQVRfWEZM
QUdTKSB7DQorCQlpZiAobWFzayAmIFhGU19BVF9YRkxBR1MpIHsNCiAJCQlp
cC0+aV9kLmRpX2ZsYWdzID0gMDsNCiAJCQlpZiAodmFwLT52YV94ZmxhZ3Mg
JiBYRlNfWEZMQUdfUkVBTFRJTUUpIHsNCiAJCQkJaXAtPmlfZC5kaV9mbGFn
cyB8PSBYRlNfRElGTEFHX1JFQUxUSU1FOw0KQEAgLTgyMiwxMSArODI0LDEx
IEBADQogCX0NCiANCiAJLyoNCi0JICogQ2hhbmdlIGZpbGUgaW5vZGUgY2hh
bmdlIHRpbWUgb25seSBpZiBBVF9DVElNRSBzZXQNCisJICogQ2hhbmdlIGZp
bGUgaW5vZGUgY2hhbmdlIHRpbWUgb25seSBpZiBYRlNfQVRfQ1RJTUUgc2V0
DQogCSAqIEFORCB3ZSBoYXZlIGJlZW4gY2FsbGVkIGJ5IGEgRE1JIGZ1bmN0
aW9uLg0KIAkgKi8NCiANCi0JaWYgKCAoZmxhZ3MgJiBBVFRSX0RNSSkgJiYg
KG1hc2sgJiBBVF9DVElNRSkgKSB7DQorCWlmICggKGZsYWdzICYgQVRUUl9E
TUkpICYmIChtYXNrICYgWEZTX0FUX0NUSU1FKSApIHsNCiAJCWlwLT5pX2Qu
ZGlfY3RpbWUudF9zZWMgPSB2YXAtPnZhX2N0aW1lLnR2X3NlYzsNCiAJCWlw
LT5pX2QuZGlfY3RpbWUudF9uc2VjID0gdmFwLT52YV9jdGltZS50dl9uc2Vj
Ow0KIAkJaXAtPmlfdXBkYXRlX2NvcmUgPSAxOw0KQEAgLTIwMTUsNyArMjAx
Nyw3IEBADQogCQlyZXR1cm4gWEZTX0VSUk9SKEVJTyk7DQogDQogCXVkcXAg
PSBnZHFwID0gTlVMTDsNCi0JaWYgKHZhcC0+dmFfbWFzayAmIEFUX1BST0pJ
RCkNCisJaWYgKHZhcC0+dmFfbWFzayAmIFhGU19BVF9QUk9KSUQpDQogCQlw
cmlkID0gKHhmc19wcmlkX3QpdmFwLT52YV9wcm9qaWQ7DQogCWVsc2UNCiAJ
CXByaWQgPSAoeGZzX3ByaWRfdClkZmx0cHJpZDsNCkBAIC0yMDc2LDcgKzIw
NzgsNyBAQA0KIAlpZiAocmVzYmxrcyA9PSAwICYmDQogCSAgICAoZXJyb3Ig
PSBYRlNfRElSX0NBTkVOVEVSKG1wLCB0cCwgZHAsIG5hbWUsIG5hbWVsZW4p
KSkNCiAJCWdvdG8gZXJyb3JfcmV0dXJuOw0KLQlyZGV2ID0gKHZhcC0+dmFf
bWFzayAmIEFUX1JERVYpID8gdmFwLT52YV9yZGV2IDogMDsNCisJcmRldiA9
ICh2YXAtPnZhX21hc2sgJiBYRlNfQVRfUkRFVikgPyB2YXAtPnZhX3JkZXYg
OiAwOw0KIAllcnJvciA9IHhmc19kaXJfaWFsbG9jKCZ0cCwgZHAsDQogCQkJ
TUFLRUlNT0RFKHZhcC0+dmFfdHlwZSx2YXAtPnZhX21vZGUpLCAxLA0KIAkJ
CXJkZXYsIGNyZWRwLCBwcmlkLCByZXNibGtzID4gMCwNCkBAIC0yOTg5LDcg
KzI5OTEsNyBAQA0KIA0KIAltcCA9IGRwLT5pX21vdW50Ow0KIAl1ZHFwID0g
Z2RxcCA9IE5VTEw7DQotCWlmICh2YXAtPnZhX21hc2sgJiBBVF9QUk9KSUQp
DQorCWlmICh2YXAtPnZhX21hc2sgJiBYRlNfQVRfUFJPSklEKQ0KIAkJcHJp
ZCA9ICh4ZnNfcHJpZF90KXZhcC0+dmFfcHJvamlkOw0KIAllbHNlDQogCQlw
cmlkID0gKHhmc19wcmlkX3QpZGZsdHByaWQ7DQpAQCAtMzA0OSw3ICszMDUx
LDcgQEANCiAJLyoNCiAJICogY3JlYXRlIHRoZSBkaXJlY3RvcnkgaW5vZGUu
DQogCSAqLw0KLQlyZGV2ID0gKHZhcC0+dmFfbWFzayAmIEFUX1JERVYpID8g
dmFwLT52YV9yZGV2IDogMDsNCisJcmRldiA9ICh2YXAtPnZhX21hc2sgJiBY
RlNfQVRfUkRFVikgPyB2YXAtPnZhX3JkZXYgOiAwOw0KIAllcnJvciA9IHhm
c19kaXJfaWFsbG9jKCZ0cCwgZHAsIA0KIAkJCU1BS0VJTU9ERSh2YXAtPnZh
X3R5cGUsdmFwLT52YV9tb2RlKSwgMiwNCiAJCQlyZGV2LCBjcmVkcCwgcHJp
ZCwgcmVzYmxrcyA+IDAsDQpAQCAtMzU5NCw3ICszNTk2LDcgQEANCiAJLyog
UmV0dXJuIHRocm91Z2ggc3RkX3JldHVybiBhZnRlciB0aGlzIHBvaW50LiAq
Lw0KIA0KIAl1ZHFwID0gZ2RxcCA9IE5VTEw7DQotCWlmICh2YXAtPnZhX21h
c2sgJiBBVF9QUk9KSUQpDQorCWlmICh2YXAtPnZhX21hc2sgJiBYRlNfQVRf
UFJPSklEKQ0KIAkJcHJpZCA9ICh4ZnNfcHJpZF90KXZhcC0+dmFfcHJvamlk
Ow0KIAllbHNlDQogCQlwcmlkID0gKHhmc19wcmlkX3QpZGZsdHByaWQ7DQpA
QCAtMzY2Miw3ICszNjY0LDcgQEANCiAJLyoNCiAJICogQWxsb2NhdGUgYW4g
aW5vZGUgZm9yIHRoZSBzeW1saW5rLg0KIAkgKi8NCi0JcmRldiA9ICh2YXAt
PnZhX21hc2sgJiBBVF9SREVWKSA/IHZhcC0+dmFfcmRldiA6IDA7DQorCXJk
ZXYgPSAodmFwLT52YV9tYXNrICYgWEZTX0FUX1JERVYpID8gdmFwLT52YV9y
ZGV2IDogMDsNCiANCiAJZXJyb3IgPSB4ZnNfZGlyX2lhbGxvYygmdHAsIGRw
LCBJRkxOSyB8ICh2YXAtPnZhX21vZGUmfklGTVQpLA0KIAkJCSAgICAgICAx
LCByZGV2LCBjcmVkcCwgcHJpZCwgcmVzYmxrcyA+IDAsICZpcCwgTlVMTCk7
DQpAQCAtNDgyNCw3ICs0ODI2LDcgQEANCiAJCQkJYnJlYWs7DQogCQl9DQog
DQotCQl2YS52YV9tYXNrID0gQVRfU0laRTsNCisJCXZhLnZhX21hc2sgPSBY
RlNfQVRfU0laRTsNCiAJCXZhLnZhX3NpemUgPSBzdGFydG9mZnNldDsNCiAN
CiAJCWVycm9yID0geGZzX3NldGF0dHIoYmRwLCAmdmEsIGF0dHJfZmxhZ3Ms
IGNyZWRwKTsNCg0K
---1463811830-281740972-1038083786=:255--
-
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/