From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?utf-8?B?bGl1anVubGlhbmdfbGps?=" Subject: =?utf-8?B?UmU6IFJlOiBbUEFUQ0hdIFVTQjJORVQgOiBTUjk3MDAgOiBPbmUgY2hpcCBVU0IgMS4xIFVTQjJORVQgU1I5NzAwRGV2aWNlIERyaXZlciBTdXBwb3J0?= Date: Mon, 26 Aug 2013 10:14:35 +0800 Message-ID: <201308261014331251822@163.com> References: <1377343560-10524-1-git-send-email-liujunliang_ljl@163.com>, <1377368111.1757.2.camel@joe-AO722> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "=?utf-8?B?ZGF2ZW0=?=" , "=?utf-8?B?aG9ybXM=?=" , "=?utf-8?B?cm9taWV1?=" , "=?utf-8?B?Z3JlZ2to?=" , "=?utf-8?B?bmV0ZGV2?=" , "=?utf-8?B?bGludXgtdXNi?=" , "=?utf-8?B?bGludXgta2VybmVs?=" , "=?utf-8?B?c3VuaGVjaGVuZw==?=" To: "=?utf-8?B?Sm9lIFBlcmNoZXM=?=" Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org RGVhciAgICBKb2UgOg0KCQkNCgkJCUknbSBzb3JyeSB0byBhc2sgeW91IHRoYXQsIGRvIHlvdSBu ZWVkIG1lIHRvIG1lcmdlIHRoZSBwYXRjaCBhbmQgcmUtc2VuZCBpdCBhZ2Fpbi4NCg0KCQlBbmQg d2hpY2ggdmVyc2lvbiBvZiBrZXJuZWwgd2lsbCByZWxlYXNlIHRoaXMgZHJpdmVyLg0KCQ0KCQkJ VGhhbmtzIGEgbG90IGFuZCBhcG9sb2dpemluZyBmb3IgbWFraW5nIHlvdSB0cm91YmxlLg0KDQoJ CQlUaGFua3MgYWdhaW4uDQoNCg0KMjAxMy0wOC0yNiANCg0KDQoNCmxpdWp1bmxpYW5nX2xqbCAN Cg0KDQoNCuWPkeS7tuS6uu+8miBKb2UgUGVyY2hlcyANCuWPkemAgeaXtumXtO+8miAyMDEzLTA4 LTI1ICAwMjoxNToxOSANCuaUtuS7tuS6uu+8miBsaXVqdW5saWFuZ19samwgDQrmioTpgIHvvJog ZGF2ZW07IGhvcm1zOyByb21pZXU7IGdyZWdraDsgbmV0ZGV2OyBsaW51eC11c2I7IGxpbnV4LWtl cm5lbDsgc3VuaGVjaGVuZyANCuS4u+mimO+8miBSZTogW1BBVENIXSBVU0IyTkVUIDogU1I5NzAw IDogT25lIGNoaXAgVVNCIDEuMSBVU0IyTkVUIFNSOTcwMERldmljZSBEcml2ZXIgU3VwcG9ydCAN CiANClNvbWUgd2hpdGVzcGFjZSBhbmQgbmVhdGVuaW5nIGZpeHVwcy4NClNvbWUgY29udmVyc2lv bnMgZnJvbSA0IGluZGVudCB0YWJzIHRvIG5vcm1hbCB0YWJzDQpTaWduZWQtb2ZmLWJ5OiBKb2Ug UGVyY2hlcyA8am9lQHBlcmNoZXMuY29tPg0KLS0tDQpKdXN0IGRvaW5nIHRoaXMgaW5zdGVhZCBv ZiBjb21tZW50aW5nIGFib3V0IHNwYWNpbmcNCmFnYWluLg0KIGRyaXZlcnMvbmV0L3VzYi9zcjk3 MDAuYyB8IDEyNyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KIDEgZmlsZSBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2Ivc3I5NzAwLmMgYi9kcml2ZXJzL25ldC91c2Ivc3I5 NzAwLmMNCmluZGV4IDI3Yzg2ZWMuLjQyNjJiOWQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC91 c2Ivc3I5NzAwLmMNCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9zcjk3MDAuYw0KQEAgLTI5LDcgKzI5 LDcgQEAgc3RhdGljIGludCBzcl9yZWFkKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggcmVnLCB1MTYg bGVuZ3RoLCB2b2lkICpkYXRhKQ0KICBpbnQgZXJyOw0KDQogIGVyciA9IHVzYm5ldF9yZWFkX2Nt ZChkZXYsIFNSX1JEX1JFR1MsIFNSX1JFUV9SRF9SRUcsDQotIDAsIHJlZywgZGF0YSwgbGVuZ3Ro KTsNCisgICAgICAgMCwgcmVnLCBkYXRhLCBsZW5ndGgpOw0KICBpZiAoKGVyciAhPSBsZW5ndGgp ICYmIChlcnIgPj0gMCkpDQogIGVyciA9IC1FSU5WQUw7DQogIHJldHVybiBlcnI7DQpAQCAtNDAs NyArNDAsNyBAQCBzdGF0aWMgaW50IHNyX3dyaXRlKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggcmVn LCB1MTYgbGVuZ3RoLCB2b2lkICpkYXRhKQ0KICBpbnQgZXJyOw0KDQogIGVyciA9IHVzYm5ldF93 cml0ZV9jbWQoZGV2LCBTUl9XUl9SRUdTLCBTUl9SRVFfV1JfUkVHLA0KLSAwLCByZWcsIGRhdGEs IGxlbmd0aCk7DQorICAgICAgICAwLCByZWcsIGRhdGEsIGxlbmd0aCk7DQogIGlmICgoZXJyID49 IDApICYmIChlcnIgPCBsZW5ndGgpKQ0KICBlcnIgPSAtRUlOVkFMOw0KICByZXR1cm4gZXJyOw0K QEAgLTU0LDE5ICs1NCwxOSBAQCBzdGF0aWMgaW50IHNyX3JlYWRfcmVnKHN0cnVjdCB1c2JuZXQg KmRldiwgdTggcmVnLCB1OCAqdmFsdWUpDQogc3RhdGljIGludCBzcl93cml0ZV9yZWcoc3RydWN0 IHVzYm5ldCAqZGV2LCB1OCByZWcsIHU4IHZhbHVlKQ0KIHsNCiAgcmV0dXJuIHVzYm5ldF93cml0 ZV9jbWQoZGV2LCBTUl9XUl9SRUdTLCBTUl9SRVFfV1JfUkVHLA0KLSB2YWx1ZSwgcmVnLCBOVUxM LCAwKTsNCisgdmFsdWUsIHJlZywgTlVMTCwgMCk7DQogfQ0KDQogc3RhdGljIHZvaWQgc3Jfd3Jp dGVfYXN5bmMoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCByZWcsIHUxNiBsZW5ndGgsIHZvaWQgKmRh dGEpDQogew0KICB1c2JuZXRfd3JpdGVfY21kX2FzeW5jKGRldiwgU1JfV1JfUkVHUywgU1JfUkVR X1dSX1JFRywNCi0gMCwgcmVnLCBkYXRhLCBsZW5ndGgpOw0KKyAgICAgICAgMCwgcmVnLCBkYXRh LCBsZW5ndGgpOw0KIH0NCg0KIHN0YXRpYyB2b2lkIHNyX3dyaXRlX3JlZ19hc3luYyhzdHJ1Y3Qg dXNibmV0ICpkZXYsIHU4IHJlZywgdTggdmFsdWUpDQogew0KICB1c2JuZXRfd3JpdGVfY21kX2Fz eW5jKGRldiwgU1JfV1JfUkVHUywgU1JfUkVRX1dSX1JFRywNCi0gdmFsdWUsIHJlZywgTlVMTCwg MCk7DQorICAgICAgICB2YWx1ZSwgcmVnLCBOVUxMLCAwKTsNCiB9DQoNCiBzdGF0aWMgaW50IHdh aXRfcGh5X2VlcHJvbV9yZWFkeShzdHJ1Y3QgdXNibmV0ICpkZXYsIGludCBwaHkpDQpAQCAtODks NyArODksNyBAQCBzdGF0aWMgaW50IHdhaXRfcGh5X2VlcHJvbV9yZWFkeShzdHJ1Y3QgdXNibmV0 ICpkZXYsIGludCBwaHkpDQoNCiAgaWYgKGkgPj0gU1JfU0hBUkVfVElNRU9VVCkgew0KICBuZXRk ZXZfZXJyKGRldi0+bmV0LCAiJXMgd3JpdGUgdGltZWQgb3V0IVxuIiwNCi0gcGh5ID8gInBoeSIg OiAiZWVwcm9tIik7DQorICAgIHBoeSA/ICJwaHkiIDogImVlcHJvbSIpOw0KICByZXQgPSAtRUlP Ow0KICBnb3RvIG91dDsNCiAgfQ0KQEAgLTk4LDcgKzk4LDggQEAgb3V0Og0KICByZXR1cm4gcmV0 Ow0KIH0NCg0KLXN0YXRpYyBpbnQgc3Jfc2hhcmVfcmVhZF93b3JkKHN0cnVjdCB1c2JuZXQgKmRl diwgaW50IHBoeSwgdTggcmVnLCBfX2xlMTYgKnZhbHVlKQ0KK3N0YXRpYyBpbnQgc3Jfc2hhcmVf cmVhZF93b3JkKHN0cnVjdCB1c2JuZXQgKmRldiwgaW50IHBoeSwgdTggcmVnLA0KKyAgICAgICBf X2xlMTYgKnZhbHVlKQ0KIHsNCiAgaW50IHJldDsNCg0KQEAgLTExNSwxNCArMTE2LDE1IEBAIHN0 YXRpYyBpbnQgc3Jfc2hhcmVfcmVhZF93b3JkKHN0cnVjdCB1c2JuZXQgKmRldiwgaW50IHBoeSwg dTggcmVnLCBfX2xlMTYgKnZhbHVlDQogIHJldCA9IHNyX3JlYWQoZGV2LCBFUERSLCAyLCB2YWx1 ZSk7DQoNCiAgbmV0ZGV2X2RiZyhkZXYtPm5ldCwgInJlYWQgc2hhcmVkICVkIDB4JTAyeCByZXR1 cm5lZCAweCUwNHgsICVkXG4iLA0KLSBwaHksIHJlZywgKnZhbHVlLCByZXQpOw0KKyAgICBwaHks IHJlZywgKnZhbHVlLCByZXQpOw0KDQogb3V0Og0KICBtdXRleF91bmxvY2soJmRldi0+cGh5X211 dGV4KTsNCiAgcmV0dXJuIHJldDsNCiB9DQoNCi1zdGF0aWMgaW50IHNyX3NoYXJlX3dyaXRlX3dv cmQoc3RydWN0IHVzYm5ldCAqZGV2LCBpbnQgcGh5LCB1OCByZWcsIF9fbGUxNiB2YWx1ZSkNCitz dGF0aWMgaW50IHNyX3NoYXJlX3dyaXRlX3dvcmQoc3RydWN0IHVzYm5ldCAqZGV2LCBpbnQgcGh5 LCB1OCByZWcsDQorICAgICAgICBfX2xlMTYgdmFsdWUpDQogew0KICBpbnQgcmV0Ow0KDQpAQCAt MTU2LDcgKzE1OCw4IEBAIHN0YXRpYyBpbnQgc3I5NzAwX2dldF9lZXByb21fbGVuKHN0cnVjdCBu ZXRfZGV2aWNlICpkZXYpDQogIHJldHVybiBTUl9FRVBST01fTEVOOw0KIH0NCg0KLXN0YXRpYyBp bnQgc3I5NzAwX2dldF9lZXByb20oc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgc3RydWN0IGV0aHRv b2xfZWVwcm9tICplZXByb20sIHU4ICpkYXRhKQ0KK3N0YXRpYyBpbnQgc3I5NzAwX2dldF9lZXBy b20oc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwNCisgICAgICBzdHJ1Y3QgZXRodG9vbF9lZXByb20g KmVlcHJvbSwgdTggKmRhdGEpDQogew0KICBzdHJ1Y3QgdXNibmV0ICpkZXYgPSBuZXRkZXZfcHJp dihuZXQpOw0KICBfX2xlMTYgKmVidWYgPSAoX19sZTE2ICopZGF0YTsNCkBAIC0xNjgsNyArMTcx LDggQEAgc3RhdGljIGludCBzcjk3MDBfZ2V0X2VlcHJvbShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0 LCBzdHJ1Y3QgZXRodG9vbF9lZXByb20gKmVlcHINCiAgcmV0dXJuIC1FSU5WQUw7DQoNCiAgZm9y IChpID0gMDsgaSA8IGVlcHJvbS0+bGVuIC8gMjsgaSsrKQ0KLSByZXQgPSBzcl9yZWFkX2VlcHJv bV93b3JkKGRldiwgZWVwcm9tLT5vZmZzZXQgLyAyICsgaSwgJmVidWZbaV0pOw0KKyByZXQgPSBz cl9yZWFkX2VlcHJvbV93b3JkKGRldiwgZWVwcm9tLT5vZmZzZXQgLyAyICsgaSwNCisgICAmZWJ1 ZltpXSk7DQoNCiAgcmV0dXJuIHJldDsNCiB9DQpAQCAtMTk5LDEyICsyMDMsMTMgQEAgc3RhdGlj IGludCBzcl9tZGlvX3JlYWQoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgaW50IHBoeV9pZCwg aW50IGxvYykNCiAgcmVzID0gbGUxNl90b19jcHUocmVzKSAmIH5CTVNSX0xTVEFUVVM7DQoNCiAg bmV0ZGV2X2RiZyhkZXYtPm5ldCwgInNyX21kaW9fcmVhZCgpIHBoeV9pZD0weCUwMngsIGxvYz0w eCUwMngsIHJldHVybnM9MHglMDR4XG4iLA0KLSBwaHlfaWQsIGxvYywgcmVzKTsNCisgICAgcGh5 X2lkLCBsb2MsIHJlcyk7DQoNCiAgcmV0dXJuIHJlczsNCiB9DQoNCi1zdGF0aWMgdm9pZCBzcl9t ZGlvX3dyaXRlKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIGludCBwaHlfaWQsIGludCBsb2Ms IGludCB2YWwpDQorc3RhdGljIHZvaWQgc3JfbWRpb193cml0ZShzdHJ1Y3QgbmV0X2RldmljZSAq bmV0ZGV2LCBpbnQgcGh5X2lkLCBpbnQgbG9jLA0KKyAgIGludCB2YWwpDQogew0KICBzdHJ1Y3Qg dXNibmV0ICpkZXYgPSBuZXRkZXZfcHJpdihuZXRkZXYpOw0KICBfX2xlMTYgcmVzID0gY3B1X3Rv X2xlMTYodmFsKTsNCkBAIC0yMTUsNyArMjIwLDcgQEAgc3RhdGljIHZvaWQgc3JfbWRpb193cml0 ZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCBpbnQgcGh5X2lkLCBpbnQgbG9jLCBpbnQgdmEN CiAgfQ0KDQogIG5ldGRldl9kYmcoZGV2LT5uZXQsICJzcl9tZGlvX3dyaXRlKCkgcGh5X2lkPTB4 JTAyeCwgbG9jPTB4JTAyeCwgdmFsPTB4JTA0eFxuIiwNCi0gcGh5X2lkLCBsb2MsIHZhbCk7DQor ICAgIHBoeV9pZCwgbG9jLCB2YWwpOw0KDQogIHNyX3NoYXJlX3dyaXRlX3dvcmQoZGV2LCAxLCBs b2MsIHJlcyk7DQogfQ0KQEAgLTI0MiwxNSArMjQ3LDE1IEBAIHN0YXRpYyBpbnQgc3I5NzAwX2lv Y3RsKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHN0cnVjdCBpZnJlcSAqcnEsIGludCBjbWQpDQog fQ0KDQogc3RhdGljIGNvbnN0IHN0cnVjdCBldGh0b29sX29wcyBzcjk3MDBfZXRodG9vbF9vcHMg PSB7DQotIC5nZXRfZHJ2aW5mbyA9IHVzYm5ldF9nZXRfZHJ2aW5mbywNCi0gLmdldF9saW5rID0g c3I5NzAwX2dldF9saW5rLA0KLSAuZ2V0X21zZ2xldmVsID0gdXNibmV0X2dldF9tc2dsZXZlbCwN Ci0gLnNldF9tc2dsZXZlbCA9IHVzYm5ldF9zZXRfbXNnbGV2ZWwsDQotIC5nZXRfZWVwcm9tX2xl biA9IHNyOTcwMF9nZXRfZWVwcm9tX2xlbiwNCi0gLmdldF9lZXByb20gPSBzcjk3MDBfZ2V0X2Vl cHJvbSwNCi0gLmdldF9zZXR0aW5ncyA9IHVzYm5ldF9nZXRfc2V0dGluZ3MsDQotIC5zZXRfc2V0 dGluZ3MgPSB1c2JuZXRfc2V0X3NldHRpbmdzLA0KLSAubndheV9yZXNldCA9IHVzYm5ldF9ud2F5 X3Jlc2V0LA0KKyAuZ2V0X2RydmluZm8gPSB1c2JuZXRfZ2V0X2RydmluZm8sDQorIC5nZXRfbGlu ayA9IHNyOTcwMF9nZXRfbGluaywNCisgLmdldF9tc2dsZXZlbCA9IHVzYm5ldF9nZXRfbXNnbGV2 ZWwsDQorIC5zZXRfbXNnbGV2ZWwgPSB1c2JuZXRfc2V0X21zZ2xldmVsLA0KKyAuZ2V0X2VlcHJv bV9sZW4gPSBzcjk3MDBfZ2V0X2VlcHJvbV9sZW4sDQorIC5nZXRfZWVwcm9tID0gc3I5NzAwX2dl dF9lZXByb20sDQorIC5nZXRfc2V0dGluZ3MgPSB1c2JuZXRfZ2V0X3NldHRpbmdzLA0KKyAuc2V0 X3NldHRpbmdzID0gdXNibmV0X3NldF9zZXR0aW5ncywNCisgLm53YXlfcmVzZXQgPSB1c2JuZXRf bndheV9yZXNldCwNCiB9Ow0KDQogc3RhdGljIHZvaWQgc3I5NzAwX3NldF9tdWx0aWNhc3Qoc3Ry dWN0IG5ldF9kZXZpY2UgKm5ldCkNCkBAIC0yNjksNyArMjc0LDcgQEAgc3RhdGljIHZvaWQgc3I5 NzAwX3NldF9tdWx0aWNhc3Qoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCkNCiAgaWYgKG5ldC0+Zmxh Z3MgJiBJRkZfUFJPTUlTQykgew0KICByeF9jdGwgfD0gUkNSX1BSTVNDOw0KICB9IGVsc2UgaWYg KG5ldC0+ZmxhZ3MgJiBJRkZfQUxMTVVMVEkgfHwNCi0gICBuZXRkZXZfbWNfY291bnQobmV0KSA+ IFNSX01DQVNUX01BWCkgew0KKyAgICBuZXRkZXZfbWNfY291bnQobmV0KSA+IFNSX01DQVNUX01B WCkgew0KICByeF9jdGwgfD0gUkNSX1JVTlQ7DQogIH0gZWxzZSBpZiAoIW5ldGRldl9tY19lbXB0 eShuZXQpKSB7DQogIHN0cnVjdCBuZXRkZXZfaHdfYWRkciAqaGE7DQpAQCAtMjkwLDcgKzI5NSw3 IEBAIHN0YXRpYyBpbnQgc3I5NzAwX3NldF9tYWNfYWRkcmVzcyhzdHJ1Y3QgbmV0X2RldmljZSAq bmV0LCB2b2lkICpwKQ0KDQogIGlmICghaXNfdmFsaWRfZXRoZXJfYWRkcihhZGRyLT5zYV9kYXRh KSkgew0KICBuZXRkZXZfZXJyKG5ldCwgIm5vdCBzZXR0aW5nIGludmFsaWQgbWFjIGFkZHJlc3Mg JXBNXG4iLA0KLSBhZGRyLT5zYV9kYXRhKTsNCisgICAgYWRkci0+c2FfZGF0YSk7DQogIHJldHVy biAtRUlOVkFMOw0KICB9DQoNCkBAIC0zMDEsMTUgKzMwNiwxNSBAQCBzdGF0aWMgaW50IHNyOTcw MF9zZXRfbWFjX2FkZHJlc3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgdm9pZCAqcCkNCiB9DQoN CiBzdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIHNyOTcwMF9uZXRkZXZfb3BzID0g ew0KLSAubmRvX29wZW4gPSB1c2JuZXRfb3BlbiwNCi0gLm5kb19zdG9wID0gdXNibmV0X3N0b3As DQotIC5uZG9fc3RhcnRfeG1pdCA9IHVzYm5ldF9zdGFydF94bWl0LA0KLSAubmRvX3R4X3RpbWVv dXQgPSB1c2JuZXRfdHhfdGltZW91dCwNCi0gLm5kb19jaGFuZ2VfbXR1ID0gdXNibmV0X2NoYW5n ZV9tdHUsDQotIC5uZG9fdmFsaWRhdGVfYWRkciA9IGV0aF92YWxpZGF0ZV9hZGRyLA0KLSAubmRv X2RvX2lvY3RsID0gc3I5NzAwX2lvY3RsLA0KLSAubmRvX3NldF9yeF9tb2RlID0gc3I5NzAwX3Nl dF9tdWx0aWNhc3QsDQotIC5uZG9fc2V0X21hY19hZGRyZXNzID0gc3I5NzAwX3NldF9tYWNfYWRk cmVzcywNCisgLm5kb19vcGVuID0gdXNibmV0X29wZW4sDQorIC5uZG9fc3RvcCA9IHVzYm5ldF9z dG9wLA0KKyAubmRvX3N0YXJ0X3htaXQgPSB1c2JuZXRfc3RhcnRfeG1pdCwNCisgLm5kb190eF90 aW1lb3V0ID0gdXNibmV0X3R4X3RpbWVvdXQsDQorIC5uZG9fY2hhbmdlX210dSA9IHVzYm5ldF9j aGFuZ2VfbXR1LA0KKyAubmRvX3ZhbGlkYXRlX2FkZHIgPSBldGhfdmFsaWRhdGVfYWRkciwNCisg Lm5kb19kb19pb2N0bCA9IHNyOTcwMF9pb2N0bCwNCisgLm5kb19zZXRfcnhfbW9kZSA9IHNyOTcw MF9zZXRfbXVsdGljYXN0LA0KKyAubmRvX3NldF9tYWNfYWRkcmVzcyA9IHNyOTcwMF9zZXRfbWFj X2FkZHJlc3MsDQogfTsNCg0KIHN0YXRpYyBpbnQgc3I5NzAwX2JpbmQoc3RydWN0IHVzYm5ldCAq ZGV2LCBzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZikNCkBAIC0zNjAsNyArMzY1LDggQEAgc3Rh dGljIGludCBzcjk3MDBfYmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJm YWNlICppbnRmKQ0KDQogIHNyX21kaW9fd3JpdGUoZGV2LT5uZXQsIGRldi0+bWlpLnBoeV9pZCwg TUlJX0JNQ1IsIEJNQ1JfUkVTRVQpOw0KICBzcl9tZGlvX3dyaXRlKGRldi0+bmV0LCBkZXYtPm1p aS5waHlfaWQsDQotIE1JSV9BRFZFUlRJU0UsIEFEVkVSVElTRV9BTEwgfCBBRFZFUlRJU0VfQ1NN QSB8IEFEVkVSVElTRV9QQVVTRV9DQVApOw0KKyAgICAgICAoTUlJX0FEVkVSVElTRSwgQURWRVJU SVNFX0FMTCB8DQorICAgICAgICBBRFZFUlRJU0VfQ1NNQSB8IEFEVkVSVElTRV9QQVVTRV9DQVAp KTsNCiAgbWlpX253YXlfcmVzdGFydCgmZGV2LT5taWkpOw0KDQogb3V0Og0KQEAgLTM3MywxMSAr Mzc5LDExIEBAIHN0YXRpYyBpbnQgc3I5NzAwX3J4X2ZpeHVwKHN0cnVjdCB1c2JuZXQgKmRldiwg c3RydWN0IHNrX2J1ZmYgKnNrYikNCiAgaW50IGxlbjsNCg0KICAvKiBza2IgY29udGVudCAocGFj a2V0cykgZm9ybWF0IDoNCi0gICogcDAgcDEgcDIgLi4uLi4uIHBtDQotICAqICAgICAgLyAgIFwN Ci0gICogLyBcDQotICAqIC8gXA0KLSAgKiAgLyBcDQorICAqICAgICAgICAgICAgICAgICAgICBw MCAgICAgICAgICAgIHAxICAgICAgICAgICAgcDIgICAgLi4uLi4uICAgIHBtDQorICAqICAgICAg ICAgICAgICAgICAvICAgICAgXA0KKyAgKiAgICAgICAgICAgIC8gICAgICAgICAgICAgICAgXA0K KyAgKiAgICAgICAgLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAqICAvICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICogcDBiMCBwMGIxIHAwYjIg cDBiMyAuLi4uLi4gcDBiKG4tNCkgcDBiKG4tMykuLi5wMGJuDQogICAqDQogICAqIHAwIDogcGFj a2V0IDANCkBAIC00MzEsNyArNDM3LDggQEAgc3RhdGljIGludCBzcjk3MDBfcnhfZml4dXAoc3Ry dWN0IHVzYm5ldCAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQ0KICByZXR1cm4gMDsNCiB9DQoN Ci1zdGF0aWMgc3RydWN0IHNrX2J1ZmYgKnNyOTcwMF90eF9maXh1cChzdHJ1Y3QgdXNibmV0ICpk ZXYsIHN0cnVjdCBza19idWZmICpza2IsIGdmcF90IGZsYWdzKQ0KK3N0YXRpYyBzdHJ1Y3Qgc2tf YnVmZiAqc3I5NzAwX3R4X2ZpeHVwKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHNrX2J1ZmYg KnNrYiwNCisgICAgICAgIGdmcF90IGZsYWdzKQ0KIHsNCiAgaW50IGxlbjsNCg0KQEAgLTUwOCw0 MCArNTE1LDQwIEBAIHN0YXRpYyBpbnQgc3I5NzAwX2xpbmtfcmVzZXQoc3RydWN0IHVzYm5ldCAq ZGV2KQ0KICBtaWlfZXRodG9vbF9nc2V0KCZkZXYtPm1paSwgJmVjbWQpOw0KDQogIG5ldGRldl9k YmcoZGV2LT5uZXQsICJsaW5rX3Jlc2V0KCkgc3BlZWQ6ICVkIGR1cGxleDogJWRcbiIsDQotIGVj bWQuc3BlZWQsIGVjbWQuZHVwbGV4KTsNCisgICAgZWNtZC5zcGVlZCwgZWNtZC5kdXBsZXgpOw0K DQogIHJldHVybiAwOw0KIH0NCg0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJpdmVyX2luZm8gc3I5 NzAwX2RyaXZlcl9pbmZvID0gew0KLSAuZGVzY3JpcHRpb24gPSAiQ29yZUNoaXAgU1I5NzAwIFVT QiBFdGhlcm5ldCIsDQotIC5mbGFncyA9IEZMQUdfRVRIRVIsDQotIC5iaW5kID0gc3I5NzAwX2Jp bmQsDQotIC5yeF9maXh1cCA9IHNyOTcwMF9yeF9maXh1cCwNCi0gLnR4X2ZpeHVwID0gc3I5NzAw X3R4X2ZpeHVwLA0KLSAuc3RhdHVzID0gc3I5NzAwX3N0YXR1cywNCi0gLmxpbmtfcmVzZXQgPSBz cjk3MDBfbGlua19yZXNldCwNCi0gLnJlc2V0ID0gc3I5NzAwX2xpbmtfcmVzZXQsDQorIC5kZXNj cmlwdGlvbiA9ICJDb3JlQ2hpcCBTUjk3MDAgVVNCIEV0aGVybmV0IiwNCisgLmZsYWdzID0gRkxB R19FVEhFUiwNCisgLmJpbmQgPSBzcjk3MDBfYmluZCwNCisgLnJ4X2ZpeHVwID0gc3I5NzAwX3J4 X2ZpeHVwLA0KKyAudHhfZml4dXAgPSBzcjk3MDBfdHhfZml4dXAsDQorIC5zdGF0dXMgPSBzcjk3 MDBfc3RhdHVzLA0KKyAubGlua19yZXNldCA9IHNyOTcwMF9saW5rX3Jlc2V0LA0KKyAucmVzZXQg PSBzcjk3MDBfbGlua19yZXNldCwNCiB9Ow0KDQogc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2 aWNlX2lkIHByb2R1Y3RzW10gPSB7DQogIHsNCi0gIFVTQl9ERVZJQ0UoMHgwZmU2LCAweDk3MDAp LCAvKiBTUjk3MDAgZGV2aWNlICovDQotICAuZHJpdmVyX2luZm8gPSAodW5zaWduZWQgbG9uZykm c3I5NzAwX2RyaXZlcl9pbmZvLA0KLSAgfSwNCisgVVNCX0RFVklDRSgweDBmZTYsIDB4OTcwMCks IC8qIFNSOTcwMCBkZXZpY2UgKi8NCisgLmRyaXZlcl9pbmZvID0gKHVuc2lnbmVkIGxvbmcpJnNy OTcwMF9kcml2ZXJfaW5mbywNCisgfSwNCiAge30sIC8qIEVORCAqLw0KIH07DQoNCiBNT0RVTEVf REVWSUNFX1RBQkxFKHVzYiwgcHJvZHVjdHMpOw0KDQogc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVy IHNyOTcwMF91c2JfZHJpdmVyID0gew0KLSAubmFtZSA9ICJzcjk3MDAiLA0KLSAuaWRfdGFibGUg PSBwcm9kdWN0cywNCi0gLnByb2JlID0gdXNibmV0X3Byb2JlLA0KLSAuZGlzY29ubmVjdCA9IHVz Ym5ldF9kaXNjb25uZWN0LA0KLSAuc3VzcGVuZCA9IHVzYm5ldF9zdXNwZW5kLA0KLSAucmVzdW1l ID0gdXNibmV0X3Jlc3VtZSwNCi0gLmRpc2FibGVfaHViX2luaXRpYXRlZF9scG0gPSAxLA0KKyAu bmFtZSA9ICJzcjk3MDAiLA0KKyAuaWRfdGFibGUgPSBwcm9kdWN0cywNCisgLnByb2JlID0gdXNi bmV0X3Byb2JlLA0KKyAuZGlzY29ubmVjdCA9IHVzYm5ldF9kaXNjb25uZWN0LA0KKyAuc3VzcGVu ZCA9IHVzYm5ldF9zdXNwZW5kLA0KKyAucmVzdW1lID0gdXNibmV0X3Jlc3VtZSwNCisgLmRpc2Fi bGVfaHViX2luaXRpYXRlZF9scG0gPSAxLA0KIH07DQoNCiBtb2R1bGVfdXNiX2RyaXZlcihzcjk3 MDBfdXNiX2RyaXZlcik7DQo=