From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tianyang Chen Subject: [PATCH v2 1/2] xen: sched: rtds code clean-up Date: Sat, 25 Jun 2016 20:48:33 -0400 Message-ID: <1466902114-21694-2-git-send-email-tiche@cis.upenn.edu> References: <1466902114-21694-1-git-send-email-tiche@cis.upenn.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGyH7-0000JG-0c for xen-devel@lists.xenproject.org; Sun, 26 Jun 2016 00:50:13 +0000 In-Reply-To: <1466902114-21694-1-git-send-email-tiche@cis.upenn.edu> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: dario.faggioli@citrix.com, Tianyang Chen , george.dunlap@citrix.com, mengxu@cis.upenn.edu List-Id: xen-devel@lists.xenproject.org Tm8gZnVuY3Rpb25hbCBjaGFuZ2U6CiAtYWxpZ25lZCBjb21tZW50cyBpbiBydF92Y3B1IHN0cnVj dAogLXJlbW92ZWQgZG91YmxlIHVuZGVyc2NvcmVzIGZyb20gdGhlIG5hbWVzIG9mIHNvbWUgZnVu Y3Rpb25zCiAtZml4ZWQgY29kaW5nIHN5dGxlIGZvciBjb250cm9sIHN0cnVjdHVyZXMgaW52b2x2 aW5nIGxpc3RzCiAtZml4ZWQgdHlwb3MgaW4gdGhlIGNvbW1lbnRzCiAtYWRkZWQgY29tbWVudHMg Zm9yIFVQREFURV9MSU1JVF9TSElGVAoKU2lnbmVkLW9mZi1ieTogVGlhbnlhbmcgQ2hlbiA8dGlj aGVAY2lzLnVwZW5uLmVkdT4KLS0tCkNoYW5nZXMgc2luY2UgdjE6CiAgICAtYWRkZWQgYSBkZXRh aWxlZCBsaXN0IG9mIGNoYW5nZXMKLS0tCiB4ZW4vY29tbW9uL3NjaGVkX3J0LmMgfCAgIDkwICsr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vY29tbW9uL3NjaGVkX3J0LmMgYi94ZW4vY29tbW9uL3NjaGVkX3J0LmMKaW5kZXggN2Y4ZjQx MS4uMjU1ZDFmNiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9ydC5jCisrKyBiL3hlbi9j b21tb24vc2NoZWRfcnQuYwpAQCAtODAsNyArODAsNyBAQAogICogaW4gc2NoZWR1bGUuYwogICoK ICAqIFRoZSBmdW5jdGlvbnMgaW52b2xlcyBSdW5RIGFuZCBuZWVkcyB0byBncmFiIGxvY2tzIGFy ZToKLSAqICAgIHZjcHVfaW5zZXJ0LCB2Y3B1X3JlbW92ZSwgY29udGV4dF9zYXZlZCwgX19ydW5x X2luc2VydAorICogICAgdmNwdV9pbnNlcnQsIHZjcHVfcmVtb3ZlLCBjb250ZXh0X3NhdmVkLCBy dW5xX2luc2VydAogICovCiAKIApAQCAtMTA3LDYgKzEwNywxMiBAQAogICovCiAjZGVmaW5lIFJU RFNfTUlOX0JVREdFVCAgICAgKE1JQ1JPU0VDUygxMCkpCiAKKy8qCisgKiBVUERBVEVfTElNSVRf U0hJRlQ6IGEgY29uc3RhbnQgdXNlZCBpbiBydF91cGRhdGVfZGVhZGxpbmUoKS4gV2hlbiBmaW5k aW5nCisgKiB0aGUgbmV4dCBkZWFkbGluZSwgcGVyZm9ybWluZyBhZGRpdGlvbiBjb3VsZCBiZSBm YXN0ZXIgaWYgdGhlIGRpZmZlcmVuY2UKKyAqIGJldHdlZW4gY3VyX2RlYWRsaW5lIGFuZCBub3cg aXMgc21hbGwuIElmIHRoZSBkaWZmZXJlbmNlIGlzIGJpZ2dlciB0aGFuCisgKiAxMDI0ICogcGVy aW9kLCB1c2UgbXVsdGlwbGljYXRpb24uCisgKi8KICNkZWZpbmUgVVBEQVRFX0xJTUlUX1NISUZU ICAgICAgMTAKIAogLyoKQEAgLTE1OCwxMiArMTY0LDEyIEBACiBzdGF0aWMgdm9pZCByZXBsX3Rp bWVyX2hhbmRsZXIodm9pZCAqZGF0YSk7CiAKIC8qCi0gKiBTeXN0bWUtd2lkZSBwcml2YXRlIGRh dGEsIGluY2x1ZGUgZ2xvYmFsIFJ1blF1ZXVlL0RlcGxldGVkUQorICogU3lzdGVtLXdpZGUgcHJp dmF0ZSBkYXRhLCBpbmNsdWRlIGdsb2JhbCBSdW5RdWV1ZS9EZXBsZXRlZFEKICAqIEdsb2JhbCBs b2NrIGlzIHJlZmVyZW5jZWQgYnkgc2NoZWR1bGVfZGF0YS5zY2hlZHVsZV9sb2NrIGZyb20gYWxs CiAgKiBwaHlzaWNhbCBjcHVzLiBJdCBjYW4gYmUgZ3JhYmJlZCB2aWEgdmNwdV9zY2hlZHVsZV9s b2NrX2lycSgpCiAgKi8KIHN0cnVjdCBydF9wcml2YXRlIHsKLSAgICBzcGlubG9ja190IGxvY2s7 ICAgICAgICAgICAgLyogdGhlIGdsb2JhbCBjb2Fyc2UgZ3JhbmQgbG9jayAqLworICAgIHNwaW5s b2NrX3QgbG9jazsgICAgICAgICAgICAvKiB0aGUgZ2xvYmFsIGNvYXJzZS1ncmFpbmVkIGxvY2sg Ki8KICAgICBzdHJ1Y3QgbGlzdF9oZWFkIHNkb207ICAgICAgLyogbGlzdCBvZiBhdmFpbGFsYmUg ZG9tYWlucywgdXNlZCBmb3IgZHVtcCAqLwogICAgIHN0cnVjdCBsaXN0X2hlYWQgcnVucTsgICAg ICAvKiBvcmRlcmVkIGxpc3Qgb2YgcnVubmFibGUgdmNwdXMgKi8KICAgICBzdHJ1Y3QgbGlzdF9o ZWFkIGRlcGxldGVkcTsgLyogdW5vcmRlcmVkIGxpc3Qgb2YgZGVwbGV0ZWQgdmNwdXMgKi8KQEAg LTE3Niw3ICsxODIsNyBAQCBzdHJ1Y3QgcnRfcHJpdmF0ZSB7CiAgKiBWaXJ0dWFsIENQVQogICov CiBzdHJ1Y3QgcnRfdmNwdSB7Ci0gICAgc3RydWN0IGxpc3RfaGVhZCBxX2VsZW07ICAgIC8qIG9u IHRoZSBydW5xL2RlcGxldGVkcSBsaXN0ICovCisgICAgc3RydWN0IGxpc3RfaGVhZCBxX2VsZW07 ICAgICAvKiBvbiB0aGUgcnVucS9kZXBsZXRlZHEgbGlzdCAqLwogICAgIHN0cnVjdCBsaXN0X2hl YWQgcmVwbHFfZWxlbTsgLyogb24gdGhlIHJlcGxlbmlzaG1lbnQgZXZlbnRzIGxpc3QgKi8KIAog ICAgIC8qIFVwLXBvaW50ZXJzICovCkBAIC0xODgsMTEgKzE5NCwxMSBAQCBzdHJ1Y3QgcnRfdmNw dSB7CiAgICAgc190aW1lX3QgYnVkZ2V0OwogCiAgICAgLyogVkNQVSBjdXJyZW50IGluZm9tYXRp b24gaW4gbmFub3NlY29uZCAqLwotICAgIHNfdGltZV90IGN1cl9idWRnZXQ7ICAgICAgICAvKiBj dXJyZW50IGJ1ZGdldCAqLwotICAgIHNfdGltZV90IGxhc3Rfc3RhcnQ7ICAgICAgICAvKiBsYXN0 IHN0YXJ0IHRpbWUgKi8KLSAgICBzX3RpbWVfdCBjdXJfZGVhZGxpbmU7ICAgICAgLyogY3VycmVu dCBkZWFkbGluZSBmb3IgRURGICovCisgICAgc190aW1lX3QgY3VyX2J1ZGdldDsgICAgICAgICAv KiBjdXJyZW50IGJ1ZGdldCAqLworICAgIHNfdGltZV90IGxhc3Rfc3RhcnQ7ICAgICAgICAgLyog bGFzdCBzdGFydCB0aW1lICovCisgICAgc190aW1lX3QgY3VyX2RlYWRsaW5lOyAgICAgICAvKiBj dXJyZW50IGRlYWRsaW5lIGZvciBFREYgKi8KIAotICAgIHVuc2lnbmVkIGZsYWdzOyAgICAgICAg ICAgICAvKiBtYXJrIF9fUlREU19zY2hlZHVsZWQsIGV0Yy4uICovCisgICAgdW5zaWduZWQgZmxh Z3M7ICAgICAgICAgICAgICAvKiBtYXJrIF9fUlREU19zY2hlZHVsZWQsIGV0Yy4uICovCiB9Owog CiAvKgpAQCAtMjQxLDEzICsyNDcsMTMgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgbGlzdF9oZWFk ICpydF9yZXBscShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMpCiAgKiBhbmQgdGhlIHJlcGxl bmlzaG1lbnQgZXZlbnRzIHF1ZXVlLgogICovCiBzdGF0aWMgaW50Ci1fX3ZjcHVfb25fcShjb25z dCBzdHJ1Y3QgcnRfdmNwdSAqc3ZjKQordmNwdV9vbl9xKGNvbnN0IHN0cnVjdCBydF92Y3B1ICpz dmMpCiB7CiAgICByZXR1cm4gIWxpc3RfZW1wdHkoJnN2Yy0+cV9lbGVtKTsKIH0KIAogc3RhdGlj IHN0cnVjdCBydF92Y3B1ICoKLV9fcV9lbGVtKHN0cnVjdCBsaXN0X2hlYWQgKmVsZW0pCitxX2Vs ZW0oc3RydWN0IGxpc3RfaGVhZCAqZWxlbSkKIHsKICAgICByZXR1cm4gbGlzdF9lbnRyeShlbGVt LCBzdHJ1Y3QgcnRfdmNwdSwgcV9lbGVtKTsKIH0KQEAgLTMwMyw3ICszMDksNyBAQCBydF9kdW1w X3ZjcHUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBjb25zdCBzdHJ1Y3QgcnRfdmNwdSAq c3ZjKQogICAgICAgICAgICAgc3ZjLT5jdXJfYnVkZ2V0LAogICAgICAgICAgICAgc3ZjLT5jdXJf ZGVhZGxpbmUsCiAgICAgICAgICAgICBzdmMtPmxhc3Rfc3RhcnQsCi0gICAgICAgICAgICBfX3Zj cHVfb25fcShzdmMpLAorICAgICAgICAgICAgdmNwdV9vbl9xKHN2YyksCiAgICAgICAgICAgICB2 Y3B1X3J1bm5hYmxlKHN2Yy0+dmNwdSksCiAgICAgICAgICAgICBzdmMtPmZsYWdzLAogICAgICAg ICAgICAga2V5aGFuZGxlcl9zY3JhdGNoKTsKQEAgLTMzOSwyOCArMzQ1LDI4IEBAIHJ0X2R1bXAo Y29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzKQogICAgIHJlcGxxID0gcnRfcmVwbHEob3BzKTsK IAogICAgIHByaW50aygiR2xvYmFsIFJ1blF1ZXVlIGluZm86XG4iKTsKLSAgICBsaXN0X2Zvcl9l YWNoKCBpdGVyLCBydW5xICkKKyAgICBsaXN0X2Zvcl9lYWNoICggaXRlciwgcnVucSApCiAgICAg ewotICAgICAgICBzdmMgPSBfX3FfZWxlbShpdGVyKTsKKyAgICAgICAgc3ZjID0gcV9lbGVtKGl0 ZXIpOwogICAgICAgICBydF9kdW1wX3ZjcHUob3BzLCBzdmMpOwogICAgIH0KIAogICAgIHByaW50 aygiR2xvYmFsIERlcGxldGVkUXVldWUgaW5mbzpcbiIpOwotICAgIGxpc3RfZm9yX2VhY2goIGl0 ZXIsIGRlcGxldGVkcSApCisgICAgbGlzdF9mb3JfZWFjaCAoIGl0ZXIsIGRlcGxldGVkcSApCiAg ICAgewotICAgICAgICBzdmMgPSBfX3FfZWxlbShpdGVyKTsKKyAgICAgICAgc3ZjID0gcV9lbGVt KGl0ZXIpOwogICAgICAgICBydF9kdW1wX3ZjcHUob3BzLCBzdmMpOwogICAgIH0KIAogICAgIHBy aW50aygiR2xvYmFsIFJlcGxlbmlzaG1lbnQgRXZlbnRzIGluZm86XG4iKTsKLSAgICBsaXN0X2Zv cl9lYWNoKCBpdGVyLCByZXBscSApCisgICAgbGlzdF9mb3JfZWFjaCAoIGl0ZXIsIHJlcGxxICkK ICAgICB7CiAgICAgICAgIHN2YyA9IHJlcGxxX2VsZW0oaXRlcik7CiAgICAgICAgIHJ0X2R1bXBf dmNwdShvcHMsIHN2Yyk7CiAgICAgfQogCiAgICAgcHJpbnRrKCJEb21haW4gaW5mbzpcbiIpOwot ICAgIGxpc3RfZm9yX2VhY2goIGl0ZXIsICZwcnYtPnNkb20gKQorICAgIGxpc3RfZm9yX2VhY2gg KCBpdGVyLCAmcHJ2LT5zZG9tICkKICAgICB7CiAgICAgICAgIHN0cnVjdCB2Y3B1ICp2OwogCkBA IC0zODAsNyArMzg2LDcgQEAgcnRfZHVtcChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMpCiAK IC8qCiAgKiB1cGRhdGUgZGVhZGxpbmUgYW5kIGJ1ZGdldCB3aGVuIG5vdyA+PSBjdXJfZGVhZGxp bmUKLSAqIGl0IG5lZWQgdG8gYmUgdXBkYXRlZCB0byB0aGUgZGVhZGxpbmUgb2YgdGhlIGN1cnJl bnQgcGVyaW9kCisgKiBpdCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIHRoZSBkZWFkbGluZSBvZiB0 aGUgY3VycmVudCBwZXJpb2QKICAqLwogc3RhdGljIHZvaWQKIHJ0X3VwZGF0ZV9kZWFkbGluZShz X3RpbWVfdCBub3csIHN0cnVjdCBydF92Y3B1ICpzdmMpCkBAIC00NjMsMTQgKzQ2OSwxNCBAQCBk ZWFkbGluZV9xdWV1ZV9pbnNlcnQoc3RydWN0IHJ0X3ZjcHUgKiAoKnFlbGVtKShzdHJ1Y3QgbGlz dF9oZWFkICopLAogICAgIHJldHVybiAhcG9zOwogfQogI2RlZmluZSBkZWFkbGluZV9ydW5xX2lu c2VydCguLi4pIFwKLSAgZGVhZGxpbmVfcXVldWVfaW5zZXJ0KCZfX3FfZWxlbSwgIyNfX1ZBX0FS R1NfXykKKyAgZGVhZGxpbmVfcXVldWVfaW5zZXJ0KCZxX2VsZW0sICMjX19WQV9BUkdTX18pCiAj ZGVmaW5lIGRlYWRsaW5lX3JlcGxxX2luc2VydCguLi4pIFwKICAgZGVhZGxpbmVfcXVldWVfaW5z ZXJ0KCZyZXBscV9lbGVtLCAjI19fVkFfQVJHU19fKQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLV9f cV9yZW1vdmUoc3RydWN0IHJ0X3ZjcHUgKnN2YykKK3FfcmVtb3ZlKHN0cnVjdCBydF92Y3B1ICpz dmMpCiB7Ci0gICAgQVNTRVJUKCBfX3ZjcHVfb25fcShzdmMpICk7CisgICAgQVNTRVJUKCB2Y3B1 X29uX3Eoc3ZjKSApOwogICAgIGxpc3RfZGVsX2luaXQoJnN2Yy0+cV9lbGVtKTsKIH0KIApAQCAt NTA2LDEzICs1MTIsMTMgQEAgcmVwbHFfcmVtb3ZlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9w cywgc3RydWN0IHJ0X3ZjcHUgKnN2YykKICAqIEluc2VydCBzdmMgd2l0aG91dCBidWRnZXQgaW4g RGVwbGV0ZWRRIHVuc29ydGVkOwogICovCiBzdGF0aWMgdm9pZAotX19ydW5xX2luc2VydChjb25z dCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBydF92Y3B1ICpzdmMpCitydW5xX2luc2Vy dChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBydF92Y3B1ICpzdmMpCiB7CiAg ICAgc3RydWN0IHJ0X3ByaXZhdGUgKnBydiA9IHJ0X3ByaXYob3BzKTsKICAgICBzdHJ1Y3QgbGlz dF9oZWFkICpydW5xID0gcnRfcnVucShvcHMpOwogCiAgICAgQVNTRVJUKCBzcGluX2lzX2xvY2tl ZCgmcHJ2LT5sb2NrKSApOwotICAgIEFTU0VSVCggIV9fdmNwdV9vbl9xKHN2YykgKTsKKyAgICBB U1NFUlQoICF2Y3B1X29uX3Eoc3ZjKSApOwogICAgIEFTU0VSVCggdmNwdV9vbl9yZXBscShzdmMp ICk7CiAKICAgICAvKiBhZGQgc3ZjIHRvIHJ1bnEgaWYgc3ZjIHN0aWxsIGhhcyBidWRnZXQgKi8K QEAgLTg0MCwxMiArODQ2LDEyIEBAIHJ0X3ZjcHVfaW5zZXJ0KGNvbnN0IHN0cnVjdCBzY2hlZHVs ZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQogICAgIGlmICggbm93ID49IHN2Yy0+Y3VyX2RlYWRs aW5lICkKICAgICAgICAgcnRfdXBkYXRlX2RlYWRsaW5lKG5vdywgc3ZjKTsKIAotICAgIGlmICgg IV9fdmNwdV9vbl9xKHN2YykgJiYgdmNwdV9ydW5uYWJsZSh2YykgKQorICAgIGlmICggIXZjcHVf b25fcShzdmMpICYmIHZjcHVfcnVubmFibGUodmMpICkKICAgICB7CiAgICAgICAgIHJlcGxxX2lu c2VydChvcHMsIHN2Yyk7CiAKICAgICAgICAgaWYgKCAhdmMtPmlzX3J1bm5pbmcgKQotICAgICAg ICAgICAgX19ydW5xX2luc2VydChvcHMsIHN2Yyk7CisgICAgICAgICAgICBydW5xX2luc2VydChv cHMsIHN2Yyk7CiAgICAgfQogICAgIHZjcHVfc2NoZWR1bGVfdW5sb2NrX2lycShsb2NrLCB2Yyk7 CiAKQEAgLTg2Nyw4ICs4NzMsOCBAQCBydF92Y3B1X3JlbW92ZShjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2YykKICAgICBCVUdfT04oIHNkb20gPT0gTlVMTCApOwog CiAgICAgbG9jayA9IHZjcHVfc2NoZWR1bGVfbG9ja19pcnEodmMpOwotICAgIGlmICggX192Y3B1 X29uX3Eoc3ZjKSApCi0gICAgICAgIF9fcV9yZW1vdmUoc3ZjKTsKKyAgICBpZiAoIHZjcHVfb25f cShzdmMpICkKKyAgICAgICAgcV9yZW1vdmUoc3ZjKTsKIAogICAgIGlmICggdmNwdV9vbl9yZXBs cShzdmMpICkKICAgICAgICAgcmVwbHFfcmVtb3ZlKG9wcyxzdmMpOwpAQCAtOTU1LDcgKzk2MSw3 IEBAIGJ1cm5fYnVkZ2V0KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHJ0X3Zj cHUgKnN2Yywgc190aW1lX3Qgbm93KQogICogbG9jayBpcyBncmFiYmVkIGJlZm9yZSBjYWxsaW5n IHRoaXMgZnVuY3Rpb24KICAqLwogc3RhdGljIHN0cnVjdCBydF92Y3B1ICoKLV9fcnVucV9waWNr KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgY29uc3QgY3B1bWFza190ICptYXNrKQorcnVu cV9waWNrKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgY29uc3QgY3B1bWFza190ICptYXNr KQogewogICAgIHN0cnVjdCBsaXN0X2hlYWQgKnJ1bnEgPSBydF9ydW5xKG9wcyk7CiAgICAgc3Ry dWN0IGxpc3RfaGVhZCAqaXRlcjsKQEAgLTk2NCw5ICs5NzAsOSBAQCBfX3J1bnFfcGljayhjb25z dCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIGNvbnN0IGNwdW1hc2tfdCAqbWFzaykKICAgICBjcHVt YXNrX3QgY3B1X2NvbW1vbjsKICAgICBjcHVtYXNrX3QgKm9ubGluZTsKIAotICAgIGxpc3RfZm9y X2VhY2goaXRlciwgcnVucSkKKyAgICBsaXN0X2Zvcl9lYWNoICggaXRlciwgcnVucSApCiAgICAg ewotICAgICAgICBpdGVyX3N2YyA9IF9fcV9lbGVtKGl0ZXIpOworICAgICAgICBpdGVyX3N2YyA9 IHFfZWxlbShpdGVyKTsKIAogICAgICAgICAvKiBtYXNrIGNwdV9oYXJkX2FmZmluaXR5ICYgY3B1 cG9vbCAmIG1hc2sgKi8KICAgICAgICAgb25saW5lID0gY3B1cG9vbF9kb21haW5fY3B1bWFzayhp dGVyX3N2Yy0+dmNwdS0+ZG9tYWluKTsKQEAgLTEwMjgsNyArMTAzNCw3IEBAIHJ0X3NjaGVkdWxl KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc190aW1lX3Qgbm93LCBib29sX3QgdGFza2xl dF93b3JrX3NjaGVkCiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIHNuZXh0ID0gX19y dW5xX3BpY2sob3BzLCBjcHVtYXNrX29mKGNwdSkpOworICAgICAgICBzbmV4dCA9IHJ1bnFfcGlj ayhvcHMsIGNwdW1hc2tfb2YoY3B1KSk7CiAgICAgICAgIGlmICggc25leHQgPT0gTlVMTCApCiAg ICAgICAgICAgICBzbmV4dCA9IHJ0X3ZjcHUoaWRsZV92Y3B1W2NwdV0pOwogCkBAIC0xMDUyLDcg KzEwNTgsNyBAQCBydF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHNfdGlt ZV90IG5vdywgYm9vbF90IHRhc2tsZXRfd29ya19zY2hlZAogICAgIHsKICAgICAgICAgaWYgKCBz bmV4dCAhPSBzY3VyciApCiAgICAgICAgIHsKLSAgICAgICAgICAgIF9fcV9yZW1vdmUoc25leHQp OworICAgICAgICAgICAgcV9yZW1vdmUoc25leHQpOwogICAgICAgICAgICAgc2V0X2JpdChfX1JU RFNfc2NoZWR1bGVkLCAmc25leHQtPmZsYWdzKTsKICAgICAgICAgfQogICAgICAgICBpZiAoIHNu ZXh0LT52Y3B1LT5wcm9jZXNzb3IgIT0gY3B1ICkKQEAgLTEwODEsOSArMTA4Nyw5IEBAIHJ0X3Zj cHVfc2xlZXAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCiAK ICAgICBpZiAoIGN1cnJfb25fY3B1KHZjLT5wcm9jZXNzb3IpID09IHZjICkKICAgICAgICAgY3B1 X3JhaXNlX3NvZnRpcnEodmMtPnByb2Nlc3NvciwgU0NIRURVTEVfU09GVElSUSk7Ci0gICAgZWxz ZSBpZiAoIF9fdmNwdV9vbl9xKHN2YykgKQorICAgIGVsc2UgaWYgKCB2Y3B1X29uX3Eoc3ZjKSAp CiAgICAgewotICAgICAgICBfX3FfcmVtb3ZlKHN2Yyk7CisgICAgICAgIHFfcmVtb3ZlKHN2Yyk7 CiAgICAgICAgIHJlcGxxX3JlbW92ZShvcHMsIHN2Yyk7CiAgICAgfQogICAgIGVsc2UgaWYgKCBz dmMtPmZsYWdzICYgUlREU19kZWxheWVkX3J1bnFfYWRkICkKQEAgLTEyMDEsNyArMTIwNyw3IEBA IHJ0X3ZjcHVfd2FrZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2 YykKICAgICB9CiAKICAgICAvKiBvbiBSdW5RL0RlcGxldGVkUSwganVzdCB1cGRhdGUgaW5mbyBp cyBvayAqLwotICAgIGlmICggdW5saWtlbHkoX192Y3B1X29uX3Eoc3ZjKSkgKQorICAgIGlmICgg dW5saWtlbHkodmNwdV9vbl9xKHN2YykpICkKICAgICB7CiAgICAgICAgIFNDSEVEX1NUQVRfQ1JB TksodmNwdV93YWtlX29ucnVucSk7CiAgICAgICAgIHJldHVybjsKQEAgLTEyNDUsNyArMTI1MSw3 IEBAIHJ0X3ZjcHVfd2FrZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1 ICp2YykKICAgICAvKiBSZXBsZW5pc2htZW50IGV2ZW50IGdvdCBjYW5jZWxsZWQgd2hlbiB3ZSBi bG9ja2VkLiBBZGQgaXQgYmFjay4gKi8KICAgICByZXBscV9pbnNlcnQob3BzLCBzdmMpOwogICAg IC8qIGluc2VydCBzdmMgdG8gcnVucS9kZXBsZXRlZHEgYmVjYXVzZSBzdmMgaXMgbm90IGluIHF1 ZXVlIG5vdyAqLwotICAgIF9fcnVucV9pbnNlcnQob3BzLCBzdmMpOworICAgIHJ1bnFfaW5zZXJ0 KG9wcywgc3ZjKTsKIAogICAgIHJ1bnFfdGlja2xlKG9wcywgc3ZjKTsKIH0KQEAgLTEyNjgsNyAr MTI3NCw3IEBAIHJ0X2NvbnRleHRfc2F2ZWQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBz dHJ1Y3QgdmNwdSAqdmMpCiAgICAgaWYgKCB0ZXN0X2FuZF9jbGVhcl9iaXQoX19SVERTX2RlbGF5 ZWRfcnVucV9hZGQsICZzdmMtPmZsYWdzKSAmJgogICAgICAgICAgbGlrZWx5KHZjcHVfcnVubmFi bGUodmMpKSApCiAgICAgewotICAgICAgICBfX3J1bnFfaW5zZXJ0KG9wcywgc3ZjKTsKKyAgICAg ICAgcnVucV9pbnNlcnQob3BzLCBzdmMpOwogICAgICAgICBydW5xX3RpY2tsZShvcHMsIHN2Yyk7 CiAgICAgfQogICAgIGVsc2UKQEAgLTE0MTQsMTAgKzE0MjAsMTAgQEAgc3RhdGljIHZvaWQgcmVw bF90aW1lcl9oYW5kbGVyKHZvaWQgKmRhdGEpewogICAgICAgICBydF91cGRhdGVfZGVhZGxpbmUo bm93LCBzdmMpOwogICAgICAgICBsaXN0X2FkZCgmc3ZjLT5yZXBscV9lbGVtLCAmdG1wX3JlcGxx KTsKIAotICAgICAgICBpZiAoIF9fdmNwdV9vbl9xKHN2YykgKQorICAgICAgICBpZiAoIHZjcHVf b25fcShzdmMpICkKICAgICAgICAgewotICAgICAgICAgICAgX19xX3JlbW92ZShzdmMpOwotICAg ICAgICAgICAgX19ydW5xX2luc2VydChvcHMsIHN2Yyk7CisgICAgICAgICAgICBxX3JlbW92ZShz dmMpOworICAgICAgICAgICAgcnVucV9pbnNlcnQob3BzLCBzdmMpOwogICAgICAgICB9CiAgICAg fQogCkBAIC0xNDM1LDEyICsxNDQxLDEyIEBAIHN0YXRpYyB2b2lkIHJlcGxfdGltZXJfaGFuZGxl cih2b2lkICpkYXRhKXsKICAgICAgICAgaWYgKCBjdXJyX29uX2NwdShzdmMtPnZjcHUtPnByb2Nl c3NvcikgPT0gc3ZjLT52Y3B1ICYmCiAgICAgICAgICAgICAgIWxpc3RfZW1wdHkocnVucSkgKQog ICAgICAgICB7Ci0gICAgICAgICAgICBzdHJ1Y3QgcnRfdmNwdSAqbmV4dF9vbl9ydW5xID0gX19x X2VsZW0ocnVucS0+bmV4dCk7CisgICAgICAgICAgICBzdHJ1Y3QgcnRfdmNwdSAqbmV4dF9vbl9y dW5xID0gcV9lbGVtKHJ1bnEtPm5leHQpOwogCiAgICAgICAgICAgICBpZiAoIHN2Yy0+Y3VyX2Rl YWRsaW5lID4gbmV4dF9vbl9ydW5xLT5jdXJfZGVhZGxpbmUgKQogICAgICAgICAgICAgICAgIHJ1 bnFfdGlja2xlKG9wcywgbmV4dF9vbl9ydW5xKTsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlm ICggX192Y3B1X29uX3Eoc3ZjKSAmJgorICAgICAgICBlbHNlIGlmICggdmNwdV9vbl9xKHN2Yykg JiYKICAgICAgICAgICAgICAgICAgIHRlc3RfYW5kX2NsZWFyX2JpdChfX1JURFNfZGVwbGV0ZWQs ICZzdmMtPmZsYWdzKSApCiAgICAgICAgICAgICBydW5xX3RpY2tsZShvcHMsIHN2Yyk7CiAKLS0g CjEuNy45LjUKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=