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=-16.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 06483C83017 for ; Fri, 27 Nov 2020 16:42:18 +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 B3E8F221F7 for ; Fri, 27 Nov 2020 16:42:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="PXrPfbF/" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B3E8F221F7 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch 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 09A5B6EE59; Fri, 27 Nov 2020 16:42:16 +0000 (UTC) Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id CE6646EE56 for ; Fri, 27 Nov 2020 16:42:05 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id k14so6233174wrn.1 for ; Fri, 27 Nov 2020 08:42:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9N/vIVQZ5CWx0IgXYdg3dFpbuCtWMvkamJ2ufW+wr90=; b=PXrPfbF/4OJ/qafS7X9VGOgGk68xwME2tmBm79ezq1c/N5MitZuOuaeeFBbbs41BD8 9At+9Uv7XClvYz3quku79j0vnnUqdIBTDWxMq8f14jxQKtKd134NgE9C+y15xJzid7BV 96ehZMOmxDrpmqjxCVYnC8UIwDh0NrD67uvFA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9N/vIVQZ5CWx0IgXYdg3dFpbuCtWMvkamJ2ufW+wr90=; b=idWSpb2I3uWnIMUGzcK5jXWJRR/jstx7nJCYJtkfNZSL6WBtmZNp/u8ycONn9MKLmS 8sG2INCVuFJfXafYqzNFsMmZ/AfOhNedma5UVZPOiYcHYHcYD1RHxF4tC+lAJkryEGIL Yxf8vfIWWSEhZKNlVriSU5gtRc+Nq/VUUaa2UZtIhqVi4AEwHUMlwWlSjTfoY1ic3TwP PKyrzhZzCrWHsS0Zl/vfqwJSYtIO7TkQz9yeNvxSO+vs/FsAtbrIsU1DoqhRftnRkgEN ZBwYQoa2dc9+KhIYkJxGlGwQZ9kVSzOTzPST8wQe1iPPseEpTF4l5O2lIVsrD4Sh1XS6 Ttow== X-Gm-Message-State: AOAM530CqtTrCZ4xkvrRfB+4Hmr1HYDAJFvbOQ/gyzuVC5QB0JqI9Nro Us+QKwuKLlZUKdNx1CETWYIKcdYtC1th3A== X-Google-Smtp-Source: ABdhPJxqlICPp/N/mFUK2E5mz9eed91s7W9a4LVq4PLGr+Rdm/Nn+OLHpB+Qo3oZkctQQEFBRKWpIg== X-Received: by 2002:adf:f2ce:: with SMTP id d14mr11625703wrp.94.1606495324264; Fri, 27 Nov 2020 08:42:04 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id q12sm14859078wrx.86.2020.11.27.08.42.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Nov 2020 08:42:03 -0800 (PST) From: Daniel Vetter To: DRI Development , LKML Subject: [PATCH v7 05/17] mm/frame-vector: Use FOLL_LONGTERM Date: Fri, 27 Nov 2020 17:41:19 +0100 Message-Id: <20201127164131.2244124-6-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201127164131.2244124-1-daniel.vetter@ffwll.ch> References: <20201127164131.2244124-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, Jan Kara , Pawel Osciak , kvm@vger.kernel.org, Jason Gunthorpe , Daniel Vetter , Mauro Carvalho Chehab , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Tomasz Figa , Christoph Hellwig , linux-mm@kvack.org, Kyungmin Park , John Hubbard , Daniel Vetter , Andrew Morton , Marek Szyprowski , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VGhpcyBpcyB1c2VkIGJ5IG1lZGlhL3ZpZGVidWYyIGZvciBwZXJzaXN0ZW50IGRtYSBtYXBwaW5n cywgbm90IGp1c3QKZm9yIGEgc2luZ2xlIGRtYSBvcGVyYXRpb24gYW5kIHRoZW4gZnJlZWQgYWdh aW4sIHNvIG5lZWRzCkZPTExfTE9OR1RFUk0uCgpVbmZvcnR1bmF0ZWx5IGN1cnJlbnQgcHVwX2xv Y2tlZCBkb2Vzbid0IHN1cHBvcnQgRk9MTF9MT05HVEVSTSBkdWUgdG8KbG9ja2luZyBpc3N1ZXMu IFJld29yayB0aGUgY29kZSB0byBwdWxsIHRoZSBwdXAgcGF0aCBvdXQgZnJvbSB0aGUKbW1hcF9z ZW0gY3JpdGljYWwgc2VjdGlvbiBhcyBzdWdnZXN0ZWQgYnkgSmFzb24uCgpCeSByZWx5aW5nIGVu dGlyZWx5IG9uIHRoZSB2bWEgY2hlY2tzIGluIHBpbl91c2VyX3BhZ2VzIGFuZCBmb2xsb3dfcGZu Cihmb3Igdm1fZmxhZ3MgYW5kIHZtYV9pc19mc2RheCkgd2UgY2FuIGFsc28gc3RyZWFtbGluZSB0 aGUgY29kZSBhIGxvdC4KCk5vdGUgdGhhdCBwaW5fdXNlcl9wYWdlc19mYXN0IGlzIGEgc2FmZSBy ZXBsYWNlbWVudCBkZXNwaXRlIHRoZQpzZWVtaW5nIGxhY2sgb2YgY2hlY2tpbmcgZm9yIHZtYS0+ dm1fZmxhc2cgJiAoVk1fSU8gfCBWTV9QRk5NQVApLiBTdWNoCnB0ZXMgYXJlIG1hcmtlZCB3aXRo IHB0ZV9ta3NwZWNpYWwgKHdoaWNoIHB1cF9mYXN0IHJlamVjdHMgaW4gdGhlCmZhc3RwYXRoKSwg YW5kIG9ubHkgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0aW5nIHRoYXQgc3VwcG9ydCB0aGUKcGluX3Vz ZXJfcGFnZXNfZmFzdCBmYXN0cGF0aC4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBpbmZyYWRl YWQub3JnPgpDYzogSmFzb24gR3VudGhvcnBlIDxqZ2dAemllcGUuY2E+CkNjOiBQYXdlbCBPc2Np YWsgPHBhd2VsQG9zY2lhay5jb20+CkNjOiBNYXJlayBTenlwcm93c2tpIDxtLnN6eXByb3dza2lA c2Ftc3VuZy5jb20+CkNjOiBLeXVuZ21pbiBQYXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29t PgpDYzogVG9tYXN6IEZpZ2EgPHRmaWdhQGNocm9taXVtLm9yZz4KQ2M6IE1hdXJvIENhcnZhbGhv IENoZWhhYiA8bWNoZWhhYkBrZXJuZWwub3JnPgpDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51 eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IEpvaG4gSHViYmFyZCA8amh1YmJhcmRAbnZpZGlhLmNvbT4K Q2M6IErDqXLDtG1lIEdsaXNzZSA8amdsaXNzZUByZWRoYXQuY29tPgpDYzogSmFuIEthcmEgPGph Y2tAc3VzZS5jej4KQ2M6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPgpD YzogbGludXgtbW1Aa3ZhY2sub3JnCkNjOiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKQ2M6IGxpbnV4LXNhbXN1bmctc29jQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbWVk aWFAdmdlci5rZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+Ci0tCnYyOiBTdHJlYW1saW5lIHRoZSBjb2RlIGFuZCBmdXJ0aGVyIHNp bXBsaWZ5IHRoZSBsb29wIGNoZWNrcyAoSmFzb24pCgp2NTogUmV2aWV3IGZyb20gVG9tYXN6Ogot IGZpeCBwYWdlIGNvdW50aW5nIGZvciB0aGUgZm9sbG93X3BmbiBjYXNlIGJ5IHJlc2V0dGluZyBy ZXQKLSBkcm9wIGd1cF9mbGFncyBwYXJhbWF0ZXIsIG5vdyB1bnVzZWQKCnY2OiBFeHBsYWluIHdo eSBwdXBfZmFzdCBpcyBzYWZlLCBhZnRlciBkaXNjdXNzaW9ucyB3aXRoIEpvaG4gYW5kCkNocmlz dG9waC4KLS0tCiAuLi4vbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItbWVtb3BzLmMg fCAgMyArLQogaW5jbHVkZS9saW51eC9tbS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIG1tL2ZyYW1lX3ZlY3Rvci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDUz ICsrKysrKy0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwg MzkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9i dWYyL3ZpZGVvYnVmMi1tZW1vcHMuYyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92 aWRlb2J1ZjItbWVtb3BzLmMKaW5kZXggNmU5ZTA1MTUzZjRlLi45ZGQ2YzI3MTYyZjQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItbWVtb3BzLmMK KysrIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1tZW1vcHMuYwpA QCAtNDAsNyArNDAsNiBAQCBzdHJ1Y3QgZnJhbWVfdmVjdG9yICp2YjJfY3JlYXRlX2ZyYW1ldmVj KHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJdW5zaWduZWQgbG9uZyBmaXJzdCwgbGFzdDsKIAl1bnNp Z25lZCBsb25nIG5yOwogCXN0cnVjdCBmcmFtZV92ZWN0b3IgKnZlYzsKLQl1bnNpZ25lZCBpbnQg ZmxhZ3MgPSBGT0xMX0ZPUkNFIHwgRk9MTF9XUklURTsKIAogCWZpcnN0ID0gc3RhcnQgPj4gUEFH RV9TSElGVDsKIAlsYXN0ID0gKHN0YXJ0ICsgbGVuZ3RoIC0gMSkgPj4gUEFHRV9TSElGVDsKQEAg LTQ4LDcgKzQ3LDcgQEAgc3RydWN0IGZyYW1lX3ZlY3RvciAqdmIyX2NyZWF0ZV9mcmFtZXZlYyh1 bnNpZ25lZCBsb25nIHN0YXJ0LAogCXZlYyA9IGZyYW1lX3ZlY3Rvcl9jcmVhdGUobnIpOwogCWlm ICghdmVjKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKLQlyZXQgPSBnZXRfdmFkZHJfZnJh bWVzKHN0YXJ0ICYgUEFHRV9NQVNLLCBuciwgZmxhZ3MsIHZlYyk7CisJcmV0ID0gZ2V0X3ZhZGRy X2ZyYW1lcyhzdGFydCAmIFBBR0VfTUFTSywgbnIsIHZlYyk7CiAJaWYgKHJldCA8IDApCiAJCWdv dG8gb3V0X2Rlc3Ryb3k7CiAJLyogV2UgYWNjZXB0IG9ubHkgY29tcGxldGUgc2V0IG9mIFBGTnMg Ki8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW0uaCBiL2luY2x1ZGUvbGludXgvbW0uaApp bmRleCA0N2JmZjE2YzE4MmQuLjI5YTE5NDFjZDI1NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51 eC9tbS5oCisrKyBiL2luY2x1ZGUvbGludXgvbW0uaApAQCAtMTc2NSw3ICsxNzY1LDcgQEAgc3Ry dWN0IGZyYW1lX3ZlY3RvciB7CiBzdHJ1Y3QgZnJhbWVfdmVjdG9yICpmcmFtZV92ZWN0b3JfY3Jl YXRlKHVuc2lnbmVkIGludCBucl9mcmFtZXMpOwogdm9pZCBmcmFtZV92ZWN0b3JfZGVzdHJveShz dHJ1Y3QgZnJhbWVfdmVjdG9yICp2ZWMpOwogaW50IGdldF92YWRkcl9mcmFtZXModW5zaWduZWQg bG9uZyBzdGFydCwgdW5zaWduZWQgaW50IG5yX3BmbnMsCi0JCSAgICAgdW5zaWduZWQgaW50IGd1 cF9mbGFncywgc3RydWN0IGZyYW1lX3ZlY3RvciAqdmVjKTsKKwkJICAgICBzdHJ1Y3QgZnJhbWVf dmVjdG9yICp2ZWMpOwogdm9pZCBwdXRfdmFkZHJfZnJhbWVzKHN0cnVjdCBmcmFtZV92ZWN0b3Ig KnZlYyk7CiBpbnQgZnJhbWVfdmVjdG9yX3RvX3BhZ2VzKHN0cnVjdCBmcmFtZV92ZWN0b3IgKnZl Yyk7CiB2b2lkIGZyYW1lX3ZlY3Rvcl90b19wZm5zKHN0cnVjdCBmcmFtZV92ZWN0b3IgKnZlYyk7 CmRpZmYgLS1naXQgYS9tbS9mcmFtZV92ZWN0b3IuYyBiL21tL2ZyYW1lX3ZlY3Rvci5jCmluZGV4 IDEwZjgyZDU2NDNiNi4uZjhjMzRiODk1Yzc2IDEwMDY0NAotLS0gYS9tbS9mcmFtZV92ZWN0b3Iu YworKysgYi9tbS9mcmFtZV92ZWN0b3IuYwpAQCAtMzIsMTMgKzMyLDEyIEBACiAgKiBUaGlzIGZ1 bmN0aW9uIHRha2VzIGNhcmUgb2YgZ3JhYmJpbmcgbW1hcF9sb2NrIGFzIG5lY2Vzc2FyeS4KICAq LwogaW50IGdldF92YWRkcl9mcmFtZXModW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgaW50 IG5yX2ZyYW1lcywKLQkJICAgICB1bnNpZ25lZCBpbnQgZ3VwX2ZsYWdzLCBzdHJ1Y3QgZnJhbWVf dmVjdG9yICp2ZWMpCisJCSAgICAgc3RydWN0IGZyYW1lX3ZlY3RvciAqdmVjKQogewogCXN0cnVj dCBtbV9zdHJ1Y3QgKm1tID0gY3VycmVudC0+bW07CiAJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bWE7CiAJaW50IHJldCA9IDA7CiAJaW50IGVycjsKLQlpbnQgbG9ja2VkOwogCiAJaWYgKG5yX2Zy YW1lcyA9PSAwKQogCQlyZXR1cm4gMDsKQEAgLTQ4LDQwICs0NywyNiBAQCBpbnQgZ2V0X3ZhZGRy X2ZyYW1lcyh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBpbnQgbnJfZnJhbWVzLAogCiAJ c3RhcnQgPSB1bnRhZ2dlZF9hZGRyKHN0YXJ0KTsKIAotCW1tYXBfcmVhZF9sb2NrKG1tKTsKLQls b2NrZWQgPSAxOwotCXZtYSA9IGZpbmRfdm1hX2ludGVyc2VjdGlvbihtbSwgc3RhcnQsIHN0YXJ0 ICsgMSk7Ci0JaWYgKCF2bWEpIHsKLQkJcmV0ID0gLUVGQVVMVDsKLQkJZ290byBvdXQ7Ci0JfQot Ci0JLyoKLQkgKiBXaGlsZSBnZXRfdmFkZHJfZnJhbWVzKCkgY291bGQgYmUgdXNlZCBmb3IgdHJh bnNpZW50IChrZXJuZWwKLQkgKiBjb250cm9sbGVkIGxpZmV0aW1lKSBwaW5uaW5nIG9mIG1lbW9y eSBwYWdlcyBhbGwgY3VycmVudAotCSAqIHVzZXJzIGVzdGFibGlzaCBsb25nIHRlcm0gKHVzZXJz cGFjZSBjb250cm9sbGVkIGxpZmV0aW1lKQotCSAqIHBhZ2UgcGlubmluZy4gVHJlYXQgZ2V0X3Zh ZGRyX2ZyYW1lcygpIGxpa2UKLQkgKiBnZXRfdXNlcl9wYWdlc19sb25ndGVybSgpIGFuZCBkaXNh bGxvdyBpdCBmb3IgZmlsZXN5c3RlbS1kYXgKLQkgKiBtYXBwaW5ncy4KLQkgKi8KLQlpZiAodm1h X2lzX2ZzZGF4KHZtYSkpIHsKLQkJcmV0ID0gLUVPUE5PVFNVUFA7Ci0JCWdvdG8gb3V0OwotCX0K LQotCWlmICghKHZtYS0+dm1fZmxhZ3MgJiAoVk1fSU8gfCBWTV9QRk5NQVApKSkgeworCXJldCA9 IHBpbl91c2VyX3BhZ2VzX2Zhc3Qoc3RhcnQsIG5yX2ZyYW1lcywKKwkJCQkgIEZPTExfRk9SQ0Ug fCBGT0xMX1dSSVRFIHwgRk9MTF9MT05HVEVSTSwKKwkJCQkgIChzdHJ1Y3QgcGFnZSAqKikodmVj LT5wdHJzKSk7CisJaWYgKHJldCA+IDApIHsKIAkJdmVjLT5nb3RfcmVmID0gdHJ1ZTsKIAkJdmVj LT5pc19wZm5zID0gZmFsc2U7Ci0JCXJldCA9IHBpbl91c2VyX3BhZ2VzX2xvY2tlZChzdGFydCwg bnJfZnJhbWVzLAotCQkJZ3VwX2ZsYWdzLCAoc3RydWN0IHBhZ2UgKiopKHZlYy0+cHRycyksICZs b2NrZWQpOwotCQlnb3RvIG91dDsKKwkJZ290byBvdXRfdW5sb2NrZWQ7CiAJfQogCisJbW1hcF9y ZWFkX2xvY2sobW0pOwogCXZlYy0+Z290X3JlZiA9IGZhbHNlOwogCXZlYy0+aXNfcGZucyA9IHRy dWU7CisJcmV0ID0gMDsKIAlkbyB7CiAJCXVuc2lnbmVkIGxvbmcgKm51bXMgPSBmcmFtZV92ZWN0 b3JfcGZucyh2ZWMpOwogCisJCXZtYSA9IGZpbmRfdm1hX2ludGVyc2VjdGlvbihtbSwgc3RhcnQs IHN0YXJ0ICsgMSk7CisJCWlmICghdm1hKQorCQkJYnJlYWs7CisKIAkJd2hpbGUgKHJldCA8IG5y X2ZyYW1lcyAmJiBzdGFydCArIFBBR0VfU0laRSA8PSB2bWEtPnZtX2VuZCkgewogCQkJZXJyID0g Zm9sbG93X3Bmbih2bWEsIHN0YXJ0LCAmbnVtc1tyZXRdKTsKIAkJCWlmIChlcnIpIHsKQEAgLTky LDE3ICs3NywxMyBAQCBpbnQgZ2V0X3ZhZGRyX2ZyYW1lcyh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1 bnNpZ25lZCBpbnQgbnJfZnJhbWVzLAogCQkJc3RhcnQgKz0gUEFHRV9TSVpFOwogCQkJcmV0Kys7 CiAJCX0KLQkJLyoKLQkJICogV2Ugc3RvcCBpZiB3ZSBoYXZlIGVub3VnaCBwYWdlcyBvciBpZiBW TUEgZG9lc24ndCBjb21wbGV0ZWx5Ci0JCSAqIGNvdmVyIHRoZSB0YWlsIHBhZ2UuCi0JCSAqLwot CQlpZiAocmV0ID49IG5yX2ZyYW1lcyB8fCBzdGFydCA8IHZtYS0+dm1fZW5kKQorCQkvKiBCYWls IG91dCBpZiBWTUEgZG9lc24ndCBjb21wbGV0ZWx5IGNvdmVyIHRoZSB0YWlsIHBhZ2UuICovCisJ CWlmIChzdGFydCA8IHZtYS0+dm1fZW5kKQogCQkJYnJlYWs7Ci0JCXZtYSA9IGZpbmRfdm1hX2lu dGVyc2VjdGlvbihtbSwgc3RhcnQsIHN0YXJ0ICsgMSk7Ci0JfSB3aGlsZSAodm1hICYmIHZtYS0+ dm1fZmxhZ3MgJiAoVk1fSU8gfCBWTV9QRk5NQVApKTsKKwl9IHdoaWxlIChyZXQgPCBucl9mcmFt ZXMpOwogb3V0OgotCWlmIChsb2NrZWQpCi0JCW1tYXBfcmVhZF91bmxvY2sobW0pOworCW1tYXBf cmVhZF91bmxvY2sobW0pOworb3V0X3VubG9ja2VkOgogCWlmICghcmV0KQogCQlyZXQgPSAtRUZB VUxUOwogCWlmIChyZXQgPiAwKQotLSAKMi4yOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK