From owner-freebsd-stable Wed Sep 20 7:41:21 2000 Delivered-To: freebsd-stable@freebsd.org Received: from iclub.nsu.ru (iclub.nsu.ru [193.124.222.66]) by hub.freebsd.org (Postfix) with ESMTP id CFD2137B422 for ; Wed, 20 Sep 2000 07:38:27 -0700 (PDT) Received: from localhost (fjoe@localhost) by iclub.nsu.ru (8.9.3/8.9.3) with ESMTP id VAA36131; Wed, 20 Sep 2000 21:37:18 +0700 (NSS) (envelope-from fjoe@iclub.nsu.ru) Date: Wed, 20 Sep 2000 21:37:18 +0700 (NSS) From: Max Khon To: Antony T Curtis Cc: Freebsd-stable@FreeBSD.ORG Subject: Re: Linux ABI & JDK1.3 In-Reply-To: <39C8C22B.58451714@abacus.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1319006591-969460638=:35762" Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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. --0-1319006591-969460638=:35762 Content-Type: TEXT/PLAIN; charset=US-ASCII hi, there! On Wed, 20 Sep 2000, Antony T Curtis wrote: > Are there any known issues with the Linux ABI on STABLE-20000828 ? > > I have found that the Sun JVM 1.3 can cause FreeBSD to panic or worse, > crash solid so that a hardware reboot is required. > > Does anyone have any experiences with different Java environments on > FreeBSD? IBM's latest completely fails to run. Andrew Gallatin (gallatin@cs.duke.edu) has made some initial work to make IBM JDK work under 4.0-RELEASE. You can get his patches at http://www.cs.duke.edu/~gallatin/linux/sa_siginfo/4.0-release.diff http://www.cs.duke.edu/~gallatin/linux/sa_siginfo/diff (this is for -current) Sean O'Connell (sean@stat.duke.edu() has made quick-and-dirty port to -stable. I have attached his diffs. /fjoe --0-1319006591-969460638=:35762 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="linux.patch2" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="linux.patch2" LS0tIHN5cy9pMzg2L2xpbnV4L2xpbnV4Lmgub3JpZwlUdWUgU2VwIDEyIDEw OjE0OjI5IDIwMDANCisrKyBzeXMvaTM4Ni9saW51eC9saW51eC5oCVRodSBT ZXAgMTQgMTI6Mjg6MTIgMjAwMA0KQEAgLTMzLDYgKzMzLDggQEANCiANCiAj aW5jbHVkZSA8aTM4Ni9saW51eC9saW51eF9zeXNjYWxsLmg+DQogDQorI2lu Y2x1ZGUgPHN5cy9zaWduYWwuaD4gLyogZm9yIHNpZ3ZhbCB1bmlvbiAqLw0K Kw0KICNpZmRlZiBNQUxMT0NfREVDTEFSRQ0KIE1BTExPQ19ERUNMQVJFKE1f TElOVVgpOw0KICNlbmRpZg0KQEAgLTE1Nyw2ICsxNTksMTUgQEANCiAjZGVm aW5lCUxJTlVYX1NJR0lTTUVNQkVSKHNldCwgc2lnKQlTSUdJU01FTUJFUihz ZXQsIHNpZykNCiAjZGVmaW5lCUxJTlVYX1NJR0FERFNFVChzZXQsIHNpZykJ U0lHQUREU0VUKHNldCwgc2lnKQ0KIA0KKy8qIHNpZ2FsdHN0YWNrICovDQor I2RlZmluZSBMSU5VWF9NSU5TSUdTVEtTWiAgICAgICAyMDQ4DQorI2RlZmlu ZSBMSU5VWF9TU19PTlNUQUNLICAgICAgICAxDQorI2RlZmluZSBMSU5VWF9T U19ESVNBQkxFICAgICAgICAyDQorI2RlZmluZSBMSU5VWF9TU19ESVNBQkxF X0JDICAgICAwICAgICAgIC8qIGJhY2t3YXJkcyBjb21wYXQgU1NfRElTQUJM RSAqLw0KKw0KK3ZvaWQgbGludXhfdG9fYnNkX3NpZ2FsdHN0YWNrKGludCAq bHNhLCBpbnQgKmJzYSk7DQordm9pZCBic2RfdG9fbGludXhfc2lnYWx0c3Rh Y2soaW50ICpic2EsIGludCAqbHNhKTsNCisNCiB0eXBlZGVmIHZvaWQJKCps aW51eF9oYW5kbGVyX3QpKGludCk7DQogdHlwZWRlZiB1X2xvbmcJbGludXhf b3NpZ3NldF90Ow0KIA0KQEAgLTIxMCw2ICsyMjEsNzIgQEANCiAJaW50CXNj X2NyMjsNCiB9Ow0KIA0KKw0KK3N0cnVjdCBsaW51eF91Y29udGV4dCB7DQor CXVuc2lnbmVkIGxvbmcJCXVjX2ZsYWdzOw0KKwl2b2lkCQkJKnVjX2xpbms7 DQorCWxpbnV4X3N0YWNrX3QJCXVjX3N0YWNrOw0KKwlzdHJ1Y3QgbGludXhf c2lnY29udGV4dAl1Y19tY29udGV4dDsNCisJbGludXhfc2lnc2V0X3QJCXVj X3NpZ21hc2s7ICAgDQorfTsNCisNCisjZGVmaW5lIExJTlVYX1NJX01BWF9T SVpFICAgICAxMjgNCisjZGVmaW5lIExJTlVYX1NJX1BBRF9TSVpFICAgICAo KExJTlVYX1NJX01BWF9TSVpFL3NpemVvZihpbnQpKSAtIDMpDQorDQordHlw ZWRlZiBzdHJ1Y3Qgc2lnaW5mbyB7DQorCWludCBsc2lfc2lnbm87DQorCWlu dCBsc2lfZXJybm87DQorCWludCBsc2lfY29kZTsNCisNCisJdW5pb24gew0K KwkJaW50IF9wYWRbTElOVVhfU0lfUEFEX1NJWkVdOw0KKwkJc3RydWN0IHsN CisJCQlsaW51eF9waWRfdCBfcGlkOw0KKwkJCWxpbnV4X3VpZF90IF91aWQ7 DQorCQl9IF9raWxsOw0KKw0KKwkJc3RydWN0IHsNCisJCQl1bnNpZ25lZCBp bnQgX3RpbWVyMTsNCisJCQl1bnNpZ25lZCBpbnQgX3RpbWVyMjsNCisJCX0g X3RpbWVyOw0KKw0KKwkJc3RydWN0IHsNCisJCQlsaW51eF9waWRfdCBfcGlk OwkJLyogc2VuZGVyJ3MgcGlkICovDQorCQkJbGludXhfdWlkX3QgX3VpZDsJ CS8qIHNlbmRlcidzIHVpZCAqLw0KKwkJCXVuaW9uIHNpZ3ZhbCBfc2lndmFs Ow0KKwkJfSBfcnQ7DQorDQorCQlzdHJ1Y3Qgew0KKwkJCWxpbnV4X3BpZF90 IF9waWQ7CQkvKiB3aGljaCBjaGlsZCAqLw0KKwkJCWxpbnV4X3VpZF90IF91 aWQ7CQkvKiBzZW5kZXIncyB1aWQgKi8NCisJCQlpbnQgX3N0YXR1czsJCQkv KiBleGl0IGNvZGUgKi8NCisJCQlsaW51eF9jbG9ja190IF91dGltZTsNCisJ CQlsaW51eF9jbG9ja190IF9zdGltZTsNCisJCX0gX3NpZ2NobGQ7DQorDQor CQlzdHJ1Y3Qgew0KKwkJCXZvaWQgKl9hZGRyOwkvKiBmYXVsdGluZyBpbnNu L21lbW9yeSByZWYuICovDQorCQl9IF9zaWdmYXVsdDsNCisNCisJCXN0cnVj dCB7DQorCQkJaW50IF9iYW5kOwkvKiBQT0xMX0lOLCBQT0xMX09VVCwgUE9M TF9NU0cgKi8NCisJCQlpbnQgX2ZkOw0KKwkJfSBfc2lncG9sbDsNCisJfSBf c2lmaWVsZHM7DQorfSBsaW51eF9zaWdpbmZvX3Q7DQorDQorI2RlZmluZSBs c2lfcGlkICAgICAgICAgIF9zaWZpZWxkcy5fa2lsbC5fcGlkDQorI2RlZmlu ZSBsc2lfdWlkICAgICAgICAgIF9zaWZpZWxkcy5fa2lsbC5fdWlkDQorI2Rl ZmluZSBsc2lfc3RhdHVzICAgICAgIF9zaWZpZWxkcy5fc2lnY2hsZC5fc3Rh dHVzDQorI2RlZmluZSBsc2lfdXRpbWUgICAgICAgIF9zaWZpZWxkcy5fc2ln Y2hsZC5fdXRpbWUNCisjZGVmaW5lIGxzaV9zdGltZSAgICAgICAgX3NpZmll bGRzLl9zaWdjaGxkLl9zdGltZQ0KKyNkZWZpbmUgbHNpX3ZhbHVlICAgICAg ICBfc2lmaWVsZHMuX3J0Ll9zaWd2YWwNCisjZGVmaW5lIGxzaV9pbnQgICAg ICAgICAgX3NpZmllbGRzLl9ydC5fc2lndmFsLnNpdmFsX2ludA0KKyNkZWZp bmUgbHNpX3B0ciAgICAgICAgICBfc2lmaWVsZHMuX3J0Ll9zaWd2YWwuc2l2 YWxfcHRyDQorI2RlZmluZSBsc2lfYWRkciAgICAgICAgIF9zaWZpZWxkcy5f c2lnZmF1bHQuX2FkZHINCisjZGVmaW5lIGxzaV9iYW5kICAgICAgICAgX3Np ZmllbGRzLl9zaWdwb2xsLl9iYW5kDQorI2RlZmluZSBsc2lfZmQgICAgICAg ICAgIF9zaWZpZWxkcy5fc2lncG9sbC5fZmQNCisNCiAvKg0KICAqIFdlIG1h a2UgdGhlIHN0YWNrIGxvb2sgbGlrZSBMaW51eCBleHBlY3RzIGl0IHdoZW4g Y2FsbGluZyBhIHNpZ25hbA0KICAqIGhhbmRsZXIsIGJ1dCB1c2UgdGhlIEJT RCB3YXkgb2YgY2FsbGluZyB0aGUgaGFuZGxlciBhbmQgc2lncmV0dXJuKCku DQpAQCAtMjE5LDEzICsyOTYsMjggQEANCiBzdHJ1Y3QgbGludXhfc2lnZnJh bWUgew0KIAlpbnQJc2Zfc2lnOw0KIAlzdHJ1Y3QJbGludXhfc2lnY29udGV4 dCBzZl9zYzsNCisJaW50CXBhZFs0MV07ICAgICAgICAvKiBwYWQgaXQgb3V0 IHNvIHdlIGNhbiB1c2UgdGhlIHNhbWUNCisJCQkJICogdHJhbXBvbGluZSBj b2RlIGZvciBib3RoIHR5cGVzIG9mDQorCQkJCSAqIHNpZ2ZyYW1lcw0KKwkJ CQkgKi8NCisNCiAJbGludXhfaGFuZGxlcl90IHNmX2hhbmRsZXI7DQogfTsN CiANCitzdHJ1Y3QgbGludXhfcnRfc2lnZnJhbWUgew0KKwlpbnQJCQlzZl9z aWc7DQorCWxpbnV4X3NpZ2luZm9fdAkJKnNmX3NpZ2luZm87DQorCXN0cnVj dCBsaW51eF91Y29udGV4dAkqc2ZfdWNvbnRleHQ7ICAgLyogcG9pbnRzIHRv IHNmX3VjICovDQorCWxpbnV4X3NpZ2luZm9fdAkJc2Zfc2k7DQorCXN0cnVj dCBsaW51eF91Y29udGV4dAlzZl9zYzsgICAgICAgICAgLyogPSAqc2ZfdWNv bnRleHQgKi8NCisJbGludXhfaGFuZGxlcl90CQlzZl9oYW5kbGVyOw0KK307 DQorDQogZXh0ZXJuIGludCBic2RfdG9fbGludXhfc2lnbmFsW107DQogZXh0 ZXJuIGludCBsaW51eF90b19ic2Rfc2lnbmFsW107DQogZXh0ZXJuIHN0cnVj dCBzeXNlbnR2ZWMgbGludXhfc3lzdmVjOw0KIGV4dGVybiBzdHJ1Y3Qgc3lz ZW50dmVjIGVsZl9saW51eF9zeXN2ZWM7DQordm9pZCBic2RfdG9fbGludXhf c2lnc2V0KHNpZ3NldF90ICpic3MsIGxpbnV4X3NpZ3NldF90ICpsc3MpOw0K IA0KIC8qDQogICogUGx1Z2dhYmxlIGlvY3RsIGhhbmRsZXJzDQotLS0gc3lz L2kzODYvbGludXgvbGludXhfZHVtbXkuYy5vcmlnCVRodSBTZXAgMTQgMTA6 Mzc6NDggMjAwMA0KKysrIHN5cy9pMzg2L2xpbnV4L2xpbnV4X2R1bW15LmMJ VGh1IFNlcCAxNCAxMDozODowNiAyMDAwDQpAQCAtOTQsNyArOTQsNiBAQA0K IERVTU1ZKG5mc3NlcnZjdGwpOw0KIERVTU1ZKGdldHJlc2dpZCk7DQogRFVN TVkocHJjdGwpOw0KLURVTU1ZKHJ0X3NpZ3JldHVybik7DQogRFVNTVkocnRf c2lncGVuZGluZyk7DQogRFVNTVkocnRfc2lndGltZWR3YWl0KTsNCiBEVU1N WShydF9zaWdxdWV1ZWluZm8pOw0KLS0tIHN5cy9pMzg2L2xpbnV4L2xpbnV4 X2ZpbGUuYy5vcmlnCUZyaSBOb3YgMjYgMDU6MjA6MDkgMTk5OQ0KKysrIHN5 cy9pMzg2L2xpbnV4L2xpbnV4X2ZpbGUuYwlUaHUgSnVsIDIwIDE1OjI5OjM3 IDIwMDANCkBAIC0yNSw3ICsyNSw3IEBADQogICogKElOQ0xVRElORyBORUdM SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP RiBUSEUgVVNFIE9GDQogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCiAgKg0K LSAqICRGcmVlQlNEOiBzcmMvc3lzL2kzODYvbGludXgvbGludXhfZmlsZS5j LHYgMS4zOCAxOTk5LzExLzI2IDEwOjIwOjA5IG1hcmNlbCBFeHAgJA0KKyAq ICRGcmVlQlNEOiBzcmMvc3lzL2kzODYvbGludXgvbGludXhfZmlsZS5jLHYg MS4zOC4yLjIgMjAwMC8wNy8xOSAyMToxMjozOSBtYXJjZWwgRXhwICQNCiAg Ki8NCiANCiAjaW5jbHVkZSAib3B0X2NvbXBhdC5oIg0KQEAgLTE5OSwxNCAr MTk5LDcgQEANCiAgICAgfSAqLyBmY250bF9hcmdzOyANCiAgICAgc3RydWN0 IGxpbnV4X2Zsb2NrIGxpbnV4X2Zsb2NrOw0KICAgICBzdHJ1Y3QgZmxvY2sg KmJzZF9mbG9jazsNCi0gICAgc3RydWN0IGZpbGVkZXNjICpmZHA7DQotICAg IHN0cnVjdCBmaWxlICpmcDsNCi0gICAgc3RydWN0IHZub2RlICp2cDsNCi0g ICAgbG9uZyBwZ2lkOw0KLSAgICBzdHJ1Y3QgcGdycCAqcGdycDsNCi0gICAg c3RydWN0IHR0eSAqdHA7DQogICAgIGNhZGRyX3Qgc2c7DQotICAgIGRldl90 IGRldjsNCiANCiAgICAgc2cgPSBzdGFja2dhcF9pbml0KCk7DQogICAgIGJz ZF9mbG9jayA9IChzdHJ1Y3QgZmxvY2sgKilzdGFja2dhcF9hbGxvYygmc2cs IHNpemVvZihzdHJ1Y3QgZmxvY2spKTsNCkBAIC0yODcsNDkgKzI4MCwxNCBA QA0KIAlmY250bF9hcmdzLmFyZyA9IChpbnQpYnNkX2Zsb2NrOw0KIAlyZXR1 cm4gZmNudGwocCwgJmZjbnRsX2FyZ3MpOw0KIA0KLSAgICBjYXNlIExJTlVY X0ZfU0VUT1dOOg0KICAgICBjYXNlIExJTlVYX0ZfR0VUT1dOOg0KLQkvKg0K LQkgKiBXZSBuZWVkIHRvIHJvdXRlIGFyb3VuZCB0aGUgbm9ybWFsIGZjbnRs KCkgZm9yIHRoZXNlIGNhbGxzLA0KLQkgKiBzaW5jZSBpdCB1c2VzIFRJT0N7 RyxTfVBHUlAsIHdoaWNoIGlzIHRvbyByZXN0cmljdGl2ZSBmb3INCi0JICog TGludXggRl97RyxTfUVUT1dOIHNlbWFudGljcy4gRm9yIHNvY2tldHMsIHRo aXMgcHJvYmxlbQ0KLQkgKiBkb2VzIG5vdCBleGlzdC4NCi0JICovDQotCWZk cCA9IHAtPnBfZmQ7DQotCWlmICgodV9pbnQpYXJncy0+ZmQgPj0gZmRwLT5m ZF9uZmlsZXMgfHwNCi0JCShmcCA9IGZkcC0+ZmRfb2ZpbGVzW2FyZ3MtPmZk XSkgPT0gTlVMTCkNCi0JICAgIHJldHVybiBFQkFERjsNCi0JaWYgKGZwLT5m X3R5cGUgPT0gRFRZUEVfU09DS0VUKSB7DQotCSAgICBmY250bF9hcmdzLmNt ZCA9IGFyZ3MtPmNtZCA9PSBMSU5VWF9GX1NFVE9XTiA/IEZfU0VUT1dOIDog Rl9HRVRPV047DQotICAgIAkgICAgZmNudGxfYXJncy5hcmcgPSBhcmdzLT5h cmc7DQotCSAgICByZXR1cm4gZmNudGwocCwgJmZjbnRsX2FyZ3MpOyANCi0J fQ0KLQl2cCA9IChzdHJ1Y3Qgdm5vZGUgKilmcC0+Zl9kYXRhOw0KLQlkZXYg PSB2bl90b2Rldih2cCk7DQotCWlmIChkZXYgPT0gTk9ERVYpDQotCSAgICBy ZXR1cm4gRUlOVkFMOw0KLQlpZiAoIShkZXZzdyhkZXYpLT5kX2ZsYWdzICYg RF9UVFkpKQ0KLQkgICAgcmV0dXJuIEVJTlZBTDsNCi0JdHAgPSBkZXYtPnNp X3R0eTsNCi0JaWYgKCF0cCkNCi0JICAgIHJldHVybiBFSU5WQUw7DQotCWlm IChhcmdzLT5jbWQgPT0gTElOVVhfRl9HRVRPV04pIHsNCi0JICAgIHAtPnBf cmV0dmFsWzBdID0gdHAtPnRfcGdycCA/IHRwLT50X3BncnAtPnBnX2lkIDog Tk9fUElEOw0KLQkgICAgcmV0dXJuIDA7DQotCX0NCi0JaWYgKChsb25nKWFy Z3MtPmFyZyA8PSAwKSB7DQotCSAgICBwZ2lkID0gLShsb25nKWFyZ3MtPmFy ZzsNCi0JfSBlbHNlIHsNCi0JICAgIHN0cnVjdCBwcm9jICpwMSA9IHBmaW5k KChsb25nKWFyZ3MtPmFyZyk7DQotCSAgICBpZiAocDEgPT0gMCkNCi0JCXJl dHVybiAoRVNSQ0gpOw0KLQkgICAgcGdpZCA9IChsb25nKXAxLT5wX3BncnAt PnBnX2lkOw0KLQl9DQotCXBncnAgPSBwZ2ZpbmQocGdpZCk7DQotCWlmIChw Z3JwID09IE5VTEwgfHwgcGdycC0+cGdfc2Vzc2lvbiAhPSBwLT5wX3Nlc3Np b24pDQotCSAgICByZXR1cm4gRVBFUk07DQotCXRwLT50X3BncnAgPSBwZ3Jw Ow0KLQlyZXR1cm4gMDsNCisJZmNudGxfYXJncy5jbWQgPSBGX0dFVE9XTjsN CisJcmV0dXJuIGZjbnRsKHAsICZmY250bF9hcmdzKTsNCisNCisgICAgY2Fz ZSBMSU5VWF9GX1NFVE9XTjoNCisJZmNudGxfYXJncy5jbWQgPSBGX1NFVE9X TjsNCisJZmNudGxfYXJncy5hcmcgPSBhcmdzLT5hcmc7DQorCXJldHVybiBm Y250bChwLCAmZmNudGxfYXJncyk7DQogICAgIH0NCiAgICAgcmV0dXJuIEVJ TlZBTDsNCiB9DQpAQCAtODkwLDQgKzg0OCwzMiBAQA0KIA0KIAlic2QuZmQg PSB1YXAtPmZkOw0KIAlyZXR1cm4gZnN5bmMocCwgJmJzZCk7DQorfQ0KKw0K K2ludA0KK2xpbnV4X3ByZWFkKHAsIHVhcCkNCisJc3RydWN0IHByb2MgKnA7 DQorCXN0cnVjdCBsaW51eF9wcmVhZF9hcmdzICp1YXA7DQorew0KKwlzdHJ1 Y3QgcHJlYWRfYXJncyBic2Q7DQorDQorCWJzZC5mZCA9IHVhcC0+ZmQ7DQor CWJzZC5idWYgPSB1YXAtPmJ1ZjsNCisJYnNkLm5ieXRlID0gdWFwLT5uYnl0 ZTsNCisJYnNkLm9mZnNldCA9IHVhcC0+b2Zmc2V0Ow0KKwlyZXR1cm4gcHJl YWQocCwgJmJzZCk7DQorfQ0KKw0KK2ludA0KK2xpbnV4X3B3cml0ZShwLCB1 YXApDQorCXN0cnVjdCBwcm9jICpwOw0KKwlzdHJ1Y3QgbGludXhfcHdyaXRl X2FyZ3MgKnVhcDsNCit7DQorCXN0cnVjdCBwd3JpdGVfYXJncyBic2Q7DQor DQorCWJzZC5mZCA9IHVhcC0+ZmQ7DQorCWJzZC5idWYgPSB1YXAtPmJ1ZjsN CisJYnNkLm5ieXRlID0gdWFwLT5uYnl0ZTsNCisJYnNkLm9mZnNldCA9IHVh cC0+b2Zmc2V0Ow0KKwlyZXR1cm4gcHdyaXRlKHAsICZic2QpOw0KIH0NCi0t LSBzeXMvaTM4Ni9saW51eC9saW51eF9nZW5hc3N5bS5jLm9yaWcJVGh1IFNl cCAxNCAxMDozODoxOCAyMDAwDQorKysgc3lzL2kzODYvbGludXgvbGludXhf Z2VuYXNzeW0uYwlUaHUgU2VwIDE0IDEwOjM4OjM5IDIwMDANCkBAIC0xMSwz ICsxMSw1IEBADQogQVNTWU0oTElOVVhfU0lHRl9TQywgb2Zmc2V0b2Yoc3Ry dWN0IGxpbnV4X3NpZ2ZyYW1lLCBzZl9zYykpOw0KIEFTU1lNKExJTlVYX1ND X0dTLCBvZmZzZXRvZihzdHJ1Y3QgbGludXhfc2lnY29udGV4dCwgc2NfZ3Mp KTsNCiBBU1NZTShMSU5VWF9TQ19FRkxBR1MsIG9mZnNldG9mKHN0cnVjdCBs aW51eF9zaWdjb250ZXh0LCBzY19lZmxhZ3MpKTsNCitBU1NZTShMSU5VWF9S VF9TSUdGX0hBTkRMRVIsIG9mZnNldG9mKHN0cnVjdCBsaW51eF9ydF9zaWdm cmFtZSwgc2ZfaGFuZGxlcikpOw0KK0FTU1lNKExJTlVYX1JUX1NJR0ZfVUMs IG9mZnNldG9mKHN0cnVjdCBsaW51eF9ydF9zaWdmcmFtZSwgc2Zfc2MpKTsN Ci0tLSBzeXMvaTM4Ni9saW51eC9saW51eF9sb2NvcmUucy5vcmlnCVRodSBT ZXAgMTQgMTA6Mzk6MDQgMjAwMA0KKysrIHN5cy9pMzg2L2xpbnV4L2xpbnV4 X2xvY29yZS5zCVRodSBTZXAgMTQgMTA6NDM6MDEgMjAwMA0KQEAgLTE0LDEx ICsxNCwyNCBAQA0KIAlpbnQJJDB4ODAJCQkJLyogZW50ZXIga2VybmVsIHdp dGggYXJncyAqLw0KIDA6CWptcAkwYg0KIAlBTElHTl9URVhUDQorLyogWFhY WFggKi8NCisgICAgICAgDQorX2xpbnV4X3J0X3NpZ2NvZGU6DQorCWNhbGwJ KkxJTlVYX1JUX1NJR0ZfSEFORExFUiglZXNwKQ0KKwlsZWFsCUxJTlVYX1JU X1NJR0ZfVUMoJWVzcCksJWVieCAgICAgLyogbGludXggdWNwICovDQorCW1v dmwJTElOVVhfU0NfR1MoJWVieCksJWdzDQorCXB1c2gJJWVheAkJCQkvKiBm YWtlIHJldCBhZGRyICovDQorCW1vdmwJJExJTlVYX1NZU19saW51eF9ydF9z aWdyZXR1cm4sJWVheCAvKiBsaW51eF9ydF9zaWdyZXR1cm4oKSAqLw0KKwlp bnQJJDB4ODAJCQkJLyogZW50ZXIga2VybmVsIHdpdGggYXJncyAqLw0KKzA6 CWptcAkwYg0KKwlBTElHTl9URVhUDQorLyogWFhYWFggKi8NCiBfbGludXhf ZXNpZ2NvZGU6DQogDQogCS5kYXRhDQotCS5nbG9ibAlfbGludXhfc3pzaWdj b2RlDQorCS5nbG9ibAlfbGludXhfc3pzaWdjb2RlLCBfbGludXhfc3pub25y dHNpZ2NvZGUNCiBfbGludXhfc3pzaWdjb2RlOg0KIAkubG9uZwlfbGludXhf ZXNpZ2NvZGUtX2xpbnV4X3NpZ2NvZGUNCi0NCitfbGludXhfc3pub25ydHNp Z2NvZGU6DQorCS5sb25nCV9saW51eF9ydF9zaWdjb2RlLV9saW51eF9zaWdj b2RlDQogCS50ZXh0DQotLS0gc3lzL2kzODYvbGludXgvbGludXhfbWlzYy5j Lm9yaWcJVGh1IFNlcCAxNCAxMDo0ODo1NCAyMDAwDQorKysgc3lzL2kzODYv bGludXgvbGludXhfbWlzYy5jCVRodSBTZXAgMTQgMTA6NTM6MTYgMjAwMA0K QEAgLTYxOSw5ICs2MTksOSBAQA0KICAgICBpZiAoYXJncy0+ZmxhZ3MgJiBD TE9ORV9QSUQpDQogCXByaW50ZigibGludXhfY2xvbmUoJWxkKTogQ0xPTkVf UElEIG5vdCB5ZXQgc3VwcG9ydGVkXG4iLA0KIAkgICAgICAgKGxvbmcpcC0+ cF9waWQpOw0KLSAgICBwcmludGYoImxpbnV4X2Nsb25lKCVsZCk6IGludm9r ZWQgd2l0aCBmbGFncyAleCBhbmQgc3RhY2sgJXhcbiIsDQorICAgIHByaW50 ZigibGludXhfY2xvbmUoJWxkKTogaW52b2tlZCB3aXRoIGZsYWdzIDB4JXgg YW5kIHN0YWNrIDB4JWx4XG4iLA0KIAkgICAobG9uZylwLT5wX3BpZCwgKHVu c2lnbmVkIGludClhcmdzLT5mbGFncywNCi0JICAgKHVuc2lnbmVkIGludClh cmdzLT5zdGFjayk7DQorCSAgICh1bnNpZ25lZCBsb25nIGludClhcmdzLT5z dGFjayk7DQogI2VuZGlmDQogDQogICAgIGlmICghYXJncy0+c3RhY2spDQpA QCAtNjk2LDcgKzY5Niw3IEBADQogCQkJc2l6ZW9mKGxpbnV4X2FyZ3MpKSkp DQogCXJldHVybiBlcnJvcjsNCiAjaWZkZWYgREVCVUcNCi0gICAgcHJpbnRm KCJMaW51eC1lbXVsKCVsZCk6IG1tYXAoJXAsICVkLCAlZCwgMHglMDh4LCAl ZCwgJWQpIiwNCisgICAgcHJpbnRmKCJMaW51eC1lbXVsKCVsZCk6IG1tYXAo JXAsICVkLCAlZCwgMHglMDh4LCAlZCwgJWQpXG4iLA0KIAkobG9uZylwLT5w X3BpZCwgKHZvaWQgKilsaW51eF9hcmdzLmFkZHIsIGxpbnV4X2FyZ3MubGVu LA0KIAlsaW51eF9hcmdzLnByb3QsIGxpbnV4X2FyZ3MuZmxhZ3MsIGxpbnV4 X2FyZ3MuZmQsIGxpbnV4X2FyZ3MucG9zKTsNCiAjZW5kaWYNCkBAIC03MTAs NyArNzEwLDcgQEANCiAgICAgaWYgKGxpbnV4X2FyZ3MuZmxhZ3MgJiBMSU5V WF9NQVBfQU5PTikNCiAJYnNkX2FyZ3MuZmxhZ3MgfD0gTUFQX0FOT047DQog ICAgIGlmIChsaW51eF9hcmdzLmZsYWdzICYgTElOVVhfTUFQX0dST1dTRE9X Tikgew0KLQlic2RfYXJncy5mbGFncyB8PSBNQVBfU1RBQ0s7ICAgICAgDQor CWJzZF9hcmdzLmZsYWdzIHw9IC8qIE1BUF9TVEFDSzsgKi8gIE1BUF9BTk9O OyAvKlhYWFhYWFggZ2FsbGF0aW4qLw0KIA0KIAkvKiBUaGUgbGludXggTUFQ X0dST1dTRE9XTiBvcHRpb24gZG9lcyBub3QgbGltaXQgYXV0bw0KIAkgKiBn cm93dGggb2YgdGhlIHJlZ2lvbi4gIExpbnV4IG1tYXAgd2l0aCB0aGlzIG9w dGlvbg0KLS0tIHN5cy9pMzg2L2xpbnV4L2xpbnV4X3Byb3RvLmgub3JpZwlU aHUgU2VwIDE0IDExOjMyOjI2IDIwMDANCisrKyBzeXMvaTM4Ni9saW51eC9s aW51eF9wcm90by5oCVRodSBTZXAgMTQgMTE6MzM6MzUgMjAwMA0KQEAgLTQ1 Miw3ICs0NTIsNyBAQA0KIAlyZWdpc3Rlcl90IGR1bW15Ow0KIH07DQogc3Ry dWN0CWxpbnV4X3J0X3NpZ3JldHVybl9hcmdzIHsNCi0JcmVnaXN0ZXJfdCBk dW1teTsNCisJc3RydWN0IGxpbnV4X3Vjb250ZXh0ICogdWNwOwljaGFyIHVj cF9bUEFEXyhzdHJ1Y3QgbGludXhfdWNvbnRleHQgKildOw0KIH07DQogc3Ry dWN0CWxpbnV4X3J0X3NpZ2FjdGlvbl9hcmdzIHsNCiAJaW50CXNpZzsJY2hh ciBzaWdfW1BBRF8oaW50KV07DQotLS0gc3lzL2kzODYvbGludXgvbGludXhf c2lnbmFsLmMub3JpZwlUdWUgU2VwIDEyIDEwOjE1OjU0IDIwMDANCisrKyBz eXMvaTM4Ni9saW51eC9saW51eF9zaWduYWwuYwlUaHUgU2VwIDE0IDExOjMx OjM5IDIwMDANCkBAIC01NSw3ICs1NSw3IEBADQogCX0NCiB9DQogDQotc3Rh dGljIHZvaWQNCit2b2lkDQogYnNkX3RvX2xpbnV4X3NpZ3NldChzaWdzZXRf dCAqYnNzLCBsaW51eF9zaWdzZXRfdCAqbHNzKQ0KIHsNCiAJaW50IGIsIGw7 DQpAQCAtNTI3LDE1ICs1MjcsMjUgQEANCiAJICAgIChsb25nKXAtPnBfcGlk LCB1YXAtPnVzcywgdWFwLT51b3NzKTsNCiAjZW5kaWYNCiANCi0JZXJyb3Ig PSBjb3B5aW4odWFwLT51c3MsICZsc3MsIHNpemVvZihsaW51eF9zdGFja190 KSk7DQotCWlmIChlcnJvcikNCi0JCXJldHVybiAoZXJyb3IpOw0KKwlpZiAo dWFwLT51c3MgPT0gMCkgew0KKwkJc3MgPSBOVUxMOw0KKwl9IGVsc2Ugew0K KwkJZXJyb3IgPSBjb3B5aW4odWFwLT51c3MsICZsc3MsIHNpemVvZihsaW51 eF9zdGFja190KSk7DQorCQlpZiAoZXJyb3IpDQorCQkJcmV0dXJuIChlcnJv cik7DQogDQotCXNzID0gc3RhY2tnYXBfYWxsb2MoJnNnLCBzaXplb2Yoc3Rh Y2tfdCkpOw0KLQlzcy0+c3Nfc3AgPSBsc3Muc3Nfc3A7DQotCXNzLT5zc19z aXplID0gbHNzLnNzX3NpemU7DQotCXNzLT5zc19mbGFncyA9IGxzcy5zc19m bGFnczsNCisJCXNzID0gc3RhY2tnYXBfYWxsb2MoJnNnLCBzaXplb2Yoc3Rh Y2tfdCkpOw0KKwkJc3MtPnNzX3NwID0gbHNzLnNzX3NwOw0KKwkJc3MtPnNz X3NpemUgPSAobHNzLnNzX3NpemUgPj0gTElOVVhfTUlOU0lHU1RLU1ogJiYN CisJCQlsc3Muc3Nfc2l6ZSA8IE1JTlNJR1NUS1NaKSA/IE1JTlNJR1NUS1Na IDogbHNzLnNzX3NpemU7DQorCQlzcy0+c3NfZmxhZ3MgPSBsc3Muc3NfZmxh Z3M7DQogDQorI2lmZGVmIERFQlVHDQorCQl1cHJpbnRmKCJMaW51eC1lbXVs KCVsZCk6IHNpZ2FsdHN0YWNrIGZsYWdzID0gMHgleCwgc3AgPSAlcCwgb2xk c3AgPSAlcFxuIiwNCisJCShsb25nKXAtPnBfcGlkLCAgc3MtPnNzX2ZsYWdz LCBsc3Muc3Nfc3AsIHAtPnBfc2lnc3RrLnNzX3NwKTsNCisjZW5kaWYNCisJ CWxpbnV4X3RvX2JzZF9zaWdhbHRzdGFjaygmbHNzLnNzX2ZsYWdzLCAmc3Mt PnNzX2ZsYWdzKTsNCisJfQ0KIAlvc3MgPSAodWFwLT51b3NzICE9IE5VTEwp DQogCSAgICA/IHN0YWNrZ2FwX2FsbG9jKCZzZywgc2l6ZW9mKHN0YWNrX3Qp KQ0KIAkgICAgOiBOVUxMOw0KQEAgLTU0Nyw5ICs1NTcsMzEgQEANCiAJaWYg KCFlcnJvciAmJiBvc3MgIT0gTlVMTCkgew0KIAkJbHNzLnNzX3NwID0gb3Nz LT5zc19zcDsNCiAJCWxzcy5zc19zaXplID0gb3NzLT5zc19zaXplOw0KLQkJ bHNzLnNzX2ZsYWdzID0gb3NzLT5zc19mbGFnczsNCisJCWxpbnV4X3RvX2Jz ZF9zaWdhbHRzdGFjaygmb3NzLT5zc19mbGFncywgJmxzcy5zc19mbGFncyk7 DQogCQllcnJvciA9IGNvcHlvdXQoJmxzcywgdWFwLT51b3NzLCBzaXplb2Yo bGludXhfc3RhY2tfdCkpOw0KIAl9DQogDQogCXJldHVybiAoZXJyb3IpOw0K K30NCisNCit2b2lkDQorbGludXhfdG9fYnNkX3NpZ2FsdHN0YWNrKGludCAq bHNhLCBpbnQgKmJzYSkNCit7DQorCSpic2EgPSAwOw0KKwlpZiAoKmxzYSAm IExJTlVYX1NTX0RJU0FCTEUpDQorCQkqYnNhIHw9IFNTX0RJU0FCTEU7DQor CWlmICgqbHNhICYgTElOVVhfU1NfRElTQUJMRV9CQykNCisJCSpic2EgfD0g U1NfRElTQUJMRTsNCisJaWYgKCpsc2EgJiBMSU5VWF9TU19PTlNUQUNLKQ0K KwkJKmJzYSB8PSBTU19PTlNUQUNLOw0KK30NCisNCit2b2lkDQorYnNkX3Rv X2xpbnV4X3NpZ2FsdHN0YWNrKGludCAqYnNhLCBpbnQgKmxzYSkNCit7DQor CSpsc2EgPSAwOw0KKwlpZiAoKmJzYSAmIFNTX0RJU0FCTEUpDQorCQkqbHNh IHw9IExJTlVYX1NTX0RJU0FCTEU7DQorCWlmICgqYnNhICYgU1NfT05TVEFD SykNCisJCSpsc2EgfD0gTElOVVhfU1NfT05TVEFDSzsNCiB9DQotLS0gc3lz L2kzODYvbGludXgvbGludXhfc3lzZW50LmMub3JpZwlUaHUgU2VwIDE0IDEx OjM0OjAwIDIwMDANCisrKyBzeXMvaTM4Ni9saW51eC9saW51eF9zeXNlbnQu YwlUaHUgU2VwIDE0IDExOjM1OjExIDIwMDANCkBAIC0xOTAsNyArMTkwLDcg QEANCiAJeyBBUyhzZXRyZXNnaWRfYXJncyksIChzeV9jYWxsX3QgKilzZXRy ZXNnaWQgfSwJLyogMTcwID0gc2V0cmVzZ2lkICovDQogCXsgQVMobGludXhf Z2V0cmVzZ2lkX2FyZ3MpLCAoc3lfY2FsbF90ICopbGludXhfZ2V0cmVzZ2lk IH0sCS8qIDE3MSA9IGxpbnV4X2dldHJlc2dpZCAqLw0KIAl7IDAsIChzeV9j YWxsX3QgKilsaW51eF9wcmN0bCB9LAkJLyogMTcyID0gbGludXhfcHJjdGwg Ki8NCi0JeyAwLCAoc3lfY2FsbF90ICopbGludXhfcnRfc2lncmV0dXJuIH0s CQkvKiAxNzMgPSBsaW51eF9ydF9zaWdyZXR1cm4gKi8NCisJeyBBUyhsaW51 eF9ydF9zaWdyZXR1cm5fYXJncyksIChzeV9jYWxsX3QgKilsaW51eF9ydF9z aWdyZXR1cm4gfSwJLyogMTczID0gbGludXhfcnRfc2lncmV0dXJuICovDQog CXsgQVMobGludXhfcnRfc2lnYWN0aW9uX2FyZ3MpLCAoc3lfY2FsbF90ICop bGludXhfcnRfc2lnYWN0aW9uIH0sCS8qIDE3NCA9IGxpbnV4X3J0X3NpZ2Fj dGlvbiAqLw0KIAl7IEFTKGxpbnV4X3J0X3NpZ3Byb2NtYXNrX2FyZ3MpLCAo c3lfY2FsbF90ICopbGludXhfcnRfc2lncHJvY21hc2sgfSwJLyogMTc1ID0g bGludXhfcnRfc2lncHJvY21hc2sgKi8NCiAJeyAwLCAoc3lfY2FsbF90ICop bGludXhfcnRfc2lncGVuZGluZyB9LAkvKiAxNzYgPSBsaW51eF9ydF9zaWdw ZW5kaW5nICovDQotLS0gc3lzL2kzODYvbGludXgvbGludXhfc3lzdmVjLmMu b3JpZwlUaHUgU2VwIDE0IDExOjQzOjI4IDIwMDANCisrKyBzeXMvaTM4Ni9s aW51eC9saW51eF9zeXN2ZWMuYwlUaHUgU2VwIDE0IDEyOjE5OjM4IDIwMDAN CkBAIC0zOCw2ICszOCw3IEBADQogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0K ICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4NCiAjaW5jbHVkZSA8c3lzL3Byb2Mu aD4NCisjaW5jbHVkZSA8c3lzL3N5c3Byb3RvLmg+DQogI2luY2x1ZGUgPHN5 cy9zeXNlbnQuaD4NCiAjaW5jbHVkZSA8c3lzL2ltZ2FjdC5oPg0KICNpbmNs dWRlIDxzeXMvaW1nYWN0X2FvdXQuaD4NCkBAIC0xOTAsNiArMTkxLDEzNyBA QA0KIH0NCiANCiBleHRlcm4gaW50IF91Y29kZXNlbCwgX3VkYXRhc2VsOw0K K2V4dGVybiB1bnNpZ25lZCBsb25nIF9saW51eF9zem5vbnJ0c2lnY29kZTsN CisNCisNCitzdGF0aWMgdm9pZA0KK2xpbnV4X3J0X3NlbmRzaWcoc2lnX3Qg Y2F0Y2hlciwgaW50IHNpZywgc2lnc2V0X3QgKm1hc2ssIHVfbG9uZyBjb2Rl KQ0KK3sNCisJcmVnaXN0ZXIgc3RydWN0IHByb2MgKnAgPSBjdXJwcm9jOw0K KwlyZWdpc3RlciBzdHJ1Y3QgdHJhcGZyYW1lICpyZWdzOw0KKwlzdHJ1Y3Qg bGludXhfcnRfc2lnZnJhbWUgKmZwLCBmcmFtZTsNCisJc3RydWN0IHNpZ2Fj dHMgKnBzcCA9IHAtPnBfc2lnYWN0czsNCisJaW50IG9vbnN0YWNrOw0KKw0K KwlyZWdzID0gcC0+cF9tZC5tZF9yZWdzOw0KKwlvb25zdGFjayA9IHAtPnBf c2lnc3RrLnNzX2ZsYWdzICYgU1NfT05TVEFDSzsNCisNCisjaWZkZWYgREVC VUcNCisJcHJpbnRmKCJMaW51eC1lbXVsKCVsZCk6IGxpbnV4X3J0X3NlbmRz aWcoJXAsICVkLCAlcCwgJWx1KVxuIiwNCisJCShsb25nKXAtPnBfcGlkLCBj YXRjaGVyLCBzaWcsICh2b2lkKiltYXNrLCBjb2RlKTsNCisjZW5kaWYNCisJ LyoNCisJICogQWxsb2NhdGUgc3BhY2UgZm9yIHRoZSBzaWduYWwgaGFuZGxl ciBjb250ZXh0Lg0KKwkgKi8NCisJaWYgKChwLT5wX2ZsYWcgJiBQX0FMVFNU QUNLKSAmJiAhb29uc3RhY2sgJiYNCisJIAlTSUdJU01FTUJFUihwc3AtPnBz X3NpZ29uc3RhY2ssIHNpZykpIHsNCisJCWZwID0gKHN0cnVjdCBsaW51eF9y dF9zaWdmcmFtZSAqKShwLT5wX3NpZ3N0ay5zc19zcCArDQorCQkJcC0+cF9z aWdzdGsuc3Nfc2l6ZSAtIHNpemVvZihzdHJ1Y3QgbGludXhfcnRfc2lnZnJh bWUpKTsNCisJCXAtPnBfc2lnc3RrLnNzX2ZsYWdzIHw9IFNTX09OU1RBQ0s7 DQorCX0gZWxzZSB7DQorCQlmcCA9IChzdHJ1Y3QgbGludXhfcnRfc2lnZnJh bWUgKilyZWdzLT50Zl9lc3AgLSAxOw0KKwl9DQorDQorCS8qDQorCSAqIGdy b3coKSB3aWxsIHJldHVybiBGQUxTRSBpZiB0aGUgZnAgd2lsbCBub3QgZml0 IGluc2lkZSB0aGUgc3RhY2sNCisJICogICAgICBhbmQgdGhlIHN0YWNrIGNh biBub3QgYmUgZ3Jvd24uIHVzZXJhY2Mgd2lsbCByZXR1cm4gRkFMU0UNCisJ ICogICAgICBpZiBhY2Nlc3MgaXMgZGVuaWVkLg0KKwkgKi8NCisJaWYgKChn cm93X3N0YWNrIChwLCAoaW50KWZwKSA9PSBGQUxTRSkgfHwNCisJCSF1c2Vy YWNjKChjYWRkcl90KWZwLCBzaXplb2YgKHN0cnVjdCBsaW51eF9ydF9zaWdm cmFtZSksIA0KKwkJVk1fUFJPVF9XUklURSkpIHsNCisJCS8qDQorCQkgKiBQ cm9jZXNzIGhhcyB0cmFzaGVkIGl0cyBzdGFjazsgZ2l2ZSBpdCBhbiBpbGxl Z2FsDQorCQkgKiBpbnN0cnVjdGlvbiB0byBoYWx0IGl0IGluIGl0cyB0cmFj a3MuDQorCQkgKi8NCisJCVNJR0FDVElPTihwLCBTSUdJTEwpID0gU0lHX0RG TDsNCisJCVNJR0RFTFNFVChwLT5wX3NpZ2lnbm9yZSwgU0lHSUxMKTsNCisJ CVNJR0RFTFNFVChwLT5wX3NpZ2NhdGNoLCBTSUdJTEwpOw0KKwkJU0lHREVM U0VUKHAtPnBfc2lnbWFzaywgU0lHSUxMKTsNCisjaWZkZWYgREVCVUcNCisJ cHJpbnRmKCJMaW51eC1lbXVsKCVsZCk6IGxpbnV4X3J0X3NlbmRzaWcgLS0g YmFkIHN0YWNrICVwLCBTU19PTlNUQUNLOiAweCV4ICIsDQorCShsb25nKXAt PnBfcGlkLCBmcCwgcC0+cF9zaWdzdGsuc3NfZmxhZ3MgJiBTU19PTlNUQUNL KTsNCisjZW5kaWYNCisJCXBzaWduYWwocCwgU0lHSUxMKTsNCisJCXJldHVy bjsNCisJfQ0KKw0KKwkvKg0KKwkgKiBCdWlsZCB0aGUgYXJndW1lbnQgbGlz dCBmb3IgdGhlIHNpZ25hbCBoYW5kbGVyLg0KKwkgKi8NCisJaWYgKHAtPnBf c3lzZW50LT5zdl9zaWd0YmwpDQorCQlpZiAoc2lnIDw9IHAtPnBfc3lzZW50 LT5zdl9zaWdzaXplKQ0KKwkJCXNpZyA9IHAtPnBfc3lzZW50LT5zdl9zaWd0 YmxbX1NJR19JRFgoc2lnKV07DQorCQ0KKwlmcmFtZS5zZl9oYW5kbGVyID0g Y2F0Y2hlcjsNCisJZnJhbWUuc2Zfc2lnID0gc2lnOw0KKw0KKwlmcmFtZS5z Zl9zaWdpbmZvID0gJmZwLT5zZl9zaTsNCisJZnJhbWUuc2ZfdWNvbnRleHQg PSAmZnAtPnNmX3NjOw0KKwkvKiBGaWxsIHNpZ2luZm8gc3RydWN0dXJlLiAq Lw0KKwlmcmFtZS5zZl9zaS5sc2lfc2lnbm8gPSBzaWc7DQorCWZyYW1lLnNm X3NpLmxzaV9jb2RlID0gY29kZTsNCisJZnJhbWUuc2Zfc2kubHNpX2FkZHIg PSAodm9pZCAqKXJlZ3MtPnRmX2VycjsNCisJLyoNCisJICogQnVpbGQgdGhl IHNpZ25hbCBjb250ZXh0IHRvIGJlIHVzZWQgYnkgc2lncmV0dXJuLg0KKwkg Ki8NCisJZnJhbWUuc2Zfc2MudWNfbWNvbnRleHQuc2NfbWFzayAgID0gbWFz ay0+X19iaXRzWzBdOw0KKwlmcmFtZS5zZl9zYy51Y19tY29udGV4dC5zY19n cyAgICAgPSByZ3MoKTsNCisJZnJhbWUuc2Zfc2MudWNfbWNvbnRleHQuc2Nf ZnMgICAgID0gcmVncy0+dGZfZnM7DQorCWZyYW1lLnNmX3NjLnVjX21jb250 ZXh0LnNjX2VzICAgICA9IHJlZ3MtPnRmX2VzOw0KKwlmcmFtZS5zZl9zYy51 Y19tY29udGV4dC5zY19kcyAgICAgPSByZWdzLT50Zl9kczsNCisJZnJhbWUu c2Zfc2MudWNfbWNvbnRleHQuc2NfZWRpICAgID0gcmVncy0+dGZfZWRpOw0K KwlmcmFtZS5zZl9zYy51Y19tY29udGV4dC5zY19lc2kgICAgPSByZWdzLT50 Zl9lc2k7DQorCWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX2VicCAgICA9 IHJlZ3MtPnRmX2VicDsNCisJZnJhbWUuc2Zfc2MudWNfbWNvbnRleHQuc2Nf ZWJ4ICAgID0gcmVncy0+dGZfZWJ4Ow0KKwlmcmFtZS5zZl9zYy51Y19tY29u dGV4dC5zY19lZHggICAgPSByZWdzLT50Zl9lZHg7DQorCWZyYW1lLnNmX3Nj LnVjX21jb250ZXh0LnNjX2VjeCAgICA9IHJlZ3MtPnRmX2VjeDsNCisJZnJh bWUuc2Zfc2MudWNfbWNvbnRleHQuc2NfZWF4ICAgID0gcmVncy0+dGZfZWF4 Ow0KKwlmcmFtZS5zZl9zYy51Y19tY29udGV4dC5zY19laXAgICAgPSByZWdz LT50Zl9laXA7DQorCWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX2NzICAg ICA9IHJlZ3MtPnRmX2NzOw0KKwlmcmFtZS5zZl9zYy51Y19tY29udGV4dC5z Y19lZmxhZ3MgPSByZWdzLT50Zl9lZmxhZ3M7DQorCWZyYW1lLnNmX3NjLnVj X21jb250ZXh0LnNjX2VzcF9hdF9zaWduYWwgPSByZWdzLT50Zl9lc3A7DQor CWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX3NzICAgICA9IHJlZ3MtPnRm X3NzOw0KKwlmcmFtZS5zZl9zYy51Y19tY29udGV4dC5zY19lcnIgICAgPSBy ZWdzLT50Zl9lcnI7DQorCWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX3Ry YXBubyA9IGNvZGU7ICAgICAgIC8qIFhYWCA/Pz8/ICovDQorDQorCS8qDQor CSAqIEJ1aWxkIHRoZSByZW1haW5kZXIgb2YgdGhlIHVjb250ZXh0IHN0cnVj dCB0byBiZSB1c2VkIGJ5IHNpZ3JldHVybi4NCisJICovDQorCWZyYW1lLnNm X3NjLnVjX2ZsYWdzID0gMDsgICAgICAgICAgICAgICAvKiBYWFggPz8/ICov DQorCWZyYW1lLnNmX3NjLnVjX2xpbmsgPSBOVUxMOyAgICAgICAgICAgICAv KiBYWFggPz8/ICovDQorCWZyYW1lLnNmX3NjLnVjX3N0YWNrLnNzX3NwID0g cC0+cF9zaWdzdGsuc3Nfc3A7DQorCWJzZF90b19saW51eF9zaWdhbHRzdGFj aygmcC0+cF9zaWdzdGsuc3NfZmxhZ3MsICZmcmFtZS5zZl9zYy51Y19zdGFj ay5zc19mbGFncyk7DQorCWZyYW1lLnNmX3NjLnVjX3N0YWNrLnNzX3NpemUg PSBwLT5wX3NpZ3N0ay5zc19zaXplOw0KKyNpZmRlZiBERUJVRw0KKwlwcmlu dGYoIkxpbnV4LWVtdWwoJWxkKTogcnRfc2VuZHNpZyBmbGFnczogMHgleCwg c3A6ICVwLCBzczogMHgleCwgbWFzazogMHgleFxuIiwNCisJKGxvbmcpcC0+ cF9waWQsIGZyYW1lLnNmX3NjLnVjX3N0YWNrLnNzX2ZsYWdzLCAgcC0+cF9z aWdzdGsuc3Nfc3AsIA0KKwkJcC0+cF9zaWdzdGsuc3Nfc2l6ZSwgZnJhbWUu c2Zfc2MudWNfbWNvbnRleHQuc2NfbWFzayk7DQorI2VuZGlmDQorCWJzZF90 b19saW51eF9zaWdzZXQoJnAtPnBfc2lnbWFzaywgJmZyYW1lLnNmX3NjLnVj X3NpZ21hc2spOw0KKw0KKwlpZiAoY29weW91dCgmZnJhbWUsIGZwLCBzaXpl b2YoZnJhbWUpKSAhPSAwKSB7DQorCQkvKg0KKwkJICogUHJvY2VzcyBoYXMg dHJhc2hlZCBpdHMgc3RhY2s7IGdpdmUgaXQgYW4gaWxsZWdhbA0KKwkJICog aW5zdHJ1Y3Rpb24gdG8gaGFsdCBpdCBpbiBpdHMgdHJhY2tzLg0KKwkJICov DQorCQlzaWdleGl0KHAsIFNJR0lMTCk7DQorCQkvKiBOT1RSRUFDSEVEICov DQorCX0NCisNCisJLyoNCisJICogQnVpbGQgY29udGV4dCB0byBydW4gaGFu ZGxlciBpbi4NCisJICovDQorCXJlZ3MtPnRmX2VzcCA9IChpbnQpZnA7DQor CXJlZ3MtPnRmX2VpcCA9IFBTX1NUUklOR1MgLSAqKHAtPnBfc3lzZW50LT5z dl9zenNpZ2NvZGUpICsgX2xpbnV4X3N6bm9ucnRzaWdjb2RlOw0KKwlyZWdz LT50Zl9lZmxhZ3MgJj0gflBTTF9WTTsNCisJcmVncy0+dGZfY3MgPSBfdWNv ZGVzZWw7DQorCXJlZ3MtPnRmX2RzID0gX3VkYXRhc2VsOw0KKwlyZWdzLT50 Zl9lcyA9IF91ZGF0YXNlbDsNCisJcmVncy0+dGZfZnMgPSBfdWRhdGFzZWw7 DQorCWxvYWRfZ3MoX3VkYXRhc2VsKTsNCisJcmVncy0+dGZfc3MgPSBfdWRh dGFzZWw7DQorfQ0KIA0KIC8qDQogICogU2VuZCBhbiBpbnRlcnJ1cHQgdG8g cHJvY2Vzcy4NCkBAIC0yMTUsOSArMzQ3LDE2IEBADQogCW9vbnN0YWNrID0g cC0+cF9zaWdzdGsuc3NfZmxhZ3MgJiBTU19PTlNUQUNLOw0KIA0KICNpZmRl ZiBERUJVRw0KLQlwcmludGYoIkxpbnV4LWVtdWwoJWxkKTogbGludXhfc2Vu ZHNpZyglcCwgJWQsICVwLCAlbHUpXG4iLA0KKwlwcmludGYoIkxpbnV4LWVt dWwoJWxkKTogbGludXhfc2VuZHNpZyglcCwgJWQsICVwLCAlbHUpIiwNCiAJ ICAgIChsb25nKXAtPnBfcGlkLCBjYXRjaGVyLCBzaWcsICh2b2lkKiltYXNr LCBjb2RlKTsNCiAjZW5kaWYNCisNCisJaWYgKFNJR0lTTUVNQkVSKHAtPnBf c2lnYWN0cy0+cHNfc2lnaW5mbywgc2lnKSkgew0KKwkJLyogU2lnbmFsIGhh bmRsZXIgaW5zdGFsbGVkIHdpdGggU0FfU0lHSU5GTy4gKi8NCisJCWxpbnV4 X3J0X3NlbmRzaWcoY2F0Y2hlciwgc2lnLCBtYXNrLCBjb2RlKTsNCisJCXJl dHVybjsNCisJfQ0KKw0KIAkvKg0KIAkgKiBBbGxvY2F0ZSBzcGFjZSBmb3Ig dGhlIHNpZ25hbCBoYW5kbGVyIGNvbnRleHQuDQogCSAqLw0KQEAgLTM5Nyw2 ICs1MzYsMTIwIEBADQogCXJldHVybiAoRUpVU1RSRVRVUk4pOw0KIH0NCiAN CisNCisvKg0KKyAqIFN5c3RlbSBjYWxsIHRvIGNsZWFudXAgc3RhdGUgYWZ0 ZXIgYSBzaWduYWwNCisgKiBoYXMgYmVlbiB0YWtlbi4gIFJlc2V0IHNpZ25h bCBtYXNrIGFuZA0KKyAqIHN0YWNrIHN0YXRlIGZyb20gY29udGV4dCBsZWZ0 IGJ5IHNlbmRzaWcgKGFib3ZlKS4NCisgKiBSZXR1cm4gdG8gcHJldmlvdXMg cGMgYW5kIHBzbCBhcyBzcGVjaWZpZWQgYnkNCisgKiBjb250ZXh0IGxlZnQg Ynkgc2VuZHNpZy4gQ2hlY2sgY2FyZWZ1bGx5IHRvDQorICogbWFrZSBzdXJl IHRoYXQgdGhlIHVzZXIgaGFzIG5vdCBtb2RpZmllZCB0aGUNCisgKiBwc2wg dG8gZ2FpbiBpbXByb3BlciBwcml2aWxlZ2VzIG9yIHRvIGNhdXNlDQorICog YSBtYWNoaW5lIGZhdWx0Lg0KKyAqLw0KK2ludA0KK2xpbnV4X3J0X3NpZ3Jl dHVybihwLCBhcmdzKQ0KKwlzdHJ1Y3QgcHJvYyAqcDsNCisJc3RydWN0IGxp bnV4X3J0X3NpZ3JldHVybl9hcmdzICphcmdzOw0KK3sNCisJc3RydWN0IHNp Z2FsdHN0YWNrX2FyZ3Mgc2FzYXJnczsNCisJc3RydWN0IGxpbnV4X3Vjb250 ZXh0ICAgIHVjOw0KKwlzdHJ1Y3QgbGludXhfc2lnY29udGV4dCAqY29udGV4 dDsNCisJbGludXhfc3RhY2tfdCAqbHNzOw0KKwlzdGFja190ICpzczsNCisJ cmVnaXN0ZXIgc3RydWN0IHRyYXBmcmFtZSAqcmVnczsNCisJaW50IGVmbGFn czsNCisJY2FkZHJfdCBzZyA9IHN0YWNrZ2FwX2luaXQoKTsNCisNCisJcmVn cyA9IHAtPnBfbWQubWRfcmVnczsNCisNCisjaWZkZWYgREVCVUcNCisJcHJp bnRmKCJMaW51eC1lbXVsKCVsZCk6IGxpbnV4X3J0X3NpZ3JldHVybiglcClc biIsDQorCQkobG9uZylwLT5wX3BpZCwgKHZvaWQgKilhcmdzLT51Y3ApOw0K KyNlbmRpZg0KKwkvKg0KKwkgKiBUaGUgdHJhbXBvbGluZSBjb2RlIGhhbmRz IHVzIHRoZSB1X2NvbnRleHQuDQorCSAqIEl0IGlzIHVuc2FmZSB0byBrZWVw IHRyYWNrIG9mIGl0IG91cnNlbHZlcywgaW4gdGhlIGV2ZW50IHRoYXQgYQ0K KwkgKiBwcm9ncmFtIGp1bXBzIG91dCBvZiBhIHNpZ25hbCBoYW5kbGVyLg0K KwkgKi8NCisJaWYgKGNvcHlpbigoY2FkZHJfdClhcmdzLT51Y3AsICZ1Yywg c2l6ZW9mKHVjKSkgIT0gMCkNCisJCXJldHVybiAoRUZBVUxUKTsNCisNCisJ Y29udGV4dCA9ICZ1Yy51Y19tY29udGV4dDsNCisNCisJLyoNCisJICogQ2hl Y2sgZm9yIHNlY3VyaXR5IHZpb2xhdGlvbnMuDQorCSAqLw0KKyNkZWZpbmUJ CUVGTEFHU19TRUNVUkUoZWYsIG9lZikgICgoKChlZikgXiAob2VmKSkgJiB+ UFNMX1VTRVJDSEFOR0UpID09IDApDQorCWVmbGFncyA9IGNvbnRleHQtPnNj X2VmbGFnczsNCisJLyoNCisJICogWFhYIGRvIGFsbG93IHVzZXJzIHRvIGNo YW5nZSB0aGUgcHJpdmlsZWdlZCBmbGFnIFBTTF9SRi4gIFRoZQ0KKwkgKiBj cHUgc2V0cyBQU0xfUkYgaW4gdGZfZWZsYWdzIGZvciBmYXVsdHMuICBEZWJ1 Z2dlcnMgc2hvdWxkDQorCSAqIHNvbWV0aW1lcyBzZXQgaXQgdGhlcmUgdG9v LiAgdGZfZWZsYWdzIGlzIGtlcHQgaW4gdGhlIHNpZ25hbA0KKwkgKiBjb250 ZXh0IGR1cmluZyBzaWduYWwgaGFuZGxpbmcgYW5kIHRoZXJlIGlzIG5vIG90 aGVyIHBsYWNlDQorCSAqIHRvIHJlbWVtYmVyIGl0LCBzbyB0aGUgUFNMX1JG IGJpdCBtYXkgYmUgY29ycnVwdGVkIGJ5IHRoZQ0KKwkgKiBzaWduYWwgaGFu ZGxlciB3aXRob3V0IHVzIGtub3dpbmcuICBDb3JydXB0aW9uIG9mIHRoZSBQ U0xfUkYNCisJICogYml0IGF0IHdvcnN0IGNhdXNlcyBvbmUgbW9yZSBvciBv bmUgbGVzcyBkZWJ1Z2dlciB0cmFwLCBzbw0KKwkgKiBhbGxvd2luZyBpdCBp cyBmYWlybHkgaGFybWxlc3MuDQorCSAqLw0KKwlpZiAoIUVGTEFHU19TRUNV UkUoZWZsYWdzICYgflBTTF9SRiwgcmVncy0+dGZfZWZsYWdzICYgflBTTF9S RikpIHsNCisJCXJldHVybihFSU5WQUwpOw0KKwl9DQorDQorCS8qDQorCSAq IERvbid0IGFsbG93IHVzZXJzIHRvIGxvYWQgYSB2YWxpZCBwcml2aWxlZ2Vk ICVjcy4gIExldCB0aGUNCisJICogaGFyZHdhcmUgY2hlY2sgZm9yIGludmFs aWQgc2VsZWN0b3JzLCBleGNlc3MgcHJpdmlsZWdlIGluDQorCSAqIG90aGVy IHNlbGVjdG9ycywgaW52YWxpZCAlZWlwJ3MgYW5kIGludmFsaWQgJWVzcCdz Lg0KKwkgKi8NCisjZGVmaW5lICAgICAgICBDU19TRUNVUkUoY3MpICAgKElT UEwoY3MpID09IFNFTF9VUEwpDQorCWlmICghQ1NfU0VDVVJFKGNvbnRleHQt PnNjX2NzKSkgew0KKwkJdHJhcHNpZ25hbChwLCBTSUdCVVMsIFRfUFJPVEZM VCk7DQorCQlyZXR1cm4oRUlOVkFMKTsNCisJfQ0KKw0KKwlwLT5wX3NpZ3N0 ay5zc19mbGFncyAmPSB+U1NfT05TVEFDSzsNCisJU0lHU0VUT0xEKHAtPnBf c2lnbWFzaywgY29udGV4dC0+c2NfbWFzayk7DQorCVNJR19DQU5UTUFTSyhw LT5wX3NpZ21hc2spOw0KKw0KKwkvKg0KKwkgKiBSZXN0b3JlIHNpZ25hbCBj b250ZXh0LT4NCisJICovDQorCS8qICVncyB3YXMgcmVzdG9yZWQgYnkgdGhl IHRyYW1wb2xpbmUuICovDQorCXJlZ3MtPnRmX2ZzCT0gY29udGV4dC0+c2Nf ZnM7DQorCXJlZ3MtPnRmX2VzCT0gY29udGV4dC0+c2NfZXM7DQorCXJlZ3Mt PnRmX2RzCT0gY29udGV4dC0+c2NfZHM7DQorCXJlZ3MtPnRmX2VkaQk9IGNv bnRleHQtPnNjX2VkaTsNCisJcmVncy0+dGZfZXNpCT0gY29udGV4dC0+c2Nf ZXNpOw0KKwlyZWdzLT50Zl9lYnAJPSBjb250ZXh0LT5zY19lYnA7DQorCXJl Z3MtPnRmX2VieAk9IGNvbnRleHQtPnNjX2VieDsNCisJcmVncy0+dGZfZWR4 CT0gY29udGV4dC0+c2NfZWR4Ow0KKwlyZWdzLT50Zl9lY3gJPSBjb250ZXh0 LT5zY19lY3g7DQorCXJlZ3MtPnRmX2VheAk9IGNvbnRleHQtPnNjX2VheDsN CisJcmVncy0+dGZfZWlwCT0gY29udGV4dC0+c2NfZWlwOw0KKwlyZWdzLT50 Zl9jcwk9IGNvbnRleHQtPnNjX2NzOw0KKwlyZWdzLT50Zl9lZmxhZ3MJPSBl ZmxhZ3M7DQorCXJlZ3MtPnRmX2VzcAk9IGNvbnRleHQtPnNjX2VzcF9hdF9z aWduYWw7DQorCXJlZ3MtPnRmX3NzCT0gY29udGV4dC0+c2Nfc3M7DQorDQor CS8qDQorCSAqIGNhbGwgc2lnYWx0c3RhY2sgJiBpZ25vcmUgcmVzdWx0cy4u DQorCSAqLw0KKwlzcyA9IHN0YWNrZ2FwX2FsbG9jKCZzZywgc2l6ZW9mKHN0 YWNrX3QpKTsNCisJbHNzID0gJnVjLnVjX3N0YWNrOw0KKwlzcy0+c3Nfc3Ag PSBsc3MtPnNzX3NwOw0KKwlzcy0+c3Nfc2l6ZSA9IChsc3MtPnNzX3NpemUg Pj0gTElOVVhfTUlOU0lHU1RLU1ogJiYNCisJCWxzcy0+c3Nfc2l6ZSA8IE1J TlNJR1NUS1NaKSA/IE1JTlNJR1NUS1NaIDogbHNzLT5zc19zaXplOw0KKwls aW51eF90b19ic2Rfc2lnYWx0c3RhY2soJmxzcy0+c3NfZmxhZ3MsICZzcy0+ c3NfZmxhZ3MpOw0KKyNpZmRlZiBERUJVRw0KKwlwcmludGYoIkxpbnV4LWVt dWwoJWxkKTogcnRfc2lncmV0ICBmbGFnczogMHgleCwgc3A6ICVwLCBzczog MHgleCwgbWFzazogMHgleFxuIiwNCisJCShsb25nKXAtPnBfcGlkLCBzcy0+ c3NfZmxhZ3MsIHNzLT5zc19zcCwgc3MtPnNzX3NpemUsIGNvbnRleHQtPnNj X21hc2spOw0KKyNlbmRpZg0KKwlzYXNhcmdzLnNzID0gc3M7DQorCXNhc2Fy Z3Mub3NzID0gTlVMTDsNCisJKHZvaWQpIHNpZ2FsdHN0YWNrKHAsICZzYXNh cmdzKTsNCisgDQorCXJldHVybiAoRUpVU1RSRVRVUk4pOw0KK30NCiBzdGF0 aWMgdm9pZA0KIGxpbnV4X3ByZXBzeXNjYWxsKHN0cnVjdCB0cmFwZnJhbWUg KnRmLCBpbnQgKmFyZ3MsIHVfaW50ICpjb2RlLCBjYWRkcl90ICpwYXJhbXMp DQogew0KLS0tIHN5cy9pMzg2L2xpbnV4L3N5c2NhbGxzLm1hc3Rlci5vcmln CVRodSBTZXAgMTQgMTI6MjA6MTAgMjAwMA0KKysrIHN5cy9pMzg2L2xpbnV4 L3N5c2NhbGxzLm1hc3RlcglUaHUgU2VwIDE0IDEyOjIwOjMwIDIwMDANCkBA IC0yNTMsNyArMjUzLDcgQEANCiAxNzEJU1RECUxJTlVYCXsgaW50IGxpbnV4 X2dldHJlc2dpZChsaW51eF9naWRfdCAqcmdpZCwgXA0KIAkJCQlsaW51eF9n aWRfdCAqZWdpZCwgbGludXhfZ2lkX3QgKnNnaWQpOyB9DQogMTcyCVNURAlM SU5VWAl7IGludCBsaW51eF9wcmN0bCh2b2lkKTsgfQ0KLTE3MwlTVEQJTElO VVgJeyBpbnQgbGludXhfcnRfc2lncmV0dXJuKHZvaWQpOyB9DQorMTczCVNU RAlMSU5VWAl7IGludCBsaW51eF9ydF9zaWdyZXR1cm4oc3RydWN0IGxpbnV4 X3Vjb250ZXh0ICp1Y3ApOyB9DQogMTc0CVNURAlMSU5VWAl7IGludCBsaW51 eF9ydF9zaWdhY3Rpb24oaW50IHNpZywgXA0KIAkJCQlsaW51eF9zaWdhY3Rp b25fdCAqYWN0LCBcDQogCQkJCWxpbnV4X3NpZ2FjdGlvbl90ICpvYWN0LCBc DQotLS0gc3lzL3N5cy9zaWduYWwuaC5vcmlnICAgICAgIFR1ZSBTZXAgMTIg MTA6Mjk6MzggMjAwMA0KKysrIHN5cy9zeXMvc2lnbmFsLmggICAgVGh1IFNl cCAxNCAxNToyMjo1NiAyMDAwDQpAQCAtMjM4LDcgKzIzOCw3IEBADQogDQog I2RlZmluZSAgICAgICAgU1NfT05TVEFDSyAgICAgIDB4MDAwMSAgLyogdGFr ZSBzaWduYWwgb24gYWx0ZXJuYXRlIHN0YWNrICovDQogI2RlZmluZSAgICAg ICAgU1NfRElTQUJMRSAgICAgIDB4MDAwNCAgLyogZGlzYWJsZSB0YWtpbmcg c2lnbmFscyBvbiBhbHRlcm5hdGUgc3RhY2sgKi8NCi0jZGVmaW5lICAgICAg ICBNSU5TSUdTVEtTWiAgICAgODE5MiAgICAgICAgICAgICAgICAgICAgLyog bWluaW11bSBhbGxvd2FibGUgc3RhY2sgKi8NCisjZGVmaW5lICAgICAgICBN SU5TSUdTVEtTWiAgICAgMjA0OCAgICAgICAgICAgICAgICAgICAgLyogbWlu aW11bSBhbGxvd2FibGUgc3RhY2sgKi8NCiAjZGVmaW5lICAgICAgICBTSUdT VEtTWiAgICAgICAgKE1JTlNJR1NUS1NaICsgMzI3NjgpICAgLyogcmVjb21t ZW5kZWQgc3RhY2sgc2l6ZSAqLw0KIA0KIC8qIEhhdmUgZW5vdWdoIHR5cGVk ZWZzIGZvciB0aGlzIG5vdy4gIFhYWCAqLw0K --0-1319006591-969460638=:35762-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message