From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH RFC 38/49] xen/sched: move struct task_slice into struct sched_item Date: Fri, 29 Mar 2019 16:09:23 +0100 Message-ID: <20190329150934.17694-39-jgross@suse.com> References: <20190329150934.17694-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h9t8n-0003rb-7Z for xen-devel@lists.xenproject.org; Fri, 29 Mar 2019 15:09:57 +0000 In-Reply-To: <20190329150934.17694-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Robert VanVossen , Dario Faggioli , Julien Grall , Josh Whitehead , Meng Xu , Jan Beulich List-Id: xen-devel@lists.xenproject.org SW4gb3JkZXIgdG8gcHJlcGFyZSBmb3IgbXVsdGlwbGUgdmNwdXMgcGVyIHNjaGVkdWxlIGl0ZW0g bW92ZSBzdHJ1Y3QKdGFza19zbGljZSBpbiBzY2hlZHVsZSgpIGZyb20gdGhlIGxvY2FsIHN0YWNr IGludG8gc3RydWN0IHNjaGVkX2l0ZW0Kb2YgdGhlIGN1cnJlbnRseSBydW5uaW5nIGl0ZW0uIFRv IG1ha2UgYWNjZXNzIGVhc2llciBmb3IgdGhlIHNpbmdsZQpzY2hlZHVsZXJzIGFkZCB0aGUgcG9p bnRlciBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgaXRlbSBhcyBhIHBhcmFtZXRlcgpvZiBkb19z Y2hlZHVsZSgpLgoKV2hpbGUgYXQgaXQgc3dpdGNoIHRoZSB0YXNrbGV0X3dvcmtfc2NoZWR1bGVk IHBhcmFtZXRlciBvZgpkb19zY2hlZHVsZSgpIGZyb20gYm9vbF90IHRvIGJvb2wuCgpBcyBzdHJ1 Y3QgdGFza19zbGljZSBpcyBvbmx5IGV2ZXIgbW9kaWZpZWQgd2l0aCB0aGUgbG9jYWwgc2NoZWR1 bGUKbG9jayBoZWxkIGl0IGlzIHNhZmUgdG8gZGlyZWN0bHkgc2V0IHRoZSBkaWZmZXJlbnQgaXRl bXMgaW4gc3RydWN0CnNjaGVkX2l0ZW0gaW5zdGVhZCBvZiB1c2luZyBhbiBvbi1zdGFjayBjb3B5 IGZvciByZXR1cm5pbmcgdGhlIGRhdGEuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq Z3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2NvbW1vbi9zY2hlZF9hcmluYzY1My5jIHwgMjAgKysr KysrKy0tLS0tLS0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMgICB8IDI1ICsrKysr KysrKysrLS0tLS0tLS0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jICB8IDIxICsr KysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2NvbW1vbi9zY2hlZF9udWxsLmMgICAgIHwgMjYgKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWRfcnQuYyAgICAgICB8IDIy ICsrKysrKysrKysrLS0tLS0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWR1bGUuYyAgICAgICB8IDIx ICsrKysrKysrKystLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggIHwgMTcg KysrKysrKysrLS0tLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgODMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9hcmluYzY1My5jIGIv eGVuL2NvbW1vbi9zY2hlZF9hcmluYzY1My5jCmluZGV4IDM5MTljMGEzZTkuLmU5OGU5ODExNmIg MTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYworKysgYi94ZW4vY29tbW9u L3NjaGVkX2FyaW5jNjUzLmMKQEAgLTQ5NywxOCArNDk3LDE0IEBAIGE2NTNzY2hlZF9pdGVtX3dh a2UoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfaXRlbSAqaXRlbSkK ICAqCiAgKiBAcGFyYW0gb3BzICAgICAgIFBvaW50ZXIgdG8gdGhpcyBpbnN0YW5jZSBvZiB0aGUg c2NoZWR1bGVyIHN0cnVjdHVyZQogICogQHBhcmFtIG5vdyAgICAgICBDdXJyZW50IHRpbWUKLSAq Ci0gKiBAcmV0dXJuICAgICAgICAgIEFkZHJlc3Mgb2YgdGhlIElURU0gc3RydWN0dXJlIHNjaGVk dWxlZCB0byBiZSBydW4gbmV4dAotICogICAgICAgICAgICAgICAgICBBbW91bnQgb2YgdGltZSB0 byBleGVjdXRlIHRoZSByZXR1cm5lZCBJVEVNCi0gKiAgICAgICAgICAgICAgICAgIEZsYWcgZm9y IHdoZXRoZXIgdGhlIElURU0gd2FzIG1pZ3JhdGVkCiAgKi8KLXN0YXRpYyBzdHJ1Y3QgdGFza19z bGljZQorc3RhdGljIHZvaWQKIGE2NTNzY2hlZF9kb19zY2hlZHVsZSgKICAgICBjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsCisgICAgc3RydWN0IHNjaGVkX2l0ZW0gKnByZXYsCiAgICAgc190 aW1lX3Qgbm93LAotICAgIGJvb2xfdCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKQorICAgIGJvb2wg dGFza2xldF93b3JrX3NjaGVkdWxlZCkKIHsKLSAgICBzdHJ1Y3QgdGFza19zbGljZSByZXQ7ICAg ICAgICAgICAgICAgICAgICAgIC8qIGhvbGQgdGhlIGNob3NlbiBkb21haW4gKi8KICAgICBzdHJ1 Y3Qgc2NoZWRfaXRlbSAqbmV3X3Rhc2sgPSBOVUxMOwogICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQg c2NoZWRfaW5kZXggPSAwOwogICAgIHN0YXRpYyBzX3RpbWVfdCBuZXh0X3N3aXRjaF90aW1lOwpA QCAtNTg2LDEzICs1ODIsMTEgQEAgYTY1M3NjaGVkX2RvX3NjaGVkdWxlKAogICAgICAqIFJldHVy biB0aGUgYW1vdW50IG9mIHRpbWUgdGhlIG5leHQgZG9tYWluIGhhcyB0byBydW4gYW5kIHRoZSBh ZGRyZXNzCiAgICAgICogb2YgdGhlIHNlbGVjdGVkIHRhc2sncyBJVEVNIHN0cnVjdHVyZS4KICAg ICAgKi8KLSAgICByZXQudGltZSA9IG5leHRfc3dpdGNoX3RpbWUgLSBub3c7Ci0gICAgcmV0LnRh c2sgPSBuZXdfdGFzazsKLSAgICByZXQubWlncmF0ZWQgPSAwOwotCi0gICAgQlVHX09OKHJldC50 aW1lIDw9IDApOworICAgIHByZXYtPm5leHRfdGltZSA9IG5leHRfc3dpdGNoX3RpbWUgLSBub3c7 CisgICAgcHJldi0+bmV4dF90YXNrID0gbmV3X3Rhc2s7CisgICAgbmV3X3Rhc2stPm1pZ3JhdGVk ID0gZmFsc2U7CiAKLSAgICByZXR1cm4gcmV0OworICAgIEJVR19PTihwcmV2LT5uZXh0X3RpbWUg PD0gMCk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYyBi L3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMKaW5kZXggNDczNGY1MmZjNy4uMDY0Zjg4YWIyMyAx MDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYworKysgYi94ZW4vY29tbW9uL3Nj aGVkX2NyZWRpdC5jCkBAIC0xNjg5LDcgKzE2ODksNyBAQCBjc2NoZWRfcnVucV9zdGVhbChpbnQg cGVlcl9jcHUsIGludCBjcHUsIGludCBwcmksIGludCBiYWxhbmNlX3N0ZXApCiAKIHN0YXRpYyBz dHJ1Y3QgY3NjaGVkX2l0ZW0gKgogY3NjaGVkX2xvYWRfYmFsYW5jZShzdHJ1Y3QgY3NjaGVkX3By aXZhdGUgKnBydiwgaW50IGNwdSwKLSAgICBzdHJ1Y3QgY3NjaGVkX2l0ZW0gKnNuZXh0LCBib29s X3QgKnN0b2xlbikKKyAgICBzdHJ1Y3QgY3NjaGVkX2l0ZW0gKnNuZXh0LCBib29sICpzdG9sZW4p CiB7CiAgICAgc3RydWN0IGNwdXBvb2wgKmMgPSBwZXJfY3B1KGNwdXBvb2wsIGNwdSk7CiAgICAg c3RydWN0IGNzY2hlZF9pdGVtICpzcGVlcjsKQEAgLTE4MDUsNyArMTgwNSw3IEBAIGNzY2hlZF9s b2FkX2JhbGFuY2Uoc3RydWN0IGNzY2hlZF9wcml2YXRlICpwcnYsIGludCBjcHUsCiAgICAgICAg ICAgICAgICAgLyogQXMgc29vbiBhcyBvbmUgaXRlbSBpcyBmb3VuZCwgYmFsYW5jaW5nIGVuZHMg Ki8KICAgICAgICAgICAgICAgICBpZiAoIHNwZWVyICE9IE5VTEwgKQogICAgICAgICAgICAgICAg IHsKLSAgICAgICAgICAgICAgICAgICAgKnN0b2xlbiA9IDE7CisgICAgICAgICAgICAgICAgICAg ICpzdG9sZW4gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICAg ICAgICAgKiBOZXh0IHRpbWUgd2UnbGwgbG9vayBmb3Igd29yayB0byBzdGVhbCBvbiB0aGlzIG5v ZGUsIHdlCiAgICAgICAgICAgICAgICAgICAgICAqIHdpbGwgc3RhcnQgZnJvbSB0aGUgbmV4dCBw Q1BVLCB3aXRoIHJlc3BlY3QgdG8gdGhpcyBvbmUsCkBAIC0xODM1LDE5ICsxODM1LDE4IEBAIGNz Y2hlZF9sb2FkX2JhbGFuY2Uoc3RydWN0IGNzY2hlZF9wcml2YXRlICpwcnYsIGludCBjcHUsCiAg KiBUaGlzIGZ1bmN0aW9uIGlzIGluIHRoZSBjcml0aWNhbCBwYXRoLiBJdCBpcyBkZXNpZ25lZCB0 byBiZSBzaW1wbGUgYW5kCiAgKiBmYXN0IGZvciB0aGUgY29tbW9uIGNhc2UuCiAgKi8KLXN0YXRp YyBzdHJ1Y3QgdGFza19zbGljZQotY3NjaGVkX3NjaGVkdWxlKAotICAgIGNvbnN0IHN0cnVjdCBz Y2hlZHVsZXIgKm9wcywgc190aW1lX3Qgbm93LCBib29sX3QgdGFza2xldF93b3JrX3NjaGVkdWxl ZCkKK3N0YXRpYyB2b2lkIGNzY2hlZF9zY2hlZHVsZSgKKyAgICBjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICpvcHMsIHN0cnVjdCBzY2hlZF9pdGVtICppdGVtLCBzX3RpbWVfdCBub3csCisgICAgYm9v bCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKQogewogICAgIGNvbnN0IHVuc2lnbmVkIGludCBjcHUg PSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAgICAgY29uc3QgdW5zaWduZWQgaW50IHNjaGVkX2NwdSA9 IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUoY3B1KTsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkICogY29u c3QgcnVucSA9IFJVTlEoc2NoZWRfY3B1KTsKLSAgICBzdHJ1Y3Qgc2NoZWRfaXRlbSAqaXRlbSA9 IGN1cnJlbnQtPnNjaGVkX2l0ZW07CiAgICAgc3RydWN0IGNzY2hlZF9pdGVtICogY29uc3Qgc2N1 cnIgPSBDU0NIRURfSVRFTShpdGVtKTsKICAgICBzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBydiA9 IENTQ0hFRF9QUklWKG9wcyk7CiAgICAgc3RydWN0IGNzY2hlZF9pdGVtICpzbmV4dDsKLSAgICBz dHJ1Y3QgdGFza19zbGljZSByZXQ7CiAgICAgc190aW1lX3QgcnVudGltZSwgdHNsaWNlOworICAg IGJvb2wgbWlncmF0ZWQgPSBmYWxzZTsKIAogICAgIFNDSEVEX1NUQVRfQ1JBTksoc2NoZWR1bGUp OwogICAgIENTQ0hFRF9JVEVNX0NIRUNLKGl0ZW0pOwpAQCAtMTkzNyw3ICsxOTM2LDYgQEAgY3Nj aGVkX3NjaGVkdWxlKAogICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGNoYXIgKikm ZCk7CiAgICAgICAgIH0KIAotICAgICAgICByZXQubWlncmF0ZWQgPSAwOwogICAgICAgICBnb3Rv IG91dDsKICAgICB9CiAgICAgdHNsaWNlID0gcHJ2LT50c2xpY2U7CkBAIC0xOTU1LDcgKzE5NTMs NiBAQCBjc2NoZWRfc2NoZWR1bGUoCiAgICAgfQogCiAgICAgc25leHQgPSBfX3J1bnFfZWxlbShy dW5xLT5uZXh0KTsKLSAgICByZXQubWlncmF0ZWQgPSAwOwogCiAgICAgLyogVGFza2xldCB3b3Jr ICh3aGljaCBydW5zIGluIGlkbGUgSVRFTSBjb250ZXh0KSBvdmVycmlkZXMgYWxsIGVsc2UuICov CiAgICAgaWYgKCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkICkKQEAgLTE5ODEsNyArMTk3OCw3IEBA IGNzY2hlZF9zY2hlZHVsZSgKICAgICBpZiAoIHNuZXh0LT5wcmkgPiBDU0NIRURfUFJJX1RTX09W RVIgKQogICAgICAgICBfX3J1bnFfcmVtb3ZlKHNuZXh0KTsKICAgICBlbHNlCi0gICAgICAgIHNu ZXh0ID0gY3NjaGVkX2xvYWRfYmFsYW5jZShwcnYsIHNjaGVkX2NwdSwgc25leHQsICZyZXQubWln cmF0ZWQpOworICAgICAgICBzbmV4dCA9IGNzY2hlZF9sb2FkX2JhbGFuY2UocHJ2LCBzY2hlZF9j cHUsIHNuZXh0LCAmbWlncmF0ZWQpOwogCiAgICAgLyoKICAgICAgKiBVcGRhdGUgaWRsZXJzIG1h c2sgaWYgbmVjZXNzYXJ5LiBXaGVuIHdlJ3JlIGlkbGluZywgb3RoZXIgQ1BVcwpAQCAtMjAwNCwx MiArMjAwMSwxMiBAQCBvdXQ6CiAgICAgLyoKICAgICAgKiBSZXR1cm4gdGFzayB0byBydW4gbmV4 dC4uLgogICAgICAqLwotICAgIHJldC50aW1lID0gKGlzX2lkbGVfaXRlbShzbmV4dC0+aXRlbSkg PworICAgIGl0ZW0tPm5leHRfdGltZSA9IChpc19pZGxlX2l0ZW0oc25leHQtPml0ZW0pID8KICAg ICAgICAgICAgICAgICAtMSA6IHRzbGljZSk7Ci0gICAgcmV0LnRhc2sgPSBzbmV4dC0+aXRlbTsK KyAgICBpdGVtLT5uZXh0X3Rhc2sgPSBzbmV4dC0+aXRlbTsKKyAgICBzbmV4dC0+aXRlbS0+bWln cmF0ZWQgPSBtaWdyYXRlZDsKIAotICAgIENTQ0hFRF9JVEVNX0NIRUNLKHJldC50YXNrKTsKLSAg ICByZXR1cm4gcmV0OworICAgIENTQ0hFRF9JVEVNX0NIRUNLKGl0ZW0tPm5leHRfdGFzayk7CiB9 CiAKIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYyBi L3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCmluZGV4IGQ1Y2I4YzAyMDAuLmYxMDc0YmUyNWQg MTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCisrKyBiL3hlbi9jb21tb24v c2NoZWRfY3JlZGl0Mi5jCkBAIC0zNDQzLDE5ICszNDQzLDE4IEBAIHJ1bnFfY2FuZGlkYXRlKHN0 cnVjdCBjc2NoZWQyX3J1bnF1ZXVlX2RhdGEgKnJxZCwKICAqIFRoaXMgZnVuY3Rpb24gaXMgaW4g dGhlIGNyaXRpY2FsIHBhdGguIEl0IGlzIGRlc2lnbmVkIHRvIGJlIHNpbXBsZSBhbmQKICAqIGZh c3QgZm9yIHRoZSBjb21tb24gY2FzZS4KICAqLwotc3RhdGljIHN0cnVjdCB0YXNrX3NsaWNlCi1j c2NoZWQyX3NjaGVkdWxlKAotICAgIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc190aW1l X3Qgbm93LCBib29sIHRhc2tsZXRfd29ya19zY2hlZHVsZWQpCitzdGF0aWMgdm9pZCBjc2NoZWQy X3NjaGVkdWxlKAorICAgIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVk X2l0ZW0gKmN1cnJpdGVtLCBzX3RpbWVfdCBub3csCisgICAgYm9vbCB0YXNrbGV0X3dvcmtfc2No ZWR1bGVkKQogewogICAgIGNvbnN0IHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lk KCk7CiAgICAgY29uc3QgdW5zaWduZWQgaW50IHNjaGVkX2NwdSA9IHNjaGVkX2dldF9yZXNvdXJj ZV9jcHUoY3B1KTsKICAgICBzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpycWQ7Ci0gICAg c3RydWN0IHNjaGVkX2l0ZW0gKmN1cnJpdGVtID0gY3VycmVudC0+c2NoZWRfaXRlbTsKICAgICBz dHJ1Y3QgY3NjaGVkMl9pdGVtICogY29uc3Qgc2N1cnIgPSBjc2NoZWQyX2l0ZW0oY3Vycml0ZW0p OwogICAgIHN0cnVjdCBjc2NoZWQyX2l0ZW0gKnNuZXh0ID0gTlVMTDsKICAgICB1bnNpZ25lZCBp bnQgc2tpcHBlZF9pdGVtcyA9IDA7Ci0gICAgc3RydWN0IHRhc2tfc2xpY2UgcmV0OwogICAgIGJv b2wgdGlja2xlZDsKKyAgICBib29sIG1pZ3JhdGVkID0gZmFsc2U7CiAKICAgICBTQ0hFRF9TVEFU X0NSQU5LKHNjaGVkdWxlKTsKICAgICBDU0NIRUQyX0lURU1fQ0hFQ0soY3Vycml0ZW0pOwpAQCAt MzU0MCw4ICszNTM5LDYgQEAgY3NjaGVkMl9zY2hlZHVsZSgKICAgICAgICAgICYmIGl0ZW1fcnVu bmFibGUoY3Vycml0ZW0pICkKICAgICAgICAgX19zZXRfYml0KF9fQ1NGTEFHX2RlbGF5ZWRfcnVu cV9hZGQsICZzY3Vyci0+ZmxhZ3MpOwogCi0gICAgcmV0Lm1pZ3JhdGVkID0gMDsKLQogICAgIC8q IEFjY291bnRpbmcgZm9yIG5vbi1pZGxlIHRhc2tzICovCiAgICAgaWYgKCAhaXNfaWRsZV9pdGVt KHNuZXh0LT5pdGVtKSApCiAgICAgewpAQCAtMzU5MSw3ICszNTg4LDcgQEAgY3NjaGVkMl9zY2hl ZHVsZSgKICAgICAgICAgICAgIHNuZXh0LT5jcmVkaXQgKz0gQ1NDSEVEMl9NSUdSQVRFX0NPTVBF TlNBVElPTjsKICAgICAgICAgICAgIHNjaGVkX3NldF9yZXMoc25leHQtPml0ZW0sIHBlcl9jcHUo c2NoZWRfcmVzLCBzY2hlZF9jcHUpKTsKICAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksobWln cmF0ZWQpOwotICAgICAgICAgICAgcmV0Lm1pZ3JhdGVkID0gMTsKKyAgICAgICAgICAgIG1pZ3Jh dGVkID0gdHJ1ZTsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlCkBAIC0zNjIyLDExICszNjE5 LDExIEBAIGNzY2hlZDJfc2NoZWR1bGUoCiAgICAgLyoKICAgICAgKiBSZXR1cm4gdGFzayB0byBy dW4gbmV4dC4uLgogICAgICAqLwotICAgIHJldC50aW1lID0gY3NjaGVkMl9ydW50aW1lKG9wcywg c2NoZWRfY3B1LCBzbmV4dCwgbm93KTsKLSAgICByZXQudGFzayA9IHNuZXh0LT5pdGVtOworICAg IGN1cnJpdGVtLT5uZXh0X3RpbWUgPSBjc2NoZWQyX3J1bnRpbWUob3BzLCBzY2hlZF9jcHUsIHNu ZXh0LCBub3cpOworICAgIGN1cnJpdGVtLT5uZXh0X3Rhc2sgPSBzbmV4dC0+aXRlbTsKKyAgICBz bmV4dC0+aXRlbS0+bWlncmF0ZWQgPSBtaWdyYXRlZDsKIAotICAgIENTQ0hFRDJfSVRFTV9DSEVD SyhyZXQudGFzayk7Ci0gICAgcmV0dXJuIHJldDsKKyAgICBDU0NIRUQyX0lURU1fQ0hFQ0soY3Vy cml0ZW0tPm5leHRfdGFzayk7CiB9CiAKIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS94ZW4vY29t bW9uL3NjaGVkX251bGwuYyBiL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCmluZGV4IDM0Y2U3YTA1 ZDMuLjFhZjM5NmRjZGIgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCisrKyBi L3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCkBAIC03MDMsMTYgKzcwMywxNCBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgbnVsbF9pdGVtX2NoZWNrKHN0cnVjdCBzY2hlZF9pdGVtICppdGVtKQogICogIC0g dGhlIGl0ZW0gYXNzaWduZWQgdG8gdGhlIHBDUFUsIGlmIHRoZXJlJ3Mgb25lIGFuZCBpdCBjYW4g cnVuOwogICogIC0gdGhlIGlkbGUgaXRlbSwgb3RoZXJ3aXNlLgogICovCi1zdGF0aWMgc3RydWN0 IHRhc2tfc2xpY2UgbnVsbF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzX3RpbWVfdCBub3csCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgdGFza2xldF93b3JrX3Nj aGVkdWxlZCkKK3N0YXRpYyB2b2lkIG51bGxfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxl ciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfaXRlbSAqcHJldiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgc190aW1lX3Qgbm93LCBib29sIHRhc2tsZXRfd29ya19zY2hlZHVsZWQpCiB7CiAgICAgdW5z aWduZWQgaW50IGJzOwogICAgIGNvbnN0IHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29y X2lkKCk7CiAgICAgY29uc3QgdW5zaWduZWQgaW50IHNjaGVkX2NwdSA9IHNjaGVkX2dldF9yZXNv dXJjZV9jcHUoY3B1KTsKICAgICBzdHJ1Y3QgbnVsbF9wcml2YXRlICpwcnYgPSBudWxsX3ByaXYo b3BzKTsKICAgICBzdHJ1Y3QgbnVsbF9pdGVtICp3dmM7Ci0gICAgc3RydWN0IHRhc2tfc2xpY2Ug cmV0OwogCiAgICAgU0NIRURfU1RBVF9DUkFOSyhzY2hlZHVsZSk7CiAgICAgTlVMTF9JVEVNX0NI RUNLKGN1cnJlbnQtPnNjaGVkX2l0ZW0pOwpAQCAtNzQwLDE5ICs3MzgsMTggQEAgc3RhdGljIHN0 cnVjdCB0YXNrX3NsaWNlIG51bGxfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3Bz LAogICAgIGlmICggdGFza2xldF93b3JrX3NjaGVkdWxlZCApCiAgICAgewogICAgICAgICB0cmFj ZV92YXIoVFJDX1NOVUxMX1RBU0tMRVQsIDEsIDAsIE5VTEwpOwotICAgICAgICByZXQudGFzayA9 IHNjaGVkX2lkbGVfaXRlbShzY2hlZF9jcHUpOworICAgICAgICBwcmV2LT5uZXh0X3Rhc2sgPSBz Y2hlZF9pZGxlX2l0ZW0oc2NoZWRfY3B1KTsKICAgICB9CiAgICAgZWxzZQotICAgICAgICByZXQu dGFzayA9IHBlcl9jcHUobnBjLCBzY2hlZF9jcHUpLml0ZW07Ci0gICAgcmV0Lm1pZ3JhdGVkID0g MDsKLSAgICByZXQudGltZSA9IC0xOworICAgICAgICBwcmV2LT5uZXh0X3Rhc2sgPSBwZXJfY3B1 KG5wYywgc2NoZWRfY3B1KS5pdGVtOworICAgIHByZXYtPm5leHRfdGltZSA9IC0xOwogCiAgICAg LyoKICAgICAgKiBXZSBtYXkgYmUgbmV3IGluIHRoZSBjcHVwb29sLCBvciBqdXN0IGNvbWluZyBi YWNrIG9ubGluZS4gSW4gd2hpY2gKICAgICAgKiBjYXNlLCB0aGVyZSBtYXkgYmUgaXRlbXMgaW4g dGhlIHdhaXRxdWV1ZSB0aGF0IHdlIGNhbiBhc3NpZ24gdG8gdXMKICAgICAgKiBhbmQgcnVuLgog ICAgICAqLwotICAgIGlmICggdW5saWtlbHkocmV0LnRhc2sgPT0gTlVMTCkgKQorICAgIGlmICgg dW5saWtlbHkocHJldi0+bmV4dF90YXNrID09IE5VTEwpICkKICAgICB7CiAgICAgICAgIHNwaW5f bG9jaygmcHJ2LT53YWl0cV9sb2NrKTsKIApAQCAtNzc4LDcgKzc3NSw3IEBAIHN0YXRpYyBzdHJ1 Y3QgdGFza19zbGljZSBudWxsX3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywK ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGl0ZW1fYXNzaWduKHBydiwg d3ZjLT5pdGVtLCBzY2hlZF9jcHUpOwogICAgICAgICAgICAgICAgICAgICBsaXN0X2RlbF9pbml0 KCZ3dmMtPndhaXRxX2VsZW0pOwotICAgICAgICAgICAgICAgICAgICByZXQudGFzayA9IHd2Yy0+ aXRlbTsKKyAgICAgICAgICAgICAgICAgICAgcHJldi0+bmV4dF90YXNrID0gd3ZjLT5pdGVtOwog ICAgICAgICAgICAgICAgICAgICBnb3RvIHVubG9jazsKICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICB9CkBAIC03ODcsMTEgKzc4NCwxMiBAQCBzdGF0aWMgc3RydWN0IHRhc2tfc2xpY2Ug bnVsbF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsCiAgICAgICAgIHNwaW5f dW5sb2NrKCZwcnYtPndhaXRxX2xvY2spOwogICAgIH0KIAotICAgIGlmICggdW5saWtlbHkocmV0 LnRhc2sgPT0gTlVMTCB8fCAhaXRlbV9ydW5uYWJsZShyZXQudGFzaykpICkKLSAgICAgICAgcmV0 LnRhc2sgPSBzY2hlZF9pZGxlX2l0ZW0oc2NoZWRfY3B1KTsKKyAgICBpZiAoIHVubGlrZWx5KHBy ZXYtPm5leHRfdGFzayA9PSBOVUxMIHx8ICFpdGVtX3J1bm5hYmxlKHByZXYtPm5leHRfdGFzaykp ICkKKyAgICAgICAgcHJldi0+bmV4dF90YXNrID0gc2NoZWRfaWRsZV9pdGVtKHNjaGVkX2NwdSk7 CiAKLSAgICBOVUxMX0lURU1fQ0hFQ0socmV0LnRhc2spOwotICAgIHJldHVybiByZXQ7CisgICAg TlVMTF9JVEVNX0NIRUNLKHByZXYtPm5leHRfdGFzayk7CisKKyAgICBwcmV2LT5uZXh0X3Rhc2st Pm1pZ3JhdGVkID0gZmFsc2U7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBkdW1wX2l0ZW0oc3Ry dWN0IG51bGxfcHJpdmF0ZSAqcHJ2LCBzdHJ1Y3QgbnVsbF9pdGVtICpudmMpCmRpZmYgLS1naXQg YS94ZW4vY29tbW9uL3NjaGVkX3J0LmMgYi94ZW4vY29tbW9uL3NjaGVkX3J0LmMKaW5kZXggMjM2 NmUzM2JlYi4uYzVlOGI1NTlmMyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9ydC5jCisr KyBiL3hlbi9jb21tb24vc2NoZWRfcnQuYwpAQCAtMTA2MiwxNiArMTA2MiwxNiBAQCBydW5xX3Bp Y2soY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBjb25zdCBjcHVtYXNrX3QgKm1hc2spCiAg KiBzY2hlZHVsZSBmdW5jdGlvbiBmb3IgcnQgc2NoZWR1bGVyLgogICogVGhlIGxvY2sgaXMgYWxy ZWFkeSBncmFiYmVkIGluIHNjaGVkdWxlLmMsIG5vIG5lZWQgdG8gbG9jayBoZXJlCiAgKi8KLXN0 YXRpYyBzdHJ1Y3QgdGFza19zbGljZQotcnRfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxl ciAqb3BzLCBzX3RpbWVfdCBub3csIGJvb2xfdCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKQorc3Rh dGljIHZvaWQKK3J0X3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0 IHNjaGVkX2l0ZW0gKmN1cnJpdGVtLAorICAgICAgICAgICAgc190aW1lX3Qgbm93LCBib29sIHRh c2tsZXRfd29ya19zY2hlZHVsZWQpCiB7CiAgICAgY29uc3QgdW5zaWduZWQgaW50IGNwdSA9IHNt cF9wcm9jZXNzb3JfaWQoKTsKICAgICBjb25zdCB1bnNpZ25lZCBpbnQgc2NoZWRfY3B1ID0gc2No ZWRfZ2V0X3Jlc291cmNlX2NwdShjcHUpOwogICAgIHN0cnVjdCBydF9wcml2YXRlICpwcnYgPSBy dF9wcml2KG9wcyk7Ci0gICAgc3RydWN0IHJ0X2l0ZW0gKmNvbnN0IHNjdXJyID0gcnRfaXRlbShj dXJyZW50LT5zY2hlZF9pdGVtKTsKKyAgICBzdHJ1Y3QgcnRfaXRlbSAqY29uc3Qgc2N1cnIgPSBy dF9pdGVtKGN1cnJpdGVtKTsKICAgICBzdHJ1Y3QgcnRfaXRlbSAqc25leHQgPSBOVUxMOwotICAg IHN0cnVjdCB0YXNrX3NsaWNlIHJldCA9IHsgLm1pZ3JhdGVkID0gMCB9OwotICAgIHN0cnVjdCBz Y2hlZF9pdGVtICpjdXJyaXRlbSA9IGN1cnJlbnQtPnNjaGVkX2l0ZW07CisgICAgYm9vbCBtaWdy YXRlZCA9IGZhbHNlOwogCiAgICAgLyogVFJBQ0UgKi8KICAgICB7CkBAIC0xMTE5LDcgKzExMTks NyBAQCBydF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHNfdGltZV90IG5v dywgYm9vbF90IHRhc2tsZXRfd29ya19zY2hlZAogICAgICAgICBfX3NldF9iaXQoX19SVERTX2Rl bGF5ZWRfcnVucV9hZGQsICZzY3Vyci0+ZmxhZ3MpOwogCiAgICAgc25leHQtPmxhc3Rfc3RhcnQg PSBub3c7Ci0gICAgcmV0LnRpbWUgPSAgLTE7IC8qIGlmIGFuIGlkbGUgaXRlbSBpcyBwaWNrZWQg Ki8KKyAgICBjdXJyaXRlbS0+bmV4dF90aW1lID0gIC0xOyAvKiBpZiBhbiBpZGxlIGl0ZW0gaXMg cGlja2VkICovCiAgICAgaWYgKCAhaXNfaWRsZV9pdGVtKHNuZXh0LT5pdGVtKSApCiAgICAgewog ICAgICAgICBpZiAoIHNuZXh0ICE9IHNjdXJyICkKQEAgLTExMzAsMTMgKzExMzAsMTMgQEAgcnRf c2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzX3RpbWVfdCBub3csIGJvb2xf dCB0YXNrbGV0X3dvcmtfc2NoZWQKICAgICAgICAgaWYgKCBzY2hlZF9pdGVtX2NwdShzbmV4dC0+ aXRlbSkgIT0gc2NoZWRfY3B1ICkKICAgICAgICAgewogICAgICAgICAgICAgc2NoZWRfc2V0X3Jl cyhzbmV4dC0+aXRlbSwgcGVyX2NwdShzY2hlZF9yZXMsIHNjaGVkX2NwdSkpOwotICAgICAgICAg ICAgcmV0Lm1pZ3JhdGVkID0gMTsKKyAgICAgICAgICAgIG1pZ3JhdGVkID0gdHJ1ZTsKICAgICAg ICAgfQotICAgICAgICByZXQudGltZSA9IHNuZXh0LT5jdXJfYnVkZ2V0OyAvKiBpbnZva2UgdGhl IHNjaGVkdWxlciBuZXh0IHRpbWUgKi8KKyAgICAgICAgLyogSW52b2tlIHRoZSBzY2hlZHVsZXIg bmV4dCB0aW1lLiAqLworICAgICAgICBjdXJyaXRlbS0+bmV4dF90aW1lID0gc25leHQtPmN1cl9i dWRnZXQ7CiAgICAgfQotICAgIHJldC50YXNrID0gc25leHQtPml0ZW07Ci0KLSAgICByZXR1cm4g cmV0OworICAgIGN1cnJpdGVtLT5uZXh0X3Rhc2sgPSBzbmV4dC0+aXRlbTsKKyAgICBzbmV4dC0+ aXRlbS0+bWlncmF0ZWQgPSBtaWdyYXRlZDsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9jb21t b24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24vc2NoZWR1bGUuYwppbmRleCAyMmU0M2Q4OGNjLi4w ODIyMjVkMTczIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2Nv bW1vbi9zY2hlZHVsZS5jCkBAIC0xNjExLDEwICsxNjExLDkgQEAgc3RhdGljIHZvaWQgc2NoZWR1 bGUodm9pZCkKICAgICBzX3RpbWVfdCAgICAgICAgICAgICAgbm93OwogICAgIHN0cnVjdCBzY2hl ZHVsZXIgICAgICpzY2hlZDsKICAgICB1bnNpZ25lZCBsb25nICAgICAgICAqdGFza2xldF93b3Jr ID0gJnRoaXNfY3B1KHRhc2tsZXRfd29ya190b19kbyk7Ci0gICAgYm9vbF90ICAgICAgICAgICAg ICAgIHRhc2tsZXRfd29ya19zY2hlZHVsZWQgPSAwOworICAgIGJvb2wgICAgICAgICAgICAgICAg ICB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkID0gZmFsc2U7CiAgICAgc3RydWN0IHNjaGVkX3Jlc291 cmNlICpzZDsKICAgICBzcGlubG9ja190ICAgICAgICAgICAqbG9jazsKLSAgICBzdHJ1Y3QgdGFz a19zbGljZSAgICAgbmV4dF9zbGljZTsKICAgICBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgp OwogCiAgICAgQVNTRVJUX05PVF9JTl9BVE9NSUMoKTsKQEAgLTE2MzAsMTIgKzE2MjksMTIgQEAg c3RhdGljIHZvaWQgc2NoZWR1bGUodm9pZCkKICAgICAgICAgc2V0X2JpdChfVEFTS0xFVF9zY2hl ZHVsZWQsIHRhc2tsZXRfd29yayk7CiAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgY2Fz ZSBUQVNLTEVUX2VucXVldWVkfFRBU0tMRVRfc2NoZWR1bGVkOgotICAgICAgICB0YXNrbGV0X3dv cmtfc2NoZWR1bGVkID0gMTsKKyAgICAgICAgdGFza2xldF93b3JrX3NjaGVkdWxlZCA9IHRydWU7 CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVEFTS0xFVF9zY2hlZHVsZWQ6CiAgICAgICAgIGNs ZWFyX2JpdChfVEFTS0xFVF9zY2hlZHVsZWQsIHRhc2tsZXRfd29yayk7CiAgICAgY2FzZSAwOgot ICAgICAgICAvKnRhc2tsZXRfd29ya19zY2hlZHVsZWQgPSAwOyovCisgICAgICAgIC8qdGFza2xl dF93b3JrX3NjaGVkdWxlZCA9IGZhbHNlOyovCiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6 CiAgICAgICAgIEJVRygpOwpAQCAtMTY0OSwxNCArMTY0OCwxNCBAQCBzdGF0aWMgdm9pZCBzY2hl ZHVsZSh2b2lkKQogCiAgICAgLyogZ2V0IHBvbGljeS1zcGVjaWZpYyBkZWNpc2lvbiBvbiBzY2hl ZHVsaW5nLi4uICovCiAgICAgc2NoZWQgPSB0aGlzX2NwdShzY2hlZHVsZXIpOwotICAgIG5leHRf c2xpY2UgPSBzY2hlZC0+ZG9fc2NoZWR1bGUoc2NoZWQsIG5vdywgdGFza2xldF93b3JrX3NjaGVk dWxlZCk7CisgICAgc2NoZWQtPmRvX3NjaGVkdWxlKHNjaGVkLCBwcmV2LCBub3csIHRhc2tsZXRf d29ya19zY2hlZHVsZWQpOwogCi0gICAgbmV4dCA9IG5leHRfc2xpY2UudGFzazsKKyAgICBuZXh0 ID0gcHJldi0+bmV4dF90YXNrOwogCiAgICAgc2QtPmN1cnIgPSBuZXh0OwogCi0gICAgaWYgKCBu ZXh0X3NsaWNlLnRpbWUgPj0gMCApIC8qIC12ZSBtZWFucyBubyBsaW1pdCAqLwotICAgICAgICBz ZXRfdGltZXIoJnNkLT5zX3RpbWVyLCBub3cgKyBuZXh0X3NsaWNlLnRpbWUpOworICAgIGlmICgg cHJldi0+bmV4dF90aW1lID49IDAgKSAvKiAtdmUgbWVhbnMgbm8gbGltaXQgKi8KKyAgICAgICAg c2V0X3RpbWVyKCZzZC0+c190aW1lciwgbm93ICsgcHJldi0+bmV4dF90aW1lKTsKIAogICAgIGlm ICggdW5saWtlbHkocHJldiA9PSBuZXh0KSApCiAgICAgewpAQCAtMTY2NCw3ICsxNjYzLDcgQEAg c3RhdGljIHZvaWQgc2NoZWR1bGUodm9pZCkKICAgICAgICAgVFJBQ0VfNEQoVFJDX1NDSEVEX1NX SVRDSF9JTkZDT05ULAogICAgICAgICAgICAgICAgICBuZXh0LT5kb21haW4tPmRvbWFpbl9pZCwg bmV4dC0+aXRlbV9pZCwKICAgICAgICAgICAgICAgICAgbm93IC0gcHJldi0+c3RhdGVfZW50cnlf dGltZSwKLSAgICAgICAgICAgICAgICAgbmV4dF9zbGljZS50aW1lKTsKKyAgICAgICAgICAgICAg ICAgcHJldi0+bmV4dF90aW1lKTsKICAgICAgICAgdHJhY2VfY29udGludWVfcnVubmluZyhuZXh0 LT52Y3B1KTsKICAgICAgICAgcmV0dXJuIGNvbnRpbnVlX3J1bm5pbmcocHJldi0+dmNwdSk7CiAg ICAgfQpAQCAtMTY3Niw3ICsxNjc1LDcgQEAgc3RhdGljIHZvaWQgc2NoZWR1bGUodm9pZCkKICAg ICAgICAgICAgICBuZXh0LT5kb21haW4tPmRvbWFpbl9pZCwgbmV4dC0+aXRlbV9pZCwKICAgICAg ICAgICAgICAobmV4dC0+dmNwdS0+cnVuc3RhdGUuc3RhdGUgPT0gUlVOU1RBVEVfcnVubmFibGUp ID8KICAgICAgICAgICAgICAobm93IC0gbmV4dC0+c3RhdGVfZW50cnlfdGltZSkgOiAwLAotICAg ICAgICAgICAgIG5leHRfc2xpY2UudGltZSk7CisgICAgICAgICAgICAgcHJldi0+bmV4dF90aW1l KTsKIAogICAgIEFTU0VSVChwcmV2LT52Y3B1LT5ydW5zdGF0ZS5zdGF0ZSA9PSBSVU5TVEFURV9y dW5uaW5nKTsKIApAQCAtMTcwNSw3ICsxNzA0LDcgQEAgc3RhdGljIHZvaWQgc2NoZWR1bGUodm9p ZCkKIAogICAgIHN0b3BfdGltZXIoJnByZXYtPnZjcHUtPnBlcmlvZGljX3RpbWVyKTsKIAotICAg IGlmICggbmV4dF9zbGljZS5taWdyYXRlZCApCisgICAgaWYgKCBuZXh0LT5taWdyYXRlZCApCiAg ICAgICAgIHZjcHVfbW92ZV9pcnFzKG5leHQtPnZjcHUpOwogCiAgICAgdmNwdV9wZXJpb2RpY190 aW1lcl93b3JrKG5leHQtPnZjcHUpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVk LWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCA3OTViMmZhZmU1Li5lMmJj OGY3Mjg0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4v aW5jbHVkZS94ZW4vc2NoZWQtaWYuaApAQCAtNzIsNiArNzIsOCBAQCBzdHJ1Y3Qgc2NoZWRfaXRl bSB7CiAgICAgYm9vbCAgICAgICAgICAgICAgICAgICBhZmZpbml0eV9icm9rZW47CiAgICAgLyog RG9lcyBzb2Z0IGFmZmluaXR5IGFjdHVhbGx5IHBsYXkgYSByb2xlIChnaXZlbiBoYXJkIGFmZmlu aXR5KT8gKi8KICAgICBib29sICAgICAgICAgICAgICAgICAgIHNvZnRfYWZmX2VmZmVjdGl2ZTsK KyAgICAvKiBJdGVtIGhhcyBiZWVuIG1pZ3JhdGVkIHRvIG90aGVyIGNwdShzKS4gKi8KKyAgICBi b29sICAgICAgICAgICAgICAgICAgIG1pZ3JhdGVkOwogICAgIC8qIEJpdG1hc2sgb2YgQ1BVcyBv biB3aGljaCB0aGlzIFZDUFUgbWF5IHJ1bi4gKi8KICAgICBjcHVtYXNrX3Zhcl90ICAgICAgICAg IGNwdV9oYXJkX2FmZmluaXR5OwogICAgIC8qIFVzZWQgdG8gY2hhbmdlIGFmZmluaXR5IHRlbXBv cmFyaWx5LiAqLwpAQCAtODAsNiArODIsMTAgQEAgc3RydWN0IHNjaGVkX2l0ZW0gewogICAgIGNw dW1hc2tfdmFyX3QgICAgICAgICAgY3B1X2hhcmRfYWZmaW5pdHlfc2F2ZWQ7CiAgICAgLyogQml0 bWFzayBvZiBDUFVzIG9uIHdoaWNoIHRoaXMgVkNQVSBwcmVmZXJzIHRvIHJ1bi4gKi8KICAgICBj cHVtYXNrX3Zhcl90ICAgICAgICAgIGNwdV9zb2Z0X2FmZmluaXR5OworCisgICAgLyogTmV4dCBp dGVtIHRvIHJ1bi4gKi8KKyAgICBzdHJ1Y3Qgc2NoZWRfaXRlbSAgICAgICpuZXh0X3Rhc2s7Cisg ICAgc190aW1lX3QgICAgICAgICAgICAgICAgbmV4dF90aW1lOwogfTsKIAogI2RlZmluZSBmb3Jf ZWFjaF9zY2hlZF9pdGVtKGQsIGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCkBAIC0yMjUsMTIgKzIzMSw2IEBAIHN0YXRpYyBpbmxpbmUgc3BpbmxvY2tfdCAqcGNw dV9zY2hlZHVsZV90cnlsb2NrKHVuc2lnbmVkIGludCBjcHUpCiAgICAgcmV0dXJuIE5VTEw7CiB9 CiAKLXN0cnVjdCB0YXNrX3NsaWNlIHsKLSAgICBzdHJ1Y3Qgc2NoZWRfaXRlbSAqdGFzazsKLSAg ICBzX3RpbWVfdCAgICAgICAgICAgdGltZTsKLSAgICBib29sX3QgICAgICAgICAgICAgbWlncmF0 ZWQ7Ci19OwotCiBzdHJ1Y3Qgc2NoZWR1bGVyIHsKICAgICBjaGFyICpuYW1lOyAgICAgICAgICAg ICAvKiBmdWxsIG5hbWUgZm9yIHRoaXMgc2NoZWR1bGVyICAgICAgKi8KICAgICBjaGFyICpvcHRf bmFtZTsgICAgICAgICAvKiBvcHRpb24gbmFtZSBmb3IgdGhpcyBzY2hlZHVsZXIgICAgKi8KQEAg LTI3Myw4ICsyNzMsOSBAQCBzdHJ1Y3Qgc2NoZWR1bGVyIHsKICAgICB2b2lkICAgICAgICAgKCpj b250ZXh0X3NhdmVkKSAgKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF9pdGVtICopOwogCi0gICAgc3RydWN0 IHRhc2tfc2xpY2UgKCpkb19zY2hlZHVsZSkgKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKiwgc190 aW1lX3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCB0YXNr bGV0X3dvcmtfc2NoZWR1bGVkKTsKKyAgICB2b2lkICAgICAgICAgKCpkb19zY2hlZHVsZSkgICAg KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBzY2hlZF9pdGVtICosIHNfdGltZV90LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKTsKIAogICAgIHN0 cnVjdCBzY2hlZF9yZXNvdXJjZSAqICgqcGlja19yZXNvdXJjZSkgKGNvbnN0IHN0cnVjdCBzY2hl ZHVsZXIgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3Qgc2NoZWRfaXRlbSAqKTsKLS0gCjIuMTYuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby94ZW4tZGV2ZWw=