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 3E855C2D0DA for ; Mon, 9 Dec 2019 22:54:45 +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 1FAE8206D5 for ; Mon, 9 Dec 2019 22:54:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1FAE8206D5 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 7374E6E5C0; Mon, 9 Dec 2019 22:54:25 +0000 (UTC) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id D63BB6E5BE for ; Mon, 9 Dec 2019 22:54:10 +0000 (UTC) Received: from hqpgpgate101.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:54:04 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Mon, 09 Dec 2019 14:54:10 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Mon, 09 Dec 2019 14:54:10 -0800 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 9 Dec 2019 22:54:09 +0000 Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 9 Dec 2019 22:54:09 +0000 Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 9 Dec 2019 22:54:08 +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:08 -0800 From: John Hubbard To: Andrew Morton Subject: [PATCH v8 22/26] mm, tree-wide: rename put_user_page*() to unpin_user_page*() Date: Mon, 9 Dec 2019 14:53:40 -0800 Message-ID: <20191209225344.99740-23-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=1575932044; bh=gw6PFEFqBuvdgDX388VrHX/1mcglcf368RCDVOjNzLQ=; 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=Y4MGtZtmaEv64Q6EkKhcxFLPPfWJoni0jRUsaahw0NE8sA6e2S6uKpABXsIG+M5iw JD6WaJ6Lc5/RAflDbRYhSoRrOmMznXrD1F96jpHIwmmEjMQ/0DKKCs/y/LydQcUTPP ekvLd5pkd4KLWlQ2wbJHYRN7SbUZs9AYYJCwlAI7ty5obxmLQbjJpdb9sRlvO+VPIK VcuGyXoGW8UfdlF0Gb1dXuzy9rXsGiF6xBFQSVwfbmrJKM/BSB6ZX+M5hxXEU/2Sas Pd2fh9qslhLtfUhy1rMa/OZV9p0cpdSjuYB46sVA5IlWVlgaltP+r25sgAJ01fyAwk eHa69IxJITQ2Q== 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 , 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" SW4gb3JkZXIgdG8gcHJvdmlkZSBhIGNsZWFyZXIsIG1vcmUgc3ltbWV0cmljIEFQSSBmb3IgcGlu bmluZwphbmQgdW5waW5uaW5nIERNQSBwYWdlcy4gVGhpcyB3YXksIHBpbl91c2VyX3BhZ2VzKigp IGNhbGxzCm1hdGNoIHVwIHdpdGggdW5waW5fdXNlcl9wYWdlcyooKSBjYWxscywgYW5kIHRoZSBB UEkgaXMgYSBsb3QKY2xvc2VyIHRvIGJlaW5nIHNlbGYtZXhwbGFuYXRvcnkuCgpSZXZpZXdlZC1i eTogSmFuIEthcmEgPGphY2tAc3VzZS5jej4KU2lnbmVkLW9mZi1ieTogSm9obiBIdWJiYXJkIDxq aHViYmFyZEBudmlkaWEuY29tPgotLS0KIERvY3VtZW50YXRpb24vY29yZS1hcGkvcGluX3VzZXJf cGFnZXMucnN0ICAgfCAgMiArLQogYXJjaC9wb3dlcnBjL21tL2Jvb2szczY0L2lvbW11X2FwaS5j ICAgICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5jICAgICAg ICAgICB8ICA0ICstLQogZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jICAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS91c2VyX3BhZ2VzLmMgICAgIHwg IDIgKy0KIGRyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMgfCAgNiAr Ky0tCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl91c2VyX3BhZ2VzLmMgIHwgIDIgKy0K IGRyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfc2RtYS5jICAgfCAgNiArKy0tCiBk cml2ZXJzL2luZmluaWJhbmQvaHcvdXNuaWMvdXNuaWNfdWlvbS5jICAgIHwgIDIgKy0KIGRyaXZl cnMvaW5maW5pYmFuZC9zdy9zaXcvc2l3X21lbS5jICAgICAgICAgfCAgMiArLQogZHJpdmVycy9t ZWRpYS92NGwyLWNvcmUvdmlkZW9idWYtZG1hLXNnLmMgICB8ICA0ICstLQogZHJpdmVycy9wbGF0 Zm9ybS9nb2xkZmlzaC9nb2xkZmlzaF9waXBlLmMgICB8ICA0ICstLQogZHJpdmVycy92ZmlvL3Zm aW9faW9tbXVfdHlwZTEuYyAgICAgICAgICAgICB8ICAyICstCiBmcy9pb191cmluZy5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBpbmNsdWRlL2xpbnV4L21tLmggICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMjYgKysrKysrKystLS0tLS0tLS0KIG1tL2d1cC5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzMiArKysrKysrKysrLS0tLS0tLS0t LS0KIG1tL3Byb2Nlc3Nfdm1fYWNjZXNzLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0K IG5ldC94ZHAveGRwX3VtZW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogMTgg ZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgNTUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9jb3JlLWFwaS9waW5fdXNlcl9wYWdlcy5yc3QgYi9Eb2N1bWVu dGF0aW9uL2NvcmUtYXBpL3Bpbl91c2VyX3BhZ2VzLnJzdAppbmRleCA0ZjI2NjM3YTUwMDUuLmJi YTk2NDI4YWRlNyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb3JlLWFwaS9waW5fdXNlcl9w YWdlcy5yc3QKKysrIGIvRG9jdW1lbnRhdGlvbi9jb3JlLWFwaS9waW5fdXNlcl9wYWdlcy5yc3QK QEAgLTIyMCw3ICsyMjAsNyBAQCBzaW5jZSB0aGUgc3lzdGVtIHdhcyBib290ZWQsIHZpYSB0d28g bmV3IC9wcm9jL3Ztc3RhdCBlbnRyaWVzOiA6OgogICAgIC9wcm9jL3Ztc3RhdC9ucl9mb2xsX3Bp bl9yZXF1ZXN0ZWQKIAogVGhvc2UgYXJlIGJvdGggZ29pbmcgdG8gc2hvdyB6ZXJvLCB1bmxlc3Mg Q09ORklHX0RFQlVHX1ZNIGlzIHNldC4gVGhpcyBpcwotYmVjYXVzZSB0aGVyZSBpcyBhIG5vdGlj ZWFibGUgcGVyZm9ybWFuY2UgZHJvcCBpbiBwdXRfdXNlcl9wYWdlKCksIHdoZW4gdGhleQorYmVj YXVzZSB0aGVyZSBpcyBhIG5vdGljZWFibGUgcGVyZm9ybWFuY2UgZHJvcCBpbiB1bnBpbl91c2Vy X3BhZ2UoKSwgd2hlbiB0aGV5CiBhcmUgYWN0aXZhdGVkLgogCiBSZWZlcmVuY2VzCmRpZmYgLS1n aXQgYS9hcmNoL3Bvd2VycGMvbW0vYm9vazNzNjQvaW9tbXVfYXBpLmMgYi9hcmNoL3Bvd2VycGMv bW0vYm9vazNzNjQvaW9tbXVfYXBpLmMKaW5kZXggZmMxNjcwYTZmYzNjLi5iOTY1YTBkZmQ0YTIg MTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9tbS9ib29rM3M2NC9pb21tdV9hcGkuYworKysgYi9h cmNoL3Bvd2VycGMvbW0vYm9vazNzNjQvaW9tbXVfYXBpLmMKQEAgLTE2OCw3ICsxNjgsNyBAQCBz dGF0aWMgbG9uZyBtbV9pb21tdV9kb19hbGxvYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWdu ZWQgbG9uZyB1YSwKIAogZnJlZV9leGl0OgogCS8qIGZyZWUgdGhlIHJlZmVyZW5jZXMgdGFrZW4g Ki8KLQlwdXRfdXNlcl9wYWdlcyhtZW0tPmhwYWdlcywgcGlubmVkKTsKKwl1bnBpbl91c2VyX3Bh Z2VzKG1lbS0+aHBhZ2VzLCBwaW5uZWQpOwogCiAJdmZyZWUobWVtLT5ocGFzKTsKIAlrZnJlZSht ZW0pOwpAQCAtMjExLDcgKzIxMSw3IEBAIHN0YXRpYyB2b2lkIG1tX2lvbW11X3VucGluKHN0cnVj dCBtbV9pb21tdV90YWJsZV9ncm91cF9tZW1fdCAqbWVtKQogCQlpZiAoIXBhZ2UpCiAJCQljb250 aW51ZTsKIAotCQlwdXRfdXNlcl9wYWdlc19kaXJ0eV9sb2NrKCZwYWdlLCAxLAorCQl1bnBpbl91 c2VyX3BhZ2VzX2RpcnR5X2xvY2soJnBhZ2UsIDEsCiAJCQkJbWVtLT5ocGFzW2ldICYgTU1fSU9N TVVfVEFCTEVfR1JPVVBfUEFHRV9ESVJUWSk7CiAKIAkJbWVtLT5ocGFzW2ldID0gMDsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92aWEvdmlhX2RtYWJsaXQuYwppbmRleCAzN2M1ZTU3Mjk5M2EuLjcxOWQwMzZjOTM4NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYwpAQCAtMTg4LDggKzE4OCw4IEBAIHZpYV9mcmVlX3Nn X2luZm8oc3RydWN0IHBjaV9kZXYgKnBkZXYsIGRybV92aWFfc2dfaW5mb190ICp2c2cpCiAJCWtm cmVlKHZzZy0+ZGVzY19wYWdlcyk7CiAJCS8qIGZhbGwgdGhyb3VnaCAqLwogCWNhc2UgZHJfdmlh X3BhZ2VzX2xvY2tlZDoKLQkJcHV0X3VzZXJfcGFnZXNfZGlydHlfbG9jayh2c2ctPnBhZ2VzLCB2 c2ctPm51bV9wYWdlcywKLQkJCQkJICAodnNnLT5kaXJlY3Rpb24gPT0gRE1BX0ZST01fREVWSUNF KSk7CisJCXVucGluX3VzZXJfcGFnZXNfZGlydHlfbG9jayh2c2ctPnBhZ2VzLCB2c2ctPm51bV9w YWdlcywKKwkJCQkJICAgKHZzZy0+ZGlyZWN0aW9uID09IERNQV9GUk9NX0RFVklDRSkpOwogCQkv KiBmYWxsIHRocm91Z2ggKi8KIAljYXNlIGRyX3ZpYV9wYWdlc19hbGxvYzoKIAkJdmZyZWUodnNn LT5wYWdlcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMgYi9k cml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMKaW5kZXggNTVkYWVmYWE5Yjg4Li5hNjA5NDc2 NmI2ZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYworKysgYi9k cml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMKQEAgLTU0LDcgKzU0LDcgQEAgc3RhdGljIHZv aWQgX19pYl91bWVtX3JlbGVhc2Uoc3RydWN0IGliX2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfdW1l bSAqdW1lbSwgaW50IGQKIAogCWZvcl9lYWNoX3NnX3BhZ2UodW1lbS0+c2dfaGVhZC5zZ2wsICZz Z19pdGVyLCB1bWVtLT5zZ19uZW50cywgMCkgewogCQlwYWdlID0gc2dfcGFnZV9pdGVyX3BhZ2Uo JnNnX2l0ZXIpOwotCQlwdXRfdXNlcl9wYWdlc19kaXJ0eV9sb2NrKCZwYWdlLCAxLCB1bWVtLT53 cml0YWJsZSAmJiBkaXJ0eSk7CisJCXVucGluX3VzZXJfcGFnZXNfZGlydHlfbG9jaygmcGFnZSwg MSwgdW1lbS0+d3JpdGFibGUgJiYgZGlydHkpOwogCX0KIAogCXNnX2ZyZWVfdGFibGUoJnVtZW0t PnNnX2hlYWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdXNlcl9w YWdlcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdXNlcl9wYWdlcy5jCmluZGV4IDlh OTQ3NjE3NjVjMC4uM2I1MDUwMDZjMGE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQv aHcvaGZpMS91c2VyX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdXNl cl9wYWdlcy5jCkBAIC0xMTgsNyArMTE4LDcgQEAgaW50IGhmaTFfYWNxdWlyZV91c2VyX3BhZ2Vz KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBzaXplX3QgbnAKIHZv aWQgaGZpMV9yZWxlYXNlX3VzZXJfcGFnZXMoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHN0cnVjdCBw YWdlICoqcCwKIAkJCSAgICAgc2l6ZV90IG5wYWdlcywgYm9vbCBkaXJ0eSkKIHsKLQlwdXRfdXNl cl9wYWdlc19kaXJ0eV9sb2NrKHAsIG5wYWdlcywgZGlydHkpOworCXVucGluX3VzZXJfcGFnZXNf ZGlydHlfbG9jayhwLCBucGFnZXMsIGRpcnR5KTsKIAogCWlmIChtbSkgeyAvKiBkdXJpbmcgY2xv c2UgYWZ0ZXIgc2lnbmFsLCBtbSBjYW4gYmUgTlVMTCAqLwogCQlhdG9taWM2NF9zdWIobnBhZ2Vz LCAmbW0tPnBpbm5lZF92bSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRo Y2EvbXRoY2FfbWVtZnJlZS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21l bWZyZWUuYwppbmRleCA4MjY5YWIwNDBjMjEuLjc4YTQ4YWVhM2ZhZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYworKysgYi9kcml2ZXJzL2lu ZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jCkBAIC00ODIsNyArNDgyLDcgQEAgaW50 IG10aGNhX21hcF91c2VyX2RiKHN0cnVjdCBtdGhjYV9kZXYgKmRldiwgc3RydWN0IG10aGNhX3Vh ciAqdWFyLAogCiAJcmV0ID0gcGNpX21hcF9zZyhkZXYtPnBkZXYsICZkYl90YWItPnBhZ2VbaV0u bWVtLCAxLCBQQ0lfRE1BX1RPREVWSUNFKTsKIAlpZiAocmV0IDwgMCkgewotCQlwdXRfdXNlcl9w YWdlKHBhZ2VzWzBdKTsKKwkJdW5waW5fdXNlcl9wYWdlKHBhZ2VzWzBdKTsKIAkJZ290byBvdXQ7 CiAJfQogCkBAIC00OTAsNyArNDkwLDcgQEAgaW50IG10aGNhX21hcF91c2VyX2RiKHN0cnVjdCBt dGhjYV9kZXYgKmRldiwgc3RydWN0IG10aGNhX3VhciAqdWFyLAogCQkJCSBtdGhjYV91YXJjX3Zp cnQoZGV2LCB1YXIsIGkpKTsKIAlpZiAocmV0KSB7CiAJCXBjaV91bm1hcF9zZyhkZXYtPnBkZXYs ICZkYl90YWItPnBhZ2VbaV0ubWVtLCAxLCBQQ0lfRE1BX1RPREVWSUNFKTsKLQkJcHV0X3VzZXJf cGFnZShzZ19wYWdlKCZkYl90YWItPnBhZ2VbaV0ubWVtKSk7CisJCXVucGluX3VzZXJfcGFnZShz Z19wYWdlKCZkYl90YWItPnBhZ2VbaV0ubWVtKSk7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtNTU2 LDcgKzU1Niw3IEBAIHZvaWQgbXRoY2FfY2xlYW51cF91c2VyX2RiX3RhYihzdHJ1Y3QgbXRoY2Ff ZGV2ICpkZXYsIHN0cnVjdCBtdGhjYV91YXIgKnVhciwKIAkJaWYgKGRiX3RhYi0+cGFnZVtpXS51 dmlydCkgewogCQkJbXRoY2FfVU5NQVBfSUNNKGRldiwgbXRoY2FfdWFyY192aXJ0KGRldiwgdWFy LCBpKSwgMSk7CiAJCQlwY2lfdW5tYXBfc2coZGV2LT5wZGV2LCAmZGJfdGFiLT5wYWdlW2ldLm1l bSwgMSwgUENJX0RNQV9UT0RFVklDRSk7Ci0JCQlwdXRfdXNlcl9wYWdlKHNnX3BhZ2UoJmRiX3Rh Yi0+cGFnZVtpXS5tZW0pKTsKKwkJCXVucGluX3VzZXJfcGFnZShzZ19wYWdlKCZkYl90YWItPnBh Z2VbaV0ubWVtKSk7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9o dy9xaWIvcWliX3VzZXJfcGFnZXMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9xaWIvcWliX3Vz ZXJfcGFnZXMuYwppbmRleCA3ZmM0YjVmODFmY2QuLjM0MmUzMTcyY2E0MCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9pbmZpbmliYW5kL2h3L3FpYi9xaWJfdXNlcl9wYWdlcy5jCisrKyBiL2RyaXZlcnMv aW5maW5pYmFuZC9ody9xaWIvcWliX3VzZXJfcGFnZXMuYwpAQCAtNDAsNyArNDAsNyBAQAogc3Rh dGljIHZvaWQgX19xaWJfcmVsZWFzZV91c2VyX3BhZ2VzKHN0cnVjdCBwYWdlICoqcCwgc2l6ZV90 IG51bV9wYWdlcywKIAkJCQkgICAgIGludCBkaXJ0eSkKIHsKLQlwdXRfdXNlcl9wYWdlc19kaXJ0 eV9sb2NrKHAsIG51bV9wYWdlcywgZGlydHkpOworCXVucGluX3VzZXJfcGFnZXNfZGlydHlfbG9j ayhwLCBudW1fcGFnZXMsIGRpcnR5KTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lu ZmluaWJhbmQvaHcvcWliL3FpYl91c2VyX3NkbWEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9x aWIvcWliX3VzZXJfc2RtYS5jCmluZGV4IDFhM2NjMjk1N2UzYS4uYTY3NTk5YjVhNTUwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl91c2VyX3NkbWEuYworKysgYi9k cml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl91c2VyX3NkbWEuYwpAQCAtMzE3LDcgKzMxNyw3 IEBAIHN0YXRpYyBpbnQgcWliX3VzZXJfc2RtYV9wYWdlX3RvX2ZyYWdzKGNvbnN0IHN0cnVjdCBx aWJfZGV2ZGF0YSAqZGQsCiAJCSAqIHRoZSBjYWxsZXIgY2FuIGlnbm9yZSB0aGlzIHBhZ2UuCiAJ CSAqLwogCQlpZiAocHV0KSB7Ci0JCQlwdXRfdXNlcl9wYWdlKHBhZ2UpOworCQkJdW5waW5fdXNl cl9wYWdlKHBhZ2UpOwogCQl9IGVsc2UgewogCQkJLyogY29hbGVzY2UgY2FzZSAqLwogCQkJa3Vu bWFwKHBhZ2UpOwpAQCAtNjMxLDcgKzYzMSw3IEBAIHN0YXRpYyB2b2lkIHFpYl91c2VyX3NkbWFf ZnJlZV9wa3RfZnJhZyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQlrdW5tYXAocGt0LT5hZGRyW2ld LnBhZ2UpOwogCiAJCWlmIChwa3QtPmFkZHJbaV0ucHV0X3BhZ2UpCi0JCQlwdXRfdXNlcl9wYWdl KHBrdC0+YWRkcltpXS5wYWdlKTsKKwkJCXVucGluX3VzZXJfcGFnZShwa3QtPmFkZHJbaV0ucGFn ZSk7CiAJCWVsc2UKIAkJCV9fZnJlZV9wYWdlKHBrdC0+YWRkcltpXS5wYWdlKTsKIAl9IGVsc2Ug aWYgKHBrdC0+YWRkcltpXS5rdmFkZHIpIHsKQEAgLTcwNiw3ICs3MDYsNyBAQCBzdGF0aWMgaW50 IHFpYl91c2VyX3NkbWFfcGluX3BhZ2VzKGNvbnN0IHN0cnVjdCBxaWJfZGV2ZGF0YSAqZGQsCiAJ LyogaWYgZXJyb3IsIHJldHVybiBhbGwgcGFnZXMgbm90IG1hbmFnZWQgYnkgcGt0ICovCiBmcmVl X3BhZ2VzOgogCXdoaWxlIChpIDwgaikKLQkJcHV0X3VzZXJfcGFnZShwYWdlc1tpKytdKTsKKwkJ dW5waW5fdXNlcl9wYWdlKHBhZ2VzW2krK10pOwogCiBkb25lOgogCXJldHVybiByZXQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvdXNuaWMvdXNuaWNfdWlvbS5jIGIvZHJpdmVy cy9pbmZpbmliYW5kL2h3L3VzbmljL3VzbmljX3Vpb20uYwppbmRleCA2MDA4OTY3MjdkMzQuLmJk OWY5NDRiNjhmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L3VzbmljL3Vzbmlj X3Vpb20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvdXNuaWMvdXNuaWNfdWlvbS5jCkBA IC03NSw3ICs3NSw3IEBAIHN0YXRpYyB2b2lkIHVzbmljX3Vpb21fcHV0X3BhZ2VzKHN0cnVjdCBs aXN0X2hlYWQgKmNodW5rX2xpc3QsIGludCBkaXJ0eSkKIAkJZm9yX2VhY2hfc2coY2h1bmstPnBh Z2VfbGlzdCwgc2csIGNodW5rLT5uZW50cywgaSkgewogCQkJcGFnZSA9IHNnX3BhZ2Uoc2cpOwog CQkJcGEgPSBzZ19waHlzKHNnKTsKLQkJCXB1dF91c2VyX3BhZ2VzX2RpcnR5X2xvY2soJnBhZ2Us IDEsIGRpcnR5KTsKKwkJCXVucGluX3VzZXJfcGFnZXNfZGlydHlfbG9jaygmcGFnZSwgMSwgZGly dHkpOwogCQkJdXNuaWNfZGJnKCJwYTogJXBhXG4iLCAmcGEpOwogCQl9CiAJCWtmcmVlKGNodW5r KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9zdy9zaXcvc2l3X21lbS5jIGIvZHJp dmVycy9pbmZpbmliYW5kL3N3L3Npdy9zaXdfbWVtLmMKaW5kZXggZTUzYjA3ZGNmZWQ1Li5lMjA2 MWRjMGIwNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9zdy9zaXcvc2l3X21lbS5j CisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9zdy9zaXcvc2l3X21lbS5jCkBAIC02Myw3ICs2Myw3 IEBAIHN0cnVjdCBzaXdfbWVtICpzaXdfbWVtX2lkMm9iaihzdHJ1Y3Qgc2l3X2RldmljZSAqc2Rl diwgaW50IHN0YWdfaW5kZXgpCiBzdGF0aWMgdm9pZCBzaXdfZnJlZV9wbGlzdChzdHJ1Y3Qgc2l3 X3BhZ2VfY2h1bmsgKmNodW5rLCBpbnQgbnVtX3BhZ2VzLAogCQkJICAgYm9vbCBkaXJ0eSkKIHsK LQlwdXRfdXNlcl9wYWdlc19kaXJ0eV9sb2NrKGNodW5rLT5wbGlzdCwgbnVtX3BhZ2VzLCBkaXJ0 eSk7CisJdW5waW5fdXNlcl9wYWdlc19kaXJ0eV9sb2NrKGNodW5rLT5wbGlzdCwgbnVtX3BhZ2Vz LCBkaXJ0eSk7CiB9CiAKIHZvaWQgc2l3X3VtZW1fcmVsZWFzZShzdHJ1Y3Qgc2l3X3VtZW0gKnVt ZW0sIGJvb2wgZGlydHkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92aWRl b2J1Zi1kbWEtc2cuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3ZpZGVvYnVmLWRtYS1zZy5j CmluZGV4IDE2MmEyNjMzYjFlMy4uMTNiNjVlZDllNzRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL21l ZGlhL3Y0bDItY29yZS92aWRlb2J1Zi1kbWEtc2cuYworKysgYi9kcml2ZXJzL21lZGlhL3Y0bDIt Y29yZS92aWRlb2J1Zi1kbWEtc2cuYwpAQCAtMzQ5LDggKzM0OSw4IEBAIGludCB2aWRlb2J1Zl9k bWFfZnJlZShzdHJ1Y3QgdmlkZW9idWZfZG1hYnVmICpkbWEpCiAJQlVHX09OKGRtYS0+c2dsZW4p OwogCiAJaWYgKGRtYS0+cGFnZXMpIHsKLQkJcHV0X3VzZXJfcGFnZXNfZGlydHlfbG9jayhkbWEt PnBhZ2VzLCBkbWEtPm5yX3BhZ2VzLAotCQkJCQkgIGRtYS0+ZGlyZWN0aW9uID09IERNQV9GUk9N X0RFVklDRSk7CisJCXVucGluX3VzZXJfcGFnZXNfZGlydHlfbG9jayhkbWEtPnBhZ2VzLCBkbWEt Pm5yX3BhZ2VzLAorCQkJCQkgICAgZG1hLT5kaXJlY3Rpb24gPT0gRE1BX0ZST01fREVWSUNFKTsK IAkJa2ZyZWUoZG1hLT5wYWdlcyk7CiAJCWRtYS0+cGFnZXMgPSBOVUxMOwogCX0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvcGxhdGZvcm0vZ29sZGZpc2gvZ29sZGZpc2hfcGlwZS5jIGIvZHJpdmVycy9w bGF0Zm9ybS9nb2xkZmlzaC9nb2xkZmlzaF9waXBlLmMKaW5kZXggMmE1OTAxZWZlY2RlLi4xYWIy MDdlYzljOTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGxhdGZvcm0vZ29sZGZpc2gvZ29sZGZpc2hf cGlwZS5jCisrKyBiL2RyaXZlcnMvcGxhdGZvcm0vZ29sZGZpc2gvZ29sZGZpc2hfcGlwZS5jCkBA IC0zNjAsOCArMzYwLDggQEAgc3RhdGljIGludCB0cmFuc2Zlcl9tYXhfYnVmZmVycyhzdHJ1Y3Qg Z29sZGZpc2hfcGlwZSAqcGlwZSwKIAogCSpjb25zdW1lZF9zaXplID0gcGlwZS0+Y29tbWFuZF9i dWZmZXItPnJ3X3BhcmFtcy5jb25zdW1lZF9zaXplOwogCi0JcHV0X3VzZXJfcGFnZXNfZGlydHlf bG9jayhwaXBlLT5wYWdlcywgcGFnZXNfY291bnQsCi0JCQkJICAhaXNfd3JpdGUgJiYgKmNvbnN1 bWVkX3NpemUgPiAwKTsKKwl1bnBpbl91c2VyX3BhZ2VzX2RpcnR5X2xvY2socGlwZS0+cGFnZXMs IHBhZ2VzX2NvdW50LAorCQkJCSAgICAhaXNfd3JpdGUgJiYgKmNvbnN1bWVkX3NpemUgPiAwKTsK IAogCW11dGV4X3VubG9jaygmcGlwZS0+bG9jayk7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZmaW8vdmZpb19pb21tdV90eXBlMS5jIGIvZHJpdmVycy92ZmlvL3ZmaW9faW9tbXVf dHlwZTEuYwppbmRleCAxOGJmYzJmYzhlNmQuLmExNzdiZjJjNjY4MyAxMDA2NDQKLS0tIGEvZHJp dmVycy92ZmlvL3ZmaW9faW9tbXVfdHlwZTEuYworKysgYi9kcml2ZXJzL3ZmaW8vdmZpb19pb21t dV90eXBlMS5jCkBAIC0zMTAsNyArMzEwLDcgQEAgc3RhdGljIGludCBwdXRfcGZuKHVuc2lnbmVk IGxvbmcgcGZuLCBpbnQgcHJvdCkKIAlpZiAoIWlzX2ludmFsaWRfcmVzZXJ2ZWRfcGZuKHBmbikp IHsKIAkJc3RydWN0IHBhZ2UgKnBhZ2UgPSBwZm5fdG9fcGFnZShwZm4pOwogCi0JCXB1dF91c2Vy X3BhZ2VzX2RpcnR5X2xvY2soJnBhZ2UsIDEsIHByb3QgJiBJT01NVV9XUklURSk7CisJCXVucGlu X3VzZXJfcGFnZXNfZGlydHlfbG9jaygmcGFnZSwgMSwgcHJvdCAmIElPTU1VX1dSSVRFKTsKIAkJ cmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZnMvaW9fdXJpbmcuYyBiL2Zz L2lvX3VyaW5nLmMKaW5kZXggOTYzOWViYzIxZThhLi5mNWEzNzgyNTE5OTUgMTAwNjQ0Ci0tLSBh L2ZzL2lvX3VyaW5nLmMKKysrIGIvZnMvaW9fdXJpbmcuYwpAQCAtNDQwMCw3ICs0NDAwLDcgQEAg c3RhdGljIGludCBpb19zcWVfYnVmZmVyX3VucmVnaXN0ZXIoc3RydWN0IGlvX3JpbmdfY3R4ICpj dHgpCiAJCXN0cnVjdCBpb19tYXBwZWRfdWJ1ZiAqaW11ID0gJmN0eC0+dXNlcl9idWZzW2ldOwog CiAJCWZvciAoaiA9IDA7IGogPCBpbXUtPm5yX2J2ZWNzOyBqKyspCi0JCQlwdXRfdXNlcl9wYWdl KGltdS0+YnZlY1tqXS5idl9wYWdlKTsKKwkJCXVucGluX3VzZXJfcGFnZShpbXUtPmJ2ZWNbal0u YnZfcGFnZSk7CiAKIAkJaWYgKGN0eC0+YWNjb3VudF9tZW0pCiAJCQlpb191bmFjY291bnRfbWVt KGN0eC0+dXNlciwgaW11LT5ucl9idmVjcyk7CkBAIC00NTQ1LDcgKzQ1NDUsNyBAQCBzdGF0aWMg aW50IGlvX3NxZV9idWZmZXJfcmVnaXN0ZXIoc3RydWN0IGlvX3JpbmdfY3R4ICpjdHgsIHZvaWQg X191c2VyICphcmcsCiAJCQkgKiByZWxlYXNlIGFueSBwYWdlcyB3ZSBkaWQgZ2V0CiAJCQkgKi8K IAkJCWlmIChwcmV0ID4gMCkKLQkJCQlwdXRfdXNlcl9wYWdlcyhwYWdlcywgcHJldCk7CisJCQkJ dW5waW5fdXNlcl9wYWdlcyhwYWdlcywgcHJldCk7CiAJCQlpZiAoY3R4LT5hY2NvdW50X21lbSkK IAkJCQlpb191bmFjY291bnRfbWVtKGN0eC0+dXNlciwgbnJfcGFnZXMpOwogCQkJa3ZmcmVlKGlt dS0+YnZlYyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tLmggYi9pbmNsdWRlL2xpbnV4 L21tLmgKaW5kZXggMGZiOTkyOWUwMGFmLi42YTFhMzU3ZTdkODYgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvbGludXgvbW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L21tLmgKQEAgLTEwNDUsMjcgKzEwNDUs MjcgQEAgc3RhdGljIGlubGluZSB2b2lkIHB1dF9wYWdlKHN0cnVjdCBwYWdlICpwYWdlKQogfQog CiAvKioKLSAqIHB1dF91c2VyX3BhZ2UoKSAtIHJlbGVhc2UgYSBndXAtcGlubmVkIHBhZ2UKKyAq IHVucGluX3VzZXJfcGFnZSgpIC0gcmVsZWFzZSBhIGd1cC1waW5uZWQgcGFnZQogICogQHBhZ2U6 ICAgICAgICAgICAgcG9pbnRlciB0byBwYWdlIHRvIGJlIHJlbGVhc2VkCiAgKgogICogUGFnZXMg dGhhdCB3ZXJlIHBpbm5lZCB2aWEgcGluX3VzZXJfcGFnZXMqKCkgbXVzdCBiZSByZWxlYXNlZCB2 aWEgZWl0aGVyCi0gKiBwdXRfdXNlcl9wYWdlKCksIG9yIG9uZSBvZiB0aGUgcHV0X3VzZXJfcGFn ZXMqKCkgcm91dGluZXMuIFRoaXMgaXMgc28gdGhhdAotICogZXZlbnR1YWxseSBzdWNoIHBhZ2Vz IGNhbiBiZSBzZXBhcmF0ZWx5IHRyYWNrZWQgYW5kIHVuaXF1ZWx5IGhhbmRsZWQuIEluCisgKiB1 bnBpbl91c2VyX3BhZ2UoKSwgb3Igb25lIG9mIHRoZSB1bnBpbl91c2VyX3BhZ2VzKigpIHJvdXRp bmVzLiBUaGlzIGlzIHNvCisgKiB0aGF0IGV2ZW50dWFsbHkgc3VjaCBwYWdlcyBjYW4gYmUgc2Vw YXJhdGVseSB0cmFja2VkIGFuZCB1bmlxdWVseSBoYW5kbGVkLiBJbgogICogcGFydGljdWxhciwg aW50ZXJhY3Rpb25zIHdpdGggUkRNQSBhbmQgZmlsZXN5c3RlbXMgbmVlZCBzcGVjaWFsIGhhbmRs aW5nLgogICoKLSAqIHB1dF91c2VyX3BhZ2UoKSBhbmQgcHV0X3BhZ2UoKSBhcmUgbm90IGludGVy Y2hhbmdlYWJsZSwgZGVzcGl0ZSB0aGlzIGVhcmx5Ci0gKiBpbXBsZW1lbnRhdGlvbiB0aGF0IG1h a2VzIHRoZW0gbG9vayB0aGUgc2FtZS4gcHV0X3VzZXJfcGFnZSgpIGNhbGxzIG11c3QKKyAqIHVu cGluX3VzZXJfcGFnZSgpIGFuZCBwdXRfcGFnZSgpIGFyZSBub3QgaW50ZXJjaGFuZ2VhYmxlLCBk ZXNwaXRlIHRoaXMgZWFybHkKKyAqIGltcGxlbWVudGF0aW9uIHRoYXQgbWFrZXMgdGhlbSBsb29r IHRoZSBzYW1lLiB1bnBpbl91c2VyX3BhZ2UoKSBjYWxscyBtdXN0CiAgKiBiZSBwZXJmZWN0bHkg bWF0Y2hlZCB1cCB3aXRoIHBpbiooKSBjYWxscy4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIHB1 dF91c2VyX3BhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UpCitzdGF0aWMgaW5saW5lIHZvaWQgdW5waW5f dXNlcl9wYWdlKHN0cnVjdCBwYWdlICpwYWdlKQogewogCXB1dF9wYWdlKHBhZ2UpOwogfQogCi12 b2lkIHB1dF91c2VyX3BhZ2VzX2RpcnR5X2xvY2soc3RydWN0IHBhZ2UgKipwYWdlcywgdW5zaWdu ZWQgbG9uZyBucGFnZXMsCi0JCQkgICAgICAgYm9vbCBtYWtlX2RpcnR5KTsKK3ZvaWQgdW5waW5f dXNlcl9wYWdlc19kaXJ0eV9sb2NrKHN0cnVjdCBwYWdlICoqcGFnZXMsIHVuc2lnbmVkIGxvbmcg bnBhZ2VzLAorCQkJCSBib29sIG1ha2VfZGlydHkpOwogCi12b2lkIHB1dF91c2VyX3BhZ2VzKHN0 cnVjdCBwYWdlICoqcGFnZXMsIHVuc2lnbmVkIGxvbmcgbnBhZ2VzKTsKK3ZvaWQgdW5waW5fdXNl cl9wYWdlcyhzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCB1bnNpZ25lZCBsb25nIG5wYWdlcyk7CiAKICNp ZiBkZWZpbmVkKENPTkZJR19TUEFSU0VNRU0pICYmICFkZWZpbmVkKENPTkZJR19TUEFSU0VNRU1f Vk1FTU1BUCkKICNkZWZpbmUgU0VDVElPTl9JTl9QQUdFX0ZMQUdTCkBAIC0yNTk1LDcgKzI1OTUs NyBAQCBzdHJ1Y3QgcGFnZSAqZm9sbG93X3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEs IHVuc2lnbmVkIGxvbmcgYWRkcmVzcywKICNkZWZpbmUgRk9MTF9BTk9OCTB4ODAwMAkvKiBkb24n dCBkbyBmaWxlIG1hcHBpbmdzICovCiAjZGVmaW5lIEZPTExfTE9OR1RFUk0JMHgxMDAwMAkvKiBt YXBwaW5nIGxpZmV0aW1lIGlzIGluZGVmaW5pdGU6IHNlZSBiZWxvdyAqLwogI2RlZmluZSBGT0xM X1NQTElUX1BNRAkweDIwMDAwCS8qIHNwbGl0IGh1Z2UgcG1kIGJlZm9yZSByZXR1cm5pbmcgKi8K LSNkZWZpbmUgRk9MTF9QSU4JMHg0MDAwMAkvKiBwYWdlcyBtdXN0IGJlIHJlbGVhc2VkIHZpYSBw dXRfdXNlcl9wYWdlKCkgKi8KKyNkZWZpbmUgRk9MTF9QSU4JMHg0MDAwMAkvKiBwYWdlcyBtdXN0 IGJlIHJlbGVhc2VkIHZpYSB1bnBpbl91c2VyX3BhZ2UgKi8KIAogLyoKICAqIEZPTExfUElOIGFu ZCBGT0xMX0xPTkdURVJNIG1heSBiZSB1c2VkIGluIHZhcmlvdXMgY29tYmluYXRpb25zIHdpdGgg ZWFjaApAQCAtMjYzMCw3ICsyNjMwLDcgQEAgc3RydWN0IHBhZ2UgKmZvbGxvd19wYWdlKHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsCiAgKiBEaXJlY3Qg SU8pLiBUaGlzIGxldHMgdGhlIGZpbGVzeXN0ZW0ga25vdyB0aGF0IHNvbWUgbm9uLWZpbGUtc3lz dGVtIGVudGl0eSBpcwogICogcG90ZW50aWFsbHkgY2hhbmdpbmcgdGhlIHBhZ2VzJyBkYXRhLiBJ biBjb250cmFzdCB0byBGT0xMX0dFVCAod2hvc2UgcGFnZXMKICAqIGFyZSByZWxlYXNlZCB2aWEg cHV0X3BhZ2UoKSksIEZPTExfUElOIHBhZ2VzIG11c3QgYmUgcmVsZWFzZWQsIHVsdGltYXRlbHks IGJ5Ci0gKiBhIGNhbGwgdG8gcHV0X3VzZXJfcGFnZSgpLgorICogYSBjYWxsIHRvIHVucGluX3Vz ZXJfcGFnZSgpLgogICoKICAqIEZPTExfUElOIGlzIHNpbWlsYXIgdG8gRk9MTF9HRVQ6IGJvdGgg b2YgdGhlc2UgcGluIHBhZ2VzLiBUaGV5IHVzZSBkaWZmZXJlbnQKICAqIGFuZCBzZXBhcmF0ZSBy ZWZjb3VudGluZyBtZWNoYW5pc21zLCBob3dldmVyLCBhbmQgdGhhdCBtZWFucyB0aGF0IGVhY2gg aGFzCkBAIC0yNjM4LDcgKzI2MzgsNyBAQCBzdHJ1Y3QgcGFnZSAqZm9sbG93X3BhZ2Uoc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywKICAqCiAgKiAgICAg Rk9MTF9HRVQ6IGdldF91c2VyX3BhZ2VzKigpIHRvIGFjcXVpcmUsIGFuZCBwdXRfcGFnZSgpIHRv IHJlbGVhc2UuCiAgKgotICogICAgIEZPTExfUElOOiBwaW5fdXNlcl9wYWdlcyooKSB0byBhY3F1 aXJlLCBhbmQgcHV0X3VzZXJfcGFnZXMgdG8gcmVsZWFzZS4KKyAqICAgICBGT0xMX1BJTjogcGlu X3VzZXJfcGFnZXMqKCkgdG8gYWNxdWlyZSwgYW5kIHVucGluX3VzZXJfcGFnZXMgdG8gcmVsZWFz ZS4KICAqCiAgKiBGT0xMX1BJTiBhbmQgRk9MTF9HRVQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBm b3IgYSBnaXZlbiBmdW5jdGlvbiBjYWxsLgogICogKFRoZSB1bmRlcmx5aW5nIHBhZ2VzIG1heSBl eHBlcmllbmNlIGJvdGggRk9MTF9HRVQtYmFzZWQgYW5kIEZPTExfUElOLWJhc2VkCkBAIC0yNjQ4 LDcgKzI2NDgsNyBAQCBzdHJ1Y3QgcGFnZSAqZm9sbG93X3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywKICAqIEZPTExfUElOIHNob3VsZCBiZSBz ZXQgaW50ZXJuYWxseSBieSB0aGUgcGluX3VzZXJfcGFnZXMqKCkgQVBJcywgbmV2ZXIKICAqIGRp cmVjdGx5IGJ5IHRoZSBjYWxsZXIuIFRoYXQncyBpbiBvcmRlciB0byBoZWxwIGF2b2lkIG1pc21h dGNoZXMgd2hlbgogICogcmVsZWFzaW5nIHBhZ2VzOiBnZXRfdXNlcl9wYWdlcyooKSBwYWdlcyBt dXN0IGJlIHJlbGVhc2VkIHZpYSBwdXRfcGFnZSgpLAotICogd2hpbGUgcGluX3VzZXJfcGFnZXMq KCkgcGFnZXMgbXVzdCBiZSByZWxlYXNlZCB2aWEgcHV0X3VzZXJfcGFnZSgpLgorICogd2hpbGUg cGluX3VzZXJfcGFnZXMqKCkgcGFnZXMgbXVzdCBiZSByZWxlYXNlZCB2aWEgdW5waW5fdXNlcl9w YWdlKCkuCiAgKgogICogUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL3ZtL3Bpbl91c2VyX3BhZ2Vz LnJzdCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICAqLwpkaWZmIC0tZ2l0IGEvbW0vZ3VwLmMgYi9t bS9ndXAuYwppbmRleCA0ODYyZmY5ODJiYzMuLjczYWVkY2VmYTRiZCAxMDA2NDQKLS0tIGEvbW0v Z3VwLmMKKysrIGIvbW0vZ3VwLmMKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1 Y3QgcGFnZSAqdHJ5X2dldF9jb21wb3VuZF9oZWFkKHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcmVm cykKIH0KIAogLyoqCi0gKiBwdXRfdXNlcl9wYWdlc19kaXJ0eV9sb2NrKCkgLSByZWxlYXNlIGFu ZCBvcHRpb25hbGx5IGRpcnR5IGd1cC1waW5uZWQgcGFnZXMKKyAqIHVucGluX3VzZXJfcGFnZXNf ZGlydHlfbG9jaygpIC0gcmVsZWFzZSBhbmQgb3B0aW9uYWxseSBkaXJ0eSBndXAtcGlubmVkIHBh Z2VzCiAgKiBAcGFnZXM6ICBhcnJheSBvZiBwYWdlcyB0byBiZSBtYXliZSBtYXJrZWQgZGlydHks IGFuZCBkZWZpbml0ZWx5IHJlbGVhc2VkLgogICogQG5wYWdlczogbnVtYmVyIG9mIHBhZ2VzIGlu IHRoZSBAcGFnZXMgYXJyYXkuCiAgKiBAbWFrZV9kaXJ0eTogd2hldGhlciB0byBtYXJrIHRoZSBw YWdlcyBkaXJ0eQpAQCAtNjIsMTkgKzYyLDE5IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHBhZ2Ug KnRyeV9nZXRfY29tcG91bmRfaGVhZChzdHJ1Y3QgcGFnZSAqcGFnZSwgaW50IHJlZnMpCiAgKgog ICogRm9yIGVhY2ggcGFnZSBpbiB0aGUgQHBhZ2VzIGFycmF5LCBtYWtlIHRoYXQgcGFnZSAob3Ig aXRzIGhlYWQgcGFnZSwgaWYgYQogICogY29tcG91bmQgcGFnZSkgZGlydHksIGlmIEBtYWtlX2Rp cnR5IGlzIHRydWUsIGFuZCBpZiB0aGUgcGFnZSB3YXMgcHJldmlvdXNseQotICogbGlzdGVkIGFz IGNsZWFuLiBJbiBhbnkgY2FzZSwgcmVsZWFzZXMgYWxsIHBhZ2VzIHVzaW5nIHB1dF91c2VyX3Bh Z2UoKSwKLSAqIHBvc3NpYmx5IHZpYSBwdXRfdXNlcl9wYWdlcygpLCBmb3IgdGhlIG5vbi1kaXJ0 eSBjYXNlLgorICogbGlzdGVkIGFzIGNsZWFuLiBJbiBhbnkgY2FzZSwgcmVsZWFzZXMgYWxsIHBh Z2VzIHVzaW5nIHVucGluX3VzZXJfcGFnZSgpLAorICogcG9zc2libHkgdmlhIHVucGluX3VzZXJf cGFnZXMoKSwgZm9yIHRoZSBub24tZGlydHkgY2FzZS4KICAqCi0gKiBQbGVhc2Ugc2VlIHRoZSBw dXRfdXNlcl9wYWdlKCkgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscy4KKyAqIFBsZWFzZSBzZWUg dGhlIHVucGluX3VzZXJfcGFnZSgpIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHMuCiAgKgogICog c2V0X3BhZ2VfZGlydHlfbG9jaygpIGlzIHVzZWQgaW50ZXJuYWxseS4gSWYgaW5zdGVhZCwgc2V0 X3BhZ2VfZGlydHkoKSBpcwogICogcmVxdWlyZWQsIHRoZW4gdGhlIGNhbGxlciBzaG91bGQgYSkg dmVyaWZ5IHRoYXQgdGhpcyBpcyByZWFsbHkgY29ycmVjdCwKICAqIGJlY2F1c2UgX2xvY2soKSBp cyB1c3VhbGx5IHJlcXVpcmVkLCBhbmQgYikgaGFuZCBjb2RlIGl0OgotICogc2V0X3BhZ2VfZGly dHlfbG9jaygpLCBwdXRfdXNlcl9wYWdlKCkuCisgKiBzZXRfcGFnZV9kaXJ0eV9sb2NrKCksIHVu cGluX3VzZXJfcGFnZSgpLgogICoKICAqLwotdm9pZCBwdXRfdXNlcl9wYWdlc19kaXJ0eV9sb2Nr KHN0cnVjdCBwYWdlICoqcGFnZXMsIHVuc2lnbmVkIGxvbmcgbnBhZ2VzLAotCQkJICAgICAgIGJv b2wgbWFrZV9kaXJ0eSkKK3ZvaWQgdW5waW5fdXNlcl9wYWdlc19kaXJ0eV9sb2NrKHN0cnVjdCBw YWdlICoqcGFnZXMsIHVuc2lnbmVkIGxvbmcgbnBhZ2VzLAorCQkJCSBib29sIG1ha2VfZGlydHkp CiB7CiAJdW5zaWduZWQgbG9uZyBpbmRleDsKIApAQCAtODUsNyArODUsNyBAQCB2b2lkIHB1dF91 c2VyX3BhZ2VzX2RpcnR5X2xvY2soc3RydWN0IHBhZ2UgKipwYWdlcywgdW5zaWduZWQgbG9uZyBu cGFnZXMsCiAJICovCiAKIAlpZiAoIW1ha2VfZGlydHkpIHsKLQkJcHV0X3VzZXJfcGFnZXMocGFn ZXMsIG5wYWdlcyk7CisJCXVucGluX3VzZXJfcGFnZXMocGFnZXMsIG5wYWdlcyk7CiAJCXJldHVy bjsKIAl9CiAKQEAgLTExMywyMSArMTEzLDIxIEBAIHZvaWQgcHV0X3VzZXJfcGFnZXNfZGlydHlf bG9jayhzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCB1bnNpZ25lZCBsb25nIG5wYWdlcywKIAkJICovCiAJ CWlmICghUGFnZURpcnR5KHBhZ2UpKQogCQkJc2V0X3BhZ2VfZGlydHlfbG9jayhwYWdlKTsKLQkJ cHV0X3VzZXJfcGFnZShwYWdlKTsKKwkJdW5waW5fdXNlcl9wYWdlKHBhZ2UpOwogCX0KIH0KLUVY UE9SVF9TWU1CT0wocHV0X3VzZXJfcGFnZXNfZGlydHlfbG9jayk7CitFWFBPUlRfU1lNQk9MKHVu cGluX3VzZXJfcGFnZXNfZGlydHlfbG9jayk7CiAKIC8qKgotICogcHV0X3VzZXJfcGFnZXMoKSAt IHJlbGVhc2UgYW4gYXJyYXkgb2YgZ3VwLXBpbm5lZCBwYWdlcy4KKyAqIHVucGluX3VzZXJfcGFn ZXMoKSAtIHJlbGVhc2UgYW4gYXJyYXkgb2YgZ3VwLXBpbm5lZCBwYWdlcy4KICAqIEBwYWdlczog IGFycmF5IG9mIHBhZ2VzIHRvIGJlIG1hcmtlZCBkaXJ0eSBhbmQgcmVsZWFzZWQuCiAgKiBAbnBh Z2VzOiBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIEBwYWdlcyBhcnJheS4KICAqCi0gKiBGb3IgZWFj aCBwYWdlIGluIHRoZSBAcGFnZXMgYXJyYXksIHJlbGVhc2UgdGhlIHBhZ2UgdXNpbmcgcHV0X3Vz ZXJfcGFnZSgpLgorICogRm9yIGVhY2ggcGFnZSBpbiB0aGUgQHBhZ2VzIGFycmF5LCByZWxlYXNl IHRoZSBwYWdlIHVzaW5nIHVucGluX3VzZXJfcGFnZSgpLgogICoKLSAqIFBsZWFzZSBzZWUgdGhl IHB1dF91c2VyX3BhZ2UoKSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzLgorICogUGxlYXNlIHNl ZSB0aGUgdW5waW5fdXNlcl9wYWdlKCkgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscy4KICAqLwot dm9pZCBwdXRfdXNlcl9wYWdlcyhzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCB1bnNpZ25lZCBsb25nIG5w YWdlcykKK3ZvaWQgdW5waW5fdXNlcl9wYWdlcyhzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCB1bnNpZ25l ZCBsb25nIG5wYWdlcykKIHsKIAl1bnNpZ25lZCBsb25nIGluZGV4OwogCkBAIC0xMzcsOSArMTM3 LDkgQEAgdm9pZCBwdXRfdXNlcl9wYWdlcyhzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCB1bnNpZ25lZCBs b25nIG5wYWdlcykKIAkgKiBzaW5nbGUgb3BlcmF0aW9uIHRvIHRoZSBoZWFkIHBhZ2Ugc2hvdWxk IHN1ZmZpY2UuCiAJICovCiAJZm9yIChpbmRleCA9IDA7IGluZGV4IDwgbnBhZ2VzOyBpbmRleCsr KQotCQlwdXRfdXNlcl9wYWdlKHBhZ2VzW2luZGV4XSk7CisJCXVucGluX3VzZXJfcGFnZShwYWdl c1tpbmRleF0pOwogfQotRVhQT1JUX1NZTUJPTChwdXRfdXNlcl9wYWdlcyk7CitFWFBPUlRfU1lN Qk9MKHVucGluX3VzZXJfcGFnZXMpOwogCiAjaWZkZWYgQ09ORklHX01NVQogc3RhdGljIHN0cnVj dCBwYWdlICpub19wYWdlX3RhYmxlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLApkaWZmIC0t Z2l0IGEvbW0vcHJvY2Vzc192bV9hY2Nlc3MuYyBiL21tL3Byb2Nlc3Nfdm1fYWNjZXNzLmMKaW5k ZXggZmQyMGFiNjc1Yjg1Li5kZTQxZTgzMGNkYWMgMTAwNjQ0Ci0tLSBhL21tL3Byb2Nlc3Nfdm1f YWNjZXNzLmMKKysrIGIvbW0vcHJvY2Vzc192bV9hY2Nlc3MuYwpAQCAtMTI2LDggKzEyNiw4IEBA IHN0YXRpYyBpbnQgcHJvY2Vzc192bV9yd19zaW5nbGVfdmVjKHVuc2lnbmVkIGxvbmcgYWRkciwK IAkJcGEgKz0gcGlubmVkX3BhZ2VzICogUEFHRV9TSVpFOwogCiAJCS8qIElmIHZtX3dyaXRlIGlz IHNldCwgdGhlIHBhZ2VzIG5lZWQgdG8gYmUgbWFkZSBkaXJ0eTogKi8KLQkJcHV0X3VzZXJfcGFn ZXNfZGlydHlfbG9jayhwcm9jZXNzX3BhZ2VzLCBwaW5uZWRfcGFnZXMsCi0JCQkJCSAgdm1fd3Jp dGUpOworCQl1bnBpbl91c2VyX3BhZ2VzX2RpcnR5X2xvY2socHJvY2Vzc19wYWdlcywgcGlubmVk X3BhZ2VzLAorCQkJCQkgICAgdm1fd3JpdGUpOwogCX0KIAogCXJldHVybiByYzsKZGlmZiAtLWdp dCBhL25ldC94ZHAveGRwX3VtZW0uYyBiL25ldC94ZHAveGRwX3VtZW0uYwppbmRleCBkMDcxMDAz YjVlNzYuLmFjMTgyYzM4ZjdiMCAxMDA2NDQKLS0tIGEvbmV0L3hkcC94ZHBfdW1lbS5jCisrKyBi L25ldC94ZHAveGRwX3VtZW0uYwpAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQgeGRwX3Vt ZW1fbWFwX3BhZ2VzKHN0cnVjdCB4ZHBfdW1lbSAqdW1lbSkKIAogc3RhdGljIHZvaWQgeGRwX3Vt ZW1fdW5waW5fcGFnZXMoc3RydWN0IHhkcF91bWVtICp1bWVtKQogewotCXB1dF91c2VyX3BhZ2Vz X2RpcnR5X2xvY2sodW1lbS0+cGdzLCB1bWVtLT5ucGdzLCB0cnVlKTsKKwl1bnBpbl91c2VyX3Bh Z2VzX2RpcnR5X2xvY2sodW1lbS0+cGdzLCB1bWVtLT5ucGdzLCB0cnVlKTsKIAogCWtmcmVlKHVt ZW0tPnBncyk7CiAJdW1lbS0+cGdzID0gTlVMTDsKLS0gCjIuMjQuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs