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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD015C282DD for ; Wed, 8 Jan 2020 15:24:13 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7ECCE20673 for ; Wed, 8 Jan 2020 15:24:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7ECCE20673 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ipDBj-0004e9-BZ; Wed, 08 Jan 2020 15:24:03 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ipDBh-0004ca-Hk for xen-devel@lists.xenproject.org; Wed, 08 Jan 2020 15:24:01 +0000 X-Inumbo-ID: d4fc95e6-322a-11ea-b1f0-bc764e2007e4 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id d4fc95e6-322a-11ea-b1f0-bc764e2007e4; Wed, 08 Jan 2020 15:23:33 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 3BC25AF9F; Wed, 8 Jan 2020 15:23:32 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Wed, 8 Jan 2020 16:23:25 +0100 Message-Id: <20200108152328.27194-7-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200108152328.27194-1-jgross@suse.com> References: <20200108152328.27194-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v2 6/9] xen/sched: replace null scheduler percpu-variable with pdata hook X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , George Dunlap , Dario Faggioli MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SW5zdGVhZCBvZiBoYXZpbmcgYW4gb3duIHBlcmNwdS12YXJpYWJsZSBmb3IgcHJpdmF0ZSBkYXRh IHBlciBjcHUgdGhlCmdlbmVyaWMgc2NoZWR1bGVyIGludGVyZmFjZSBmb3IgdGhhdCBwdXJwb3Nl IHNob3VsZCBiZSB1c2VkLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1 c2UuY29tPgotLS0KIHhlbi9jb21tb24vc2NoZWQvbnVsbC5jIHwgODkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYwIGlu c2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2No ZWQvbnVsbC5jIGIveGVuL2NvbW1vbi9zY2hlZC9udWxsLmMKaW5kZXggYjk5ZjFlM2M2NS4uMzE2 MWFjMmU2MiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZC9udWxsLmMKKysrIGIveGVuL2Nv bW1vbi9zY2hlZC9udWxsLmMKQEAgLTg5LDcgKzg5LDYgQEAgc3RydWN0IG51bGxfcHJpdmF0ZSB7 CiBzdHJ1Y3QgbnVsbF9wY3B1IHsKICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdDsKIH07Ci1E RUZJTkVfUEVSX0NQVShzdHJ1Y3QgbnVsbF9wY3B1LCBucGMpOwogCiAvKgogICogU2NoZWR1bGUg dW5pdApAQCAtMTU5LDMyICsxNTgsNDggQEAgc3RhdGljIHZvaWQgbnVsbF9kZWluaXQoc3RydWN0 IHNjaGVkdWxlciAqb3BzKQogICAgIG9wcy0+c2NoZWRfZGF0YSA9IE5VTEw7CiB9CiAKLXN0YXRp YyB2b2lkIGluaXRfcGRhdGEoc3RydWN0IG51bGxfcHJpdmF0ZSAqcHJ2LCB1bnNpZ25lZCBpbnQg Y3B1KQorc3RhdGljIHZvaWQgaW5pdF9wZGF0YShzdHJ1Y3QgbnVsbF9wcml2YXRlICpwcnYsIHN0 cnVjdCBudWxsX3BjcHUgKm5wYywKKyAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGNwdSkKIHsKICAgICAvKiBNYXJrIHRoZSBwQ1BVIGFzIGZyZWUsIGFuZCB3aXRoIG5vIHVuaXQg YXNzaWduZWQgKi8KICAgICBjcHVtYXNrX3NldF9jcHUoY3B1LCAmcHJ2LT5jcHVzX2ZyZWUpOwot ICAgIHBlcl9jcHUobnBjLCBjcHUpLnVuaXQgPSBOVUxMOworICAgIG5wYy0+dW5pdCA9IE5VTEw7 CiB9CiAKIHN0YXRpYyB2b2lkIG51bGxfaW5pdF9wZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVy ICpvcHMsIHZvaWQgKnBkYXRhLCBpbnQgY3B1KQogewogICAgIHN0cnVjdCBudWxsX3ByaXZhdGUg KnBydiA9IG51bGxfcHJpdihvcHMpOwogCi0gICAgLyogYWxsb2NfcGRhdGEgaXMgbm90IGltcGxl bWVudGVkLCBzbyB3ZSB3YW50IHRoaXMgdG8gYmUgTlVMTC4gKi8KLSAgICBBU1NFUlQoIXBkYXRh KTsKKyAgICBBU1NFUlQocGRhdGEpOwogCi0gICAgaW5pdF9wZGF0YShwcnYsIGNwdSk7CisgICAg aW5pdF9wZGF0YShwcnYsIHBkYXRhLCBjcHUpOwogfQogCiBzdGF0aWMgdm9pZCBudWxsX2RlaW5p dF9wZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHZvaWQgKnBjcHUsIGludCBjcHUp CiB7CiAgICAgc3RydWN0IG51bGxfcHJpdmF0ZSAqcHJ2ID0gbnVsbF9wcml2KG9wcyk7CisgICAg c3RydWN0IG51bGxfcGNwdSAqbnBjID0gcGNwdTsKIAotICAgIC8qIGFsbG9jX3BkYXRhIG5vdCBp bXBsZW1lbnRlZCwgc28gdGhpcyBtdXN0IGhhdmUgc3RheWVkIE5VTEwgKi8KLSAgICBBU1NFUlQo IXBjcHUpOworICAgIEFTU0VSVChucGMpOwogCiAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAm cHJ2LT5jcHVzX2ZyZWUpOwotICAgIHBlcl9jcHUobnBjLCBjcHUpLnVuaXQgPSBOVUxMOworICAg IG5wYy0+dW5pdCA9IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkICpudWxsX2FsbG9jX3BkYXRhKGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgaW50IGNwdSkKK3sKKyAgICBzdHJ1Y3QgbnVsbF9w Y3B1ICpucGM7CisKKyAgICBucGMgPSB4emFsbG9jKHN0cnVjdCBudWxsX3BjcHUpOworICAgIGlm ICggbnBjID09IE5VTEwgKQorICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworICAg IHJldHVybiBucGM7Cit9CisKK3N0YXRpYyB2b2lkIG51bGxfZnJlZV9wZGF0YShjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIHZvaWQgKnBjcHUsIGludCBjcHUpCit7CisgICAgeGZyZWUocGNw dSk7CiB9CiAKIHN0YXRpYyB2b2lkICpudWxsX2FsbG9jX3VkYXRhKGNvbnN0IHN0cnVjdCBzY2hl ZHVsZXIgKm9wcywKQEAgLTI2OCw2ICsyODMsNyBAQCBwaWNrX3JlcyhzdHJ1Y3QgbnVsbF9wcml2 YXRlICpwcnYsIGNvbnN0IHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogICAgIHVuc2lnbmVkIGlu dCBiczsKICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc2NoZWRfdW5pdF9tYXN0ZXIodW5pdCksIG5l d19jcHU7CiAgICAgY3B1bWFza190ICpjcHVzID0gY3B1cG9vbF9kb21haW5fbWFzdGVyX2NwdW1h c2sodW5pdC0+ZG9tYWluKTsKKyAgICBzdHJ1Y3QgbnVsbF9wY3B1ICpucGMgPSBnZXRfc2NoZWRf cmVzKGNwdSktPnNjaGVkX3ByaXY7CiAKICAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoZ2V0X3Nj aGVkX3JlcyhjcHUpLT5zY2hlZHVsZV9sb2NrKSk7CiAKQEAgLTI4Niw4ICszMDIsNyBAQCBwaWNr X3JlcyhzdHJ1Y3QgbnVsbF9wcml2YXRlICpwcnYsIGNvbnN0IHN0cnVjdCBzY2hlZF91bml0ICp1 bml0KQogICAgICAgICAgKiBkb24ndCwgc28gd2UgZ2V0IHRvIGtlZXAgaW4gdGhlIHNjcmF0Y2gg Y3B1bWFzayB3aGF0IHdlIGhhdmUganVzdAogICAgICAgICAgKiBwdXQgaW4gaXQuKQogICAgICAg ICAgKi8KLSAgICAgICAgaWYgKCBsaWtlbHkoKHBlcl9jcHUobnBjLCBjcHUpLnVuaXQgPT0gTlVM TCB8fAotICAgICAgICAgICAgICAgICAgICAgcGVyX2NwdShucGMsIGNwdSkudW5pdCA9PSB1bml0 KQorICAgICAgICBpZiAoIGxpa2VseSgobnBjLT51bml0ID09IE5VTEwgfHwgbnBjLT51bml0ID09 IHVuaXQpCiAgICAgICAgICAgICAgICAgICAgICYmIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCBjcHVt YXNrX3NjcmF0Y2hfY3B1KGNwdSkpKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIG5ld19jcHUg PSBjcHU7CkBAIC0zMzYsOSArMzUxLDExIEBAIHBpY2tfcmVzKHN0cnVjdCBudWxsX3ByaXZhdGUg KnBydiwgY29uc3Qgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiBzdGF0aWMgdm9pZCB1bml0X2Fz c2lnbihzdHJ1Y3QgbnVsbF9wcml2YXRlICpwcnYsIHN0cnVjdCBzY2hlZF91bml0ICp1bml0LAog ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwdSkKIHsKKyAgICBzdHJ1Y3Qg bnVsbF9wY3B1ICpucGMgPSBnZXRfc2NoZWRfcmVzKGNwdSktPnNjaGVkX3ByaXY7CisKICAgICBB U1NFUlQoaXNfdW5pdF9vbmxpbmUodW5pdCkpOwogCi0gICAgcGVyX2NwdShucGMsIGNwdSkudW5p dCA9IHVuaXQ7CisgICAgbnBjLT51bml0ID0gdW5pdDsKICAgICBzY2hlZF9zZXRfcmVzKHVuaXQs IGdldF9zY2hlZF9yZXMoY3B1KSk7CiAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmcHJ2LT5j cHVzX2ZyZWUpOwogCkBAIC0zNjMsMTIgKzM4MCwxMyBAQCBzdGF0aWMgYm9vbCB1bml0X2RlYXNz aWduKHN0cnVjdCBudWxsX3ByaXZhdGUgKnBydiwgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiAg ICAgdW5zaWduZWQgaW50IGJzOwogICAgIHVuc2lnbmVkIGludCBjcHUgPSBzY2hlZF91bml0X21h c3Rlcih1bml0KTsKICAgICBzdHJ1Y3QgbnVsbF91bml0ICp3dmM7CisgICAgc3RydWN0IG51bGxf cGNwdSAqbnBjID0gZ2V0X3NjaGVkX3JlcyhjcHUpLT5zY2hlZF9wcml2OwogCiAgICAgQVNTRVJU KGxpc3RfZW1wdHkoJm51bGxfdW5pdCh1bml0KS0+d2FpdHFfZWxlbSkpOwotICAgIEFTU0VSVChw ZXJfY3B1KG5wYywgY3B1KS51bml0ID09IHVuaXQpOworICAgIEFTU0VSVChucGMtPnVuaXQgPT0g dW5pdCk7CiAgICAgQVNTRVJUKCFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJnBydi0+Y3B1c19mcmVl KSk7CiAKLSAgICBwZXJfY3B1KG5wYywgY3B1KS51bml0ID0gTlVMTDsKKyAgICBucGMtPnVuaXQg PSBOVUxMOwogICAgIGNwdW1hc2tfc2V0X2NwdShjcHUsICZwcnYtPmNwdXNfZnJlZSk7CiAKICAg ICBkcHJpbnRrKFhFTkxPR19HX0lORk8sICIlZCA8LS0gTlVMTCAoJXBkdiVkKVxuIiwgY3B1LCB1 bml0LT5kb21haW4sCkBAIC00MzYsNyArNDU0LDcgQEAgc3RhdGljIHNwaW5sb2NrX3QgKm51bGxf c3dpdGNoX3NjaGVkKHN0cnVjdCBzY2hlZHVsZXIgKm5ld19vcHMsCiAgICAgICovCiAgICAgQVNT RVJUKCFsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAotICAgIGluaXRfcGRhdGEocHJ2LCBjcHUp OworICAgIGluaXRfcGRhdGEocHJ2LCBwZGF0YSwgY3B1KTsKIAogICAgIHJldHVybiAmc3ItPl9s b2NrOwogfQpAQCAtNDQ2LDYgKzQ2NCw3IEBAIHN0YXRpYyB2b2lkIG51bGxfdW5pdF9pbnNlcnQo Y29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLAogewogICAgIHN0cnVjdCBudWxsX3ByaXZhdGUg KnBydiA9IG51bGxfcHJpdihvcHMpOwogICAgIHN0cnVjdCBudWxsX3VuaXQgKm52YyA9IG51bGxf dW5pdCh1bml0KTsKKyAgICBzdHJ1Y3QgbnVsbF9wY3B1ICpucGM7CiAgICAgdW5zaWduZWQgaW50 IGNwdTsKICAgICBzcGlubG9ja190ICpsb2NrOwogCkBAIC00NjIsNiArNDgxLDcgQEAgc3RhdGlj IHZvaWQgbnVsbF91bml0X2luc2VydChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsCiAgcmV0 cnk6CiAgICAgc2NoZWRfc2V0X3Jlcyh1bml0LCBwaWNrX3JlcyhwcnYsIHVuaXQpKTsKICAgICBj cHUgPSBzY2hlZF91bml0X21hc3Rlcih1bml0KTsKKyAgICBucGMgPSBnZXRfc2NoZWRfcmVzKGNw dSktPnNjaGVkX3ByaXY7CiAKICAgICBzcGluX3VubG9jayhsb2NrKTsKIApAQCAtNDcxLDcgKzQ5 MSw3IEBAIHN0YXRpYyB2b2lkIG51bGxfdW5pdF9pbnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxl ciAqb3BzLAogICAgICAgICAgICAgICAgIGNwdXBvb2xfZG9tYWluX21hc3Rlcl9jcHVtYXNrKHVu aXQtPmRvbWFpbikpOwogCiAgICAgLyogSWYgdGhlIHBDUFUgaXMgZnJlZSwgd2UgYXNzaWduIHVu aXQgdG8gaXQgKi8KLSAgICBpZiAoIGxpa2VseShwZXJfY3B1KG5wYywgY3B1KS51bml0ID09IE5V TEwpICkKKyAgICBpZiAoIGxpa2VseShucGMtPnVuaXQgPT0gTlVMTCkgKQogICAgIHsKICAgICAg ICAgLyoKICAgICAgICAgICogSW5zZXJ0IGlzIGZvbGxvd2VkIGJ5IHZjcHVfd2FrZSgpLCBzbyB0 aGVyZSdzIG5vIG5lZWQgdG8gcG9rZQpAQCAtNTE5LDcgKzUzOSwxMCBAQCBzdGF0aWMgdm9pZCBu dWxsX3VuaXRfcmVtb3ZlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywKICAgICAvKiBJZiBv ZmZsaW5lLCB0aGUgdW5pdCBzaG91bGRuJ3QgYmUgYXNzaWduZWQsIG5vciBpbiB0aGUgd2FpdHF1 ZXVlICovCiAgICAgaWYgKCB1bmxpa2VseSghaXNfdW5pdF9vbmxpbmUodW5pdCkpICkKICAgICB7 Ci0gICAgICAgIEFTU0VSVChwZXJfY3B1KG5wYywgc2NoZWRfdW5pdF9tYXN0ZXIodW5pdCkpLnVu aXQgIT0gdW5pdCk7CisgICAgICAgIHN0cnVjdCBudWxsX3BjcHUgKm5wYzsKKworICAgICAgICBu cGMgPSB1bml0LT5yZXMtPnNjaGVkX3ByaXY7CisgICAgICAgIEFTU0VSVChucGMtPnVuaXQgIT0g dW5pdCk7CiAgICAgICAgIEFTU0VSVChsaXN0X2VtcHR5KCZudmMtPndhaXRxX2VsZW0pKTsKICAg ICAgICAgZ290byBvdXQ7CiAgICAgfQpAQCAtNTQ4LDYgKzU3MSw3IEBAIHN0YXRpYyB2b2lkIG51 bGxfdW5pdF93YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywKICAgICBzdHJ1Y3QgbnVs bF9wcml2YXRlICpwcnYgPSBudWxsX3ByaXYob3BzKTsKICAgICBzdHJ1Y3QgbnVsbF91bml0ICpu dmMgPSBudWxsX3VuaXQodW5pdCk7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNjaGVkX3VuaXRf bWFzdGVyKHVuaXQpOworICAgIHN0cnVjdCBudWxsX3BjcHUgKm5wYyA9IGdldF9zY2hlZF9yZXMo Y3B1KS0+c2NoZWRfcHJpdjsKIAogICAgIEFTU0VSVCghaXNfaWRsZV91bml0KHVuaXQpKTsKIApA QCAtNTY5LDcgKzU5Myw3IEBAIHN0YXRpYyB2b2lkIG51bGxfdW5pdF93YWtlKGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKm9wcywKICAgICBlbHNlCiAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksodW5p dF93YWtlX25vdF9ydW5uYWJsZSk7CiAKLSAgICBpZiAoIGxpa2VseShwZXJfY3B1KG5wYywgY3B1 KS51bml0ID09IHVuaXQpICkKKyAgICBpZiAoIGxpa2VseShucGMtPnVuaXQgPT0gdW5pdCkgKQog ICAgIHsKICAgICAgICAgY3B1X3JhaXNlX3NvZnRpcnEoY3B1LCBTQ0hFRFVMRV9TT0ZUSVJRKTsK ICAgICAgICAgcmV0dXJuOwpAQCAtNTgxLDcgKzYwNSw3IEBAIHN0YXRpYyB2b2lkIG51bGxfdW5p dF93YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywKICAgICAgKiBhbmQgaXRzIHByZXZp b3VzIHJlc291cmNlIGlzIGZyZWUgKGFuZCBhZmZpbml0aWVzIG1hdGNoKSwgd2UgY2FuIGp1c3QK ICAgICAgKiBhc3NpZ24gdGhlIHVuaXQgdG8gaXQgKHdlIG93biB0aGUgcHJvcGVyIGxvY2sgYWxy ZWFkeSkgYW5kIGJlIGRvbmUuCiAgICAgICovCi0gICAgaWYgKCBwZXJfY3B1KG5wYywgY3B1KS51 bml0ID09IE5VTEwgJiYKKyAgICBpZiAoIG5wYy0+dW5pdCA9PSBOVUxMICYmCiAgICAgICAgICB1 bml0X2NoZWNrX2FmZmluaXR5KHVuaXQsIGNwdSwgQkFMQU5DRV9IQVJEX0FGRklOSVRZKSApCiAg ICAgewogICAgICAgICBpZiAoICFoYXNfc29mdF9hZmZpbml0eSh1bml0KSB8fApAQCAtNjIyLDYg KzY0Niw3IEBAIHN0YXRpYyB2b2lkIG51bGxfdW5pdF9zbGVlcChjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICpvcHMsCiB7CiAgICAgc3RydWN0IG51bGxfcHJpdmF0ZSAqcHJ2ID0gbnVsbF9wcml2KG9w cyk7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNjaGVkX3VuaXRfbWFzdGVyKHVuaXQpOworICAg IHN0cnVjdCBudWxsX3BjcHUgKm5wYyA9IGdldF9zY2hlZF9yZXMoY3B1KS0+c2NoZWRfcHJpdjsK ICAgICBib29sIHRpY2tsZWQgPSBmYWxzZTsKIAogICAgIEFTU0VSVCghaXNfaWRsZV91bml0KHVu aXQpKTsKQEAgLTY0MCw3ICs2NjUsNyBAQCBzdGF0aWMgdm9pZCBudWxsX3VuaXRfc2xlZXAoY29u c3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLAogICAgICAgICAgICAgbGlzdF9kZWxfaW5pdCgmbnZj LT53YWl0cV9lbGVtKTsKICAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZwcnYtPndhaXRxX2xvY2sp OwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCBwZXJfY3B1KG5wYywgY3B1KS51bml0ID09 IHVuaXQgKQorICAgICAgICBlbHNlIGlmICggbnBjLT51bml0ID09IHVuaXQgKQogICAgICAgICAg ICAgdGlja2xlZCA9IHVuaXRfZGVhc3NpZ24ocHJ2LCB1bml0KTsKICAgICB9CiAKQEAgLTY2Myw2 ICs2ODgsNyBAQCBzdGF0aWMgdm9pZCBudWxsX3VuaXRfbWlncmF0ZShjb25zdCBzdHJ1Y3Qgc2No ZWR1bGVyICpvcHMsCiB7CiAgICAgc3RydWN0IG51bGxfcHJpdmF0ZSAqcHJ2ID0gbnVsbF9wcml2 KG9wcyk7CiAgICAgc3RydWN0IG51bGxfdW5pdCAqbnZjID0gbnVsbF91bml0KHVuaXQpOworICAg IHN0cnVjdCBudWxsX3BjcHUgKm5wYzsKIAogICAgIEFTU0VSVCghaXNfaWRsZV91bml0KHVuaXQp KTsKIApAQCAtNjg2LDcgKzcxMiw4IEBAIHN0YXRpYyB2b2lkIG51bGxfdW5pdF9taWdyYXRlKGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywKICAgICAgKiBJZiB1bml0IGlzIGFzc2lnbmVkIHRv IGEgcENQVSwgdGhlbiBzdWNoIHBDUFUgYmVjb21lcyBmcmVlLCBhbmQgd2UKICAgICAgKiBzaG91 bGQgbG9vayBpbiB0aGUgd2FpdHF1ZXVlIGlmIGFueW9uZSBlbHNlIGNhbiBiZSBhc3NpZ25lZCB0 byBpdC4KICAgICAgKi8KLSAgICBpZiAoIGxpa2VseShwZXJfY3B1KG5wYywgc2NoZWRfdW5pdF9t YXN0ZXIodW5pdCkpLnVuaXQgPT0gdW5pdCkgKQorICAgIG5wYyA9IHVuaXQtPnJlcy0+c2NoZWRf cHJpdjsKKyAgICBpZiAoIGxpa2VseShucGMtPnVuaXQgPT0gdW5pdCkgKQogICAgIHsKICAgICAg ICAgdW5pdF9kZWFzc2lnbihwcnYsIHVuaXQpOwogICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKG1p Z3JhdGVfcnVubmluZyk7CkBAIC03MjAsNyArNzQ3LDggQEAgc3RhdGljIHZvaWQgbnVsbF91bml0 X21pZ3JhdGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLAogICAgICAqCiAgICAgICogSW4g bGF0dGVyLCBhbGwgd2UgY2FuIGRvIGlzIHRvIHBhcmsgdW5pdCBpbiB0aGUgd2FpdHF1ZXVlLgog ICAgICAqLwotICAgIGlmICggcGVyX2NwdShucGMsIG5ld19jcHUpLnVuaXQgPT0gTlVMTCAmJgor ICAgIG5wYyA9IGdldF9zY2hlZF9yZXMobmV3X2NwdSktPnNjaGVkX3ByaXY7CisgICAgaWYgKCBu cGMtPnVuaXQgPT0gTlVMTCAmJgogICAgICAgICAgdW5pdF9jaGVja19hZmZpbml0eSh1bml0LCBu ZXdfY3B1LCBCQUxBTkNFX0hBUkRfQUZGSU5JVFkpICkKICAgICB7CiAgICAgICAgIC8qIHVuaXQg bWlnaHQgaGF2ZSBiZWVuIGluIHRoZSB3YWl0cXVldWUsIHNvIHJlbW92ZSBpdCAqLwpAQCAtNzg4 LDYgKzgxNiw3IEBAIHN0YXRpYyB2b2lkIG51bGxfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVk dWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqcHJldiwKICAgICB1bnNpZ25lZCBpbnQgYnM7 CiAgICAgY29uc3QgdW5zaWduZWQgaW50IGN1cl9jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAg ICAgY29uc3QgdW5zaWduZWQgaW50IHNjaGVkX2NwdSA9IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUo Y3VyX2NwdSk7CisgICAgc3RydWN0IG51bGxfcGNwdSAqbnBjID0gZ2V0X3NjaGVkX3JlcyhzY2hl ZF9jcHUpLT5zY2hlZF9wcml2OwogICAgIHN0cnVjdCBudWxsX3ByaXZhdGUgKnBydiA9IG51bGxf cHJpdihvcHMpOwogICAgIHN0cnVjdCBudWxsX3VuaXQgKnd2YzsKIApAQCAtODAyLDE0ICs4MzEs MTQgQEAgc3RhdGljIHZvaWQgbnVsbF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpv cHMsIHN0cnVjdCBzY2hlZF91bml0ICpwcmV2LAogICAgICAgICB9IGQ7CiAgICAgICAgIGQuY3B1 ID0gY3VyX2NwdTsKICAgICAgICAgZC50YXNrbGV0ID0gdGFza2xldF93b3JrX3NjaGVkdWxlZDsK LSAgICAgICAgaWYgKCBwZXJfY3B1KG5wYywgc2NoZWRfY3B1KS51bml0ID09IE5VTEwgKQorICAg ICAgICBpZiAoIG5wYy0+dW5pdCA9PSBOVUxMICkKICAgICAgICAgewogICAgICAgICAgICAgZC51 bml0ID0gZC5kb20gPSAtMTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsKLSAg ICAgICAgICAgIGQudW5pdCA9IHBlcl9jcHUobnBjLCBzY2hlZF9jcHUpLnVuaXQtPnVuaXRfaWQ7 Ci0gICAgICAgICAgICBkLmRvbSA9IHBlcl9jcHUobnBjLCBzY2hlZF9jcHUpLnVuaXQtPmRvbWFp bi0+ZG9tYWluX2lkOworICAgICAgICAgICAgZC51bml0ID0gbnBjLT51bml0LT51bml0X2lkOwor ICAgICAgICAgICAgZC5kb20gPSBucGMtPnVuaXQtPmRvbWFpbi0+ZG9tYWluX2lkOwogICAgICAg ICB9CiAgICAgICAgIF9fdHJhY2VfdmFyKFRSQ19TTlVMTF9TQ0hFRFVMRSwgMSwgc2l6ZW9mKGQp LCAmZCk7CiAgICAgfQpAQCAtODIwLDcgKzg0OSw3IEBAIHN0YXRpYyB2b2lkIG51bGxfc2NoZWR1 bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqcHJldiwK ICAgICAgICAgcHJldi0+bmV4dF90YXNrID0gc2NoZWRfaWRsZV91bml0KHNjaGVkX2NwdSk7CiAg ICAgfQogICAgIGVsc2UKLSAgICAgICAgcHJldi0+bmV4dF90YXNrID0gcGVyX2NwdShucGMsIHNj aGVkX2NwdSkudW5pdDsKKyAgICAgICAgcHJldi0+bmV4dF90YXNrID0gbnBjLT51bml0OwogICAg IHByZXYtPm5leHRfdGltZSA9IC0xOwogCiAgICAgLyoKQEAgLTkyMSw2ICs5NTAsNyBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgZHVtcF91bml0KHN0cnVjdCBudWxsX3ByaXZhdGUgKnBydiwgc3RydWN0 IG51bGxfdW5pdCAqbnZjKQogc3RhdGljIHZvaWQgbnVsbF9kdW1wX3BjcHUoY29uc3Qgc3RydWN0 IHNjaGVkdWxlciAqb3BzLCBpbnQgY3B1KQogewogICAgIHN0cnVjdCBudWxsX3ByaXZhdGUgKnBy diA9IG51bGxfcHJpdihvcHMpOworICAgIHN0cnVjdCBudWxsX3BjcHUgKm5wYyA9IGdldF9zY2hl ZF9yZXMoY3B1KS0+c2NoZWRfcHJpdjsKICAgICBzdHJ1Y3QgbnVsbF91bml0ICpudmM7CiAgICAg c3BpbmxvY2tfdCAqbG9jazsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtOTMwLDkgKzk2 MCw4IEBAIHN0YXRpYyB2b2lkIG51bGxfZHVtcF9wY3B1KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIg Km9wcywgaW50IGNwdSkKICAgICBwcmludGsoIkNQVVslMDJkXSBzaWJsaW5nPXslKnBibH0sIGNv cmU9eyUqcGJsfSIsCiAgICAgICAgICAgIGNwdSwgQ1BVTUFTS19QUihwZXJfY3B1KGNwdV9zaWJs aW5nX21hc2ssIGNwdSkpLAogICAgICAgICAgICBDUFVNQVNLX1BSKHBlcl9jcHUoY3B1X2NvcmVf bWFzaywgY3B1KSkpOwotICAgIGlmICggcGVyX2NwdShucGMsIGNwdSkudW5pdCAhPSBOVUxMICkK LSAgICAgICAgcHJpbnRrKCIsIHVuaXQ9JXBkdiVkIiwgcGVyX2NwdShucGMsIGNwdSkudW5pdC0+ ZG9tYWluLAotICAgICAgICAgICAgICAgcGVyX2NwdShucGMsIGNwdSkudW5pdC0+dW5pdF9pZCk7 CisgICAgaWYgKCBucGMtPnVuaXQgIT0gTlVMTCApCisgICAgICAgIHByaW50aygiLCB1bml0PSVw ZHYlZCIsIG5wYy0+dW5pdC0+ZG9tYWluLCBucGMtPnVuaXQtPnVuaXRfaWQpOwogICAgIHByaW50 aygiXG4iKTsKIAogICAgIC8qIGN1cnJlbnQgdW5pdCAobm90aGluZyB0byBzYXkgaWYgdGhhdCdz IHRoZSBpZGxlIHVuaXQpICovCkBAIC0xMDEwLDYgKzEwMzksOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHNjaGVkdWxlciBzY2hlZF9udWxsX2RlZiA9IHsKIAogICAgIC5pbml0ICAgICAgICAgICA9 IG51bGxfaW5pdCwKICAgICAuZGVpbml0ICAgICAgICAgPSBudWxsX2RlaW5pdCwKKyAgICAuYWxs b2NfcGRhdGEgICAgPSBudWxsX2FsbG9jX3BkYXRhLAorICAgIC5mcmVlX3BkYXRhICAgICA9IG51 bGxfZnJlZV9wZGF0YSwKICAgICAuaW5pdF9wZGF0YSAgICAgPSBudWxsX2luaXRfcGRhdGEsCiAg ICAgLnN3aXRjaF9zY2hlZCAgID0gbnVsbF9zd2l0Y2hfc2NoZWQsCiAgICAgLmRlaW5pdF9wZGF0 YSAgID0gbnVsbF9kZWluaXRfcGRhdGEsCi0tIAoyLjE2LjQKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8veGVuLWRldmVs