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 F293CC2D0CE for ; Mon, 9 Dec 2019 22:54:21 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 D3B4F206D5 for ; Mon, 9 Dec 2019 22:54:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D3B4F206D5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 96EBA6E5B9; Mon, 9 Dec 2019 22:54:09 +0000 (UTC) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5B5EB6E5AE for ; Mon, 9 Dec 2019 22:54:03 +0000 (UTC) Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Mon, 09 Dec 2019 14:53:56 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Mon, 09 Dec 2019 14:54:02 -0800 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Mon, 09 Dec 2019 14:54:02 -0800 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 9 Dec 2019 22:54:02 +0000 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 9 Dec 2019 22:54:01 +0000 Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 9 Dec 2019 22:54:00 +0000 Received: from blueforge.nvidia.com (Not Verified[10.110.48.28]) by rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) id ; Mon, 09 Dec 2019 14:54:00 -0800 From: John Hubbard To: Andrew Morton Subject: [PATCH v8 12/26] IB/{core, hw, umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP Date: Mon, 9 Dec 2019 14:53:30 -0800 Message-ID: <20191209225344.99740-13-jhubbard@nvidia.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191209225344.99740-1-jhubbard@nvidia.com> References: <20191209225344.99740-1-jhubbard@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1575932037; bh=aCmqlvTLwMPCbPaoupMZ4E36vMkyUX1WUItANkWAgkQ=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: In-Reply-To:References:MIME-Version:X-NVConfidentiality: Content-Transfer-Encoding:Content-Type; b=D5roDztsCwJKbtbxwOcTtAnNJF/S9mwxNVhC0jHaQQbbx/zMW/JTqlWjGJjSYFdi6 otT7q8Bz5e0T1lxPHvIFQanWJxX797VYaFskhNwJ3Ypvgzp1ALulIvjNR5ekJ2Doxq uQPeEr1vbqmrbeOTX77d29NMvKaTq+ohHE9kTF/sA8rbG7zYid1qmHYkzQykaD/Qmb scazzr1NQsLD9iLA0UXAajy7tZsLM5jbaVHgfzoKqkGzdKA5Yl1yGTUt9tGD0gvxUl /T9X/VFwfswi64GuGzaFan/tqNqc8di/j/iqslrAo2Wq+GxqrPcffDUuFvzO2xchcy EvmyCIAQZkZzw== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Michal Hocko , Jan Kara , kvm@vger.kernel.org, linux-doc@vger.kernel.org, David Airlie , Dave Chinner , dri-devel@lists.freedesktop.org, LKML , linux-mm@kvack.org, Paul Mackerras , linux-kselftest@vger.kernel.org, Ira Weiny , Jonathan Corbet , linux-rdma@vger.kernel.org, Michael Ellerman , Christoph Hellwig , Jason Gunthorpe , Jason Gunthorpe , Vlastimil Babka , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , linux-media@vger.kernel.org, Shuah Khan , John Hubbard , linux-block@vger.kernel.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Al Viro , Dan Williams , Mauro Carvalho Chehab , Magnus Karlsson , Jens Axboe , netdev@vger.kernel.org, Alex Williamson , linux-fsdevel@vger.kernel.org, bpf@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, "David S . Miller" , Mike Kravetz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Q29udmVydCBpbmZpbmliYW5kIHRvIHVzZSB0aGUgbmV3IHBpbl91c2VyX3BhZ2VzKigpIGNhbGxz LgoKQWxzbywgcmV2ZXJ0IGVhcmxpZXIgY2hhbmdlcyB0byBJbmZpbmliYW5kIE9EUCB0aGF0IGhh ZCBpdCB1c2luZwpwdXRfdXNlcl9wYWdlKCkuIE9EUCBpcyAiQ2FzZSAzIiBpbgpEb2N1bWVudGF0 aW9uL2NvcmUtYXBpL3Bpbl91c2VyX3BhZ2VzLnJzdCwgd2hpY2ggaXMgdG8gc2F5LCBub3JtYWwK Z2V0X3VzZXJfcGFnZXMoKSBhbmQgcHV0X3BhZ2UoKSBpcyB0aGUgQVBJIHRvIHVzZSB0aGVyZS4K ClRoZSBuZXcgcGluX3VzZXJfcGFnZXMqKCkgY2FsbHMgcmVwbGFjZSBjb3JyZXNwb25kaW5nIGdl dF91c2VyX3BhZ2VzKigpCmNhbGxzLCBhbmQgc2V0IHRoZSBGT0xMX1BJTiBmbGFnLiBUaGUgRk9M TF9QSU4gZmxhZyByZXF1aXJlcyB0aGF0IHRoZQpjYWxsZXIgbXVzdCByZXR1cm4gdGhlIHBhZ2Vz IHZpYSBwdXRfdXNlcl9wYWdlKigpIGNhbGxzLCBidXQgaW5maW5pYmFuZAp3YXMgYWxyZWFkeSBk b2luZyB0aGF0IGFzIHBhcnQgb2YgYW4gZWFybGllciBjb21taXQuCgpSZXZpZXdlZC1ieTogSmFz b24gR3VudGhvcnBlIDxqZ2dAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBKb2huIEh1YmJh cmQgPGpodWJiYXJkQG52aWRpYS5jb20+Ci0tLQogZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1l bS5jICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtX29k cC5jICAgICAgICAgIHwgMTMgKysrKysrLS0tLS0tLQogZHJpdmVycy9pbmZpbmliYW5kL2h3L2hm aTEvdXNlcl9wYWdlcy5jICAgICB8ICAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2Ev bXRoY2FfbWVtZnJlZS5jIHwgIDIgKy0KIGRyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3Vz ZXJfcGFnZXMuYyAgfCAgMiArLQogZHJpdmVycy9pbmZpbmliYW5kL2h3L3FpYi9xaWJfdXNlcl9z ZG1hLmMgICB8ICAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvdXNuaWMvdXNuaWNfdWlvbS5j ICAgIHwgIDIgKy0KIGRyaXZlcnMvaW5maW5pYmFuZC9zdy9zaXcvc2l3X21lbS5jICAgICAgICAg fCAgMiArLQogOCBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMgYi9kcml2ZXJz L2luZmluaWJhbmQvY29yZS91bWVtLmMKaW5kZXggMjE0ZTg3YWE2MDlkLi41NWRhZWZhYTliODgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYworKysgYi9kcml2ZXJz L2luZmluaWJhbmQvY29yZS91bWVtLmMKQEAgLTI2Niw3ICsyNjYsNyBAQCBzdHJ1Y3QgaWJfdW1l bSAqaWJfdW1lbV9nZXQoc3RydWN0IGliX3VkYXRhICp1ZGF0YSwgdW5zaWduZWQgbG9uZyBhZGRy LAogCXNnID0gdW1lbS0+c2dfaGVhZC5zZ2w7CiAKIAl3aGlsZSAobnBhZ2VzKSB7Ci0JCXJldCA9 IGdldF91c2VyX3BhZ2VzX2Zhc3QoY3VyX2Jhc2UsCisJCXJldCA9IHBpbl91c2VyX3BhZ2VzX2Zh c3QoY3VyX2Jhc2UsCiAJCQkJCSAgbWluX3QodW5zaWduZWQgbG9uZywgbnBhZ2VzLAogCQkJCQkJ UEFHRV9TSVpFIC8KIAkJCQkJCXNpemVvZihzdHJ1Y3QgcGFnZSAqKSksCmRpZmYgLS1naXQgYS9k cml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtX29kcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2Nv cmUvdW1lbV9vZHAuYwppbmRleCBlNDJkNDRlNTAxZmQuLmFiYzNiYjY1NzhjYyAxMDA2NDQKLS0t IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbV9vZHAuYworKysgYi9kcml2ZXJzL2luZmlu aWJhbmQvY29yZS91bWVtX29kcC5jCkBAIC0zMDgsOSArMzA4LDggQEAgRVhQT1JUX1NZTUJPTChp Yl91bWVtX29kcF9yZWxlYXNlKTsKICAqIFRoZSBmdW5jdGlvbiByZXR1cm5zIC1FRkFVTFQgaWYg dGhlIERNQSBtYXBwaW5nIG9wZXJhdGlvbiBmYWlscy4gSXQgcmV0dXJucwogICogLUVBR0FJTiBp ZiBhIGNvbmN1cnJlbnQgaW52YWxpZGF0aW9uIHByZXZlbnRzIHVzIGZyb20gdXBkYXRpbmcgdGhl IHBhZ2UuCiAgKgotICogVGhlIHBhZ2UgaXMgcmVsZWFzZWQgdmlhIHB1dF91c2VyX3BhZ2UgZXZl biBpZiB0aGUgb3BlcmF0aW9uIGZhaWxlZC4gRm9yCi0gKiBvbi1kZW1hbmQgcGlubmluZywgdGhl IHBhZ2UgaXMgcmVsZWFzZWQgd2hlbmV2ZXIgaXQgaXNuJ3Qgc3RvcmVkIGluIHRoZQotICogdW1l bS4KKyAqIFRoZSBwYWdlIGlzIHJlbGVhc2VkIHZpYSBwdXRfcGFnZSBldmVuIGlmIHRoZSBvcGVy YXRpb24gZmFpbGVkLiBGb3Igb24tZGVtYW5kCisgKiBwaW5uaW5nLCB0aGUgcGFnZSBpcyByZWxl YXNlZCB3aGVuZXZlciBpdCBpc24ndCBzdG9yZWQgaW4gdGhlIHVtZW0uCiAgKi8KIHN0YXRpYyBp bnQgaWJfdW1lbV9vZHBfbWFwX2RtYV9zaW5nbGVfcGFnZSgKIAkJc3RydWN0IGliX3VtZW1fb2Rw ICp1bWVtX29kcCwKQEAgLTM2Myw3ICszNjIsNyBAQCBzdGF0aWMgaW50IGliX3VtZW1fb2RwX21h cF9kbWFfc2luZ2xlX3BhZ2UoCiAJfQogCiBvdXQ6Ci0JcHV0X3VzZXJfcGFnZShwYWdlKTsKKwlw dXRfcGFnZShwYWdlKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC00NzMsNyArNDcyLDcgQEAgaW50 IGliX3VtZW1fb2RwX21hcF9kbWFfcGFnZXMoc3RydWN0IGliX3VtZW1fb2RwICp1bWVtX29kcCwg dTY0IHVzZXJfdmlydCwKIAkJCQkJcmV0ID0gLUVGQVVMVDsKIAkJCQkJYnJlYWs7CiAJCQkJfQot CQkJCXB1dF91c2VyX3BhZ2UobG9jYWxfcGFnZV9saXN0W2pdKTsKKwkJCQlwdXRfcGFnZShsb2Nh bF9wYWdlX2xpc3Rbal0pOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCkBAIC01MDAsOCArNDk5LDgg QEAgaW50IGliX3VtZW1fb2RwX21hcF9kbWFfcGFnZXMoc3RydWN0IGliX3VtZW1fb2RwICp1bWVt X29kcCwgdTY0IHVzZXJfdmlydCwKIAkJCSAqIGliX3VtZW1fb2RwX21hcF9kbWFfc2luZ2xlX3Bh Z2UoKS4KIAkJCSAqLwogCQkJaWYgKG5wYWdlcyAtIChqICsgMSkgPiAwKQotCQkJCXB1dF91c2Vy X3BhZ2VzKCZsb2NhbF9wYWdlX2xpc3RbaisxXSwKLQkJCQkJICAgICAgIG5wYWdlcyAtIChqICsg MSkpOworCQkJCXJlbGVhc2VfcGFnZXMoJmxvY2FsX3BhZ2VfbGlzdFtqKzFdLAorCQkJCQkgICAg ICBucGFnZXMgLSAoaiArIDEpKTsKIAkJCWJyZWFrOwogCQl9CiAJfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdXNlcl9wYWdlcy5jIGIvZHJpdmVycy9pbmZpbmliYW5k L2h3L2hmaTEvdXNlcl9wYWdlcy5jCmluZGV4IDQ2OWFjYjk2MWZiZC4uOWE5NDc2MTc2NWMwIDEw MDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS91c2VyX3BhZ2VzLmMKKysrIGIv ZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdXNlcl9wYWdlcy5jCkBAIC0xMDYsNyArMTA2LDcg QEAgaW50IGhmaTFfYWNxdWlyZV91c2VyX3BhZ2VzKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNp Z25lZCBsb25nIHZhZGRyLCBzaXplX3QgbnAKIAlpbnQgcmV0OwogCXVuc2lnbmVkIGludCBndXBf ZmxhZ3MgPSBGT0xMX0xPTkdURVJNIHwgKHdyaXRhYmxlID8gRk9MTF9XUklURSA6IDApOwogCi0J cmV0ID0gZ2V0X3VzZXJfcGFnZXNfZmFzdCh2YWRkciwgbnBhZ2VzLCBndXBfZmxhZ3MsIHBhZ2Vz KTsKKwlyZXQgPSBwaW5fdXNlcl9wYWdlc19mYXN0KHZhZGRyLCBucGFnZXMsIGd1cF9mbGFncywg cGFnZXMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jIGIvZHJpdmVycy9pbmZpbmli YW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYwppbmRleCBlZGNjZmQ2ZTE3OGYuLjgyNjlhYjA0 MGMyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZy ZWUuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jCkBA IC00NzIsNyArNDcyLDcgQEAgaW50IG10aGNhX21hcF91c2VyX2RiKHN0cnVjdCBtdGhjYV9kZXYg KmRldiwgc3RydWN0IG10aGNhX3VhciAqdWFyLAogCQlnb3RvIG91dDsKIAl9CiAKLQlyZXQgPSBn ZXRfdXNlcl9wYWdlc19mYXN0KHVhZGRyICYgUEFHRV9NQVNLLCAxLAorCXJldCA9IHBpbl91c2Vy X3BhZ2VzX2Zhc3QodWFkZHIgJiBQQUdFX01BU0ssIDEsCiAJCQkJICBGT0xMX1dSSVRFIHwgRk9M TF9MT05HVEVSTSwgcGFnZXMpOwogCWlmIChyZXQgPCAwKQogCQlnb3RvIG91dDsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfcGFnZXMuYyBiL2RyaXZlcnMv aW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfcGFnZXMuYwppbmRleCA2YmY3NjRlNDE4OTEuLjdm YzRiNWY4MWZjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L3FpYi9xaWJfdXNl cl9wYWdlcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfcGFnZXMu YwpAQCAtMTA4LDcgKzEwOCw3IEBAIGludCBxaWJfZ2V0X3VzZXJfcGFnZXModW5zaWduZWQgbG9u ZyBzdGFydF9wYWdlLCBzaXplX3QgbnVtX3BhZ2VzLAogCiAJZG93bl9yZWFkKCZjdXJyZW50LT5t bS0+bW1hcF9zZW0pOwogCWZvciAoZ290ID0gMDsgZ290IDwgbnVtX3BhZ2VzOyBnb3QgKz0gcmV0 KSB7Ci0JCXJldCA9IGdldF91c2VyX3BhZ2VzKHN0YXJ0X3BhZ2UgKyBnb3QgKiBQQUdFX1NJWkUs CisJCXJldCA9IHBpbl91c2VyX3BhZ2VzKHN0YXJ0X3BhZ2UgKyBnb3QgKiBQQUdFX1NJWkUsCiAJ CQkJICAgICBudW1fcGFnZXMgLSBnb3QsCiAJCQkJICAgICBGT0xMX0xPTkdURVJNIHwgRk9MTF9X UklURSB8IEZPTExfRk9SQ0UsCiAJCQkJICAgICBwICsgZ290LCBOVUxMKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfc2RtYS5jIGIvZHJpdmVycy9pbmZp bmliYW5kL2h3L3FpYi9xaWJfdXNlcl9zZG1hLmMKaW5kZXggMDUxOTBlZGMyNjExLi4xYTNjYzI5 NTdlM2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfc2Rt YS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfc2RtYS5jCkBAIC02 NzAsNyArNjcwLDcgQEAgc3RhdGljIGludCBxaWJfdXNlcl9zZG1hX3Bpbl9wYWdlcyhjb25zdCBz dHJ1Y3QgcWliX2RldmRhdGEgKmRkLAogCQllbHNlCiAJCQlqID0gbnBhZ2VzOwogCi0JCXJldCA9 IGdldF91c2VyX3BhZ2VzX2Zhc3QoYWRkciwgaiwgRk9MTF9MT05HVEVSTSwgcGFnZXMpOworCQly ZXQgPSBwaW5fdXNlcl9wYWdlc19mYXN0KGFkZHIsIGosIEZPTExfTE9OR1RFUk0sIHBhZ2VzKTsK IAkJaWYgKHJldCAhPSBqKSB7CiAJCQlpID0gMDsKIAkJCWogPSByZXQ7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2luZmluaWJhbmQvaHcvdXNuaWMvdXNuaWNfdWlvbS5jIGIvZHJpdmVycy9pbmZpbmli YW5kL2h3L3VzbmljL3VzbmljX3Vpb20uYwppbmRleCA2MmU2ZmZhOWFkNzguLjYwMDg5NjcyN2Qz NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L3VzbmljL3VzbmljX3Vpb20uYwor KysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvdXNuaWMvdXNuaWNfdWlvbS5jCkBAIC0xNDEsNyAr MTQxLDcgQEAgc3RhdGljIGludCB1c25pY191aW9tX2dldF9wYWdlcyh1bnNpZ25lZCBsb25nIGFk ZHIsIHNpemVfdCBzaXplLCBpbnQgd3JpdGFibGUsCiAJcmV0ID0gMDsKIAogCXdoaWxlIChucGFn ZXMpIHsKLQkJcmV0ID0gZ2V0X3VzZXJfcGFnZXMoY3VyX2Jhc2UsCisJCXJldCA9IHBpbl91c2Vy X3BhZ2VzKGN1cl9iYXNlLAogCQkJCSAgICAgbWluX3QodW5zaWduZWQgbG9uZywgbnBhZ2VzLAog CQkJCSAgICAgUEFHRV9TSVpFIC8gc2l6ZW9mKHN0cnVjdCBwYWdlICopKSwKIAkJCQkgICAgIGd1 cF9mbGFncyB8IEZPTExfTE9OR1RFUk0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQv c3cvc2l3L3Npd19tZW0uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9zdy9zaXcvc2l3X21lbS5jCmlu ZGV4IGU5OTk4M2YwNzY2My4uZTUzYjA3ZGNmZWQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmlu aWJhbmQvc3cvc2l3L3Npd19tZW0uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvc3cvc2l3L3Np d19tZW0uYwpAQCAtNDI2LDcgKzQyNiw3IEBAIHN0cnVjdCBzaXdfdW1lbSAqc2l3X3VtZW1fZ2V0 KHU2NCBzdGFydCwgdTY0IGxlbiwgYm9vbCB3cml0YWJsZSkKIAkJd2hpbGUgKG5lbnRzKSB7CiAJ CQlzdHJ1Y3QgcGFnZSAqKnBsaXN0ID0gJnVtZW0tPnBhZ2VfY2h1bmtbaV0ucGxpc3RbZ290XTsK IAotCQkJcnYgPSBnZXRfdXNlcl9wYWdlcyhmaXJzdF9wYWdlX3ZhLCBuZW50cywKKwkJCXJ2ID0g cGluX3VzZXJfcGFnZXMoZmlyc3RfcGFnZV92YSwgbmVudHMsCiAJCQkJCSAgICBmb2xsX2ZsYWdz IHwgRk9MTF9MT05HVEVSTSwKIAkJCQkJICAgIHBsaXN0LCBOVUxMKTsKIAkJCWlmIChydiA8IDAp Ci0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bA==