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 A6623C63798 for ; Fri, 27 Nov 2020 16:42:57 +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 43E35206DF for ; Fri, 27 Nov 2020 16:42:57 +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="Csi8ZNX8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 43E35206DF 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 621416EE69; Fri, 27 Nov 2020 16:42:55 +0000 (UTC) Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9BCB96EE63 for ; Fri, 27 Nov 2020 16:42:20 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id i2so6205074wrs.4 for ; Fri, 27 Nov 2020 08:42:20 -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=3lnP38KG8A1LYh8v2GDNGvx8wPBJZF5Ara+ZJGh4/qc=; b=Csi8ZNX8RwNnU8LIQCxMM/vhvOmiVOUfzLolBjW93b/0Ev61Hel+fH6DUNNbUoXIsN m2xOyrQkp7031+NnywTEwaU8fHW7SR4mzR31n+JgrbhbWoPF2SmTrKypWIv1gJ3PdmPO GCaxG6O/lC6nFDbGj3eoBmR7DWwk00wEtf1uI= 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=3lnP38KG8A1LYh8v2GDNGvx8wPBJZF5Ara+ZJGh4/qc=; b=YZ/5hZf1UqSlQ8/S93BKL0gq57KdEgCAeKxIWDMlrXnM7IXjKP46W0gAOqjv0ULloA 4L1nUGAgyYnp20jeLAvt1GqWz5YvV1+oo9ri1r2m7rYQBxTmWInE6lOfyYGDcY9dQr7D IFwGonGjBgsKnsnnxi1K7EERtYnIW+afUhzsZg/6zlpoaQs7rfVC9+Mjc/sA38S/Ngn6 tPQVhGxs2It04VFErVLcaDQWsefuRGBkgfxXOgOUZCFKYwwWzyjBlpcQCTB62SjZ87Xr l1vVYOS9ZaASb3yuELeR92NjJzINc/PAt3EzFefRZQkCTV0SWKJA4iaw97QK/dJ/m45Z u6bg== X-Gm-Message-State: AOAM531tAjuqdNw7K726IaR7C6pfaBnEbL27ALVN9xzG8o7/Yrfvi+mN Lx7wvkkiZHdQa7Kp6xJLhf+WjM65izZfVA== X-Google-Smtp-Source: ABdhPJw7dxM001AIWI/7kkdx/f4V+l1kW8lYPInhXdvuY1ifUPn3D28yfeu5k/6cM0pkiAew1Q0CJA== X-Received: by 2002:adf:f888:: with SMTP id u8mr11470289wrp.381.1606495339093; Fri, 27 Nov 2020 08:42:19 -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.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Nov 2020 08:42:18 -0800 (PST) From: Daniel Vetter To: DRI Development , LKML Subject: [PATCH v7 16/17] kvm: pass kvm argument to follow_pfn callsites Date: Fri, 27 Nov 2020 17:41:30 +0100 Message-Id: <20201127164131.2244124-17-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 , Kees Cook , kvm@vger.kernel.org, Jason Gunthorpe , Daniel Vetter , Christoph Hellwig , linux-mm@kvack.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , John Hubbard , Daniel Vetter , Paolo Bonzini , Dan Williams , Andrew Morton , 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" Qm90aCBDaHJpc3RvcGggSGVsbHdpZyBhbmQgSmFzb24gR3VudGhvcnBlIHN1Z2dlc3RlZCB0aGF0 IHVzYWdlIG9mCmZvbGxvd19wZm4gYnkgbW9kdWxlcyBzaG91bGQgYmUgbG9ja2VkIGRvd24gbW9y ZS4gVG8gZG8gc28gY2FsbGVycwpuZWVkIHRvIGJlIGFibGUgdG8gcGFzcyB0aGUgbW11X25vdGlm aWVyIHN1YnNjcmlwdGlvbiBjb3JyZXNwb25kaW5nCnRvIHRoZSBtbV9zdHJ1Y3QgdG8gZm9sbG93 X3BmbigpLgoKVGhpcyBwYXRjaCBkb2VzIHRoZSByb3RlIHdvcmsgb2YgZG9pbmcgdGhhdCBpbiB0 aGUga3ZtIHN1YnN5c3RlbS4gSW4KbW9zdCBwbGFjZXMgdGhpcyBpcyBzb2x2ZWQgYnkgcGFzc2lu ZyBzdHJ1Y3Qga3ZtICogZG93biB0aGUgY2FsbApzdGFja3MgYXMgYW4gYWRkaXRpb25hbCBwYXJh bWV0ZXIsIHNpbmNlIHRoYXQgY29udGFpbnMgdGhlCm1tdV9ub3RpZmllci4KCkNvbXBpbGUgdGVz dGVkIG9uIGFsbCBhZmZlY3RlZCBhcmNoLgoKQWNrZWQtYnk6IFBhb2xvIEJvbnppbmkgPHBib256 aW5pQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0 ZXJAaW50ZWwuY29tPgpDYzogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBpbmZyYWRlYWQub3JnPgpD YzogSmFzb24gR3VudGhvcnBlIDxqZ2dAemllcGUuY2E+CkNjOiBLZWVzIENvb2sgPGtlZXNjb29r QGNocm9taXVtLm9yZz4KQ2M6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29t PgpDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IEpvaG4g SHViYmFyZCA8amh1YmJhcmRAbnZpZGlhLmNvbT4KQ2M6IErDqXLDtG1lIEdsaXNzZSA8amdsaXNz ZUByZWRoYXQuY29tPgpDYzogSmFuIEthcmEgPGphY2tAc3VzZS5jej4KQ2M6IERhbiBXaWxsaWFt cyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPgpDYzogbGludXgtbW1Aa3ZhY2sub3JnCkNjOiBs aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4LXNhbXN1bmctc29j QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbWVkaWFAdmdlci5rZXJuZWwub3JnCkNjOiBrdm1A dmdlci5rZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0 ZXJAZmZ3bGwuY2g+Ci0tLQogYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X2h2LmMgICAg fCAgMiArLQogYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X3JhZGl4LmMgfCAgMiArLQog YXJjaC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMgICAgICAgfCAgMiArLQogYXJjaC94ODYv a3ZtL21tdS9tbXUuYyAgICAgICAgICAgICAgICAgfCAgOCArKy0tCiBpbmNsdWRlL2xpbnV4L2t2 bV9ob3N0LmggICAgICAgICAgICAgICB8ICA5ICsrKy0tCiB2aXJ0L2t2bS9rdm1fbWFpbi5jICAg ICAgICAgICAgICAgICAgICB8IDUyICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiA2IGZpbGVz IGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2FyY2gvcG93ZXJwYy9rdm0vYm9vazNzXzY0X21tdV9odi5jIGIvYXJjaC9wb3dlcnBjL2t2bS9i b29rM3NfNjRfbW11X2h2LmMKaW5kZXggMzhlYTM5NmEyM2Q2Li44Njc4MWZmNzZmY2IgMTAwNjQ0 Ci0tLSBhL2FyY2gvcG93ZXJwYy9rdm0vYm9vazNzXzY0X21tdV9odi5jCisrKyBiL2FyY2gvcG93 ZXJwYy9rdm0vYm9vazNzXzY0X21tdV9odi5jCkBAIC01ODksNyArNTg5LDcgQEAgaW50IGt2bXBw Y19ib29rM3NfaHZfcGFnZV9mYXVsdChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCiAJCXdyaXRlX29r ID0gdHJ1ZTsKIAl9IGVsc2UgewogCQkvKiBDYWxsIEtWTSBnZW5lcmljIGNvZGUgdG8gZG8gdGhl IHNsb3ctcGF0aCBjaGVjayAqLwotCQlwZm4gPSBfX2dmbl90b19wZm5fbWVtc2xvdChtZW1zbG90 LCBnZm4sIGZhbHNlLCBOVUxMLAorCQlwZm4gPSBfX2dmbl90b19wZm5fbWVtc2xvdChrdm0sIG1l bXNsb3QsIGdmbiwgZmFsc2UsIE5VTEwsCiAJCQkJCSAgIHdyaXRpbmcsICZ3cml0ZV9vayk7CiAJ CWlmIChpc19lcnJvcl9ub3Nsb3RfcGZuKHBmbikpCiAJCQlyZXR1cm4gLUVGQVVMVDsKZGlmZiAt LWdpdCBhL2FyY2gvcG93ZXJwYy9rdm0vYm9vazNzXzY0X21tdV9yYWRpeC5jIGIvYXJjaC9wb3dl cnBjL2t2bS9ib29rM3NfNjRfbW11X3JhZGl4LmMKaW5kZXggYmIzNTQ5MDQwMGU5Li4zMTlhMWE5 OTE1M2YgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rdm0vYm9vazNzXzY0X21tdV9yYWRpeC5j CisrKyBiL2FyY2gvcG93ZXJwYy9rdm0vYm9vazNzXzY0X21tdV9yYWRpeC5jCkBAIC04MjEsNyAr ODIxLDcgQEAgaW50IGt2bXBwY19ib29rM3NfaW5zdGFudGlhdGVfcGFnZShzdHJ1Y3Qga3ZtX3Zj cHUgKnZjcHUsCiAJCXVuc2lnbmVkIGxvbmcgcGZuOwogCiAJCS8qIENhbGwgS1ZNIGdlbmVyaWMg Y29kZSB0byBkbyB0aGUgc2xvdy1wYXRoIGNoZWNrICovCi0JCXBmbiA9IF9fZ2ZuX3RvX3Bmbl9t ZW1zbG90KG1lbXNsb3QsIGdmbiwgZmFsc2UsIE5VTEwsCisJCXBmbiA9IF9fZ2ZuX3RvX3Bmbl9t ZW1zbG90KGt2bSwgbWVtc2xvdCwgZ2ZuLCBmYWxzZSwgTlVMTCwKIAkJCQkJICAgd3JpdGluZywg dXBncmFkZV9wKTsKIAkJaWYgKGlzX2Vycm9yX25vc2xvdF9wZm4ocGZuKSkKIAkJCXJldHVybiAt RUZBVUxUOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMgYi9h cmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11X2hvc3QuYwppbmRleCBlZDBjOWM0M2QwY2YuLmZkMmIy ZDM2MzU1OSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMKKysr IGIvYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMKQEAgLTQ0Niw3ICs0NDYsNyBAQCBz dGF0aWMgaW5saW5lIGludCBrdm1wcGNfZTUwMF9zaGFkb3dfbWFwKHN0cnVjdCBrdm1wcGNfdmNw dV9lNTAwICp2Y3B1X2U1MDAsCiAKIAlpZiAobGlrZWx5KCFwZm5tYXApKSB7CiAJCXRzaXplX3Bh Z2VzID0gMVVMIDw8ICh0c2l6ZSArIDEwIC0gUEFHRV9TSElGVCk7Ci0JCXBmbiA9IGdmbl90b19w Zm5fbWVtc2xvdChzbG90LCBnZm4pOworCQlwZm4gPSBnZm5fdG9fcGZuX21lbXNsb3Qoa3ZtLCBz bG90LCBnZm4pOwogCQlpZiAoaXNfZXJyb3Jfbm9zbG90X3BmbihwZm4pKSB7CiAJCQlpZiAocHJp bnRrX3JhdGVsaW1pdCgpKQogCQkJCXByX2VycigiJXM6IHJlYWwgcGFnZSBub3QgZm91bmQgZm9y IGdmbiAlbHhcbiIsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0vbW11L21tdS5jIGIvYXJjaC94 ODYva3ZtL21tdS9tbXUuYwppbmRleCA1YmIxOTM5YjY1ZDguLjY3YWRhNDdhYTcyMiAxMDA2NDQK LS0tIGEvYXJjaC94ODYva3ZtL21tdS9tbXUuYworKysgYi9hcmNoL3g4Ni9rdm0vbW11L21tdS5j CkBAIC0yNjc5LDcgKzI2NzksNyBAQCBzdGF0aWMga3ZtX3Bmbl90IHB0ZV9wcmVmZXRjaF9nZm5f dG9fcGZuKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgZ2ZuX3QgZ2ZuLAogCWlmICghc2xvdCkKIAkJ cmV0dXJuIEtWTV9QRk5fRVJSX0ZBVUxUOwogCi0JcmV0dXJuIGdmbl90b19wZm5fbWVtc2xvdF9h dG9taWMoc2xvdCwgZ2ZuKTsKKwlyZXR1cm4gZ2ZuX3RvX3Bmbl9tZW1zbG90X2F0b21pYyh2Y3B1 LT5rdm0sIHNsb3QsIGdmbik7CiB9CiAKIHN0YXRpYyBpbnQgZGlyZWN0X3B0ZV9wcmVmZXRjaF9t YW55KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwKQEAgLTM2NTcsNyArMzY1Nyw4IEBAIHN0YXRpYyBi b29sIHRyeV9hc3luY19wZihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIGJvb2wgcHJlZmF1bHQsIGdm bl90IGdmbiwKIAl9CiAKIAlhc3luYyA9IGZhbHNlOwotCSpwZm4gPSBfX2dmbl90b19wZm5fbWVt c2xvdChzbG90LCBnZm4sIGZhbHNlLCAmYXN5bmMsIHdyaXRlLCB3cml0YWJsZSk7CisJKnBmbiA9 IF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KHZjcHUtPmt2bSwgc2xvdCwgZ2ZuLAorCQkJCSAgICBmYWxz ZSwgJmFzeW5jLCB3cml0ZSwgd3JpdGFibGUpOwogCWlmICghYXN5bmMpCiAJCXJldHVybiBmYWxz ZTsgLyogKnBmbiBoYXMgY29ycmVjdCBwYWdlIGFscmVhZHkgKi8KIApAQCAtMzY3MSw3ICszNjcy LDggQEAgc3RhdGljIGJvb2wgdHJ5X2FzeW5jX3BmKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgYm9v bCBwcmVmYXVsdCwgZ2ZuX3QgZ2ZuLAogCQkJcmV0dXJuIHRydWU7CiAJfQogCi0JKnBmbiA9IF9f Z2ZuX3RvX3Bmbl9tZW1zbG90KHNsb3QsIGdmbiwgZmFsc2UsIE5VTEwsIHdyaXRlLCB3cml0YWJs ZSk7CisJKnBmbiA9IF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KHZjcHUtPmt2bSwgc2xvdCwgZ2ZuLAor CQkJCSAgICBmYWxzZSwgTlVMTCwgd3JpdGUsIHdyaXRhYmxlKTsKIAlyZXR1cm4gZmFsc2U7CiB9 CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva3ZtX2hvc3QuaCBiL2luY2x1ZGUvbGludXgv a3ZtX2hvc3QuaAppbmRleCA3ZjJlMmEwOWViYmQuLjg2NDQyNGNlNmI2YiAxMDA2NDQKLS0tIGEv aW5jbHVkZS9saW51eC9rdm1faG9zdC5oCisrKyBiL2luY2x1ZGUvbGludXgva3ZtX2hvc3QuaApA QCAtNzE3LDkgKzcxNywxMiBAQCB2b2lkIGt2bV9zZXRfcGFnZV9hY2Nlc3NlZChzdHJ1Y3QgcGFn ZSAqcGFnZSk7CiBrdm1fcGZuX3QgZ2ZuX3RvX3BmbihzdHJ1Y3Qga3ZtICprdm0sIGdmbl90IGdm bik7CiBrdm1fcGZuX3QgZ2ZuX3RvX3Bmbl9wcm90KHN0cnVjdCBrdm0gKmt2bSwgZ2ZuX3QgZ2Zu LCBib29sIHdyaXRlX2ZhdWx0LAogCQkgICAgICBib29sICp3cml0YWJsZSk7Ci1rdm1fcGZuX3Qg Z2ZuX3RvX3Bmbl9tZW1zbG90KHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdm bik7Ci1rdm1fcGZuX3QgZ2ZuX3RvX3Bmbl9tZW1zbG90X2F0b21pYyhzdHJ1Y3Qga3ZtX21lbW9y eV9zbG90ICpzbG90LCBnZm5fdCBnZm4pOwota3ZtX3Bmbl90IF9fZ2ZuX3RvX3Bmbl9tZW1zbG90 KHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdmbiwKK2t2bV9wZm5fdCBnZm5f dG9fcGZuX21lbXNsb3Qoc3RydWN0IGt2bSAqa3ZtLAorCQkJICAgICBzdHJ1Y3Qga3ZtX21lbW9y eV9zbG90ICpzbG90LCBnZm5fdCBnZm4pOwora3ZtX3Bmbl90IGdmbl90b19wZm5fbWVtc2xvdF9h dG9taWMoc3RydWN0IGt2bSAqa3ZtLAorCQkJCSAgICBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpz bG90LCBnZm5fdCBnZm4pOwora3ZtX3Bmbl90IF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KHN0cnVjdCBr dm0gKmt2bSwKKwkJCSAgICAgICBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBn Zm4sCiAJCQkgICAgICAgYm9vbCBhdG9taWMsIGJvb2wgKmFzeW5jLCBib29sIHdyaXRlX2ZhdWx0 LAogCQkJICAgICAgIGJvb2wgKndyaXRhYmxlKTsKIApkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3Zt X21haW4uYyBiL3ZpcnQva3ZtL2t2bV9tYWluLmMKaW5kZXggMjU0MWExN2ZmMWM0Li40MTdmM2Q0 NzBjM2UgMTAwNjQ0Ci0tLSBhL3ZpcnQva3ZtL2t2bV9tYWluLmMKKysrIGIvdmlydC9rdm0va3Zt X21haW4uYwpAQCAtMTg4Myw3ICsxODgzLDcgQEAgc3RhdGljIGJvb2wgdm1hX2lzX3ZhbGlkKHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBib29sIHdyaXRlX2ZhdWx0KQogCXJldHVybiB0cnVl OwogfQogCi1zdGF0aWMgaW50IGh2YV90b19wZm5fcmVtYXBwZWQoc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEsCitzdGF0aWMgaW50IGh2YV90b19wZm5fcmVtYXBwZWQoc3RydWN0IGt2bSAqa3Zt LCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkJCSAgICAgICB1bnNpZ25lZCBsb25nIGFk ZHIsIGJvb2wgKmFzeW5jLAogCQkJICAgICAgIGJvb2wgd3JpdGVfZmF1bHQsIGJvb2wgKndyaXRh YmxlLAogCQkJICAgICAgIGt2bV9wZm5fdCAqcF9wZm4pCkBAIC0xOTQ2LDggKzE5NDYsOSBAQCBz dGF0aWMgaW50IGh2YV90b19wZm5fcmVtYXBwZWQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEs CiAgKiAyKTogQHdyaXRlX2ZhdWx0ID0gZmFsc2UgJiYgQHdyaXRhYmxlLCBAd3JpdGFibGUgd2ls bCB0ZWxsIHRoZSBjYWxsZXIKICAqICAgICB3aGV0aGVyIHRoZSBtYXBwaW5nIGlzIHdyaXRhYmxl LgogICovCi1zdGF0aWMga3ZtX3Bmbl90IGh2YV90b19wZm4odW5zaWduZWQgbG9uZyBhZGRyLCBi b29sIGF0b21pYywgYm9vbCAqYXN5bmMsCi0JCQlib29sIHdyaXRlX2ZhdWx0LCBib29sICp3cml0 YWJsZSkKK3N0YXRpYyBrdm1fcGZuX3QgaHZhX3RvX3BmbihzdHJ1Y3Qga3ZtICprdm0sIHVuc2ln bmVkIGxvbmcgYWRkciwKKwkJCSAgICBib29sIGF0b21pYywgYm9vbCAqYXN5bmMsCisJCQkgICAg Ym9vbCB3cml0ZV9mYXVsdCwgYm9vbCAqd3JpdGFibGUpCiB7CiAJc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWE7CiAJa3ZtX3Bmbl90IHBmbiA9IDA7CkBAIC0xOTc5LDcgKzE5ODAsOCBAQCBzdGF0 aWMga3ZtX3Bmbl90IGh2YV90b19wZm4odW5zaWduZWQgbG9uZyBhZGRyLCBib29sIGF0b21pYywg Ym9vbCAqYXN5bmMsCiAJaWYgKHZtYSA9PSBOVUxMKQogCQlwZm4gPSBLVk1fUEZOX0VSUl9GQVVM VDsKIAllbHNlIGlmICh2bWEtPnZtX2ZsYWdzICYgKFZNX0lPIHwgVk1fUEZOTUFQKSkgewotCQly ID0gaHZhX3RvX3Bmbl9yZW1hcHBlZCh2bWEsIGFkZHIsIGFzeW5jLCB3cml0ZV9mYXVsdCwgd3Jp dGFibGUsICZwZm4pOworCQlyID0gaHZhX3RvX3Bmbl9yZW1hcHBlZChrdm0sIHZtYSwgYWRkciwK KwkJCQkJYXN5bmMsIHdyaXRlX2ZhdWx0LCB3cml0YWJsZSwgJnBmbik7CiAJCWlmIChyID09IC1F QUdBSU4pCiAJCQlnb3RvIHJldHJ5OwogCQlpZiAociA8IDApCkBAIC0xOTk0LDcgKzE5OTYsOCBA QCBzdGF0aWMga3ZtX3Bmbl90IGh2YV90b19wZm4odW5zaWduZWQgbG9uZyBhZGRyLCBib29sIGF0 b21pYywgYm9vbCAqYXN5bmMsCiAJcmV0dXJuIHBmbjsKIH0KIAota3ZtX3Bmbl90IF9fZ2ZuX3Rv X3Bmbl9tZW1zbG90KHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdmbiwKK2t2 bV9wZm5fdCBfX2dmbl90b19wZm5fbWVtc2xvdChzdHJ1Y3Qga3ZtICprdm0sCisJCQkgICAgICAg c3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdCwgZ2ZuX3QgZ2ZuLAogCQkJICAgICAgIGJvb2wg YXRvbWljLCBib29sICphc3luYywgYm9vbCB3cml0ZV9mYXVsdCwKIAkJCSAgICAgICBib29sICp3 cml0YWJsZSkKIHsKQEAgLTIwMTgsNyArMjAyMSw3IEBAIGt2bV9wZm5fdCBfX2dmbl90b19wZm5f bWVtc2xvdChzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBnZm4sCiAJCXdyaXRh YmxlID0gTlVMTDsKIAl9CiAKLQlyZXR1cm4gaHZhX3RvX3BmbihhZGRyLCBhdG9taWMsIGFzeW5j LCB3cml0ZV9mYXVsdCwKKwlyZXR1cm4gaHZhX3RvX3Bmbihrdm0sIGFkZHIsIGF0b21pYywgYXN5 bmMsIHdyaXRlX2ZhdWx0LAogCQkJICB3cml0YWJsZSk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChf X2dmbl90b19wZm5fbWVtc2xvdCk7CkBAIC0yMDI2LDM4ICsyMDI5LDQzIEBAIEVYUE9SVF9TWU1C T0xfR1BMKF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KTsKIGt2bV9wZm5fdCBnZm5fdG9fcGZuX3Byb3Qo c3RydWN0IGt2bSAqa3ZtLCBnZm5fdCBnZm4sIGJvb2wgd3JpdGVfZmF1bHQsCiAJCSAgICAgIGJv b2wgKndyaXRhYmxlKQogewotCXJldHVybiBfX2dmbl90b19wZm5fbWVtc2xvdChnZm5fdG9fbWVt c2xvdChrdm0sIGdmbiksIGdmbiwgZmFsc2UsIE5VTEwsCisJcmV0dXJuIF9fZ2ZuX3RvX3Bmbl9t ZW1zbG90KGt2bSwgZ2ZuX3RvX21lbXNsb3Qoa3ZtLCBnZm4pLCBnZm4sCisJCQkJICAgIGZhbHNl LCBOVUxMLAogCQkJCSAgICB3cml0ZV9mYXVsdCwgd3JpdGFibGUpOwogfQogRVhQT1JUX1NZTUJP TF9HUEwoZ2ZuX3RvX3Bmbl9wcm90KTsKIAota3ZtX3Bmbl90IGdmbl90b19wZm5fbWVtc2xvdChz dHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBnZm4pCitrdm1fcGZuX3QgZ2ZuX3Rv X3Bmbl9tZW1zbG90KHN0cnVjdCBrdm0gKmt2bSwKKwkJCSAgICAgc3RydWN0IGt2bV9tZW1vcnlf c2xvdCAqc2xvdCwgZ2ZuX3QgZ2ZuKQogewotCXJldHVybiBfX2dmbl90b19wZm5fbWVtc2xvdChz bG90LCBnZm4sIGZhbHNlLCBOVUxMLCB0cnVlLCBOVUxMKTsKKwlyZXR1cm4gX19nZm5fdG9fcGZu X21lbXNsb3Qoa3ZtLCBzbG90LCBnZm4sIGZhbHNlLCBOVUxMLCB0cnVlLCBOVUxMKTsKIH0KIEVY UE9SVF9TWU1CT0xfR1BMKGdmbl90b19wZm5fbWVtc2xvdCk7CiAKLWt2bV9wZm5fdCBnZm5fdG9f cGZuX21lbXNsb3RfYXRvbWljKHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdm bikKK2t2bV9wZm5fdCBnZm5fdG9fcGZuX21lbXNsb3RfYXRvbWljKHN0cnVjdCBrdm0gKmt2bSwK KwkJCQkgICAgc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdCwgZ2ZuX3QgZ2ZuKQogewotCXJl dHVybiBfX2dmbl90b19wZm5fbWVtc2xvdChzbG90LCBnZm4sIHRydWUsIE5VTEwsIHRydWUsIE5V TEwpOworCXJldHVybiBfX2dmbl90b19wZm5fbWVtc2xvdChrdm0sIHNsb3QsIGdmbiwgdHJ1ZSwg TlVMTCwgdHJ1ZSwgTlVMTCk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChnZm5fdG9fcGZuX21lbXNs b3RfYXRvbWljKTsKIAoga3ZtX3Bmbl90IGt2bV92Y3B1X2dmbl90b19wZm5fYXRvbWljKHN0cnVj dCBrdm1fdmNwdSAqdmNwdSwgZ2ZuX3QgZ2ZuKQogewotCXJldHVybiBnZm5fdG9fcGZuX21lbXNs b3RfYXRvbWljKGt2bV92Y3B1X2dmbl90b19tZW1zbG90KHZjcHUsIGdmbiksIGdmbik7CisJcmV0 dXJuIGdmbl90b19wZm5fbWVtc2xvdF9hdG9taWModmNwdS0+a3ZtLAorCQkJCQkga3ZtX3ZjcHVf Z2ZuX3RvX21lbXNsb3QodmNwdSwgZ2ZuKSwgZ2ZuKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGt2 bV92Y3B1X2dmbl90b19wZm5fYXRvbWljKTsKIAoga3ZtX3Bmbl90IGdmbl90b19wZm4oc3RydWN0 IGt2bSAqa3ZtLCBnZm5fdCBnZm4pCiB7Ci0JcmV0dXJuIGdmbl90b19wZm5fbWVtc2xvdChnZm5f dG9fbWVtc2xvdChrdm0sIGdmbiksIGdmbik7CisJcmV0dXJuIGdmbl90b19wZm5fbWVtc2xvdChr dm0sIGdmbl90b19tZW1zbG90KGt2bSwgZ2ZuKSwgZ2ZuKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BM KGdmbl90b19wZm4pOwogCiBrdm1fcGZuX3Qga3ZtX3ZjcHVfZ2ZuX3RvX3BmbihzdHJ1Y3Qga3Zt X3ZjcHUgKnZjcHUsIGdmbl90IGdmbikKIHsKLQlyZXR1cm4gZ2ZuX3RvX3Bmbl9tZW1zbG90KGt2 bV92Y3B1X2dmbl90b19tZW1zbG90KHZjcHUsIGdmbiksIGdmbik7CisJcmV0dXJuIGdmbl90b19w Zm5fbWVtc2xvdCh2Y3B1LT5rdm0sCisJCQkJICBrdm1fdmNwdV9nZm5fdG9fbWVtc2xvdCh2Y3B1 LCBnZm4pLCBnZm4pOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoa3ZtX3ZjcHVfZ2ZuX3RvX3Bmbik7 CiAKQEAgLTIxMTUsMTggKzIxMjMsMjAgQEAgdm9pZCBrdm1fcmVsZWFzZV9wZm4oa3ZtX3Bmbl90 IHBmbiwgYm9vbCBkaXJ0eSwgc3RydWN0IGdmbl90b19wZm5fY2FjaGUgKmNhY2hlKQogCQlrdm1f cmVsZWFzZV9wZm5fY2xlYW4ocGZuKTsKIH0KIAotc3RhdGljIHZvaWQga3ZtX2NhY2hlX2dmbl90 b19wZm4oc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdCwgZ2ZuX3QgZ2ZuLAorc3RhdGljIHZv aWQga3ZtX2NhY2hlX2dmbl90b19wZm4oc3RydWN0IGt2bSAqa3ZtLAorCQkJCSBzdHJ1Y3Qga3Zt X21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBnZm4sCiAJCQkJIHN0cnVjdCBnZm5fdG9fcGZuX2Nh Y2hlICpjYWNoZSwgdTY0IGdlbikKIHsKIAlrdm1fcmVsZWFzZV9wZm4oY2FjaGUtPnBmbiwgY2Fj aGUtPmRpcnR5LCBjYWNoZSk7CiAKLQljYWNoZS0+cGZuID0gZ2ZuX3RvX3Bmbl9tZW1zbG90KHNs b3QsIGdmbik7CisJY2FjaGUtPnBmbiA9IGdmbl90b19wZm5fbWVtc2xvdChrdm0sIHNsb3QsIGdm bik7CiAJY2FjaGUtPmdmbiA9IGdmbjsKIAljYWNoZS0+ZGlydHkgPSBmYWxzZTsKIAljYWNoZS0+ Z2VuZXJhdGlvbiA9IGdlbjsKIH0KIAotc3RhdGljIGludCBfX2t2bV9tYXBfZ2ZuKHN0cnVjdCBr dm1fbWVtc2xvdHMgKnNsb3RzLCBnZm5fdCBnZm4sCitzdGF0aWMgaW50IF9fa3ZtX21hcF9nZm4o c3RydWN0IGt2bSAqa3ZtLAorCQkJIHN0cnVjdCBrdm1fbWVtc2xvdHMgKnNsb3RzLCBnZm5fdCBn Zm4sCiAJCQkgc3RydWN0IGt2bV9ob3N0X21hcCAqbWFwLAogCQkJIHN0cnVjdCBnZm5fdG9fcGZu X2NhY2hlICpjYWNoZSwKIAkJCSBib29sIGF0b21pYykKQEAgLTIxNDUsMTMgKzIxNTUsMTMgQEAg c3RhdGljIGludCBfX2t2bV9tYXBfZ2ZuKHN0cnVjdCBrdm1fbWVtc2xvdHMgKnNsb3RzLCBnZm5f dCBnZm4sCiAJCQljYWNoZS0+Z2VuZXJhdGlvbiAhPSBnZW4pIHsKIAkJCWlmIChhdG9taWMpCiAJ CQkJcmV0dXJuIC1FQUdBSU47Ci0JCQlrdm1fY2FjaGVfZ2ZuX3RvX3BmbihzbG90LCBnZm4sIGNh Y2hlLCBnZW4pOworCQkJa3ZtX2NhY2hlX2dmbl90b19wZm4oa3ZtLCBzbG90LCBnZm4sIGNhY2hl LCBnZW4pOwogCQl9CiAJCXBmbiA9IGNhY2hlLT5wZm47CiAJfSBlbHNlIHsKIAkJaWYgKGF0b21p YykKIAkJCXJldHVybiAtRUFHQUlOOwotCQlwZm4gPSBnZm5fdG9fcGZuX21lbXNsb3Qoc2xvdCwg Z2ZuKTsKKwkJcGZuID0gZ2ZuX3RvX3Bmbl9tZW1zbG90KGt2bSwgc2xvdCwgZ2ZuKTsKIAl9CiAJ aWYgKGlzX2Vycm9yX25vc2xvdF9wZm4ocGZuKSkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0yMTg0 LDE0ICsyMTk0LDE0IEBAIHN0YXRpYyBpbnQgX19rdm1fbWFwX2dmbihzdHJ1Y3Qga3ZtX21lbXNs b3RzICpzbG90cywgZ2ZuX3QgZ2ZuLAogaW50IGt2bV9tYXBfZ2ZuKHN0cnVjdCBrdm1fdmNwdSAq dmNwdSwgZ2ZuX3QgZ2ZuLCBzdHJ1Y3Qga3ZtX2hvc3RfbWFwICptYXAsCiAJCXN0cnVjdCBnZm5f dG9fcGZuX2NhY2hlICpjYWNoZSwgYm9vbCBhdG9taWMpCiB7Ci0JcmV0dXJuIF9fa3ZtX21hcF9n Zm4oa3ZtX21lbXNsb3RzKHZjcHUtPmt2bSksIGdmbiwgbWFwLAorCXJldHVybiBfX2t2bV9tYXBf Z2ZuKHZjcHUtPmt2bSwga3ZtX21lbXNsb3RzKHZjcHUtPmt2bSksIGdmbiwgbWFwLAogCQkJY2Fj aGUsIGF0b21pYyk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChrdm1fbWFwX2dmbik7CiAKIGludCBr dm1fdmNwdV9tYXAoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBnZm5fdCBnZm4sIHN0cnVjdCBrdm1f aG9zdF9tYXAgKm1hcCkKIHsKLQlyZXR1cm4gX19rdm1fbWFwX2dmbihrdm1fdmNwdV9tZW1zbG90 cyh2Y3B1KSwgZ2ZuLCBtYXAsCisJcmV0dXJuIF9fa3ZtX21hcF9nZm4odmNwdS0+a3ZtLCBrdm1f dmNwdV9tZW1zbG90cyh2Y3B1KSwgZ2ZuLCBtYXAsCiAJCU5VTEwsIGZhbHNlKTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGt2bV92Y3B1X21hcCk7Ci0tIAoyLjI5LjIKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=