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=-8.4 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,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 55AECC2D0DB for ; Thu, 30 Jan 2020 14:58:43 +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 190362051A for ; Thu, 30 Jan 2020 14:58:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="toyc+Dg0" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 190362051A Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.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 1ixBH3-0003vp-7w; Thu, 30 Jan 2020 14:58:29 +0000 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 1ixBH1-0003vX-J2 for xen-devel@lists.xenproject.org; Thu, 30 Jan 2020 14:58:27 +0000 X-Inumbo-ID: f82f2658-4370-11ea-8a92-12813bfff9fa Received: from smtp-fw-9101.amazon.com (unknown [207.171.184.25]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id f82f2658-4370-11ea-8a92-12813bfff9fa; Thu, 30 Jan 2020 14:58:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1580396307; x=1611932307; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4L/z/yQqPy+BWKnCL2PCLgYINPiu+gxFMPEXX/yEHyc=; b=toyc+Dg0RvoogD3E8L/b2Zy3tmEPa674LEKqTa+dJaOV3ESwcNCiEG1K RO2x7XzZwzX547jVsu3aIk0P3lvAT9dIzZK2LqCAX8DDYNP0oRPv2c2ja DSZp6/Vmm489Z2GQI4Pd2Ft2vF4BrzjTsx+Ng+yaLeMEytskYUQiofB1V s=; IronPort-SDR: 66C2zhC5hLWd1rgLXkEh4OV2zREpWFA2E9CLgmuDEO2Lb01CFS7mtbwQwPByxLKK7GU03KtV2I T6UsKjv/Arhw== X-IronPort-AV: E=Sophos;i="5.70,382,1574121600"; d="scan'208";a="13644135" Received: from sea32-co-svc-lb4-vlan3.sea.corp.amazon.com (HELO email-inbound-relay-1e-62350142.us-east-1.amazon.com) ([10.47.23.38]) by smtp-border-fw-out-9101.sea19.amazon.com with ESMTP; 30 Jan 2020 14:58:25 +0000 Received: from EX13MTAUEA002.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166]) by email-inbound-relay-1e-62350142.us-east-1.amazon.com (Postfix) with ESMTPS id 847B0A2663; Thu, 30 Jan 2020 14:58:21 +0000 (UTC) Received: from EX13D32EUB003.ant.amazon.com (10.43.166.165) by EX13MTAUEA002.ant.amazon.com (10.43.61.77) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Thu, 30 Jan 2020 14:58:04 +0000 Received: from EX13MTAUWC001.ant.amazon.com (10.43.162.135) by EX13D32EUB003.ant.amazon.com (10.43.166.165) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 30 Jan 2020 14:58:03 +0000 Received: from u2f063a87eabd5f.cbg10.amazon.com (10.125.106.135) by mail-relay.amazon.com (10.43.162.232) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Thu, 30 Jan 2020 14:58:00 +0000 From: Paul Durrant To: Date: Thu, 30 Jan 2020 14:57:44 +0000 Message-ID: <20200130145745.1306-4-pdurrant@amazon.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200130145745.1306-1-pdurrant@amazon.com> References: <20200130145745.1306-1-pdurrant@amazon.com> MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH v8 3/4] mm: make pages allocated with MEMF_no_refcount safe to assign X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Julien Grall , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Paul Durrant , Ian Jackson , Volodymyr Babchuk , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Q3VycmVudGx5IGl0IGlzIHVuc2FmZSB0byBhc3NpZ24gYSBkb21oZWFwIHBhZ2UgYWxsb2NhdGVk IHdpdGgKTUVNRl9ub19yZWZjb3VudCB0byBhIGRvbWFpbiBiZWNhdXNlIHRoZSBkb21haW4ndCAn dG90X3BhZ2VzJyB3aWxsIG5vdApiZSBpbmNyZW1lbnRlZCwgYnV0IHdpbGwgYmUgZGVjcmVtZW50 IHdoZW4gdGhlIHBhZ2UgaXMgZnJlZWQgKHNpbmNlCmZyZWVfZG9taGVhcF9wYWdlcygpIGhhcyBu byB3YXkgb2YgdGVsbGluZyB0aGF0IHRoZSBpbmNyZW1lbnQgd2FzIHNraXBwZWQpLgoKVGhpcyBw YXRjaCBhbGxvY2F0ZXMgYSBuZXcgJ2NvdW50X2luZm8nIGJpdCBmb3IgYSBQR0NfZXh0cmEgZmxh Zwp3aGljaCBpcyB0aGVuIHVzZWQgdG8gbWFyayBwYWdlcyB3aGVuIGFsbG9jX2RvbWhlYXBfcGFn ZXMoKSBpcyBjYWxsZWQKd2l0aCBNRU1GX25vX3JlZmNvdW50LiBhc3NpZ25fcGFnZXMoKSBiZWNh dXNlIGl0IHN0aWxsIG5lZWRzIHRvIGNhbGwKZG9tYWluX2FkanVzdF90b3RfcGFnZXMoKSB0byBt YWtlIHN1cmUgdGhlIGRvbWFpbiBpcyBhcHByb3ByaWF0ZWx5CnJlZmVyZW5jZWQuIEhlbmNlIGl0 IGlzIG1vZGlmaWVkIHRvIGRvIHRoYXQgZm9yIFBHQ19leHRyYSBwYWdlcyBldmVuIGlmIGl0Cmlz IHBhc3NlZCBNRU1GX25vX3JlZm91bnQuCgpUaGUgbnVtYmVyIG9mIFBHQ19leHRyYSBwYWdlcyBh c3NpZ25lZCB0byBhIGRvbWFpbiBpcyB0cmFja2VkIGluIGEgbmV3CidleHRyYV9wYWdlcycgY291 bnRlciwgd2hpY2ggaXMgdGhlbiBzdWJ0cmFjdGVkIGZyb20gJ3RvdGFsX3BhZ2VzJyBpbgp0aGUg ZG9tYWluX3RvdF9wYWdlcygpIGhlbHBlci4gVGh1cyAnbm9ybWFsJyBwYWdlIGFzc2lnbm1lbnRz IHdpbGwgc3RpbGwKYmUgYXBwcm9wcmlhdGVseSBjaGVja2VkIGFnYWluc3QgJ21heF9wYWdlcycu CgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBkdXJyYW50QGFtYXpvbi5jb20+Ci0tLQpD YzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBE dW5sYXAgPEdlb3JnZS5EdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4u amFja3NvbkBldS5jaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t PgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4KQ2M6IEtvbnJhZCBSemVzenV0ZWsg V2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0 YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IFdlaSBMaXUgPHdsQHhlbi5vcmc+CkNjOiBWb2xvZHlt eXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBhbS5jb20+CkNjOiAiUm9nZXIgUGF1IE1v bm7DqSIgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKdjg6CiAtIERyb3AgdGhlIGlkZWEgb2YgcG9z dC1hbGxvY2F0aW9uIGFzc2lnbm1lbnQgYWRkaW5nIGFuIGVycm9yIHBhdGggdG8KICAgc3RlYWxf cGFnZSgpIGlmIGl0IGVuY291bnRlcnMgYSBQR0NfZXh0cmEgcGFnZQogLSBUaWdodGVuIHVwIHRo ZSBBU1NFUlRzIGluIGFzc2lnbl9wYWdlcygpCgp2NzoKIC0gcy9QR0Nfbm9fcmVmY291bnQvUEdD X2V4dHJhL2cKIC0gUmUtd29yayBhbGxvY2F0aW9uIHRvIGFjY291bnQgZm9yICdleHRyYScgcGFn ZXMsIGFsc28gbWFraW5nIGl0CiAgIHNhZmUgdG8gYXNzaWduIFBHQ19leHRyYSBwYWdlcyBwb3N0 LWFsbG9jYXRpb24KCnY2OgogLSBBZGQgYW4gZXh0cmEgQVNTRVJUIGludG8gYXNzaWduX3BhZ2Vz KCkgdGhhdCBQR0Nfbm9fcmVmY291bnQgaXMgbm90CiAgIHNldCBpZiBNRU1GX25vX3JlZmNvdW50 IGlzIGNsZWFyCiAtIEFTU0VSVCB0aGF0IGNvdW50X2luZm8gaXMgMCBpbiBhbGxvY19kb21oZWFw X3BhZ2VzKCkgYW5kIHNldCB0bwogICBQR0Nfbm9fcmVmY291bnQgcmF0aGVyIHRoYW4gT1JpbmcK CnY1OgogLSBNYWtlIHN1cmUgUEdDX25vX3JlZmNvdW50IGlzIHNldCBiZWZvcmUgYXNzaWduX3Bh Z2VzKCkgaXMgY2FsbGVkCiAtIERvbid0IGJvdGhlciB0byBjbGVhciBQR0Nfbm9fcmVmY291bnQg aW4gZnJlZV9kb21oZWFwX3BhZ2VzKCkgYW5kCiAgIGRyb3AgQVNTRVJUIGluIGZyZWVfaGVhcF9w YWdlcygpCiAtIERvbid0IGxhdGNoIGNvdW50X2luZm8gaW4gZnJlZV9oZWFwX3BhZ2VzKCkKCnY0 OgogLSBOZXcgaW4gdjQKLS0tCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgfCAgMyArLQogeGVu L2NvbW1vbi9wYWdlX2FsbG9jLmMgIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oIHwgIDUgKysrLQogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9tbS5oIHwgIDcgKysrLS0KIHhlbi9pbmNsdWRlL3hlbi9zY2hlZC5oICB8ICA1 ICsrKy0KIDUgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRl eCA4YmI2NmNmMzBjLi4yNzk2MTYxYzFmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYwor KysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtNDIxNyw3ICs0MjE3LDggQEAgaW50IHN0ZWFsX3Bh Z2UoCiAgICAgaWYgKCAhKG93bmVyID0gcGFnZV9nZXRfb3duZXJfYW5kX3JlZmVyZW5jZShwYWdl KSkgKQogICAgICAgICBnb3RvIGZhaWw7CiAKLSAgICBpZiAoIG93bmVyICE9IGQgfHwgaXNfeGVu X2hlYXBfcGFnZShwYWdlKSApCisgICAgaWYgKCBvd25lciAhPSBkIHx8IGlzX3hlbl9oZWFwX3Bh Z2UocGFnZSkgfHwKKyAgICAgICAgIChwYWdlLT5jb3VudF9pbmZvICYgUEdDX2V4dHJhKSApCiAg ICAgICAgIGdvdG8gZmFpbF9wdXQ7CiAKICAgICAvKgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9w YWdlX2FsbG9jLmMgYi94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYwppbmRleCBiYmQzMTYzOTA5Li4x YWM5ZDljNzE5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYworKysgYi94ZW4v Y29tbW9uL3BhZ2VfYWxsb2MuYwpAQCAtMjI2Nyw3ICsyMjY3LDI5IEBAIGludCBhc3NpZ25fcGFn ZXMoCiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAgIGlmICggIShtZW1mbGFncyAmIE1F TUZfbm9fcmVmY291bnQpICkKKyNpZm5kZWYgTkRFQlVHCisgICAgeworICAgICAgICB1bnNpZ25l ZCBpbnQgZXh0cmFfcGFnZXMgPSAwOworCisgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgKDF1bCA8 PCBvcmRlcik7IGkrKyApCisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVCghKHBnW2ldLmNv dW50X2luZm8gJiB+UEdDX2V4dHJhKSk7CisgICAgICAgICAgICBpZiAoIHBnW2ldLmNvdW50X2lu Zm8gJiBQR0NfZXh0cmEgKQorICAgICAgICAgICAgICAgIGV4dHJhX3BhZ2VzKys7CisgICAgICAg IH0KKworICAgICAgICBBU1NFUlQoIWV4dHJhX3BhZ2VzIHx8CisgICAgICAgICAgICAgICAoKG1l bWZsYWdzICYgTUVNRl9ub19yZWZjb3VudCkgJiYKKyAgICAgICAgICAgICAgICBleHRyYV9wYWdl cyA9PSAxdSA8PCBvcmRlcikpOworICAgIH0KKyNlbmRpZgorCisgICAgaWYgKCBwZ1swXS5jb3Vu dF9pbmZvICYgUEdDX2V4dHJhICkKKyAgICB7CisgICAgICAgIGQtPmV4dHJhX3BhZ2VzICs9IDF1 IDw8IG9yZGVyOworICAgICAgICBtZW1mbGFncyAmPSB+TUVNRl9ub19yZWZjb3VudDsKKyAgICB9 CisgICAgZWxzZSBpZiAoICEobWVtZmxhZ3MgJiBNRU1GX25vX3JlZmNvdW50KSApCiAgICAgewog ICAgICAgICB1bnNpZ25lZCBpbnQgdG90X3BhZ2VzID0gZG9tYWluX3RvdF9wYWdlcyhkKSArICgx IDw8IG9yZGVyKTsKIApAQCAtMjI3OCwxOCArMjMwMCwxOSBAQCBpbnQgYXNzaWduX3BhZ2VzKAog ICAgICAgICAgICAgcmMgPSAtRTJCSUc7CiAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAg fQorICAgIH0KIAotICAgICAgICBpZiAoIHVubGlrZWx5KGRvbWFpbl9hZGp1c3RfdG90X3BhZ2Vz KGQsIDEgPDwgb3JkZXIpID09ICgxIDw8IG9yZGVyKSkgKQorICAgIGlmICggIShtZW1mbGFncyAm IE1FTUZfbm9fcmVmY291bnQpICYmCisgICAgICAgICB1bmxpa2VseShkb21haW5fYWRqdXN0X3Rv dF9wYWdlcyhkLCAxIDw8IG9yZGVyKSA9PSAoMSA8PCBvcmRlcikpICkKICAgICAgICAgICAgIGdl dF9rbm93bmFsaXZlX2RvbWFpbihkKTsKLSAgICB9CiAKICAgICBmb3IgKCBpID0gMDsgaSA8ICgx IDw8IG9yZGVyKTsgaSsrICkKICAgICB7CiAgICAgICAgIEFTU0VSVChwYWdlX2dldF9vd25lcigm cGdbaV0pID09IE5VTEwpOwotICAgICAgICBBU1NFUlQoIXBnW2ldLmNvdW50X2luZm8pOwogICAg ICAgICBwYWdlX3NldF9vd25lcigmcGdbaV0sIGQpOwogICAgICAgICBzbXBfd21iKCk7IC8qIERv bWFpbiBwb2ludGVyIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgdXBkYXRpbmcgcmVmY250LiAqLwot ICAgICAgICBwZ1tpXS5jb3VudF9pbmZvID0gUEdDX2FsbG9jYXRlZCB8IDE7CisgICAgICAgIHBn W2ldLmNvdW50X2luZm8gPQorICAgICAgICAgICAgKHBnW2ldLmNvdW50X2luZm8gJiBQR0NfZXh0 cmEpIHwgUEdDX2FsbG9jYXRlZCB8IDE7CiAgICAgICAgIHBhZ2VfbGlzdF9hZGRfdGFpbCgmcGdb aV0sICZkLT5wYWdlX2xpc3QpOwogICAgIH0KIApAQCAtMjMxNSwxMSArMjMzOCw2IEBAIHN0cnVj dCBwYWdlX2luZm8gKmFsbG9jX2RvbWhlYXBfcGFnZXMoCiAKICAgICBpZiAoIG1lbWZsYWdzICYg TUVNRl9ub19vd25lciApCiAgICAgICAgIG1lbWZsYWdzIHw9IE1FTUZfbm9fcmVmY291bnQ7Ci0g ICAgZWxzZSBpZiAoIChtZW1mbGFncyAmIE1FTUZfbm9fcmVmY291bnQpICYmIGQgKQotICAgIHsK LSAgICAgICAgQVNTRVJUKCEobWVtZmxhZ3MgJiBNRU1GX25vX3JlZmNvdW50KSk7Ci0gICAgICAg IHJldHVybiBOVUxMOwotICAgIH0KIAogICAgIGlmICggIWRtYV9iaXRzaXplICkKICAgICAgICAg bWVtZmxhZ3MgJj0gfk1FTUZfbm9fZG1hOwpAQCAtMjMzMiwxMSArMjM1MCwyMyBAQCBzdHJ1Y3Qg cGFnZV9pbmZvICphbGxvY19kb21oZWFwX3BhZ2VzKAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1lbWZsYWdzLCBkKSkgPT0gTlVMTCkpICkKICAgICAgICAgIHJldHVybiBOVUxM OwogCi0gICAgaWYgKCBkICYmICEobWVtZmxhZ3MgJiBNRU1GX25vX293bmVyKSAmJgotICAgICAg ICAgYXNzaWduX3BhZ2VzKGQsIHBnLCBvcmRlciwgbWVtZmxhZ3MpICkKKyAgICBpZiAoIGQgJiYg IShtZW1mbGFncyAmIE1FTUZfbm9fb3duZXIpICkKICAgICB7Ci0gICAgICAgIGZyZWVfaGVhcF9w YWdlcyhwZywgb3JkZXIsIG1lbWZsYWdzICYgTUVNRl9ub19zY3J1Yik7Ci0gICAgICAgIHJldHVy biBOVUxMOworICAgICAgICBpZiAoIG1lbWZsYWdzICYgTUVNRl9ub19yZWZjb3VudCApCisgICAg ICAgIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaTsKKworICAgICAgICAgICAgZm9yICgg aSA9IDA7IGkgPCAoMXVsIDw8IG9yZGVyKTsgaSsrICkKKyAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICBBU1NFUlQoIXBnW2ldLmNvdW50X2luZm8pOworICAgICAgICAgICAgICAgIHBnW2ld LmNvdW50X2luZm8gPSBQR0NfZXh0cmE7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg ICAgaWYgKCBhc3NpZ25fcGFnZXMoZCwgcGcsIG9yZGVyLCBtZW1mbGFncykgKQorICAgICAgICB7 CisgICAgICAgICAgICBmcmVlX2hlYXBfcGFnZXMocGcsIG9yZGVyLCBtZW1mbGFncyAmIE1FTUZf bm9fc2NydWIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICB9CiAK ICAgICByZXR1cm4gcGc7CkBAIC0yMzg0LDYgKzI0MTQsMTEgQEAgdm9pZCBmcmVlX2RvbWhlYXBf cGFnZXMoc3RydWN0IHBhZ2VfaW5mbyAqcGcsIHVuc2lnbmVkIGludCBvcmRlcikKICAgICAgICAg ICAgICAgICAgICAgQlVHKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGFy Y2hfZnJlZV9oZWFwX3BhZ2UoZCwgJnBnW2ldKTsKKyAgICAgICAgICAgICAgICBpZiAoIHBnW2ld LmNvdW50X2luZm8gJiBQR0NfZXh0cmEgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgICAgQVNTRVJUKGQtPmV4dHJhX3BhZ2VzKTsKKyAgICAgICAgICAgICAgICAgICAgZC0+ ZXh0cmFfcGFnZXMtLTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAg ICAgICAgIGRyb3BfZG9tX3JlZiA9ICFkb21haW5fYWRqdXN0X3RvdF9wYWdlcyhkLCAtKDEgPDwg b3JkZXIpKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaCBiL3hlbi9pbmNs dWRlL2FzbS1hcm0vbW0uaAppbmRleCAzMzNlZmQzYTYwLi43ZGY5MTI4MGJjIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20tYXJtL21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9tbS5o CkBAIC0xMTksOSArMTE5LDEyIEBAIHN0cnVjdCBwYWdlX2luZm8KICNkZWZpbmUgUEdDX3N0YXRl X29mZmxpbmVkIFBHX21hc2soMiwgOSkKICNkZWZpbmUgUEdDX3N0YXRlX2ZyZWUgICAgUEdfbWFz aygzLCA5KQogI2RlZmluZSBwYWdlX3N0YXRlX2lzKHBnLCBzdCkgKCgocGcpLT5jb3VudF9pbmZv JlBHQ19zdGF0ZSkgPT0gUEdDX3N0YXRlXyMjc3QpCisvKiBQYWdlIGlzIG5vdCByZWZlcmVuY2Ug Y291bnRlZCAqLworI2RlZmluZSBfUEdDX2V4dHJhICAgICAgICBQR19zaGlmdCgxMCkKKyNkZWZp bmUgUEdDX2V4dHJhICAgICAgICAgUEdfbWFzaygxLCAxMCkKIAogLyogQ291bnQgb2YgcmVmZXJl bmNlcyB0byB0aGlzIGZyYW1lLiAqLwotI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQR19zaGlm dCg5KQorI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQR19zaGlmdCgxMCkKICNkZWZpbmUgUEdD X2NvdW50X21hc2sgICAgKCgxVUw8PFBHQ19jb3VudF93aWR0aCktMSkKIAogLyoKZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaApp bmRleCAyY2E4ODgyYWQwLi4wNmQ2NGQ0OTRkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCkBAIC03Nyw5ICs3NywxMiBA QAogI2RlZmluZSBQR0Nfc3RhdGVfb2ZmbGluZWQgUEdfbWFzaygyLCA5KQogI2RlZmluZSBQR0Nf c3RhdGVfZnJlZSAgICBQR19tYXNrKDMsIDkpCiAjZGVmaW5lIHBhZ2Vfc3RhdGVfaXMocGcsIHN0 KSAoKChwZyktPmNvdW50X2luZm8mUEdDX3N0YXRlKSA9PSBQR0Nfc3RhdGVfIyNzdCkKKy8qIFBh Z2UgaXMgbm90IHJlZmVyZW5jZSBjb3VudGVkICovCisjZGVmaW5lIF9QR0NfZXh0cmEgICAgICAg IFBHX3NoaWZ0KDEwKQorI2RlZmluZSBQR0NfZXh0cmEgICAgICAgICBQR19tYXNrKDEsIDEwKQog Ci0gLyogQ291bnQgb2YgcmVmZXJlbmNlcyB0byB0aGlzIGZyYW1lLiAqLwotI2RlZmluZSBQR0Nf Y291bnRfd2lkdGggICBQR19zaGlmdCg5KQorLyogQ291bnQgb2YgcmVmZXJlbmNlcyB0byB0aGlz IGZyYW1lLiAqLworI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQR19zaGlmdCgxMCkKICNkZWZp bmUgUEdDX2NvdW50X21hc2sgICAgKCgxVUw8PFBHQ19jb3VudF93aWR0aCktMSkKIAogLyoKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVk LmgKaW5kZXggMWI2ZDdiOTQxZi4uMjFiNWY0Y2ViZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv eGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTM3NCw2ICszNzQs NyBAQCBzdHJ1Y3QgZG9tYWluCiAgICAgdW5zaWduZWQgaW50ICAgICB4ZW5oZWFwX3BhZ2VzOyAg ICAgLyogcGFnZXMgYWxsb2NhdGVkIGZyb20gWGVuIGhlYXAgKi8KICAgICB1bnNpZ25lZCBpbnQg ICAgIG91dHN0YW5kaW5nX3BhZ2VzOyAvKiBwYWdlcyBjbGFpbWVkIGJ1dCBub3QgcG9zc2Vzc2Vk ICovCiAgICAgdW5zaWduZWQgaW50ICAgICBtYXhfcGFnZXM7ICAgICAgICAgLyogbWF4aW11bSB2 YWx1ZSBmb3IgZG9tYWluX3RvdF9wYWdlcygpICovCisgICAgdW5zaWduZWQgaW50ICAgICBleHRy YV9wYWdlczsgICAgICAgLyogcGFnZXMgbm90IGluY2x1ZGVkIGluIGRvbWFpbl90b3RfcGFnZXMo KSAqLwogICAgIGF0b21pY190ICAgICAgICAgc2hyX3BhZ2VzOyAgICAgICAgIC8qIHNoYXJlZCBw YWdlcyAqLwogICAgIGF0b21pY190ICAgICAgICAgcGFnZWRfcGFnZXM7ICAgICAgIC8qIHBhZ2Vk LW91dCBwYWdlcyAqLwogCkBAIC01NDgsNyArNTQ5LDkgQEAgc3RydWN0IGRvbWFpbgogLyogUmV0 dXJuIG51bWJlciBvZiBwYWdlcyBjdXJyZW50bHkgcG9zZXNzZWQgYnkgdGhlIGRvbWFpbiAqLwog c3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZG9tYWluX3RvdF9wYWdlcyhjb25zdCBzdHJ1Y3Qg ZG9tYWluICpkKQogewotICAgIHJldHVybiBkLT50b3RfcGFnZXM7CisgICAgQVNTRVJUKGQtPmV4 dHJhX3BhZ2VzIDw9IGQtPnRvdF9wYWdlcyk7CisKKyAgICByZXR1cm4gZC0+dG90X3BhZ2VzIC0g ZC0+ZXh0cmFfcGFnZXM7CiB9CiAKIC8qIFByb3RlY3QgdXBkYXRlcy9yZWFkcyAocmVzcC4pIG9m IGRvbWFpbl9saXN0IGFuZCBkb21haW5faGFzaC4gKi8KLS0gCjIuMjAuMQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=