From owner-freebsd-current@FreeBSD.ORG Tue Jan 24 21:53:24 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57067106564A; Tue, 24 Jan 2012 21:53:24 +0000 (UTC) (envelope-from marcelm@juniper.net) Received: from exprod7og114.obsmtp.com (exprod7og114.obsmtp.com [64.18.2.215]) by mx1.freebsd.org (Postfix) with ESMTP id C6AF28FC14; Tue, 24 Jan 2012 21:53:23 +0000 (UTC) Received: from P-EMHUB03-HQ.jnpr.net ([66.129.224.36]) (using TLSv1) by exprod7ob114.postini.com ([64.18.6.12]) with SMTP ID DSNKTx8oU1Zs5U078dvrFIgDmQUT5XMxaoTf@postini.com; Tue, 24 Jan 2012 13:53:23 PST Received: from EMBX01-HQ.jnpr.net ([fe80::c821:7c81:f21f:8bc7]) by P-EMHUB03-HQ.jnpr.net ([::1]) with mapi; Tue, 24 Jan 2012 13:36:54 -0800 From: Marcel Moolenaar To: freebsd-current Current Date: Tue, 24 Jan 2012 13:36:55 -0800 Thread-Topic: [ptrace] please review follow fork/exec changes Thread-Index: Acza4Eq96UY0ancSQBq4BmEk1VYZSg== Message-ID: <749E238A-A85F-4264-9DEB-BCE1BBD21C9D@juniper.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/mixed; boundary="_002_749E238AA85F42649DEBBCE1BBD21C9Djunipernet_" MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 24 Jan 2012 22:28:03 +0000 Cc: Konstantin Belousov , Dmitry Mikulin Subject: [ptrace] please review follow fork/exec changes X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2012 21:53:24 -0000 --_002_749E238AA85F42649DEBBCE1BBD21C9Djunipernet_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable All, Please review the attached changes (done by Dmitry -- CC'd) to add support = for PT_FOLLOW_EXEC and cleanup PT_FOLLOW_FORK. I'll commit this when there are no comments/objections. Thanks, --=20 Marcel Moolenaar marcelm@juniper.net --_002_749E238AA85F42649DEBBCE1BBD21C9Djunipernet_ Content-Type: text/x-patch; name="kernel.diff" Content-Description: kernel.diff Content-Disposition: attachment; filename="kernel.diff"; size=12136; creation-date="Tue, 24 Jan 2012 21:36:54 GMT"; modification-date="Tue, 24 Jan 2012 21:36:54 GMT" Content-Transfer-Encoding: base64 SW5kZXg6IHN5cy9rZXJuL2tlcm5fZXhpdC5jDQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0NCi0tLSBzeXMva2Vybi9r ZXJuX2V4aXQuYwkocmV2aXNpb24gMjI1MTg5KQ0NCisrKyBzeXMva2Vybi9rZXJuX2V4aXQuYwko d29ya2luZyBjb3B5KQ0NCkBAIC02ODAsNyArNjgwLDcgQEAgd2FpdDQoc3RydWN0IHRocmVhZCAq dGQsIHN0cnVjdCB3YWl0X2FyZ3MgKnVhcCkNDQogICovDQ0KIHZvaWQNDQogcHJvY19yZWFwKHN0 cnVjdCB0aHJlYWQgKnRkLCBzdHJ1Y3QgcHJvYyAqcCwgaW50ICpzdGF0dXMsIGludCBvcHRpb25z LA0NCi0gICAgc3RydWN0IHJ1c2FnZSAqcnVzYWdlKQ0NCisgICAgc3RydWN0IHJ1c2FnZSAqcnVz YWdlLCBpbnQgY2hpbGQpDQ0KIHsNDQogCXN0cnVjdCBwcm9jICpxLCAqdDsNDQogDQ0KQEAgLTcy MCw3ICs3MjAsNiBAQCBwcm9jX3JlYXAoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBwcm9jICpw LCBpbnQgKg0NCiAJaWYgKHAtPnBfb3BwaWQgJiYgKHQgPSBwZmluZChwLT5wX29wcGlkKSkgIT0g TlVMTCkgew0NCiAJCVBST0NfTE9DSyhwKTsNDQogCQlwcm9jX3JlcGFyZW50KHAsIHQpOw0NCi0J CXAtPnBfcHB0ci0+cF9kYmdfY2hpbGQtLTsNDQogCQlwLT5wX29wcGlkID0gMDsNDQogCQlQUk9D X1VOTE9DSyhwKTsNDQogCQlwa3NpZ25hbCh0LCBTSUdDSExELCBwLT5wX2tzaSk7DQ0KQEAgLTcz OCw3ICs3MzcsMTAgQEAgcHJvY19yZWFwKHN0cnVjdCB0aHJlYWQgKnRkLCBzdHJ1Y3QgcHJvYyAq cCwgaW50ICoNDQogCXN4X3hsb2NrKCZhbGxwcm9jX2xvY2spOw0NCiAJTElTVF9SRU1PVkUocCwg cF9saXN0KTsJLyogb2ZmIHpvbWJwcm9jICovDQ0KIAlzeF94dW5sb2NrKCZhbGxwcm9jX2xvY2sp Ow0NCi0JTElTVF9SRU1PVkUocCwgcF9zaWJsaW5nKTsNDQorCWlmIChjaGlsZCkNDQorCQlMSVNU X1JFTU9WRShwLCBwX3NpYmxpbmcpOw0NCisJZWxzZQ0NCisJCUxJU1RfUkVNT1ZFKHAsIHBfb3Jw aGFuKTsNDQogCWxlYXZlcGdycChwKTsNDQogI2lmZGVmIFBST0NERVNDDQ0KIAlpZiAocC0+cF9w cm9jZGVzYyAhPSBOVUxMKQ0NCkBAIC04NTksNyArODYxLDcgQEAgbG9vcDoNDQogCQluZm91bmQr KzsNDQogCQlQUk9DX1NMT0NLKHApOw0NCiAJCWlmIChwLT5wX3N0YXRlID09IFBSU19aT01CSUUp IHsNDQotCQkJcHJvY19yZWFwKHRkLCBwLCBzdGF0dXMsIG9wdGlvbnMsIHJ1c2FnZSk7DQ0KKwkJ CXByb2NfcmVhcCh0ZCwgcCwgc3RhdHVzLCBvcHRpb25zLCBydXNhZ2UsIDEpOw0NCiAJCQlyZXR1 cm4gKDApOw0NCiAJCX0NDQogCQlpZiAoKHAtPnBfZmxhZyAmIFBfU1RPUFBFRF9TSUcpICYmDQ0K QEAgLTg5MywxNiArODk1LDQ3IEBAIGxvb3A6DQ0KIA0NCiAJCQlpZiAoc3RhdHVzKQ0NCiAJCQkJ KnN0YXR1cyA9IFNJR0NPTlQ7DQ0KKwkJfQ0NCisJCVBST0NfVU5MT0NLKHApOw0NCisJfQ0NCisJ TElTVF9GT1JFQUNIKHAsICZxLT5wX29ycGhhbnMsIHBfb3JwaGFuKSB7DQ0KKwkJUFJPQ19MT0NL KHApOw0NCisJCWlmIChwaWQgIT0gV0FJVF9BTlkgJiYNDQorCQkgICAgcC0+cF9waWQgIT0gcGlk ICYmIHAtPnBfcGdpZCAhPSAtcGlkKSB7DQ0KKwkJCVBST0NfVU5MT0NLKHApOw0NCisJCQljb250 aW51ZTsNDQorCQl9DQ0KKwkJaWYgKHBfY2Fud2FpdCh0ZCwgcCkpIHsNDQorCQkJUFJPQ19VTkxP Q0socCk7DQ0KKwkJCWNvbnRpbnVlOw0NCisJCX0NDQorDQ0KKwkJLyoNDQorCQkgKiBUaGlzIHNw ZWNpYWwgY2FzZSBoYW5kbGVzIGEga3RocmVhZCBzcGF3bmVkIGJ5IGxpbnV4X2Nsb25lDQ0KKwkJ ICogKHNlZSBsaW51eF9taXNjLmMpLiAgVGhlIGxpbnV4X3dhaXQ0IGFuZCBsaW51eF93YWl0cGlk DQ0KKwkJICogZnVuY3Rpb25zIG5lZWQgdG8gYmUgYWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVu IHdhaXRpbmcNDQorCQkgKiBvbiBhIHByb2Nlc3MgYW5kIHdhaXRpbmcgb24gYSB0aHJlYWQuICBJ dCBpcyBhIHRocmVhZCBpZg0NCisJCSAqIHBfc2lncGFyZW50IGlzIG5vdCBTSUdDSExELCBhbmQg dGhlIFdMSU5VWENMT05FIG9wdGlvbg0NCisJCSAqIHNpZ25pZmllcyB3ZSB3YW50IHRvIHdhaXQg Zm9yIHRocmVhZHMgYW5kIG5vdCBwcm9jZXNzZXMuDQ0KKwkJICovDQ0KKwkJaWYgKChwLT5wX3Np Z3BhcmVudCAhPSBTSUdDSExEKSBeDQ0KKwkJICAgICgob3B0aW9ucyAmIFdMSU5VWENMT05FKSAh PSAwKSkgew0NCisJCQlQUk9DX1VOTE9DSyhwKTsNDQorCQkJY29udGludWU7DQ0KKwkJfQ0NCisN DQorCQluZm91bmQrKzsNDQorCQlQUk9DX1NMT0NLKHApOw0NCisJCWlmIChwLT5wX3N0YXRlID09 IFBSU19aT01CSUUpIHsNDQorCQkgIHByb2NfcmVhcCh0ZCwgcCwgc3RhdHVzLCBvcHRpb25zLCBy dXNhZ2UsIDApOw0NCiAJCQlyZXR1cm4gKDApOw0NCiAJCX0NDQorCQlQUk9DX1NVTkxPQ0socCk7 DQ0KIAkJUFJPQ19VTkxPQ0socCk7DQ0KIAl9DQ0KIAlpZiAobmZvdW5kID09IDApIHsNDQogCQlz eF94dW5sb2NrKCZwcm9jdHJlZV9sb2NrKTsNDQotCQlpZiAodGQtPnRkX3Byb2MtPnBfZGJnX2No aWxkKQ0NCi0JCQlyZXR1cm4gKDApOw0NCi0JCWVsc2UNDQotCQkJcmV0dXJuIChFQ0hJTEQpOw0N CisJCXJldHVybiAoRUNISUxEKTsNDQogCX0NDQogCWlmIChvcHRpb25zICYgV05PSEFORykgew0N CiAJCXN4X3h1bmxvY2soJnByb2N0cmVlX2xvY2spOw0NCkBAIC05MzIsNiArOTY1LDcgQEAgcHJv Y19yZXBhcmVudChzdHJ1Y3QgcHJvYyAqY2hpbGQsIHN0cnVjdCBwcm9jICpwYXINDQogI2lmZGVm IFJBQ0NUDQ0KIAlpbnQgbG9ja2VkOw0NCiAjZW5kaWYNDQorCXN0cnVjdCBwcm9jICpwOw0NCiAN DQogCXN4X2Fzc2VydCgmcHJvY3RyZWVfbG9jaywgU1hfWExPQ0tFRCk7DQ0KIAlQUk9DX0xPQ0tf QVNTRVJUKGNoaWxkLCBNQV9PV05FRCk7DQ0KQEAgLTk1Miw1ICs5ODYsMTcgQEAgcHJvY19yZXBh cmVudChzdHJ1Y3QgcHJvYyAqY2hpbGQsIHN0cnVjdCBwcm9jICpwYXINDQogCVBST0NfVU5MT0NL KGNoaWxkLT5wX3BwdHIpOw0NCiAJTElTVF9SRU1PVkUoY2hpbGQsIHBfc2libGluZyk7DQ0KIAlM SVNUX0lOU0VSVF9IRUFEKCZwYXJlbnQtPnBfY2hpbGRyZW4sIGNoaWxkLCBwX3NpYmxpbmcpOw0N CisNDQorCUxJU1RfRk9SRUFDSChwLCAmcGFyZW50LT5wX29ycGhhbnMsIHBfb3JwaGFuKSB7DQ0K KwkJaWYgKHAgPT0gY2hpbGQpIHsNDQorCQkJTElTVF9SRU1PVkUoY2hpbGQsIHBfb3JwaGFuKTsN DQorCQkJYnJlYWs7DQ0KKwkJfQ0NCisJfQ0NCisJaWYgKGNoaWxkLT5wX2ZsYWcgJiBQX1RSQUNF RCkgew0NCisJCUxJU1RfSU5TRVJUX0hFQUQoJmNoaWxkLT5wX3BwdHItPnBfb3JwaGFucywgY2hp bGQsIHBfb3JwaGFuKTsNDQorCQlQUk9DX1VOTE9DSyhjaGlsZCk7DQ0KKwkJUFJPQ19MT0NLKGNo aWxkKTsNDQorCX0NDQogCWNoaWxkLT5wX3BwdHIgPSBwYXJlbnQ7DQ0KIH0NDQpJbmRleDogc3lz L2tlcm4va2Vybl9leGVjLmMNDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQ0KLS0tIHN5cy9rZXJuL2tlcm5fZXhlYy5j CShyZXZpc2lvbiAyMjUxODkpDQ0KKysrIHN5cy9rZXJuL2tlcm5fZXhlYy5jCSh3b3JraW5nIGNv cHkpDQ0KQEAgLTU1LDYgKzU1LDcgQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOw0NCiAjaW5jbHVk ZSA8c3lzL3ByaXYuaD4NDQogI2luY2x1ZGUgPHN5cy9wcm9jLmg+DQ0KICNpbmNsdWRlIDxzeXMv cGlvY3RsLmg+DQ0KKyNpbmNsdWRlIDxzeXMvcHRyYWNlLmg+DQ0KICNpbmNsdWRlIDxzeXMvbmFt ZWkuaD4NDQogI2luY2x1ZGUgPHN5cy9yZXNvdXJjZXZhci5oPg0NCiAjaW5jbHVkZSA8c3lzL3Nk dC5oPg0NCkBAIC04OTUsMTYgKzg5NiwyMiBAQCBleGVjX2ZhaWxfZGVhbGxvYzoNDQogCWZyZWUo aW1ncC0+ZnJlZXBhdGgsIE1fVEVNUCk7DQ0KIA0NCiAJaWYgKGVycm9yID09IDApIHsNDQorCQlp ZiAoKHAtPnBfZmxhZyAmIChQX1RSQUNFRCB8IFBfRk9MTE9XRVhFQykpID09IA0NCisJCSAgICAo UF9UUkFDRUQgfAlQX0ZPTExPV0VYRUMpKSB7DQ0KKwkJCVBST0NfTE9DSyhwKTsNDQorCQkJdGQt PnRkX2RiZ2ZsYWdzIHw9IFREQl9FWEVDOw0NCisJCQlQUk9DX1VOTE9DSyhwKTsNDQorCQl9DQ0K KyAJCS8qDQ0KKyAJCSAqIFN0b3AgdGhlIHByb2Nlc3MgaGVyZSBpZiBpdHMgc3RvcCBldmVudCBt YXNrIGhhcw0NCisgCQkgKiB0aGUgU19FWEVDIGJpdCBzZXQuDQ0KKyAJCSAqLw0NCisgCQlTVE9Q RVZFTlQocCwgU19FWEVDLCAwKTsNDQorCQlQVFJBQ0VTVE9QX1NDKHAsIHRkLCBTX1BUX0VYRUMp Ow0NCiAJCVBST0NfTE9DSyhwKTsNDQotCQl0ZC0+dGRfZGJnZmxhZ3MgfD0gVERCX0VYRUM7DQ0K KwkJdGQtPnRkX2RiZ2ZsYWdzICY9IH5UREJfRVhFQzsNDQogCQlQUk9DX1VOTE9DSyhwKTsNDQot DQ0KLQkJLyoNDQotCQkgKiBTdG9wIHRoZSBwcm9jZXNzIGhlcmUgaWYgaXRzIHN0b3AgZXZlbnQg bWFzayBoYXMNDQotCQkgKiB0aGUgU19FWEVDIGJpdCBzZXQuDQ0KLQkJICovDQ0KLQkJU1RPUEVW RU5UKHAsIFNfRVhFQywgMCk7DQ0KLQkJZ290byBkb25lMjsNDQorIAkJZ290byBkb25lMjsNDQog CX0NDQogDQ0KIGV4ZWNfZmFpbDoNDQpJbmRleDogc3lzL2tlcm4va2Vybl9mb3JrLmMNDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQ0KLS0tIHN5cy9rZXJuL2tlcm5fZm9yay5jCShyZXZpc2lvbiAyMjUxODkpDQ0KKysr IHN5cy9rZXJuL2tlcm5fZm9yay5jCSh3b3JraW5nIGNvcHkpDQ0KQEAgLTU5LDYgKzU5LDcgQEAg X19GQlNESUQoIiRGcmVlQlNEJCIpOw0NCiAjaW5jbHVkZSA8c3lzL3Byb2MuaD4NDQogI2luY2x1 ZGUgPHN5cy9wcm9jZGVzYy5oPg0NCiAjaW5jbHVkZSA8c3lzL3Bpb2N0bC5oPg0NCisjaW5jbHVk ZSA8c3lzL3B0cmFjZS5oPg0NCiAjaW5jbHVkZSA8c3lzL3JhY2N0Lmg+DQ0KICNpbmNsdWRlIDxz eXMvcmVzb3VyY2V2YXIuaD4NDQogI2luY2x1ZGUgPHN5cy9zY2hlZC5oPg0NCkBAIC01OTAsNiAr NTkxLDcgQEAgZG9fZm9yayhzdHJ1Y3QgdGhyZWFkICp0ZCwgaW50IGZsYWdzLCBzdHJ1Y3QgcHJv Yw0NCiAJTElTVF9JTlNFUlRfQUZURVIocDEsIHAyLCBwX3BnbGlzdCk7DQ0KIAlQR1JQX1VOTE9D SyhwMS0+cF9wZ3JwKTsNDQogCUxJU1RfSU5JVCgmcDItPnBfY2hpbGRyZW4pOw0NCisJTElTVF9J TklUKCZwMi0+cF9vcnBoYW5zKTsNDQogDQ0KIAljYWxsb3V0X2luaXQoJnAyLT5wX2l0Y2FsbG91 dCwgQ0FMTE9VVF9NUFNBRkUpOw0NCiANDQpAQCAtNzAyLDcgKzcwNCw4IEBAIGRvX2Zvcmsoc3Ry dWN0IHRocmVhZCAqdGQsIGludCBmbGFncywgc3RydWN0IHByb2MNDQogCQkgKiBmb3IgcnVuYXdh eSBjaGlsZC4NDQogCQkgKi8NDQogCQl0ZC0+dGRfZGJnZmxhZ3MgfD0gVERCX0ZPUks7DQ0KLQkJ dGQtPnRkX2RiZ19mb3JrZWQgPSBwMi0+cF9waWQ7DQ0KKwkJdGQyLT50ZF9kYmdmbGFncyB8PSBU REJfRk9SSzsNDQorCQl0ZC0+dGRfZGJnX2ZvcmtlZCA9IHRkMi0+dGRfZGJnX2ZvcmtlZCA9IHAy LT5wX3BpZDsNDQogCQl0ZDItPnRkX2RiZ2ZsYWdzIHw9IFREQl9TVE9QQVRGT1JLOw0NCiAJCV9Q SE9MRChwMik7DQ0KIAkJcDJfaGVsZCA9IDE7DQ0KQEAgLTczMSw2ICs3MzQsMTMgQEAgZG9fZm9y ayhzdHJ1Y3QgdGhyZWFkICp0ZCwgaW50IGZsYWdzLCBzdHJ1Y3QgcHJvYw0NCiAJa25vdGVfZm9y aygmcDEtPnBfa2xpc3QsIHAyLT5wX3BpZCk7DQ0KIAlTRFRfUFJPQkUocHJvYywga2VybmVsLCAs IGNyZWF0ZSwgcDIsIHAxLCBmbGFncywgMCwgMCk7DQ0KIA0NCisJaWYgKHRkLT50ZF9kYmdmbGFn cyAmIFREQl9GT1JLKSB7DQ0KKwkJUFRSQUNFU1RPUF9TQyhwMSwgdGQsIFNfUFRfRk9SSyk7DQ0K KwkJUFJPQ19MT0NLKHAxKTsNDQorCQl0ZC0+dGRfZGJnZmxhZ3MgJj0gflREQl9GT1JLOw0NCisJ CVBST0NfVU5MT0NLKHAxKTsNDQorCX0NDQorDQ0KIAkvKg0NCiAJICogV2FpdCB1bnRpbCBkZWJ1 Z2dlciBpcyBhdHRhY2hlZCB0byBjaGlsZC4NDQogCSAqLw0NCkBAIC03OTcsNiArODA3LDEwIEBA IGZvcmsxKHN0cnVjdCB0aHJlYWQgKnRkLCBpbnQgZmxhZ3MsIGludCBwYWdlcywgc3RyDQ0KIA0N CiAJcDEgPSB0ZC0+dGRfcHJvYzsNDQogDQ0KKwkvKiBEb24ndCBkbyB2Zm9yayB3aGlsZSBiZWlu ZyB0cmFjZWQuICovDQ0KKwlpZiAocDEtPnBfZmxhZyAmIFBfVFJBQ0VEKQ0NCisJCWZsYWdzICY9 IH4oUkZQUFdBSVQgfCBSRk1FTSk7DQ0KKw0NCiAJLyoNDQogCSAqIEhlcmUgd2UgZG9uJ3QgY3Jl YXRlIGEgbmV3IHByb2Nlc3MsIGJ1dCB3ZSBkaXZvcmNlDQ0KIAkgKiBjZXJ0YWluIHBhcnRzIG9m IGEgcHJvY2VzcyBmcm9tIGl0c2VsZi4NDQpAQCAtMTA2Niw2ICsxMDgwLDcgQEAgZm9ya19yZXR1 cm4oc3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCB0cmFwZnJhbWUgKmYNDQogCQkJcHJvY19yZXBh cmVudChwLCBkYmcpOw0NCiAJCQlzeF94dW5sb2NrKCZwcm9jdHJlZV9sb2NrKTsNDQogCQkJcHRy YWNlc3RvcCh0ZCwgU0lHU1RPUCk7DQ0KKwkJCXRkLT50ZF9kYmdmbGFncyAmPSB+VERCX0ZPUks7 DQ0KIAkJfSBlbHNlIHsNDQogCQkJLyoNDQogCQkJICogLi4uIG90aGVyd2lzZSBjbGVhciB0aGUg cmVxdWVzdC4NDQpJbmRleDogc3lzL2tlcm4vc3lzX3Byb2Nlc3MuYw0NCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NDQot LS0gc3lzL2tlcm4vc3lzX3Byb2Nlc3MuYwkocmV2aXNpb24gMjI1MTg5KQ0NCisrKyBzeXMva2Vy bi9zeXNfcHJvY2Vzcy5jCSh3b3JraW5nIGNvcHkpDQ0KQEAgLTY2MCw2ICs2NjAsNyBAQCBrZXJu X3B0cmFjZShzdHJ1Y3QgdGhyZWFkICp0ZCwgaW50IHJlcSwgcGlkX3QgcGlkLA0NCiAJY2FzZSBQ VF9UT19TQ1g6DQ0KIAljYXNlIFBUX1NZU0NBTEw6DQ0KIAljYXNlIFBUX0ZPTExPV19GT1JLOg0N CisJY2FzZSBQVF9GT0xMT1dfRVhFQzoNDQogCWNhc2UgUFRfREVUQUNIOg0NCiAJCXN4X3hsb2Nr KCZwcm9jdHJlZV9sb2NrKTsNDQogCQlwcm9jdHJlZV9sb2NrZWQgPSAxOw0NCkBAIC04NDEsOCAr ODQyLDYgQEAga2Vybl9wdHJhY2Uoc3RydWN0IHRocmVhZCAqdGQsIGludCByZXEsIHBpZF90IHBp ZCwNDQogCQlwLT5wX2ZsYWcgfD0gUF9UUkFDRUQ7DQ0KIAkJcC0+cF9vcHBpZCA9IHAtPnBfcHB0 ci0+cF9waWQ7DQ0KIAkJaWYgKHAtPnBfcHB0ciAhPSB0ZC0+dGRfcHJvYykgew0NCi0JCQkvKiBS ZW1lbWJlciB0aGF0IGEgY2hpbGQgaXMgYmVpbmcgZGVidWdnZWQodHJhY2VkKS4gKi8NDQotCQkJ cC0+cF9wcHRyLT5wX2RiZ19jaGlsZCsrOw0NCiAJCQlwcm9jX3JlcGFyZW50KHAsIHRkLT50ZF9w cm9jKTsNDQogCQl9DQ0KIAkJZGF0YSA9IFNJR1NUT1A7DQ0KQEAgLTg2OCwxMiArODY3LDI4IEBA IGtlcm5fcHRyYWNlKHN0cnVjdCB0aHJlYWQgKnRkLCBpbnQgcmVxLCBwaWRfdCBwaWQsDQ0KIAkJ YnJlYWs7DQ0KIA0NCiAJY2FzZSBQVF9GT0xMT1dfRk9SSzoNDQotCQlpZiAoZGF0YSkNDQorCQlp ZiAoZGF0YSkgew0NCiAJCQlwLT5wX2ZsYWcgfD0gUF9GT0xMT1dGT1JLOw0NCi0JCWVsc2UNDQor CQkJcC0+cF9zdG9wcyB8PSBTX1BUX0ZPUks7DQ0KKwkJfQ0NCisJCWVsc2Ugew0NCiAJCQlwLT5w X2ZsYWcgJj0gflBfRk9MTE9XRk9SSzsNDQorCQkJcC0+cF9zdG9wcyAmPSB+U19QVF9GT1JLOw0N CisJCX0NDQogCQlicmVhazsNDQogDQ0KKwljYXNlIFBUX0ZPTExPV19FWEVDOg0NCisJCWlmIChk YXRhKSB7DQ0KKwkJCXAtPnBfZmxhZyB8PSBQX0ZPTExPV0VYRUM7DQ0KKwkJCXAtPnBfc3RvcHMg fD0gU19QVF9FWEVDOw0NCisJCX0NDQorCQllbHNlIHsNDQorCQkJcC0+cF9mbGFnICY9IH5QX0ZP TExPV0VYRUM7DQ0KKwkJCXAtPnBfc3RvcHMgJj0gflNfUFRfRVhFQzsNDQorCQl9DQ0KKwkJYnJl YWs7DQ0KKw0NCisNDQogCWNhc2UgUFRfU1RFUDoNDQogCWNhc2UgUFRfQ09OVElOVUU6DQ0KIAlj YXNlIFBUX1RPX1NDRToNDQpAQCAtOTMxLDEyICs5NDYsMTIgQEAga2Vybl9wdHJhY2Uoc3RydWN0 IHRocmVhZCAqdGQsIGludCByZXEsIHBpZF90IHBpZCwNDQogCQkJCQlQUk9DX1VOTE9DSyhwcCk7 DQ0KIAkJCQlQUk9DX0xPQ0socCk7DQ0KIAkJCQlwcm9jX3JlcGFyZW50KHAsIHBwKTsNDQotCQkJ CXAtPnBfcHB0ci0+cF9kYmdfY2hpbGQtLTsNDQogCQkJCWlmIChwcCA9PSBpbml0cHJvYykNDQog CQkJCQlwLT5wX3NpZ3BhcmVudCA9IFNJR0NITEQ7DQ0KIAkJCX0NDQogCQkJcC0+cF9vcHBpZCA9 IDA7DQ0KLQkJCXAtPnBfZmxhZyAmPSB+KFBfVFJBQ0VEIHwgUF9XQUlURUQgfCBQX0ZPTExPV0ZP UkspOw0NCisJCQlwLT5wX2ZsYWcgJj0gfihQX1RSQUNFRCB8IFBfV0FJVEVEIHwgUF9GT0xMT1dG T1JLIHwgDQ0KKwkJCQkgICAgICAgUF9GT0xMT1dFWEVDKTsNDQogDQ0KIAkJCS8qIHNob3VsZCB3 ZSBzZW5kIFNJR0NITEQ/ICovDQ0KIAkJCS8qIGNoaWxkcHJvY19jb250aW51ZWQocCk7ICovDQ0K SW5kZXg6IHN5cy9rZXJuL3N5c19wcm9jZGVzYy5jDQ0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0NCi0tLSBzeXMva2Vy bi9zeXNfcHJvY2Rlc2MuYwkocmV2aXNpb24gMjI1MTg5KQ0NCisrKyBzeXMva2Vybi9zeXNfcHJv Y2Rlc2MuYwkod29ya2luZyBjb3B5KQ0NCkBAIC0zNjcsNyArMzY3LDcgQEAgcHJvY2Rlc2NfY2xv c2Uoc3RydWN0IGZpbGUgKmZwLCBzdHJ1Y3QgdGhyZWFkICp0ZCkNDQogCQkgKiBwcm9jZGVzY19y ZWFwKCkuDQ0KIAkJICovDQ0KIAkJUFJPQ19TTE9DSyhwKTsNDQotCQlwcm9jX3JlYXAoY3VydGhy ZWFkLCBwLCBOVUxMLCAwLCBOVUxMKTsNDQorCQlwcm9jX3JlYXAoY3VydGhyZWFkLCBwLCBOVUxM LCAwLCBOVUxMLCAwKTsNDQogCX0gZWxzZSB7DQ0KIAkJLyoNDQogCQkgKiBJZiB0aGUgcHJvY2Vz cyBpcyBub3QgeWV0IGRlYWQsIHdlIG5lZWQgdG8ga2lsbCBpdCwgYnV0IHdlDQ0KSW5kZXg6IHN5 cy9zeXMvcHJvYy5oDQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0NCi0tLSBzeXMvc3lzL3Byb2MuaAkocmV2aXNpb24g MjI1MTg5KQ0NCisrKyBzeXMvc3lzL3Byb2MuaAkod29ya2luZyBjb3B5KQ0NCkBAIC01MDQsOCAr NTA0LDYgQEAgc3RydWN0IHByb2Mgew0NCiAvKiBUaGUgZm9sbG93aW5nIGZpZWxkcyBhcmUgYWxs IHplcm9lZCB1cG9uIGNyZWF0aW9uIGluIGZvcmsuICovDQ0KICNkZWZpbmUJcF9zdGFydHplcm8J cF9vcHBpZA0NCiAJcGlkX3QJCXBfb3BwaWQ7CS8qIChjICsgZSkgU2F2ZSBwcGlkIGluIHB0cmFj ZS4gWFhYICovDQ0KLQlpbnQJCXBfZGJnX2NoaWxkOwkvKiAoYyArIGUpICMgb2YgZGVidWdnZWQg Y2hpbGRyZW4gaW4NDQotCQkJCQkJCXB0cmFjZS4gKi8NDQogCXN0cnVjdCB2bXNwYWNlCSpwX3Zt c3BhY2U7CS8qIChiKSBBZGRyZXNzIHNwYWNlLiAqLw0NCiAJdV9pbnQJCXBfc3d0aWNrOwkvKiAo YykgVGljayB3aGVuIHN3YXBwZWQgaW4gb3Igb3V0LiAqLw0NCiAJc3RydWN0IGl0aW1lcnZhbCBw X3JlYWx0aW1lcjsJLyogKGMpIEFsYXJtIHRpbWVyLiAqLw0NCkBAIC01NzMsNiArNTcxLDggQEAg c3RydWN0IHByb2Mgew0NCiAJCQkJCSAgIGFmdGVyIGZvcmsuICovDQ0KIAl1aW50NjRfdAlwX3By ZXZfcnVudGltZTsJLyogKGMpIFJlc291cmNlIHVzYWdlIGFjY291bnRpbmcuICovDQ0KIAlzdHJ1 Y3QgcmFjY3QJKnBfcmFjY3Q7CS8qIChiKSBSZXNvdXJjZSBhY2NvdW50aW5nLiAqLw0NCisJTElT VF9FTlRSWShwcm9jKSBwX29ycGhhbjsJLyogKGUpIExpc3Qgb2Ygb3JwaGFuIHByb2Nlc3Nlcy4g Ki8NDQorCUxJU1RfSEVBRCgsIHByb2MpIHBfb3JwaGFuczsJLyogKGUpIFBvaW50ZXIgdG8gbGlz dCBvZiBvcnBoYW5zLiAqLw0NCiB9Ow0NCiANDQogI2RlZmluZQlwX3Nlc3Npb24JcF9wZ3JwLT5w Z19zZXNzaW9uDQ0KQEAgLTYxNiw2ICs2MTYsNyBAQCBzdHJ1Y3QgcHJvYyB7DQ0KICNkZWZpbmUJ UF9JTk1FTQkJMHgxMDAwMDAwMCAvKiBMb2FkZWQgaW50byBtZW1vcnkuICovDQ0KICNkZWZpbmUJ UF9TV0FQUElOR09VVAkweDIwMDAwMDAwIC8qIFByb2Nlc3MgaXMgYmVpbmcgc3dhcHBlZCBvdXQu ICovDQ0KICNkZWZpbmUJUF9TV0FQUElOR0lOCTB4NDAwMDAwMDAgLyogUHJvY2VzcyBpcyBiZWlu ZyBzd2FwcGVkIGluLiAqLw0NCisjZGVmaW5lCVBfRk9MTE9XRVhFQwkweDgwMDAwMDAwIC8qIE5v dGlmeSBkZWJ1Z2dlciBvZiBleGVjIGV2ZW50cy4gKi8NDQogDQ0KICNkZWZpbmUJUF9TVE9QUEVE CShQX1NUT1BQRURfU0lHfFBfU1RPUFBFRF9TSU5HTEV8UF9TVE9QUEVEX1RSQUNFKQ0NCiAjZGVm aW5lCVBfU0hPVUxEU1RPUChwKQkoKHApLT5wX2ZsYWcgJiBQX1NUT1BQRUQpDQ0KQEAgLTg0Nyw3 ICs4NDgsNyBAQCB2b2lkCXByb2Npbml0KHZvaWQpOw0NCiB2b2lkCXByb2NfbGlua3VwMChzdHJ1 Y3QgcHJvYyAqcCwgc3RydWN0IHRocmVhZCAqdGQpOw0NCiB2b2lkCXByb2NfbGlua3VwKHN0cnVj dCBwcm9jICpwLCBzdHJ1Y3QgdGhyZWFkICp0ZCk7DQ0KIHZvaWQJcHJvY19yZWFwKHN0cnVjdCB0 aHJlYWQgKnRkLCBzdHJ1Y3QgcHJvYyAqcCwgaW50ICpzdGF0dXMsIGludCBvcHRpb25zLA0NCi0J ICAgIHN0cnVjdCBydXNhZ2UgKnJ1c2FnZSk7DQ0KKwkgICAgc3RydWN0IHJ1c2FnZSAqcnVzYWdl LCBpbnQgY2hpbGQpOw0NCiB2b2lkCXByb2NfcmVwYXJlbnQoc3RydWN0IHByb2MgKmNoaWxkLCBz dHJ1Y3QgcHJvYyAqbmV3cGFyZW50KTsNDQogc3RydWN0CXBzdGF0cyAqcHN0YXRzX2FsbG9jKHZv aWQpOw0NCiB2b2lkCXBzdGF0c19mb3JrKHN0cnVjdCBwc3RhdHMgKnNyYywgc3RydWN0IHBzdGF0 cyAqZHN0KTsNDQpJbmRleDogc3lzL3N5cy9wdHJhY2UuaA0NCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NDQotLS0gc3lz L3N5cy9wdHJhY2UuaAkocmV2aXNpb24gMjI1MTg5KQ0NCisrKyBzeXMvc3lzL3B0cmFjZS5oCSh3 b3JraW5nIGNvcHkpDQ0KQEAgLTY0LDYgKzY0LDcgQEANDQogI2RlZmluZQlQVF9TWVNDQUxMCTIy DQ0KIA0NCiAjZGVmaW5lCVBUX0ZPTExPV19GT1JLCTIzDQ0KKyNkZWZpbmUJUFRfRk9MTE9XX0VY RUMgIDI0DQ0KIA0NCiAjZGVmaW5lIFBUX0dFVFJFR1MgICAgICAzMwkvKiBnZXQgZ2VuZXJhbC1w dXJwb3NlIHJlZ2lzdGVycyAqLw0NCiAjZGVmaW5lIFBUX1NFVFJFR1MgICAgICAzNAkvKiBzZXQg Z2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyAqLw0NCkBAIC0xMDYsNyArMTA3LDcgQEAgc3RydWN0 IHB0cmFjZV9sd3BpbmZvIHsNDQogI2RlZmluZQlQTF9GTEFHX1NDWAkweDA4CS8qIHN5c2NhbGwg bGVhdmUgcG9pbnQgKi8NDQogI2RlZmluZQlQTF9GTEFHX0VYRUMJMHgxMAkvKiBleGVjKDIpIHN1 Y2NlZWRlZCAqLw0NCiAjZGVmaW5lCVBMX0ZMQUdfU0kJMHgyMAkvKiBzaWdpbmZvIGlzIHZhbGlk ICovDQ0KLSNkZWZpbmUJUExfRkxBR19GT1JLRUQJMHg0MAkvKiBuZXcgY2hpbGQgKi8NDQorI2Rl ZmluZQlQTF9GTEFHX0ZPUktFRAkweDQwCS8qIG5ldyBjaGlsZCBmcm9tIGZvcmsoKSAqLw0NCiAJ c2lnc2V0X3QJcGxfc2lnbWFzazsJLyogTFdQIHNpZ25hbCBtYXNrICovDQ0KIAlzaWdzZXRfdAlw bF9zaWdsaXN0OwkvKiBMV1AgcGVuZGluZyBzaWduYWwgKi8NDQogCXN0cnVjdCBfX3NpZ2luZm8g cGxfc2lnaW5mbzsJLyogc2lnaW5mbyBmb3Igc2lnbmFsICovDQ0KQEAgLTE0Miw2ICsxNDMsOCBA QCBzdHJ1Y3QgcHRyYWNlX3ZtX2VudHJ5IHsNDQogICovDQ0KICNkZWZpbmUJU19QVF9TQ0UJMHgw MDAwMTAwMDANDQogI2RlZmluZQlTX1BUX1NDWAkweDAwMDAyMDAwMA0NCisjZGVmaW5lCVNfUFRf Rk9SSwkweDAwMDA0MDAwMA0NCisjZGVmaW5lCVNfUFRfRVhFQwkweDAwMDA4MDAwMA0NCiANDQog aW50CXB0cmFjZV9zZXRfcGMoc3RydWN0IHRocmVhZCAqX3RkLCB1bnNpZ25lZCBsb25nIF9hZGRy KTsNDQogaW50CXB0cmFjZV9zaW5nbGVfc3RlcChzdHJ1Y3QgdGhyZWFkICpfdGQpOw0NCg== --_002_749E238AA85F42649DEBBCE1BBD21C9Djunipernet_--