From: KOSAKI Motohiro Date: 2010-01-12T23:25:41+09:00 Subject: [ruby-dev:40060] Re: Linuxで bm_vm3_thread_mutex.rb が刺さってしまい実行が完了しない --0016e648067892576c047cf86d05 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: base64 Pj4gbGFzdF90aHJlYWQgMBskQiRHGyhCMTAbJEJJQyRKJEgkMyRtJCskaSEiPCtKLEUqJEskTyVH JUMlSSVtJUMlLyVBJSclQyUvJCIkaiRHJGIbKEIxNRskQklDMEoyPCRLGyhCCj4+IBskQiQ3JD8k JCRKITwkSCQrO1ckQyRGRzokcyRHJCQkayROJEckOSQsISIkXiRATkkkJDBGJCwkIiRqJF4kOyRz ISMbKEIKPgo+IBskQiRiJCYkQSRnJEMkSDwrSiwkRzBVP14kckpkQi0kNyReJDkkSCEiGyhCRmVk b3JhGyRCJE8bKEJleHQvb3BlbnNzbBskQiROJTMlcyVRJSQla0RMJGkkSiQkTGRCaiRHISI8QjxB GyhCdHJ1bmsbJEIkTiU1JV0hPCVIJVclaSVDJUglVSUpITwlYCQrJGkkOSRHJEszMCRsJEYkNyRe JEMkRiQkJGs+dTY3JEokTiRHISI2WiROTkkkLyRKJCQbKEJmaXgbJEIkcjVeJCQkR0Z+JGwkayRo JGokYjosS1wycjdoJDkkayRZJC8hIiRiJEMkSEosQE8kcj9KJGEkP0p9JCxBMDh+JC0kKyRKJCEk SBsoQgo+CgobJEIkPSRtJD0kbTZsPnAkLE1oJD0kJiRHJDkkLCEiJGIkJiRBJGckQyRISixATyQ3 JD8kTiRHNS1PPyROJD8kYSRLPXEkLSReJDkhIxsoQgp0aHJlYWQuYxskQiROGyhCbXV0ZXgbJEIk TjxCQXUkciRoJC8kaCQvOCskayRIGyhCR1ZMGyRCJHJOJSQ3JEYkJCRrNHw0ViQsJCIkXiRqJEsk YkM7JDkkLiRGGyhCbXV0ZXgtPmxvY2sbJEIkchsoQgobJEJGM0Z+JDckRiRrMFVMIyQsJFskSCRz JEkkSiQkJGgkJiRLOCskKCReJDkhIyReJD8kJCQvJEQkKyROMlU9aiRHGyhCR1ZMGyRCJEgbKEJt dXRleC0+bG9jaxskQiRyRjE7fiRLJEQkKyRzJEAkaiEiGyhCCkdWTBskQiRyTiUkNyQ/RD44ZSRL GyhCbXV0ZXgtPmxvY2sgb3IgdGgtPmludGVycnVwdGVkX2xvY2sKGyRCJHIkRCQrJHMkRyQkJD8k aiRIISIhVjVVJEtALUc9JEswLTFGNkEkLCQiJGskTiRHJE8kSiQkJCshKSFXJEg7VyQoJGsyVT1q JCwkIiRDJD8kTiRHISJFOklVJE4kTiVRJUMlQRsoQigwMDAxLVJlbW92ZS1tdXRleC1sb2NrLWFu ZC10aC1pbnRlcnJ1cHRfbG9jaykbJEIkRzxCODMkNyRGJF8kXiQ3JD8hIxsoQgoKGyRCMGw4QCRH OEAkJiRIGyhCIG11dGV4LT5sb2NrIBskQiRIGyhCIHRoLT5pbnRlcnJ1cHRfbG9jayAbJEIkckdR O18kNyEiGyhCR1ZMGyRCJHI/PyROJTglYyUkJSIlcyVIJW0lQyUvJEskOSRrISMkSCQkJCYlUSVD JUEkRyQ5ISMbKEIKCmJtX3ZtM190aHJlYWRfbXV0ZXgucmIgGyRCJEs0WCQ3JEYkTyMxIzAycyRO Sj82UUNNJCwwSjI8JE4kaCQmJEo/dENNJEskSiRDJEYkKiRqISI6IyReJEckTiRJJE5CLERqJGgk aiRiJCQkJD90Q00kSyRKJEMkRiQkJF4kOSEjGyhCCgoxLjM0MDE0NzkzMiAgc2Vjb25kcyB0aW1l IGVsYXBzZWQgICAoICstICAgMS40MDYlICkKChskQiReJD8hIkI+JE4lWSVzJUEkTj90Q00kYhso QiByZW1vdmUtbXV0ZXgtbG9jay50eHQgGyRCJEsjNTJzSj82USROSGYzU0k9JHJFOklVJDckXiQ3 JD8kLCEiJFskXDo5JCwkSiQkJGgkJiRHJDkhIxsoQgobJEIkPSRtJD0kbSQ1JDUkQCQ1JHMkcj4k NC0kOSRrJFkkLSQrJEohKTg1ITkkThsoQm11dGV4LT5sb2NrGyRCJE5GM0Z+MFU/XiRIJCtDTiRq JD8kJCQ3ISMbKEIKCnBzIBskQiRBJGckQyRIMFU/XiQsTX0yciRHJC0kSiQkGyhCc2NoZWRfeWll bGQoKRskQiQsJCQkLyREJCskIiRrJE4kRyEiOiM4ZUAwTX0kNyQ/JCQkRyQ5ISM4PT51JE4bKEJM aW51eBskQiROJTklMSU4JWUhPCVpJEAkSBsoQnNjaGVkX3lpZWxkKCkbJEIkTyRbJFwbKEJOT1Ab JEIkSzZhJCRGMCQtJHIkOSRrJE4kRyEiMFU/XkRMJGpGMCQkJEYkJCRKJCQyREc9QC0kLCQiJGok XiQ5ISMbKEIK --0016e648067892576c047cf86d05 Content-Type: text/plain; charset=US-ASCII; name="remove-mutex-lock.txt" Content-Disposition: attachment; filename="remove-mutex-lock.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g4cri30q0 CQkJcnVieS50cnVuawlyZW1vdmUtbXV0ZXgtbG9jawlyYXRpbw0KYXBwX2Fuc3dlciAgICAgIAkw LjE4MgkwLjE3OAk5Ny44MCUNCmFwcF9lcmIgCQkwLjg4CTAuODY0CTk4LjE4JQ0KYXBwX2ZhY3Rv cmlhbCAgIAkwLjIzNwkwLjIyNAk5NC41MSUNCmFwcF9maWIgCQkyLjI4NQkyLjI4NgkxMDAuMDQl DQphcHBfbWFuZGVsYnJvdCAgCTAuNDI5CTAuNDE3CTk3LjIwJQ0KYXBwX3BlbnRvbWlubyAgIAkz OS4xODIJMzkuMjg1CTEwMC4yNiUNCmFwcF9yYWlzZSAgICAgICAJMS4wMDEJMS4wMTYJMTAxLjUw JQ0KYXBwX3N0cmNvbmNhdCAgIAkwLjc4MQkwLjgyNAkxMDUuNTElDQphcHBfdGFrIAkJMy4wMTQJ My4wMDIJOTkuNjAlDQphcHBfdGFyYWkgICAgICAgCTIuNDk0CTIuNTEzCTEwMC43NiUNCmFwcF91 cmkgCQkxLjc3NgkxLjgzNAkxMDMuMjclDQppb19maWxlX2NyZWF0ZSAgCTAuNQkwLjUwNgkxMDEu MjAlDQppb19maWxlX3JlYWQgICAgCTAuNzAzCTAuNjQ0CTkxLjYxJQ0KaW9fZmlsZV93cml0ZSAg IAkwLjE4NgkwLjE5NgkxMDUuMzglDQpsb29wX2ZvciAgICAgICAgCTMuNDc0CTMuNTY1CTEwMi42 MiUNCmxvb3BfZ2VuZXJhdG9yICAJMS4xNDMJMS4xMTkJOTcuOTAlDQpsb29wX3RpbWVzICAgICAg CTMuMDMyCTMuMDUyCTEwMC42NiUNCmxvb3Bfd2hpbGVsb29wICAJMi45NDUJMi45MzUJOTkuNjYl DQpsb29wX3doaWxlbG9vcDIgCTAuNjA2CTAuNjA3CTEwMC4xNyUNCnNvX2Fja2VybWFubiAgICAJ Mi41OTEJMi42CTEwMC4zNSUNCnNvX2FycmF5ICAgICAgICAJMy4yNzMJMy4yMjgJOTguNjMlDQpz b19iaW5hcnlfdHJlZXMgCTEuMDQyCTEuMDYJMTAxLjczJQ0Kc29fY29uY2F0ZW5hdGUgIAkwLjg5 NgkwLjkwMQkxMDAuNTYlDQpzb19jb3VudF93b3JkcyAgCTAuNTk0CTAuNjExCTEwMi44NiUNCnNv X2V4Y2VwdGlvbiAgICAJMi4xNTUJMi4xNDMJOTkuNDQlDQpzb19mYW5ua3VjaCAgICAgCTM0Ljcx NAkzNS4wNjYJMTAxLjAxJQ0Kc29fZmFzdGEgICAgICAgIAk0LjgwOQk0Ljc3CTk5LjE5JQ0Kc29f a19udWNsZW90aWRlIAkzLjM0CTMuNDA4CTEwMi4wNCUNCnNvX2xpc3RzICAgICAgICAJMC43NTYJ MC43NjYJMTAxLjMyJQ0Kc29fbWFuZGVsYnJvdCAgIAkxMi4zNzMJMTIuNDQzCTEwMC41NyUNCnNv X21hdHJpeCAgICAgICAJMC44NDkJMC44MzUJOTguMzUlDQpzb19tZXRlb3JfY29udGVzdAk5Ljc0 Mgk5LjUJOTcuNTIlDQpzb19uYm9keSAgICAgICAgCTguNzg0CTkuMDg0CTEwMy40MiUNCnNvX25l c3RlZF9sb29wICAJMy4yMTQJMy4xNgk5OC4zMiUNCnNvX25zaWV2ZSAgICAgICAJOS40NzEJOS41 NjgJMTAxLjAyJQ0Kc29fbnNpZXZlX2JpdHMgIAk1LjkxNwk2LjA2NAkxMDIuNDglDQpzb19vYmpl Y3QgICAgICAgCTEuOTgyCTIuMDEzCTEwMS41NiUNCnNvX3BhcnRpYWxfc3VtcyAJMTEuOTE3CTEx Ljk5NgkxMDAuNjYlDQpzb19waWRpZ2l0cyAgICAgCTEuOTA4CTEuNzEzCTg5Ljc4JQ0Kc29fcmFu ZG9tICAgICAgIAkwLjgxNAkwLjgJOTguMjglDQpzb19yZXZlcnNlX2NvbXBsZW1lbnQJMy42MzMJ My41OTcJOTkuMDElDQpzb19zaWV2ZSAgICAgICAgCTAuMjU5CTAuMjU2CTk4Ljg0JQ0Kc29fc3Bl Y3RyYWxub3JtIAk5LjMwMgk5LjM3NgkxMDAuODAlDQp2bTFfYmxvY2sqICAgICAgCTUuMTY0CTUu MTc4CTEwMC4yNyUNCnZtMV9jb25zdCogICAgICAJMS42ODUJMS42NQk5Ny45MiUNCnZtMV9lbnN1 cmUqICAgICAJMC43NgkwLjcyNAk5NS4yNiUNCnZtMV9pdmFyKiAgICAgICAJMi4wOTIJMi4yNDEJ MTA3LjEyJQ0Kdm0xX2l2YXJfc2V0KiAgIAkyLjIxOQkyLjM4CTEwNy4yNiUNCnZtMV9sZW5ndGgq ICAgICAJMi44ODUJMi45MzkJMTAxLjg3JQ0Kdm0xX25lcSogICAgICAgIAkyLjAwNwkyLjAwNAk5 OS44NSUNCnZtMV9ub3QqICAgICAgICAJMS4zNzYJMS4zMTkJOTUuODYlDQp2bTFfcmVzY3VlKiAg ICAgCTEuMDIzCTEuMDI2CTEwMC4yOSUNCnZtMV9zaW1wbGVyZXR1cm4qICAgICAJMy42ODUJMy42 NjgJOTkuNTQlDQp2bTFfc3dhcCogICAgICAgCTEuMDk1CTEuMDg4CTk5LjM2JQ0Kdm0yX2FycmF5 KiAgICAgIAkxLjQzNAkxLjUwOAkxMDUuMTYlDQp2bTJfY2FzZSogICAgICAgCTAuNTM2CTAuNTA1 CTk0LjIyJQ0Kdm0yX2V2YWwqICAgICAgIAkyOC40NzkJMjkuMjUxCTEwMi43MSUNCnZtMl9tZXRo b2QqICAgICAJNS42NDEJNS42MzMJOTkuODYlDQp2bTJfbXV0ZXgqICAgICAgCTIuNjg2CTIuMzY2 CTg4LjA5JQ0Kdm0yX3BvbHlfbWV0aG9kKiAgICAgIAk3LjA4Mgk3LjEzNQkxMDAuNzUlDQp2bTJf cG9seV9tZXRob2Rfb3YqICAgCTAuNzcyCTAuNzUyCTk3LjQxJQ0Kdm0yX3Byb2MqICAgICAgIAkx LjQ0OQkxLjQyMQk5OC4wNyUNCnZtMl9yZWdleHAqICAgICAJMy4wMDgJMi44NzUJOTUuNTglDQp2 bTJfc2VuZCogICAgICAgCTAuODgyCTAuOTIyCTEwNC41NCUNCnZtMl9zdXBlciogICAgICAJMS4z NjgJMS4zNzYJMTAwLjU4JQ0Kdm0yX3VuaWYxKiAgICAgIAkwLjgyNAkwLjgwOQk5OC4xOCUNCnZt Ml96c3VwZXIqICAgICAJMS41MzEJMS40OQk5Ny4zMiUNCnZtM19nYyAgCQkyLjA4NQkyLjA5Ngkx MDAuNTMlDQp2bTNfdGhyZWFkX2NyZWF0ZV9qb2luICAzLjk0MwkzLjg1OQk5Ny44NyUNCg== --0016e648067892576c047cf86d05 Content-Type: application/octet-stream; name="0001-Remove-mutex-lock-and-th-interrupt_lock.patch" Content-Disposition: attachment; filename="0001-Remove-mutex-lock-and-th-interrupt_lock.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g4crisn11 RnJvbSBiYjUzNGFmZDcyMTkzMjA0ODMxMDYzMmQ3MTY1ZjE1N2UzZjIwNThlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLT1NBS0kgTW90b2hpcm8gPGtvc2FraS5tb3RvaGlyb0BqcC5m dWppdHN1LmNvbT4KRGF0ZTogVHVlLCAxMiBKYW4gMjAxMCAyMDozOTozNyArMDkwMApTdWJqZWN0 OiBbUEFUQ0hdIFJlbW92ZSBtdXRleC0+bG9jayBhbmQgdGgtPmludGVycnVwdF9sb2NrCgpTaWdu ZWQtb2ZmLWJ5OiBLT1NBS0kgTW90b2hpcm8gPGtvc2FraS5tb3RvaGlyb0BqcC5mdWppdHN1LmNv bT4KLS0tCiB0aHJlYWQuYyAgICAgICAgIHwgICA1OCArKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGhyZWFkX3B0aHJlYWQuYyB8ICAgIDggKy0t LS0tCiB0aHJlYWRfd2luMzIuYyAgIHwgICAgNCAtLS0KIHZtX2NvcmUuaCAgICAgICAgfCAgICAy IC0KIDQgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvdGhyZWFkLmMgYi90aHJlYWQuYwppbmRleCAwYmE0MWM3Li5mN2ZhYTE1IDEw MDY0NAotLS0gYS90aHJlYWQuYworKysgYi90aHJlYWQuYwpAQCAtMTA3LDExICsxMDcsOSBAQCBz dGF0aWMgaW5saW5lIHZvaWQgYmxvY2tpbmdfcmVnaW9uX2VuZChyYl90aHJlYWRfdCAqdGgsIHN0 cnVjdCByYl9ibG9ja2luZ19yZWdpbwogCiAjZGVmaW5lIEdWTF9VTkxPQ0tfQkVHSU4oKSBkbyB7 IFwKICAgcmJfdGhyZWFkX3QgKl90aF9zdG9yZWQgPSBHRVRfVEhSRUFEKCk7IFwKLSAgUkJfR0Nf U0FWRV9NQUNISU5FX0NPTlRFWFQoX3RoX3N0b3JlZCk7IFwKLSAgbmF0aXZlX211dGV4X3VubG9j aygmX3RoX3N0b3JlZC0+dm0tPmdsb2JhbF92bV9sb2NrKQorICBSQl9HQ19TQVZFX01BQ0hJTkVf Q09OVEVYVChfdGhfc3RvcmVkKTsKIAogI2RlZmluZSBHVkxfVU5MT0NLX0VORCgpIFwKLSAgbmF0 aXZlX211dGV4X2xvY2soJl90aF9zdG9yZWQtPnZtLT5nbG9iYWxfdm1fbG9jayk7IFwKICAgcmJf dGhyZWFkX3NldF9jdXJyZW50KF90aF9zdG9yZWQpOyBcCiB9IHdoaWxlKDApCiAKQEAgLTI1OCw5 ICsyNTYsNyBAQCBzZXRfdW5ibG9ja19mdW5jdGlvbihyYl90aHJlYWRfdCAqdGgsIHJiX3VuYmxv Y2tfZnVuY3Rpb25fdCAqZnVuYywgdm9pZCAqYXJnLAogewogICBjaGVja19pbnRzOgogICAgIFJV QllfVk1fQ0hFQ0tfSU5UUygpOyAvKiBjaGVjayBzaWduYWwgb3Igc28gKi8KLSAgICBuYXRpdmVf bXV0ZXhfbG9jaygmdGgtPmludGVycnVwdF9sb2NrKTsKICAgICBpZiAodGgtPmludGVycnVwdF9m bGFnKSB7Ci0JbmF0aXZlX211dGV4X3VubG9jaygmdGgtPmludGVycnVwdF9sb2NrKTsKIAlnb3Rv IGNoZWNrX2ludHM7CiAgICAgfQogICAgIGVsc2UgewpAQCAtMjY4LDIxICsyNjQsMTcgQEAgc2V0 X3VuYmxvY2tfZnVuY3Rpb24ocmJfdGhyZWFkX3QgKnRoLCByYl91bmJsb2NrX2Z1bmN0aW9uX3Qg KmZ1bmMsIHZvaWQgKmFyZywKIAl0aC0+dW5ibG9jay5mdW5jID0gZnVuYzsKIAl0aC0+dW5ibG9j ay5hcmcgPSBhcmc7CiAgICAgfQotICAgIG5hdGl2ZV9tdXRleF91bmxvY2soJnRoLT5pbnRlcnJ1 cHRfbG9jayk7CiB9CiAKIHN0YXRpYyB2b2lkCiByZXNldF91bmJsb2NrX2Z1bmN0aW9uKHJiX3Ro cmVhZF90ICp0aCwgY29uc3Qgc3RydWN0IHJiX3VuYmxvY2tfY2FsbGJhY2sgKm9sZCkKIHsKLSAg ICBuYXRpdmVfbXV0ZXhfbG9jaygmdGgtPmludGVycnVwdF9sb2NrKTsKICAgICB0aC0+dW5ibG9j ayA9ICpvbGQ7Ci0gICAgbmF0aXZlX211dGV4X3VubG9jaygmdGgtPmludGVycnVwdF9sb2NrKTsK IH0KIAogc3RhdGljIHZvaWQKIHJiX3RocmVhZHB0cl9pbnRlcnJ1cHQocmJfdGhyZWFkX3QgKnRo KQogewotICAgIG5hdGl2ZV9tdXRleF9sb2NrKCZ0aC0+aW50ZXJydXB0X2xvY2spOwogICAgIFJV QllfVk1fU0VUX0lOVEVSUlVQVCh0aCk7CiAgICAgaWYgKHRoLT51bmJsb2NrLmZ1bmMpIHsKIAko dGgtPnVuYmxvY2suZnVuYykodGgtPnVuYmxvY2suYXJnKTsKQEAgLTI5MCw3ICsyODIsNiBAQCBy Yl90aHJlYWRwdHJfaW50ZXJydXB0KHJiX3RocmVhZF90ICp0aCkKICAgICBlbHNlIHsKIAkvKiBu b25lICovCiAgICAgfQotICAgIG5hdGl2ZV9tdXRleF91bmxvY2soJnRoLT5pbnRlcnJ1cHRfbG9j ayk7CiB9CiAKIApAQCAtMzE1LDcgKzMwNiw2IEBAIHRlcm1pbmF0ZV9pKHN0X2RhdGFfdCBrZXks IHN0X2RhdGFfdCB2YWwsIHJiX3RocmVhZF90ICptYWluX3RocmVhZCkKIAogdHlwZWRlZiBzdHJ1 Y3QgcmJfbXV0ZXhfc3RydWN0CiB7Ci0gICAgcmJfdGhyZWFkX2xvY2tfdCBsb2NrOwogICAgIHJi X3RocmVhZF9jb25kX3QgY29uZDsKICAgICBzdHJ1Y3QgcmJfdGhyZWFkX3N0cnVjdCB2b2xhdGls ZSAqdGg7CiAgICAgdm9sYXRpbGUgaW50IGNvbmRfd2FpdGluZywgY29uZF9ub3RpZmllZDsKQEAg LTUzMCw3ICs1MjAsNiBAQCB0aHJlYWRfY3JlYXRlX2NvcmUoVkFMVUUgdGh2YWwsIFZBTFVFIGFy Z3MsIFZBTFVFICgqZm4pKEFOWUFSR1MpKQogICAgIHRoLT5wcmlvcml0eSA9IEdFVF9USFJFQUQo KS0+cHJpb3JpdHk7CiAgICAgdGgtPnRoZ3JvdXAgPSBHRVRfVEhSRUFEKCktPnRoZ3JvdXA7CiAK LSAgICBuYXRpdmVfbXV0ZXhfaW5pdGlhbGl6ZSgmdGgtPmludGVycnVwdF9sb2NrKTsKICAgICAv KiBraWNrIHRocmVhZCAqLwogICAgIHN0X2luc2VydCh0aC0+dm0tPmxpdmluZ190aHJlYWRzLCB0 aHZhbCwgKHN0X2RhdGFfdCkgdGgtPnRocmVhZF9pZCk7CiAgICAgZXJyID0gbmF0aXZlX3RocmVh ZF9jcmVhdGUodGgpOwpAQCAtMTIyNyw3ICsxMjE2LDExIEBAIHN0YXRpYyB2b2lkCiByYl90aHJl YWRwdHJfZXhlY3V0ZV9pbnRlcnJ1cHRzX3JlYyhyYl90aHJlYWRfdCAqdGgsIGludCBzY2hlZF9k ZXB0aCkKIHsKICAgICBpZiAoR0VUX1ZNKCktPm1haW5fdGhyZWFkID09IHRoKSB7Ci0Jd2hpbGUg KHJiX3NpZ25hbF9idWZmX3NpemUoKSAmJiAhdGgtPmV4ZWNfc2lnbmFsKSBuYXRpdmVfdGhyZWFk X3lpZWxkKCk7CisJICAgIHdoaWxlIChyYl9zaWduYWxfYnVmZl9zaXplKCkgJiYgIXRoLT5leGVj X3NpZ25hbCkgeworCQkgICAgbmF0aXZlX211dGV4X3VubG9jaygmdGgtPnZtLT5nbG9iYWxfdm1f bG9jayk7CisJCSAgICBuYXRpdmVfdGhyZWFkX3lpZWxkKCk7CisJCSAgICBuYXRpdmVfbXV0ZXhf bG9jaygmdGgtPnZtLT5nbG9iYWxfdm1fbG9jayk7CisJICAgIH0KICAgICB9CiAKICAgICBpZiAo dGgtPnJhaXNlZF9mbGFnKSByZXR1cm47CkBAIC0yOTk4LDcgKzI5OTEsNiBAQCBtdXRleF9mcmVl KHZvaWQgKnB0cikKIAkgICAgY29uc3QgY2hhciAqZXJyID0gbXV0ZXhfdW5sb2NrKG11dGV4LCBt dXRleC0+dGgpOwogCSAgICBpZiAoZXJyKSByYl9idWcoIiVzIiwgZXJyKTsKIAl9Ci0JbmF0aXZl X211dGV4X2Rlc3Ryb3koJm11dGV4LT5sb2NrKTsKIAluYXRpdmVfY29uZF9kZXN0cm95KCZtdXRl eC0+Y29uZCk7CiAgICAgfQogICAgIHJ1YnlfeGZyZWUocHRyKTsKQEAgLTMwMjIsNyArMzAxNCw2 IEBAIG11dGV4X2FsbG9jKFZBTFVFIGtsYXNzKQogICAgIG11dGV4X3QgKm11dGV4OwogCiAgICAg b2JqID0gVHlwZWREYXRhX01ha2VfU3RydWN0KGtsYXNzLCBtdXRleF90LCAmbXV0ZXhfZGF0YV90 eXBlLCBtdXRleCk7Ci0gICAgbmF0aXZlX211dGV4X2luaXRpYWxpemUoJm11dGV4LT5sb2NrKTsK ICAgICBuYXRpdmVfY29uZF9pbml0aWFsaXplKCZtdXRleC0+Y29uZCk7CiAgICAgcmV0dXJuIG9i ajsKIH0KQEAgLTMwODUsMTQgKzMwNzYsMTIgQEAgcmJfbXV0ZXhfdHJ5bG9jayhWQUxVRSBzZWxm KQogICAgIFZBTFVFIGxvY2tlZCA9IFFmYWxzZTsKICAgICBHZXRNdXRleFB0cihzZWxmLCBtdXRl eCk7CiAKLSAgICBuYXRpdmVfbXV0ZXhfbG9jaygmbXV0ZXgtPmxvY2spOwogICAgIGlmIChtdXRl eC0+dGggPT0gMCkgewogCW11dGV4LT50aCA9IEdFVF9USFJFQUQoKTsKIAlsb2NrZWQgPSBRdHJ1 ZTsKIAogCW11dGV4X2xvY2tlZChHRVRfVEhSRUFEKCksIHNlbGYpOwogICAgIH0KLSAgICBuYXRp dmVfbXV0ZXhfdW5sb2NrKCZtdXRleC0+bG9jayk7CiAKICAgICByZXR1cm4gbG9ja2VkOwogfQpA QCAtMzEwMSwxMiArMzA5MCw3IEBAIHN0YXRpYyBpbnQKIGxvY2tfZnVuYyhyYl90aHJlYWRfdCAq dGgsIG11dGV4X3QgKm11dGV4LCBpbnQgbGFzdF90aHJlYWQpCiB7CiAgICAgaW50IGludGVycnVw dGVkID0gMDsKLSNpZiAwIC8qIGZvciBkZWJ1ZyAqLwotICAgIG5hdGl2ZV90aHJlYWRfeWllbGQo KTsKLSNlbmRpZgogCi0gICAgbmF0aXZlX211dGV4X2xvY2soJm11dGV4LT5sb2NrKTsKLSAgICB0 aC0+dHJhbnNpdGlvbl9mb3JfbG9jayA9IDA7CiAgICAgd2hpbGUgKG11dGV4LT50aCB8fCAobXV0 ZXgtPnRoID0gdGgsIDApKSB7CiAJaWYgKGxhc3RfdGhyZWFkKSB7CiAJICAgIGludGVycnVwdGVk ID0gMjsKQEAgLTMxMTQsNyArMzA5OCw3IEBAIGxvY2tfZnVuYyhyYl90aHJlYWRfdCAqdGgsIG11 dGV4X3QgKm11dGV4LCBpbnQgbGFzdF90aHJlYWQpCiAJfQogCiAJbXV0ZXgtPmNvbmRfd2FpdGlu ZysrOwotCW5hdGl2ZV9jb25kX3dhaXQoJm11dGV4LT5jb25kLCAmbXV0ZXgtPmxvY2spOworCW5h dGl2ZV9jb25kX3dhaXQoJm11dGV4LT5jb25kLCAmdGgtPnZtLT5nbG9iYWxfdm1fbG9jayk7CiAJ bXV0ZXgtPmNvbmRfbm90aWZpZWQtLTsKIAogCWlmIChSVUJZX1ZNX0lOVEVSUlVQVEVEKHRoKSkg ewpAQCAtMzEyMiwxMyArMzEwNiwxMiBAQCBsb2NrX2Z1bmMocmJfdGhyZWFkX3QgKnRoLCBtdXRl eF90ICptdXRleCwgaW50IGxhc3RfdGhyZWFkKQogCSAgICBicmVhazsKIAl9CiAgICAgfQotICAg IHRoLT50cmFuc2l0aW9uX2Zvcl9sb2NrID0gMTsKLSAgICBuYXRpdmVfbXV0ZXhfdW5sb2NrKCZt dXRleC0+bG9jayk7CiAKLSAgICBpZiAoaW50ZXJydXB0ZWQgPT0gMikgbmF0aXZlX3RocmVhZF95 aWVsZCgpOwotI2lmIDAgLyogZm9yIGRlYnVnICovCi0gICAgbmF0aXZlX3RocmVhZF95aWVsZCgp OwotI2VuZGlmCisgICAgaWYgKGludGVycnVwdGVkID09IDIpIHsKKwluYXRpdmVfbXV0ZXhfdW5s b2NrKCZ0aC0+dm0tPmdsb2JhbF92bV9sb2NrKTsKKwluYXRpdmVfdGhyZWFkX3lpZWxkKCk7CisJ bmF0aXZlX211dGV4X2xvY2soJnRoLT52bS0+Z2xvYmFsX3ZtX2xvY2spOworICAgIH0KIAogICAg IHJldHVybiBpbnRlcnJ1cHRlZDsKIH0KQEAgLTMxMzcsMTMgKzMxMjAsMTEgQEAgc3RhdGljIHZv aWQKIGxvY2tfaW50ZXJydXB0KHZvaWQgKnB0cikKIHsKICAgICBtdXRleF90ICptdXRleCA9ICht dXRleF90ICopcHRyOwotICAgIG5hdGl2ZV9tdXRleF9sb2NrKCZtdXRleC0+bG9jayk7CiAgICAg aWYgKG11dGV4LT5jb25kX3dhaXRpbmcgPiAwKSB7CiAJbmF0aXZlX2NvbmRfYnJvYWRjYXN0KCZt dXRleC0+Y29uZCk7CiAJbXV0ZXgtPmNvbmRfbm90aWZpZWQgPSBtdXRleC0+Y29uZF93YWl0aW5n OwogCW11dGV4LT5jb25kX3dhaXRpbmcgPSAwOwogICAgIH0KLSAgICBuYXRpdmVfbXV0ZXhfdW5s b2NrKCZtdXRleC0+bG9jayk7CiB9CiAKIC8qCkBAIC0zMTgwLDExICszMTYxLDkgQEAgcmJfbXV0 ZXhfbG9jayhWQUxVRSBzZWxmKQogCQlsYXN0X3RocmVhZCA9IDE7CiAJICAgIH0KIAotCSAgICB0 aC0+dHJhbnNpdGlvbl9mb3JfbG9jayA9IDE7CiAJICAgIEJMT0NLSU5HX1JFR0lPTl9DT1JFKHsK IAkJaW50ZXJydXB0ZWQgPSBsb2NrX2Z1bmModGgsIG11dGV4LCBsYXN0X3RocmVhZCk7CiAJICAg IH0pOwotCSAgICB0aC0+dHJhbnNpdGlvbl9mb3JfbG9jayA9IDA7CiAJICAgIHJlbW92ZV9zaWdu YWxfdGhyZWFkX2xpc3QodGgpOwogCSAgICByZXNldF91bmJsb2NrX2Z1bmN0aW9uKHRoLCAmb2xk dWJmKTsKIApAQCAtMzIxMyw4ICszMTkyLDYgQEAgbXV0ZXhfdW5sb2NrKG11dGV4X3QgKm11dGV4 LCByYl90aHJlYWRfdCB2b2xhdGlsZSAqdGgpCiAgICAgY29uc3QgY2hhciAqZXJyID0gTlVMTDsK ICAgICBtdXRleF90ICp0aF9tdXRleDsKIAotICAgIG5hdGl2ZV9tdXRleF9sb2NrKCZtdXRleC0+ bG9jayk7Ci0KICAgICBpZiAobXV0ZXgtPnRoID09IDApIHsKIAllcnIgPSAiQXR0ZW1wdCB0byB1 bmxvY2sgYSBtdXRleCB3aGljaCBpcyBub3QgbG9ja2VkIjsKICAgICB9CkBAIC0zMjMxLDggKzMy MDgsNiBAQCBtdXRleF91bmxvY2sobXV0ZXhfdCAqbXV0ZXgsIHJiX3RocmVhZF90IHZvbGF0aWxl ICp0aCkKIAl9CiAgICAgfQogCi0gICAgbmF0aXZlX211dGV4X3VubG9jaygmbXV0ZXgtPmxvY2sp OwotCiAgICAgaWYgKCFlcnIpIHsKIAl0aF9tdXRleCA9IHRoLT5rZWVwaW5nX211dGV4ZXM7CiAJ aWYgKHRoX211dGV4ID09IG11dGV4KSB7CkBAIC00MTg2LDcgKzQxNjEsNiBAQCBJbml0X1RocmVh ZCh2b2lkKQogCSAgICByYl90aHJlYWRfbG9ja190ICpscCA9ICZHRVRfVEhSRUFEKCktPnZtLT5n bG9iYWxfdm1fbG9jazsKIAkgICAgbmF0aXZlX211dGV4X2luaXRpYWxpemUobHApOwogCSAgICBu YXRpdmVfbXV0ZXhfbG9jayhscCk7Ci0JICAgIG5hdGl2ZV9tdXRleF9pbml0aWFsaXplKCZHRVRf VEhSRUFEKCktPmludGVycnVwdF9sb2NrKTsKIAl9CiAgICAgfQogCkBAIC00MjExLDE4ICs0MTg1 LDE2IEBAIGNoZWNrX2RlYWRsb2NrX2koc3RfZGF0YV90IGtleSwgc3RfZGF0YV90IHZhbCwgaW50 ICpmb3VuZCkKICAgICByYl90aHJlYWRfdCAqdGg7CiAgICAgR2V0VGhyZWFkUHRyKHRodmFsLCB0 aCk7CiAKLSAgICBpZiAodGgtPnN0YXR1cyAhPSBUSFJFQURfU1RPUFBFRF9GT1JFVkVSIHx8IFJV QllfVk1fSU5URVJSVVBURUQodGgpIHx8IHRoLT50cmFuc2l0aW9uX2Zvcl9sb2NrKSB7CisgICAg aWYgKHRoLT5zdGF0dXMgIT0gVEhSRUFEX1NUT1BQRURfRk9SRVZFUiB8fCBSVUJZX1ZNX0lOVEVS UlVQVEVEKHRoKSkgewogCSpmb3VuZCA9IDE7CiAgICAgfQogICAgIGVsc2UgaWYgKHRoLT5sb2Nr aW5nX211dGV4KSB7CiAJbXV0ZXhfdCAqbXV0ZXg7CiAJR2V0TXV0ZXhQdHIodGgtPmxvY2tpbmdf bXV0ZXgsIG11dGV4KTsKIAotCW5hdGl2ZV9tdXRleF9sb2NrKCZtdXRleC0+bG9jayk7CiAJaWYg KG11dGV4LT50aCA9PSB0aCB8fCAoIW11dGV4LT50aCAmJiBtdXRleC0+Y29uZF9ub3RpZmllZCkp IHsKIAkgICAgKmZvdW5kID0gMTsKIAl9Ci0JbmF0aXZlX211dGV4X3VubG9jaygmbXV0ZXgtPmxv Y2spOwogICAgIH0KIAogICAgIHJldHVybiAoKmZvdW5kKSA/IFNUX1NUT1AgOiBTVF9DT05USU5V RTsKQEAgLTQyMzYsMTQgKzQyMDgsMTIgQEAgZGVidWdfaShzdF9kYXRhX3Qga2V5LCBzdF9kYXRh X3QgdmFsLCBpbnQgKmZvdW5kKQogICAgIHJiX3RocmVhZF90ICp0aDsKICAgICBHZXRUaHJlYWRQ dHIodGh2YWwsIHRoKTsKIAotICAgIHByaW50ZigidGg6JXAgJWQgJWQgJWQiLCB0aCwgdGgtPnN0 YXR1cywgdGgtPmludGVycnVwdF9mbGFnLCB0aC0+dHJhbnNpdGlvbl9mb3JfbG9jayk7CisgICAg cHJpbnRmKCJ0aDolcCAlZCAlZCIsIHRoLCB0aC0+c3RhdHVzLCB0aC0+aW50ZXJydXB0X2ZsYWcp OwogICAgIGlmICh0aC0+bG9ja2luZ19tdXRleCkgewogCW11dGV4X3QgKm11dGV4OwogCUdldE11 dGV4UHRyKHRoLT5sb2NraW5nX211dGV4LCBtdXRleCk7CiAKLQluYXRpdmVfbXV0ZXhfbG9jaygm bXV0ZXgtPmxvY2spOwogCXByaW50ZigiICVwICVkXG4iLCBtdXRleC0+dGgsIG11dGV4LT5jb25k X25vdGlmaWVkKTsKLQluYXRpdmVfbXV0ZXhfdW5sb2NrKCZtdXRleC0+bG9jayk7CiAgICAgfQog ICAgIGVsc2UgcHV0cygiIik7CiAKZGlmZiAtLWdpdCBhL3RocmVhZF9wdGhyZWFkLmMgYi90aHJl YWRfcHRocmVhZC5jCmluZGV4IGFmMGIyODYuLjkzZjEwN2IgMTAwNjQ0Ci0tLSBhL3RocmVhZF9w dGhyZWFkLmMKKysrIGIvdGhyZWFkX3B0aHJlYWQuYwpAQCAtMTc5LDcgKzE3OSw2IEBAIEluaXRf bmF0aXZlX3RocmVhZCh2b2lkKQogc3RhdGljIHZvaWQKIG5hdGl2ZV90aHJlYWRfZGVzdHJveShy Yl90aHJlYWRfdCAqdGgpCiB7Ci0gICAgcHRocmVhZF9tdXRleF9kZXN0cm95KCZ0aC0+aW50ZXJy dXB0X2xvY2spOwogICAgIHB0aHJlYWRfY29uZF9kZXN0cm95KCZ0aC0+bmF0aXZlX3RocmVhZF9k YXRhLnNsZWVwX2NvbmQpOwogfQogCkBAIC02MTAsNyArNjA5LDYgQEAgbmF0aXZlX3NsZWVwKHJi X3RocmVhZF90ICp0aCwgc3RydWN0IHRpbWV2YWwgKnR2KQogICAgIHRocmVhZF9kZWJ1ZygibmF0 aXZlX3NsZWVwICVsZFxuIiwgdHYgPyB0di0+dHZfc2VjIDogLTEpOwogICAgIEdWTF9VTkxPQ0tf QkVHSU4oKTsKICAgICB7Ci0JcHRocmVhZF9tdXRleF9sb2NrKCZ0aC0+aW50ZXJydXB0X2xvY2sp OwogCXRoLT51bmJsb2NrLmZ1bmMgPSB1YmZfcHRocmVhZF9jb25kX3NpZ25hbDsKIAl0aC0+dW5i bG9jay5hcmcgPSB0aDsKIApAQCAtNjIzLDcgKzYyMSw3IEBAIG5hdGl2ZV9zbGVlcChyYl90aHJl YWRfdCAqdGgsIHN0cnVjdCB0aW1ldmFsICp0dikKIAkJaW50IHI7CiAJCXRocmVhZF9kZWJ1Zygi bmF0aXZlX3NsZWVwOiBwdGhyZWFkX2NvbmRfd2FpdCBzdGFydFxuIik7CiAJCXIgPSBwdGhyZWFk X2NvbmRfd2FpdCgmdGgtPm5hdGl2ZV90aHJlYWRfZGF0YS5zbGVlcF9jb25kLAotCQkJCSAgICAg ICZ0aC0+aW50ZXJydXB0X2xvY2spOworCQkJCSAgICAgICZ0aC0+dm0tPmdsb2JhbF92bV9sb2Nr KTsKICAgICAgICAgICAgICAgICBpZiAocikgcmJfYnVnX2Vycm5vKCJwdGhyZWFkX2NvbmRfd2Fp dCIsIHIpOwogCQl0aHJlYWRfZGVidWcoIm5hdGl2ZV9zbGVlcDogcHRocmVhZF9jb25kX3dhaXQg ZW5kXG4iKTsKIAkgICAgfQpAQCAtNjMyLDcgKzYzMCw3IEBAIG5hdGl2ZV9zbGVlcChyYl90aHJl YWRfdCAqdGgsIHN0cnVjdCB0aW1ldmFsICp0dikKIAkJdGhyZWFkX2RlYnVnKCJuYXRpdmVfc2xl ZXA6IHB0aHJlYWRfY29uZF90aW1lZHdhaXQgc3RhcnQgKCVsZCwgJWxkKVxuIiwKIAkJCSAgICAg KHVuc2lnbmVkIGxvbmcpdHMudHZfc2VjLCB0cy50dl9uc2VjKTsKIAkJciA9IHB0aHJlYWRfY29u ZF90aW1lZHdhaXQoJnRoLT5uYXRpdmVfdGhyZWFkX2RhdGEuc2xlZXBfY29uZCwKLQkJCQkJICAg JnRoLT5pbnRlcnJ1cHRfbG9jaywgJnRzKTsKKwkJCQkJICAgJnRoLT52bS0+Z2xvYmFsX3ZtX2xv Y2ssICZ0cyk7CiAJCWlmIChyICYmIHIgIT0gRVRJTUVET1VUKSByYl9idWdfZXJybm8oInB0aHJl YWRfY29uZF90aW1lZHdhaXQiLCByKTsKIAogCQl0aHJlYWRfZGVidWcoIm5hdGl2ZV9zbGVlcDog cHRocmVhZF9jb25kX3RpbWVkd2FpdCBlbmQgKCVkKVxuIiwgcik7CkBAIC02NDAsOCArNjM4LDYg QEAgbmF0aXZlX3NsZWVwKHJiX3RocmVhZF90ICp0aCwgc3RydWN0IHRpbWV2YWwgKnR2KQogCX0K IAl0aC0+dW5ibG9jay5mdW5jID0gMDsKIAl0aC0+dW5ibG9jay5hcmcgPSAwOwotCi0JcHRocmVh ZF9tdXRleF91bmxvY2soJnRoLT5pbnRlcnJ1cHRfbG9jayk7CiAgICAgfQogICAgIEdWTF9VTkxP Q0tfRU5EKCk7CiAKZGlmZiAtLWdpdCBhL3RocmVhZF93aW4zMi5jIGIvdGhyZWFkX3dpbjMyLmMK aW5kZXggYjM3NTNlMy4uNzE1NzljZiAxMDA2NDQKLS0tIGEvdGhyZWFkX3dpbjMyLmMKKysrIGIv dGhyZWFkX3dpbjMyLmMKQEAgLTIyMiwxMCArMjIyLDggQEAgbmF0aXZlX3NsZWVwKHJiX3RocmVh ZF90ICp0aCwgc3RydWN0IHRpbWV2YWwgKnR2KQogICAgIHsKIAlEV09SRCByZXQ7CiAKLQluYXRp dmVfbXV0ZXhfbG9jaygmdGgtPmludGVycnVwdF9sb2NrKTsKIAl0aC0+dW5ibG9jay5mdW5jID0g dWJmX2hhbmRsZTsKIAl0aC0+dW5ibG9jay5hcmcgPSB0aDsKLQluYXRpdmVfbXV0ZXhfdW5sb2Nr KCZ0aC0+aW50ZXJydXB0X2xvY2spOwogCiAJaWYgKFJVQllfVk1fSU5URVJSVVBURUQodGgpKSB7 CiAJICAgIC8qIGludGVycnVwdGVkLiAgcmV0dXJuIGltbWVkaWF0ZSAqLwpAQCAtMjM2LDEwICsy MzQsOCBAQCBuYXRpdmVfc2xlZXAocmJfdGhyZWFkX3QgKnRoLCBzdHJ1Y3QgdGltZXZhbCAqdHYp CiAJICAgIHRocmVhZF9kZWJ1ZygibmF0aXZlX3NsZWVwIGRvbmUgKCVsdSlcbiIsIHJldCk7CiAJ fQogCi0JbmF0aXZlX211dGV4X2xvY2soJnRoLT5pbnRlcnJ1cHRfbG9jayk7CiAJdGgtPnVuYmxv Y2suZnVuYyA9IDA7CiAJdGgtPnVuYmxvY2suYXJnID0gMDsKLQluYXRpdmVfbXV0ZXhfdW5sb2Nr KCZ0aC0+aW50ZXJydXB0X2xvY2spOwogICAgIH0KICAgICBHVkxfVU5MT0NLX0VORCgpOwogfQpk aWZmIC0tZ2l0IGEvdm1fY29yZS5oIGIvdm1fY29yZS5oCmluZGV4IGI5YjU4NGEuLjA1MWQ3Y2Mg MTAwNjQ0Ci0tLSBhL3ZtX2NvcmUuaAorKysgYi92bV9jb3JlLmgKQEAgLTQwNywxMSArNDA3LDkg QEAgdHlwZWRlZiBzdHJ1Y3QgcmJfdGhyZWFkX3N0cnVjdAogICAgIGludCBleGVjX3NpZ25hbDsK IAogICAgIGludCBpbnRlcnJ1cHRfZmxhZzsKLSAgICByYl90aHJlYWRfbG9ja190IGludGVycnVw dF9sb2NrOwogICAgIHN0cnVjdCByYl91bmJsb2NrX2NhbGxiYWNrIHVuYmxvY2s7CiAgICAgVkFM VUUgbG9ja2luZ19tdXRleDsKICAgICBzdHJ1Y3QgcmJfbXV0ZXhfc3RydWN0ICprZWVwaW5nX211 dGV4ZXM7Ci0gICAgaW50IHRyYW5zaXRpb25fZm9yX2xvY2s7CiAKICAgICBzdHJ1Y3QgcmJfdm1f dGFnICp0YWc7CiAgICAgc3RydWN0IHJiX3ZtX3RyYXBfdGFnICp0cmFwX3RhZzsKLS0gCjEuNi42 Cgo= --0016e648067892576c047cf86d05--