From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9AFBFC433F5 for ; Tue, 4 Jan 2022 08:58:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229639AbiADI62 (ORCPT ); Tue, 4 Jan 2022 03:58:28 -0500 Received: from szxga02-in.huawei.com ([45.249.212.188]:29322 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229632AbiADI62 (ORCPT ); Tue, 4 Jan 2022 03:58:28 -0500 Received: from dggeme706-chm.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4JSmjD3bZHzbjpZ; Tue, 4 Jan 2022 16:57:52 +0800 (CST) Received: from dggeme756-chm.china.huawei.com (10.3.19.102) by dggeme706-chm.china.huawei.com (10.1.199.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.20; Tue, 4 Jan 2022 16:58:25 +0800 Received: from dggeme756-chm.china.huawei.com ([10.6.80.68]) by dggeme756-chm.china.huawei.com ([10.6.80.68]) with mapi id 15.01.2308.020; Tue, 4 Jan 2022 16:58:25 +0800 From: "zhangwensheng (E)" To: Paolo Valente CC: Jens Axboe , "linux-block@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: =?gb2312?B?tPC4tDogW1BBVENIIC1uZXh0IHYzXSBiZnE6IGZpeCB1c2UtYWZ0ZXItZnJl?= =?gb2312?B?ZSBpbiBiZnFfZGlzcGF0Y2hfcmVxdWVzdA==?= Thread-Topic: [PATCH -next v3] bfq: fix use-after-free in bfq_dispatch_request Thread-Index: AQHX8pnSNnUYyqRnlESsN7jEp4m3R6w6palQgAS4csCAE08QwA== Date: Tue, 4 Jan 2022 08:58:25 +0000 Message-ID: <6a7f4813cbd14353930974960d5a719d@huawei.com> References: <20211216122157.672159-1-zhangwensheng5@huawei.com> <42FD69CD-16CF-447D-AA69-621EE97CE3DC@linaro.org> Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.174.176.103] Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org UGluZy4uLg0KDQotLS0tLdPKvP7Urbz+LS0tLS0NCreivP7Iyzogemhhbmd3ZW5zaGVuZyAoRSkg DQq3osvNyrG85DogMjAyMcTqMTLUwjIzyNUgMTA6MDYNCsrVvP7IyzogJ1Bhb2xvIFZhbGVudGUn IDxwYW9sby52YWxlbnRlQGxpbmFyby5vcmc+DQqzrcvNOiAnSmVucyBBeGJvZScgPGF4Ym9lQGtl cm5lbC5kaz47ICdsaW51eC1ibG9ja0B2Z2VyLmtlcm5lbC5vcmcnIDxsaW51eC1ibG9ja0B2Z2Vy Lmtlcm5lbC5vcmc+OyAnbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZycgPGxpbnV4LWtlcm5l bEB2Z2VyLmtlcm5lbC5vcmc+DQrW98ziOiC08Li0OiBbUEFUQ0ggLW5leHQgdjNdIGJmcTogZml4 IHVzZS1hZnRlci1mcmVlIGluIGJmcV9kaXNwYXRjaF9yZXF1ZXN0DQoNCnBpbmcuLi4NCg0KLS0t LS3Tyrz+1K28/i0tLS0tDQq3orz+yMs6IHpoYW5nd2Vuc2hlbmcgKEUpDQq3osvNyrG85DogMjAy McTqMTLUwjIwyNUgMTA6MzUNCsrVvP7IyzogJ1Bhb2xvIFZhbGVudGUnIDxwYW9sby52YWxlbnRl QGxpbmFyby5vcmc+DQqzrcvNOiBKZW5zIEF4Ym9lIDxheGJvZUBrZXJuZWwuZGs+OyBsaW51eC1i bG9ja0B2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcNCtb3zOI6 ILTwuLQ6IFtQQVRDSCAtbmV4dCB2M10gYmZxOiBmaXggdXNlLWFmdGVyLWZyZWUgaW4gYmZxX2Rp c3BhdGNoX3JlcXVlc3QNCg0KSGkgcGFvbG+jug0KCVRoYW5rcyBmb3IgeW91ciBxdWVzdGlvbiwg aXQgaXMgbXkgbmVnbGlnZW5jZS4NCglJIGhhdmUgdHdvIGlkZWFzIGZvciByZXBhaXJpbmcgdGhl IHByb2JsZW06DQoNCjEuIHVzZSByZWYrKyB0byBhdm9pZCB0aGUgaW5fc2Vydl9xdWV1ZSBiZWlu ZyByZWxlYXNlZC4gUGF0Y2ggYXMgZm9sbG93Og0KDQpibG9jay9iZnEtaW9zY2hlZC5jIHwgNSAr KysrKw0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykNCg0KZGlmZiAtLWdpdCBhL2Js b2NrL2JmcS1pb3NjaGVkLmMgYi9ibG9jay9iZnEtaW9zY2hlZC5jIGluZGV4IGZlYzE4MTE4ZGMz MC4uNzBiZDI4MDE3MGY5IDEwMDY0NA0KLS0tIGEvYmxvY2svYmZxLWlvc2NoZWQuYw0KKysrIGIv YmxvY2svYmZxLWlvc2NoZWQuYw0KQEAgLTUwNjYsNiArNTA2Niw3IEBAIHN0YXRpYyBzdHJ1Y3Qg cmVxdWVzdCAqYmZxX2Rpc3BhdGNoX3JlcXVlc3Qoc3RydWN0IGJsa19tcV9od19jdHggKmhjdHgp DQogICAgICAgIHNwaW5fbG9ja19pcnEoJmJmcWQtPmxvY2spOw0KDQogICAgICAgIGluX3NlcnZf cXVldWUgPSBiZnFkLT5pbl9zZXJ2aWNlX3F1ZXVlOw0KKyAgICAgICBpbl9zZXJ2X3F1ZXVlLT5y ZWYrKzsgLyogYXZpb2QgaW5fc2Vydl9xdWV1ZSByZWxlYXNlICovDQogICAgICAgIHdhaXRpbmdf cnEgPSBpbl9zZXJ2X3F1ZXVlICYmIGJmcV9iZnFxX3dhaXRfcmVxdWVzdChpbl9zZXJ2X3F1ZXVl KTsNCg0KICAgICAgICBycSA9IF9fYmZxX2Rpc3BhdGNoX3JlcXVlc3QoaGN0eCk7IEBAIC01MDc3 LDYgKzUwNzgsMTAgQEAgc3RhdGljIHN0cnVjdCByZXF1ZXN0ICpiZnFfZGlzcGF0Y2hfcmVxdWVz dChzdHJ1Y3QgYmxrX21xX2h3X2N0eCAqaGN0eCkNCg0KICAgICAgICBiZnFfdXBkYXRlX2Rpc3Bh dGNoX3N0YXRzKGhjdHgtPnF1ZXVlLCBycSwgaW5fc2Vydl9xdWV1ZSwNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZGxlX3RpbWVyX2Rpc2FibGVkKTsNCisgICAgICAgLyogcmVz dW1lIGluX3NlcnZfcXVldWUgKi8NCisgICAgICAgc3Bpbl9sb2NrX2lycSgmYmZxZC0+bG9jayk7 DQorICAgICAgIGJmcV9wdXRfcXVldWUoaW5fc2Vydl9xdWV1ZSk7DQorICAgICAgIHNwaW5fdW5s b2NrX2lycSgmYmZxZC0+bG9jayk7DQoNCiAgICAgICAgcmV0dXJuIHJxOw0KIH0NCg0KMi4gYWRk IG5ldyBjaGFuZ2VzIHRvIHByZXZpb3VzLCB0YWtpbmcgb3V0IGJmcXFfZ3JvdXAoaW5fc2Vydl9x dWV1ZSkgZnJvbSBiZnFfdXBkYXRlX2Rpc3BhdGNoX3N0YXRzLiBQYXRjaCBhcyBmb2xsb3c6DQoN CmRpZmYgLS1naXQgYS9ibG9jay9iZnEtaW9zY2hlZC5jIGIvYmxvY2svYmZxLWlvc2NoZWQuYw0K LS0tIGEvYmxvY2svYmZxLWlvc2NoZWQuYw0KKysrIGIvYmxvY2svYmZxLWlvc2NoZWQuYw0KQEAg LTUwMDcsNyArNTAwNyw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmVxdWVzdCAqX19iZnFfZGlzcGF0Y2hf cmVxdWVzdChzdHJ1Y3QgYmxrX21xX2h3X2N0eCAqaGN0eCkgICNpZmRlZiBDT05GSUdfQkZRX0NH Uk9VUF9ERUJVRyAgc3RhdGljIHZvaWQgYmZxX3VwZGF0ZV9kaXNwYXRjaF9zdGF0cyhzdHJ1Y3Qg cmVxdWVzdF9xdWV1ZSAqcSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHJlcXVlc3QgKnJxLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgYmZxX3F1ZXVlICppbl9zZXJ2X3F1ZXVlLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmZxX2dyb3VwICpiZnFnX2luX3NlcnYsDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaWRsZV90aW1lcl9kaXNhYmxlZCkg IHsNCiAgICAgICAgc3RydWN0IGJmcV9xdWV1ZSAqYmZxcSA9IHJxID8gUlFfQkZRUShycSkgOiBO VUxMOyBAQCAtNTAzOSw3ICs1MDM5LDcgQEAgc3RhdGljIHZvaWQgYmZxX3VwZGF0ZV9kaXNwYXRj aF9zdGF0cyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwNCiAgICAgICAgICAgICAgICAgKiB0aGVy ZWZvcmUgZ3VhcmFudGVlZCB0byBleGlzdCBiZWNhdXNlIG9mIHRoZSBhYm92ZQ0KICAgICAgICAg ICAgICAgICAqIGFyZ3VtZW50cy4NCiAgICAgICAgICAgICAgICAgKi8NCi0gICAgICAgICAgICAg ICBiZnFnX3N0YXRzX3VwZGF0ZV9pZGxlX3RpbWUoYmZxcV9ncm91cChpbl9zZXJ2X3F1ZXVlKSk7 DQorICAgICAgICAgICAgICAgYmZxZ19zdGF0c191cGRhdGVfaWRsZV90aW1lKGJmcWdfaW5fc2Vy dik7DQogICAgICAgIGlmIChiZnFxKSB7DQogICAgICAgICAgICAgICAgc3RydWN0IGJmcV9ncm91 cCAqYmZxZyA9IGJmcXFfZ3JvdXAoYmZxcSk7DQogDQpAQCAtNTA1Miw3ICs1MDUyLDcgQEAgc3Rh dGljIHZvaWQgYmZxX3VwZGF0ZV9kaXNwYXRjaF9zdGF0cyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAq cSwgICNlbHNlICBzdGF0aWMgaW5saW5lIHZvaWQgYmZxX3VwZGF0ZV9kaXNwYXRjaF9zdGF0cyhz dHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCByZXF1ZXN0ICpycSwNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBiZnFfcXVldWUgKmluX3NlcnZfcXVldWUsDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmZxX2dy b3VwIA0KKyAqYmZxZ19pbl9zZXJ2LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBpZGxlX3RpbWVyX2Rpc2FibGVkKSB7fSAgI2VuZGlmIC8qIENPTkZJ R19CRlFfQ0dST1VQX0RFQlVHICovDQogDQpAQCAtNTA2MiwyMCArNTA2MiwyMyBAQCBzdGF0aWMg c3RydWN0IHJlcXVlc3QgKmJmcV9kaXNwYXRjaF9yZXF1ZXN0KHN0cnVjdCBibGtfbXFfaHdfY3R4 ICpoY3R4KQ0KICAgICAgICBzdHJ1Y3QgcmVxdWVzdCAqcnE7DQogICAgICAgIHN0cnVjdCBiZnFf cXVldWUgKmluX3NlcnZfcXVldWU7DQogICAgICAgIGJvb2wgd2FpdGluZ19ycSwgaWRsZV90aW1l cl9kaXNhYmxlZDsNCisgICAgICAgc3RydWN0IGJmcV9ncm91cCAqYmZxZ19pbl9zZXJ2Ow0KIA0K ICAgICAgICBzcGluX2xvY2tfaXJxKCZiZnFkLT5sb2NrKTsNCiANCiAgICAgICAgaW5fc2Vydl9x dWV1ZSA9IGJmcWQtPmluX3NlcnZpY2VfcXVldWU7DQogICAgICAgIHdhaXRpbmdfcnEgPSBpbl9z ZXJ2X3F1ZXVlICYmIGJmcV9iZnFxX3dhaXRfcmVxdWVzdChpbl9zZXJ2X3F1ZXVlKTsNCisgICAg ICAgYmZxZ19pbl9zZXJ2ID0gYmZxcV9ncm91cChpbl9zZXJ2X3F1ZXVlKTsNCiANCiAgICAgICAg cnEgPSBfX2JmcV9kaXNwYXRjaF9yZXF1ZXN0KGhjdHgpOw0KIA0KLSAgICAgICBpZGxlX3RpbWVy X2Rpc2FibGVkID0NCi0gICAgICAgICAgICAgICB3YWl0aW5nX3JxICYmICFiZnFfYmZxcV93YWl0 X3JlcXVlc3QoaW5fc2Vydl9xdWV1ZSk7DQotDQorICAgICAgIGlmIChpbl9zZXJ2X3F1ZXVlID09 IGJmcWQtPmluX3NlcnZpY2VfcXVldWUpIHsNCisgICAgICAgICAgICAgICBpZGxlX3RpbWVyX2Rp c2FibGVkID0NCisgICAgICAgICAgICAgICAgICAgICAgIHdhaXRpbmdfcnEgJiYgIWJmcV9iZnFx X3dhaXRfcmVxdWVzdChpbl9zZXJ2X3F1ZXVlKTsNCisgICAgICAgfQ0KICAgICAgICBzcGluX3Vu bG9ja19pcnEoJmJmcWQtPmxvY2spOw0KIA0KLSAgICAgICBiZnFfdXBkYXRlX2Rpc3BhdGNoX3N0 YXRzKGhjdHgtPnF1ZXVlLCBycSwgaW5fc2Vydl9xdWV1ZSwNCisgICAgICAgYmZxX3VwZGF0ZV9k aXNwYXRjaF9zdGF0cyhoY3R4LT5xdWV1ZSwgcnEsIGJmcWdfaW5fc2VydiwNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpZGxlX3RpbWVyX2Rpc2FibGVkKTsNCiANCiAgICAgICAg cmV0dXJuIHJxOw0KDQoJd2hhdCBkbyB5b3UgdGhpbms/DQoJDQoJVGhhbmtzDQoJWmhhbmcgV2Vu c2hlbmcNCi0tLS0t08q8/tStvP4tLS0tLQ0Kt6K8/sjLOiBQYW9sbyBWYWxlbnRlIFttYWlsdG86 cGFvbG8udmFsZW50ZUBsaW5hcm8ub3JnXQ0Kt6LLzcqxvOQ6IDIwMjHE6jEy1MIxN8jVIDA6MjgN CsrVvP7Iyzogemhhbmd3ZW5zaGVuZyAoRSkgPHpoYW5nd2Vuc2hlbmc1QGh1YXdlaS5jb20+DQqz rcvNOiBKZW5zIEF4Ym9lIDxheGJvZUBrZXJuZWwuZGs+OyBsaW51eC1ibG9ja0B2Z2VyLmtlcm5l bC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcNCtb3zOI6IFJlOiBbUEFUQ0ggLW5l eHQgdjNdIGJmcTogZml4IHVzZS1hZnRlci1mcmVlIGluIGJmcV9kaXNwYXRjaF9yZXF1ZXN0DQoN Cg0KDQo+IElsIGdpb3JubyAxNiBkaWMgMjAyMSwgYWxsZSBvcmUgMTM6MjEsIFpoYW5nIFdlbnNo ZW5nIDx6aGFuZ3dlbnNoZW5nNUBodWF3ZWkuY29tPiBoYSBzY3JpdHRvOg0KPiANCj4gS0FTQU4g cmVwb3J0cyBhIHVzZS1hZnRlci1mcmVlIHJlcG9ydCB3aGVuIGRvaW5nIG5vcm1hbCBzY3NpLW1x IHRlc3QNCj4gDQo+IFs2OTgzMi4yMzkwMzJdDQo+ID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiBbNjk4MzIuMjQxODEw XSBCVUc6IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBpbg0KPiBiZnFfZGlzcGF0Y2hfcmVxdWVzdCsw eDEwNDUvMHg0NGIwDQo+IFs2OTgzMi4yNDMyNjddIFJlYWQgb2Ygc2l6ZSA4IGF0IGFkZHIgZmZm Zjg4ODAyNjIyYmE4OCBieSB0YXNrDQo+IGt3b3JrZXIvMzoxSC8xNTUgWzY5ODMyLjI0NDY1Nl0g WzY5ODMyLjI0NTAwN10gQ1BVOiAzIFBJRDogMTU1IENvbW06IA0KPiBrd29ya2VyLzM6MUggTm90 IHRhaW50ZWQgNS4xMC4wLTEwMjk1LWc1NzZjNjM4MjUyOWUgIzggWzY5ODMyLjI0NjYyNl0gDQo+ IEhhcmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBC SU9TIA0KPiByZWwtMS4xNC4wLTAtZzE1NTgyMWExOTkwYi1wcmVidWlsdC5xZW11Lm9yZyAwNC8w MS8yMDE0IFs2OTgzMi4yNDkwNjldDQo+IFdvcmtxdWV1ZToga2Jsb2NrZCBibGtfbXFfcnVuX3dv cmtfZm4gWzY5ODMyLjI1MDAyMl0gQ2FsbCBUcmFjZToNCj4gWzY5ODMyLjI1MDU0MV0gIGR1bXBf c3RhY2srMHg5Yi8weGNlDQo+IFs2OTgzMi4yNTEyMzJdICA/IGJmcV9kaXNwYXRjaF9yZXF1ZXN0 KzB4MTA0NS8weDQ0YjANCj4gWzY5ODMyLjI1MjI0M10gIHByaW50X2FkZHJlc3NfZGVzY3JpcHRp b24uY29uc3Rwcm9wLjYrMHgzZS8weDYwDQo+IFs2OTgzMi4yNTMzODFdICA/IF9fY3B1aWRsZV90 ZXh0X2VuZCsweDUvMHg1IFs2OTgzMi4yNTQyMTFdICA/IA0KPiB2cHJpbnRrX2Z1bmMrMHg2Yi8w eDEyMCBbNjk4MzIuMjU0OTk0XSAgPyANCj4gYmZxX2Rpc3BhdGNoX3JlcXVlc3QrMHgxMDQ1LzB4 NDRiMA0KPiBbNjk4MzIuMjU1OTUyXSAgPyBiZnFfZGlzcGF0Y2hfcmVxdWVzdCsweDEwNDUvMHg0 NGIwDQo+IFs2OTgzMi4yNTY5MTRdICBrYXNhbl9yZXBvcnQuY29sZC45KzB4MjIvMHgzYSBbNjk4 MzIuMjU3NzUzXSAgPyANCj4gYmZxX2Rpc3BhdGNoX3JlcXVlc3QrMHgxMDQ1LzB4NDRiMA0KPiBb Njk4MzIuMjU4NzU1XSAgY2hlY2tfbWVtb3J5X3JlZ2lvbisweDFjMS8weDFlMCBbNjk4MzIuMjYw MjQ4XQ0KPiBiZnFfZGlzcGF0Y2hfcmVxdWVzdCsweDEwNDUvMHg0NGIwDQo+IFs2OTgzMi4yNjEx ODFdICA/IGJmcV9iZnFxX2V4cGlyZSsweDI0NDAvMHgyNDQwIFs2OTgzMi4yNjIwMzJdICA/IA0K PiBibGtfbXFfZGVsYXlfcnVuX2h3X3F1ZXVlcysweGY5LzB4MTcwDQo+IFs2OTgzMi4yNjMwMjJd ICBfX2Jsa19tcV9kb19kaXNwYXRjaF9zY2hlZCsweDUyZi8weDgzMA0KPiBbNjk4MzIuMjY0MDEx XSAgPyBibGtfbXFfc2NoZWRfcmVxdWVzdF9pbnNlcnRlZCsweDEwMC8weDEwMA0KPiBbNjk4MzIu MjY1MTAxXSAgX19ibGtfbXFfc2NoZWRfZGlzcGF0Y2hfcmVxdWVzdHMrMHgzOTgvMHg0ZjANCj4g WzY5ODMyLjI2NjIwNl0gID8gYmxrX21xX2RvX2Rpc3BhdGNoX2N0eCsweDU3MC8weDU3MA0KPiBb Njk4MzIuMjY3MTQ3XSAgPyBfX3N3aXRjaF90bysweDVmNC8weGVlMCBbNjk4MzIuMjY3ODk4XQ0K PiBibGtfbXFfc2NoZWRfZGlzcGF0Y2hfcmVxdWVzdHMrMHhkZi8weDE0MA0KPiBbNjk4MzIuMjY4 OTQ2XSAgX19ibGtfbXFfcnVuX2h3X3F1ZXVlKzB4YzAvMHgyNzAgWzY5ODMyLjI2OTg0MF0NCj4g YmxrX21xX3J1bl93b3JrX2ZuKzB4NTEvMHg2MCBbNjk4MzIuMjc4MTcwXQ0KPiBwcm9jZXNzX29u ZV93b3JrKzB4NmQ0LzB4ZmUwIFs2OTgzMi4yNzg5ODRdICB3b3JrZXJfdGhyZWFkKzB4OTEvMHhj ODAgDQo+IFs2OTgzMi4yNzk3MjZdICA/IF9fa3RocmVhZF9wYXJrbWUrMHhiMC8weDExMCBbNjk4 MzIuMjgwNTU0XSAgPw0KPiBwcm9jZXNzX29uZV93b3JrKzB4ZmUwLzB4ZmUwIFs2OTgzMi4yODE0 MTRdICBrdGhyZWFkKzB4MzJkLzB4M2YwIA0KPiBbNjk4MzIuMjgyMDgyXSAgPyBrdGhyZWFkX3Bh cmsrMHgxNzAvMHgxNzAgWzY5ODMyLjI4Mjg0OV0NCj4gcmV0X2Zyb21fZm9yaysweDFmLzB4MzAg WzY5ODMyLjI4MzU3M10gWzY5ODMyLjI4Mzg4Nl0gQWxsb2NhdGVkIGJ5IA0KPiB0YXNrIDc3MjU6 DQo+IFs2OTgzMi4yODQ1OTldICBrYXNhbl9zYXZlX3N0YWNrKzB4MTkvMHg0MCBbNjk4MzIuMjg1 Mzg1XQ0KPiBfX2thc2FuX2ttYWxsb2MuY29uc3Rwcm9wLjIrMHhjMS8weGQwDQo+IFs2OTgzMi4y ODYzNTBdICBrbWVtX2NhY2hlX2FsbG9jX25vZGUrMHgxM2YvMHg0NjAgWzY5ODMyLjI4NzIzN10N Cj4gYmZxX2dldF9xdWV1ZSsweDNkNC8weDExNDAgWzY5ODMyLjI4Nzk5M10NCj4gYmZxX2dldF9i ZnFxX2hhbmRsZV9zcGxpdCsweDEwMy8weDUxMA0KPiBbNjk4MzIuMjg5MDE1XSAgYmZxX2luaXRf cnErMHgzMzcvMHgyZDUwIFs2OTgzMi4yODk3NDldDQo+IGJmcV9pbnNlcnRfcmVxdWVzdHMrMHgz MDQvMHg0ZTEwIFs2OTgzMi4yOTA2MzRdDQo+IGJsa19tcV9zY2hlZF9pbnNlcnRfcmVxdWVzdHMr MHgxM2UvMHgzOTANCj4gWzY5ODMyLjI5MTYyOV0gIGJsa19tcV9mbHVzaF9wbHVnX2xpc3QrMHg0 YjQvMHg3NjANCj4gWzY5ODMyLjI5MjUzOF0gIGJsa19mbHVzaF9wbHVnX2xpc3QrMHgyYzUvMHg0 ODAgWzY5ODMyLjI5MzM5Ml0NCj4gaW9fc2NoZWR1bGVfcHJlcGFyZSsweGIyLzB4ZDAgWzY5ODMy LjI5NDIwOV0NCj4gaW9fc2NoZWR1bGVfdGltZW91dCsweDEzLzB4ODAgWzY5ODMyLjI5NTAxNF0N Cj4gd2FpdF9mb3JfY29tbW9uX2lvLmNvbnN0cHJvcC4xKzB4MTNjLzB4MjcwDQo+IFs2OTgzMi4y OTYxMzddICBzdWJtaXRfYmlvX3dhaXQrMHgxMDMvMHgxYTAgWzY5ODMyLjI5NjkzMl0NCj4gYmxr ZGV2X2lzc3VlX2Rpc2NhcmQrMHhlNi8weDE2MCBbNjk4MzIuMjk3Nzk0XQ0KPiBibGtfaW9jdGxf ZGlzY2FyZCsweDIxOS8weDI5MCBbNjk4MzIuMjk4NjE0XQ0KPiBibGtkZXZfY29tbW9uX2lvY3Rs KzB4NTBhLzB4MTc1MCBbNjk4MzIuMzA0NzE1XQ0KPiBibGtkZXZfaW9jdGwrMHg0NzAvMHg2MDAg WzY5ODMyLjMwNTQ3NF0gIGJsb2NrX2lvY3RsKzB4ZGUvMHgxMjAgDQo+IFs2OTgzMi4zMDYyMzJd ICB2ZnNfaW9jdGwrMHg2Yy8weGMwIFs2OTgzMi4zMDY4NzddDQo+IF9fc2Vfc3lzX2lvY3RsKzB4 OTAvMHhhMCBbNjk4MzIuMzA3NjI5XSAgZG9fc3lzY2FsbF82NCsweDJkLzB4NDAgDQo+IFs2OTgz Mi4zMDgzNjJdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5DQo+IFs2 OTgzMi4zMDkzODJdDQo+IFs2OTgzMi4zMDk3MDFdIEZyZWVkIGJ5IHRhc2sgMTU1Og0KPiBbNjk4 MzIuMzEwMzI4XSAga2FzYW5fc2F2ZV9zdGFjaysweDE5LzB4NDAgWzY5ODMyLjMxMTEyMV0NCj4g a2FzYW5fc2V0X3RyYWNrKzB4MWMvMHgzMCBbNjk4MzIuMzExODY4XQ0KPiBrYXNhbl9zZXRfZnJl ZV9pbmZvKzB4MWIvMHgzMCBbNjk4MzIuMzEyNjk5XQ0KPiBfX2thc2FuX3NsYWJfZnJlZSsweDEx MS8weDE2MCBbNjk4MzIuMzEzNTI0XQ0KPiBrbWVtX2NhY2hlX2ZyZWUrMHg5NC8weDQ2MCBbNjk4 MzIuMzE0MzY3XSAgYmZxX3B1dF9xdWV1ZSsweDU4Mi8weDk0MCANCj4gWzY5ODMyLjMxNTExMl0g IF9fYmZxX2JmcWRfcmVzZXRfaW5fc2VydmljZSsweDE2Ni8weDFkMA0KPiBbNjk4MzIuMzE3Mjc1 XSAgYmZxX2JmcXFfZXhwaXJlKzB4YjI3LzB4MjQ0MCBbNjk4MzIuMzE4MDg0XQ0KPiBiZnFfZGlz cGF0Y2hfcmVxdWVzdCsweDY5Ny8weDQ0YjAgWzY5ODMyLjMxODk5MV0NCj4gX19ibGtfbXFfZG9f ZGlzcGF0Y2hfc2NoZWQrMHg1MmYvMHg4MzANCj4gWzY5ODMyLjMxOTk4NF0gIF9fYmxrX21xX3Nj aGVkX2Rpc3BhdGNoX3JlcXVlc3RzKzB4Mzk4LzB4NGYwDQo+IFs2OTgzMi4zMjEwODddICBibGtf bXFfc2NoZWRfZGlzcGF0Y2hfcmVxdWVzdHMrMHhkZi8weDE0MA0KPiBbNjk4MzIuMzIyMjI1XSAg X19ibGtfbXFfcnVuX2h3X3F1ZXVlKzB4YzAvMHgyNzAgWzY5ODMyLjMyMzExNF0NCj4gYmxrX21x X3J1bl93b3JrX2ZuKzB4NTEvMHg2MCBbNjk4MzIuMzIzOTQyXQ0KPiBwcm9jZXNzX29uZV93b3Jr KzB4NmQ0LzB4ZmUwIFs2OTgzMi4zMjQ3NzJdICB3b3JrZXJfdGhyZWFkKzB4OTEvMHhjODAgDQo+ IFs2OTgzMi4zMjU1MThdICBrdGhyZWFkKzB4MzJkLzB4M2YwIFs2OTgzMi4zMjYyMDVdDQo+IHJl dF9mcm9tX2ZvcmsrMHgxZi8weDMwIFs2OTgzMi4zMjY5MzJdIFs2OTgzMi4zMzgyOTddIFRoZSBi dWdneSANCj4gYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBvYmplY3QgYXQgZmZmZjg4ODAyNjIyYjk2 OCBbNjk4MzIuMzM4Mjk3XSB3aGljaCANCj4gYmVsb25ncyB0byB0aGUgY2FjaGUgYmZxX3F1ZXVl IG9mIHNpemUgNTEyIFs2OTgzMi4zNDA3NjZdIFRoZSBidWdneSANCj4gYWRkcmVzcyBpcyBsb2Nh dGVkIDI4OCBieXRlcyBpbnNpZGUgb2YgWzY5ODMyLjM0MDc2Nl0gIDUxMi1ieXRlIHJlZ2lvbiAN Cj4gW2ZmZmY4ODgwMjYyMmI5NjgsIGZmZmY4ODgwMjYyMmJiNjgpIFs2OTgzMi4zNDMwOTFdIFRo ZSBidWdneSBhZGRyZXNzIA0KPiBiZWxvbmdzIHRvIHRoZSBwYWdlOg0KPiBbNjk4MzIuMzQ0MDk3 XSBwYWdlOmZmZmZlYTAwMDA5ODhhMDAgcmVmY291bnQ6MSBtYXBjb3VudDowDQo+IG1hcHBpbmc6 MDAwMDAwMDAwMDAwMDAwMCBpbmRleDoweGZmZmY4ODgwMjYyMmE1MjggcGZuOjB4MjYyMjggDQo+ IFs2OTgzMi4zNDYyMTRdIGhlYWQ6ZmZmZmVhMDAwMDk4OGEwMCBvcmRlcjoyIGNvbXBvdW5kX21h cGNvdW50OjANCj4gY29tcG91bmRfcGluY291bnQ6MCBbNjk4MzIuMzQ3NzE5XSBmbGFnczogMHgx ZmZmZmY4MDAxMDIwMChzbGFifGhlYWQpIA0KPiBbNjk4MzIuMzQ4NjI1XSByYXc6IDAwMWZmZmZm ODAwMTAyMDAgZmZmZmVhMDAwMGRiYWMwOCBmZmZmODg4MDE3YTU3NjUwDQo+IGZmZmY4ODgwMTc5 ZmU4NDAgWzY5ODMyLjM1NDk3Ml0gcmF3OiBmZmZmODg4MDI2MjJhNTI4IDAwMDAwMDAwMDAxMjAw MDggDQo+IDAwMDAwMDAxZmZmZmZmZmYgMDAwMDAwMDAwMDAwMDAwMCBbNjk4MzIuMzU2NTQ3XSBw YWdlIGR1bXBlZCBiZWNhdXNlOg0KPiBrYXNhbjogYmFkIGFjY2VzcyBkZXRlY3RlZCBbNjk4MzIu MzU3NjUyXSBbNjk4MzIuMzU3OTcwXSBNZW1vcnkgc3RhdGUgYXJvdW5kIHRoZSBidWdneSBhZGRy ZXNzOg0KPiBbNjk4MzIuMzU4OTI2XSAgZmZmZjg4ODAyNjIyYjk4MDogZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgDQo+IGZiIGZiIGZiIGZiIFs2OTgzMi4zNjAzNThdICBmZmZm ODg4MDI2MjJiYTAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiANCj4gZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgWzY5ODMyLjM2MTgxMF0gPmZmZmY4ODgwMjYyMmJhODA6IGZiIGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiDQo+IFs2OTgzMi4zNjMyNzNdICAgICAg ICAgICAgICAgICAgICAgICBeDQo+IFs2OTgzMi4zNjM5NzVdICBmZmZmODg4MDI2MjJiYjAwOiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiANCj4gZmIgZmMgZmMgZmMgWzY5ODMy LjM3NTk2MF0gIGZmZmY4ODgwMjYyMmJiODA6IGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIA0KPiBm YyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBbNjk4MzIuMzc3NDA1XSANCj4gPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+IA0K PiBJbiBiZnFfZGlzcGF0Y2hfcmVxdWVzdGZ1bmN0aW9uLCBpdCBtYXkgaGF2ZSBmdW5jdGlvbiBj YWxsOg0KPiANCj4gYmZxX2Rpc3BhdGNoX3JlcXVlc3QNCj4gCV9fYmZxX2Rpc3BhdGNoX3JlcXVl c3QNCj4gCQliZnFfc2VsZWN0X3F1ZXVlDQo+IAkJCWJmcV9iZnFxX2V4cGlyZQ0KPiAJCQkJX19i ZnFfYmZxZF9yZXNldF9pbl9zZXJ2aWNlDQo+IAkJCQkJYmZxX3B1dF9xdWV1ZQ0KPiAJCQkJCQlr bWVtX2NhY2hlX2ZyZWUNCj4gSW4gdGhpcyBmdW5jdGlvbiBjYWxsLCBpbl9zZXJ2X3F1ZXVlIGhh cyBiZWVkIGV4cGlyZWQgYW5kIG1lZXQgdGhlIA0KPiBjb25kaXRpb25zIHRvIGZyZWUuIEluIHRo ZSBmdW5jdGlvbiBiZnFfZGlzcGF0Y2hfcmVxdWVzdCwgdGhlIGFkZHJlc3MgDQo+IG9mIGluX3Nl cnZfcXVldWUgcG9pbnRpbmcgdG8gaGFzIGJlZW4gcmVsZWFzZWQuIEZvciBnZXR0aW5nIHRoZSB2 YWx1ZSANCj4gb2YgaWRsZV90aW1lcl9kaXNhYmxlZCwgaXQgd2lsbCBnZXQgZmxhZ3MgdmFsdWUg ZnJvbSB0aGUgYWRkcmVzcyB3aGljaCANCj4gaW5fc2Vydl9xdWV1ZSBwb2ludGluZyB0bywgdGhl biB0aGUgcHJvYmxlbSBvZiB1c2UtYWZ0ZXItZnJlZSBoYXBwZW5zOw0KPiANCj4gRml4IHRoZSBw cm9ibGVtIGJ5IGNoZWNrIGluX3NlcnZfcXVldWUgPT0gYmZxZC0+aW5fc2VydmljZV9xdWV1ZSwg dG8gDQo+IGdldCB0aGUgdmFsdWUgb2YgaWRsZV90aW1lcl9kaXNhYmxlZCBpZiBpbl9zZXJ2ZV9x dWV1ZSBpcyBlcXVlbCB0bw0KPiBiZnFkLT5pbl9zZXJ2aWNlX3F1ZXVlLiBJZiB0aGUgc3BhY2Ug b2YgaW5fc2Vydl9xdWV1ZSBwb2ludGluZyBoYXMNCj4gYmVlbiByZWxlYXNlZCwgdGhpcyBqdWRn ZSB3aWxsIGF2aW9kIHVzZS1hZnRlci1mcmVlIHByb2JsZW0uDQo+IEFuZCBpZiBpbl9zZXJ2X3F1 ZXVlIG1heSBiZSBleHBpcmVkIGJ1dCBpdCBzdGlsbCBleGlzdHMsIHRoaXMganVkZ2UgDQo+IG1h eSBoYXZlIGxpdHRsZSBlZmZlY3RzIG9uIHRoZSBmdW5jdGlvbiBiZnFnX3N0YXRzX3VwZGF0ZV9p ZGxlX3RpbWUgaW4gDQo+IGJmcV91cGRhdGVfZGlzcGF0Y2hfc3RhdHMuDQo+IA0KPiBSZXBvcnRl ZC1ieTogSHVsayBSb2JvdCA8aHVsa2NpQGh1YXdlaS5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFpo YW5nIFdlbnNoZW5nIDx6aGFuZ3dlbnNoZW5nNUBodWF3ZWkuY29tPg0KPiAtLS0NCj4gYmxvY2sv YmZxLWlvc2NoZWQuYyB8IDkgKysrKystLS0tDQo+IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvYmxvY2svYmZxLWlvc2No ZWQuYyBiL2Jsb2NrL2JmcS1pb3NjaGVkLmMgaW5kZXggDQo+IGZlYzE4MTE4ZGMzMC4uOTc1MzM2 MzRiOTllIDEwMDY0NA0KPiAtLS0gYS9ibG9jay9iZnEtaW9zY2hlZC5jDQo+ICsrKyBiL2Jsb2Nr L2JmcS1pb3NjaGVkLmMNCj4gQEAgLTUwNjEsNyArNTA2MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmVx dWVzdCAqYmZxX2Rpc3BhdGNoX3JlcXVlc3Qoc3RydWN0IGJsa19tcV9od19jdHggKmhjdHgpDQo+ IAlzdHJ1Y3QgYmZxX2RhdGEgKmJmcWQgPSBoY3R4LT5xdWV1ZS0+ZWxldmF0b3ItPmVsZXZhdG9y X2RhdGE7DQo+IAlzdHJ1Y3QgcmVxdWVzdCAqcnE7DQo+IAlzdHJ1Y3QgYmZxX3F1ZXVlICppbl9z ZXJ2X3F1ZXVlOw0KPiAtCWJvb2wgd2FpdGluZ19ycSwgaWRsZV90aW1lcl9kaXNhYmxlZDsNCj4g Kwlib29sIHdhaXRpbmdfcnEsIGlkbGVfdGltZXJfZGlzYWJsZWQgPSBmYWxzZTsNCj4gDQo+IAlz cGluX2xvY2tfaXJxKCZiZnFkLT5sb2NrKTsNCj4gDQo+IEBAIC01MDcwLDkgKzUwNzAsMTAgQEAg c3RhdGljIHN0cnVjdCByZXF1ZXN0IA0KPiAqYmZxX2Rpc3BhdGNoX3JlcXVlc3Qoc3RydWN0IGJs a19tcV9od19jdHggKmhjdHgpDQo+IA0KPiAJcnEgPSBfX2JmcV9kaXNwYXRjaF9yZXF1ZXN0KGhj dHgpOw0KPiANCj4gLQlpZGxlX3RpbWVyX2Rpc2FibGVkID0NCj4gLQkJd2FpdGluZ19ycSAmJiAh YmZxX2JmcXFfd2FpdF9yZXF1ZXN0KGluX3NlcnZfcXVldWUpOw0KPiAtDQo+ICsJaWYgKGluX3Nl cnZfcXVldWUgPT0gYmZxZC0+aW5fc2VydmljZV9xdWV1ZSkgew0KPiArCQlpZGxlX3RpbWVyX2Rp c2FibGVkID0NCj4gKwkJCXdhaXRpbmdfcnEgJiYgIWJmcV9iZnFxX3dhaXRfcmVxdWVzdChpbl9z ZXJ2X3F1ZXVlKTsNCj4gKwl9DQoNCkdvb2QgY2F0Y2ghDQoNCj4gCXNwaW5fdW5sb2NrX2lycSgm YmZxZC0+bG9jayk7DQo+IA0KPiAJYmZxX3VwZGF0ZV9kaXNwYXRjaF9zdGF0cyhoY3R4LT5xdWV1 ZSwgcnEsIGluX3NlcnZfcXVldWUsDQoNCllldCwgd2hhdCBhYm91dCB0aGUgYWJvdmUgdXNlIG9m IGluX3NlcnZfcXVldWUgdGhlbj8NCg0KVGhhbmtzLA0KUGFvbG8NCg0KPiAtLQ0KPiAyLjMxLjEN Cj4gDQoNCg==