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 C5B37C64E7C for ; Thu, 19 Nov 2020 14:42:30 +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 654ED246A5 for ; Thu, 19 Nov 2020 14:42:30 +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="OEFoRj4M" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 654ED246A5 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 B476B6E595; Thu, 19 Nov 2020 14:42:27 +0000 (UTC) Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1D37C6E593 for ; Thu, 19 Nov 2020 14:42:17 +0000 (UTC) Received: by mail-wr1-x441.google.com with SMTP id j7so6723810wrp.3 for ; Thu, 19 Nov 2020 06:42:17 -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=zkeb216dnttsANxMb1gEr5R+0ZdYRKKovGCL9yT1FAY=; b=OEFoRj4M9E42bfq/iRIOsKl46YrbtiCBbjvTv/oig1APTLJQ4UtbX4FB0wq8nQR7DV +1Z9xekE8CgurHze3jx2RuwGvnmCbykl11MfGozRAiKsp7Mbksai6QESttZp++mq8w27 9aqJwg0/tCaPIwA6nplaOLISr9nxhq33gSpzY= 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=zkeb216dnttsANxMb1gEr5R+0ZdYRKKovGCL9yT1FAY=; b=TC7M7Jp3rFbqcvE7VpzhyMvll4pNepy79M6leOTPK4+VWtHYtKPRdqprxgb7Dz2E9+ 6cQVwn2OuqiiaTzdZyom2tNpSLl0V7Zwhy7uwylFbIPvkWpUuYjDwUBm5QHluwv0+YlG vcTQf8dNZvUUBgpxBmGG8fb1UqEB8RCisym7W51U06wc/F0jxYzhDAFRQNbYHaMK43FP oYkr/B8TOmXe7F6nWDdtcOx/c5qosA4mJgAvRd3h0o7vGyRILDJDpN5q444U8NUcUTvG CLi8hST2m00m4WQR4xa4T/qsCpyVPneb001x2Nnt2D97IF3D49XcBm4Q6s8MZuKrYfoM 9JuA== X-Gm-Message-State: AOAM533RjE7j7kegrqkML3lD1Cphc6OLgdhnHANM9p4LAIvbjobJNIuI yQdWhsjUcCHfn3YBbTJwUPGycSUnb8/Yrg== X-Google-Smtp-Source: ABdhPJxvIRAgRrFES7wO+NepTS6cCQpwhrGHMzEzGdt8Kdan81c2b72TYQlZw04CiRWhUOLHuW1+1w== X-Received: by 2002:adf:8366:: with SMTP id 93mr10481140wrd.321.1605796935466; Thu, 19 Nov 2020 06:42:15 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id x63sm51292wmb.48.2020.11.19.06.42.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Nov 2020 06:42:14 -0800 (PST) From: Daniel Vetter To: DRI Development , LKML Subject: [PATCH v6 16/17] RFC: kvm: pass kvm argument to follow_pfn callsites Date: Thu, 19 Nov 2020 15:41:45 +0100 Message-Id: <20201119144146.1045202-17-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201119144146.1045202-1-daniel.vetter@ffwll.ch> References: <20201119144146.1045202-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 , 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 dGVkIG9uIGFsbCBhZmZlY3RlZCBhcmNoLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+CkNjOiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGluZnJh ZGVhZC5vcmc+CkNjOiBKYXNvbiBHdW50aG9ycGUgPGpnZ0B6aWVwZS5jYT4KQ2M6IEtlZXMgQ29v ayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPgpDYzogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFt c0BpbnRlbC5jb20+CkNjOiBBbmRyZXcgTW9ydG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3Jn PgpDYzogSm9obiBIdWJiYXJkIDxqaHViYmFyZEBudmlkaWEuY29tPgpDYzogSsOpcsO0bWUgR2xp c3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+CkNjOiBKYW4gS2FyYSA8amFja0BzdXNlLmN6PgpDYzog RGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+CkNjOiBsaW51eC1tbUBrdmFj ay5vcmcKQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgt c2Ftc3VuZy1zb2NAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5v cmcKQ2M6IGt2bUB2Z2VyLmtlcm5lbC5vcmcKU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBhcmNoL3Bvd2VycGMva3ZtL2Jvb2szc182NF9t bXVfaHYuYyAgICB8ICAyICstCiBhcmNoL3Bvd2VycGMva3ZtL2Jvb2szc182NF9tbXVfcmFkaXgu YyB8ICAyICstCiBhcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11X2hvc3QuYyAgICAgICB8ICAyICst CiBhcmNoL3g4Ni9rdm0vbW11L21tdS5jICAgICAgICAgICAgICAgICB8ICA4ICsrLS0KIGluY2x1 ZGUvbGludXgva3ZtX2hvc3QuaCAgICAgICAgICAgICAgIHwgIDkgKysrLS0KIHZpcnQva3ZtL2t2 bV9tYWluLmMgICAgICAgICAgICAgICAgICAgIHwgNTIgKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0KIDYgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X2h2LmMgYi9hcmNoL3Bv d2VycGMva3ZtL2Jvb2szc182NF9tbXVfaHYuYwppbmRleCAzOGVhMzk2YTIzZDYuLjg2NzgxZmY3 NmZjYiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X2h2LmMKKysr IGIvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X2h2LmMKQEAgLTU4OSw3ICs1ODksNyBA QCBpbnQga3ZtcHBjX2Jvb2szc19odl9wYWdlX2ZhdWx0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwK IAkJd3JpdGVfb2sgPSB0cnVlOwogCX0gZWxzZSB7CiAJCS8qIENhbGwgS1ZNIGdlbmVyaWMgY29k ZSB0byBkbyB0aGUgc2xvdy1wYXRoIGNoZWNrICovCi0JCXBmbiA9IF9fZ2ZuX3RvX3Bmbl9tZW1z bG90KG1lbXNsb3QsIGdmbiwgZmFsc2UsIE5VTEwsCisJCXBmbiA9IF9fZ2ZuX3RvX3Bmbl9tZW1z bG90KGt2bSwgbWVtc2xvdCwgZ2ZuLCBmYWxzZSwgTlVMTCwKIAkJCQkJICAgd3JpdGluZywgJndy aXRlX29rKTsKIAkJaWYgKGlzX2Vycm9yX25vc2xvdF9wZm4ocGZuKSkKIAkJCXJldHVybiAtRUZB VUxUOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X3JhZGl4LmMg Yi9hcmNoL3Bvd2VycGMva3ZtL2Jvb2szc182NF9tbXVfcmFkaXguYwppbmRleCBiYjM1NDkwNDAw ZTkuLjMxOWExYTk5MTUzZiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRf bW11X3JhZGl4LmMKKysrIGIvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X3JhZGl4LmMK QEAgLTgyMSw3ICs4MjEsNyBAQCBpbnQga3ZtcHBjX2Jvb2szc19pbnN0YW50aWF0ZV9wYWdlKHN0 cnVjdCBrdm1fdmNwdSAqdmNwdSwKIAkJdW5zaWduZWQgbG9uZyBwZm47CiAKIAkJLyogQ2FsbCBL Vk0gZ2VuZXJpYyBjb2RlIHRvIGRvIHRoZSBzbG93LXBhdGggY2hlY2sgKi8KLQkJcGZuID0gX19n Zm5fdG9fcGZuX21lbXNsb3QobWVtc2xvdCwgZ2ZuLCBmYWxzZSwgTlVMTCwKKwkJcGZuID0gX19n Zm5fdG9fcGZuX21lbXNsb3Qoa3ZtLCBtZW1zbG90LCBnZm4sIGZhbHNlLCBOVUxMLAogCQkJCQkg ICB3cml0aW5nLCB1cGdyYWRlX3ApOwogCQlpZiAoaXNfZXJyb3Jfbm9zbG90X3BmbihwZm4pKQog CQkJcmV0dXJuIC1FRkFVTFQ7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11 X2hvc3QuYyBiL2FyY2gvcG93ZXJwYy9rdm0vZTUwMF9tbXVfaG9zdC5jCmluZGV4IGVkMGM5YzQz ZDBjZi4uZmQyYjJkMzYzNTU5IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11 X2hvc3QuYworKysgYi9hcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11X2hvc3QuYwpAQCAtNDQ2LDcg KzQ0Niw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IGt2bXBwY19lNTAwX3NoYWRvd19tYXAoc3RydWN0 IGt2bXBwY192Y3B1X2U1MDAgKnZjcHVfZTUwMCwKIAogCWlmIChsaWtlbHkoIXBmbm1hcCkpIHsK IAkJdHNpemVfcGFnZXMgPSAxVUwgPDwgKHRzaXplICsgMTAgLSBQQUdFX1NISUZUKTsKLQkJcGZu ID0gZ2ZuX3RvX3Bmbl9tZW1zbG90KHNsb3QsIGdmbik7CisJCXBmbiA9IGdmbl90b19wZm5fbWVt c2xvdChrdm0sIHNsb3QsIGdmbik7CiAJCWlmIChpc19lcnJvcl9ub3Nsb3RfcGZuKHBmbikpIHsK IAkJCWlmIChwcmludGtfcmF0ZWxpbWl0KCkpCiAJCQkJcHJfZXJyKCIlczogcmVhbCBwYWdlIG5v dCBmb3VuZCBmb3IgZ2ZuICVseFxuIiwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS9tbXUvbW11 LmMgYi9hcmNoL3g4Ni9rdm0vbW11L21tdS5jCmluZGV4IDFmOTZhZGZmOGRjNC4uYTQ2ZTRhZTRm OGIwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0vbW11L21tdS5jCisrKyBiL2FyY2gveDg2L2t2 bS9tbXUvbW11LmMKQEAgLTI2NzcsNyArMjY3Nyw3IEBAIHN0YXRpYyBrdm1fcGZuX3QgcHRlX3By ZWZldGNoX2dmbl90b19wZm4oc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBnZm5fdCBnZm4sCiAJaWYg KCFzbG90KQogCQlyZXR1cm4gS1ZNX1BGTl9FUlJfRkFVTFQ7CiAKLQlyZXR1cm4gZ2ZuX3RvX3Bm bl9tZW1zbG90X2F0b21pYyhzbG90LCBnZm4pOworCXJldHVybiBnZm5fdG9fcGZuX21lbXNsb3Rf YXRvbWljKHZjcHUtPmt2bSwgc2xvdCwgZ2ZuKTsKIH0KIAogc3RhdGljIGludCBkaXJlY3RfcHRl X3ByZWZldGNoX21hbnkoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LApAQCAtMzY1NSw3ICszNjU1LDgg QEAgc3RhdGljIGJvb2wgdHJ5X2FzeW5jX3BmKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgYm9vbCBw cmVmYXVsdCwgZ2ZuX3QgZ2ZuLAogCX0KIAogCWFzeW5jID0gZmFsc2U7Ci0JKnBmbiA9IF9fZ2Zu X3RvX3Bmbl9tZW1zbG90KHNsb3QsIGdmbiwgZmFsc2UsICZhc3luYywgd3JpdGUsIHdyaXRhYmxl KTsKKwkqcGZuID0gX19nZm5fdG9fcGZuX21lbXNsb3QodmNwdS0+a3ZtLCBzbG90LCBnZm4sCisJ CQkJICAgIGZhbHNlLCAmYXN5bmMsIHdyaXRlLCB3cml0YWJsZSk7CiAJaWYgKCFhc3luYykKIAkJ cmV0dXJuIGZhbHNlOyAvKiAqcGZuIGhhcyBjb3JyZWN0IHBhZ2UgYWxyZWFkeSAqLwogCkBAIC0z NjY5LDcgKzM2NzAsOCBAQCBzdGF0aWMgYm9vbCB0cnlfYXN5bmNfcGYoc3RydWN0IGt2bV92Y3B1 ICp2Y3B1LCBib29sIHByZWZhdWx0LCBnZm5fdCBnZm4sCiAJCQlyZXR1cm4gdHJ1ZTsKIAl9CiAK LQkqcGZuID0gX19nZm5fdG9fcGZuX21lbXNsb3Qoc2xvdCwgZ2ZuLCBmYWxzZSwgTlVMTCwgd3Jp dGUsIHdyaXRhYmxlKTsKKwkqcGZuID0gX19nZm5fdG9fcGZuX21lbXNsb3QodmNwdS0+a3ZtLCBz bG90LCBnZm4sCisJCQkJICAgIGZhbHNlLCBOVUxMLCB3cml0ZSwgd3JpdGFibGUpOwogCXJldHVy biBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rdm1faG9zdC5oIGIvaW5j bHVkZS9saW51eC9rdm1faG9zdC5oCmluZGV4IDdmMmUyYTA5ZWJiZC4uODY0NDI0Y2U2YjZiIDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2t2bV9ob3N0LmgKKysrIGIvaW5jbHVkZS9saW51eC9r dm1faG9zdC5oCkBAIC03MTcsOSArNzE3LDEyIEBAIHZvaWQga3ZtX3NldF9wYWdlX2FjY2Vzc2Vk KHN0cnVjdCBwYWdlICpwYWdlKTsKIGt2bV9wZm5fdCBnZm5fdG9fcGZuKHN0cnVjdCBrdm0gKmt2 bSwgZ2ZuX3QgZ2ZuKTsKIGt2bV9wZm5fdCBnZm5fdG9fcGZuX3Byb3Qoc3RydWN0IGt2bSAqa3Zt LCBnZm5fdCBnZm4sIGJvb2wgd3JpdGVfZmF1bHQsCiAJCSAgICAgIGJvb2wgKndyaXRhYmxlKTsK LWt2bV9wZm5fdCBnZm5fdG9fcGZuX21lbXNsb3Qoc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xv dCwgZ2ZuX3QgZ2ZuKTsKLWt2bV9wZm5fdCBnZm5fdG9fcGZuX21lbXNsb3RfYXRvbWljKHN0cnVj dCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdmbik7Ci1rdm1fcGZuX3QgX19nZm5fdG9f cGZuX21lbXNsb3Qoc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdCwgZ2ZuX3QgZ2ZuLAora3Zt X3Bmbl90IGdmbl90b19wZm5fbWVtc2xvdChzdHJ1Y3Qga3ZtICprdm0sCisJCQkgICAgIHN0cnVj dCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdmbik7Citrdm1fcGZuX3QgZ2ZuX3RvX3Bm bl9tZW1zbG90X2F0b21pYyhzdHJ1Y3Qga3ZtICprdm0sCisJCQkJICAgIHN0cnVjdCBrdm1fbWVt b3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdmbik7Citrdm1fcGZuX3QgX19nZm5fdG9fcGZuX21lbXNs b3Qoc3RydWN0IGt2bSAqa3ZtLAorCQkJICAgICAgIHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNs b3QsIGdmbl90IGdmbiwKIAkJCSAgICAgICBib29sIGF0b21pYywgYm9vbCAqYXN5bmMsIGJvb2wg d3JpdGVfZmF1bHQsCiAJCQkgICAgICAgYm9vbCAqd3JpdGFibGUpOwogCmRpZmYgLS1naXQgYS92 aXJ0L2t2bS9rdm1fbWFpbi5jIGIvdmlydC9rdm0va3ZtX21haW4uYwppbmRleCAyNTQxYTE3ZmYx YzQuLjQxN2YzZDQ3MGMzZSAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtX21haW4uYworKysgYi92 aXJ0L2t2bS9rdm1fbWFpbi5jCkBAIC0xODgzLDcgKzE4ODMsNyBAQCBzdGF0aWMgYm9vbCB2bWFf aXNfdmFsaWQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIGJvb2wgd3JpdGVfZmF1bHQpCiAJ cmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbnQgaHZhX3RvX3Bmbl9yZW1hcHBlZChzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYSwKK3N0YXRpYyBpbnQgaHZhX3RvX3Bmbl9yZW1hcHBlZChzdHJ1 Y3Qga3ZtICprdm0sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogCQkJICAgICAgIHVuc2ln bmVkIGxvbmcgYWRkciwgYm9vbCAqYXN5bmMsCiAJCQkgICAgICAgYm9vbCB3cml0ZV9mYXVsdCwg Ym9vbCAqd3JpdGFibGUsCiAJCQkgICAgICAga3ZtX3Bmbl90ICpwX3BmbikKQEAgLTE5NDYsOCAr MTk0Niw5IEBAIHN0YXRpYyBpbnQgaHZhX3RvX3Bmbl9yZW1hcHBlZChzdHJ1Y3Qgdm1fYXJlYV9z dHJ1Y3QgKnZtYSwKICAqIDIpOiBAd3JpdGVfZmF1bHQgPSBmYWxzZSAmJiBAd3JpdGFibGUsIEB3 cml0YWJsZSB3aWxsIHRlbGwgdGhlIGNhbGxlcgogICogICAgIHdoZXRoZXIgdGhlIG1hcHBpbmcg aXMgd3JpdGFibGUuCiAgKi8KLXN0YXRpYyBrdm1fcGZuX3QgaHZhX3RvX3Bmbih1bnNpZ25lZCBs b25nIGFkZHIsIGJvb2wgYXRvbWljLCBib29sICphc3luYywKLQkJCWJvb2wgd3JpdGVfZmF1bHQs IGJvb2wgKndyaXRhYmxlKQorc3RhdGljIGt2bV9wZm5fdCBodmFfdG9fcGZuKHN0cnVjdCBrdm0g Kmt2bSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJICAgIGJvb2wgYXRvbWljLCBib29sICphc3lu YywKKwkJCSAgICBib29sIHdyaXRlX2ZhdWx0LCBib29sICp3cml0YWJsZSkKIHsKIAlzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYTsKIAlrdm1fcGZuX3QgcGZuID0gMDsKQEAgLTE5NzksNyArMTk4 MCw4IEBAIHN0YXRpYyBrdm1fcGZuX3QgaHZhX3RvX3Bmbih1bnNpZ25lZCBsb25nIGFkZHIsIGJv b2wgYXRvbWljLCBib29sICphc3luYywKIAlpZiAodm1hID09IE5VTEwpCiAJCXBmbiA9IEtWTV9Q Rk5fRVJSX0ZBVUxUOwogCWVsc2UgaWYgKHZtYS0+dm1fZmxhZ3MgJiAoVk1fSU8gfCBWTV9QRk5N QVApKSB7Ci0JCXIgPSBodmFfdG9fcGZuX3JlbWFwcGVkKHZtYSwgYWRkciwgYXN5bmMsIHdyaXRl X2ZhdWx0LCB3cml0YWJsZSwgJnBmbik7CisJCXIgPSBodmFfdG9fcGZuX3JlbWFwcGVkKGt2bSwg dm1hLCBhZGRyLAorCQkJCQlhc3luYywgd3JpdGVfZmF1bHQsIHdyaXRhYmxlLCAmcGZuKTsKIAkJ aWYgKHIgPT0gLUVBR0FJTikKIAkJCWdvdG8gcmV0cnk7CiAJCWlmIChyIDwgMCkKQEAgLTE5OTQs NyArMTk5Niw4IEBAIHN0YXRpYyBrdm1fcGZuX3QgaHZhX3RvX3Bmbih1bnNpZ25lZCBsb25nIGFk ZHIsIGJvb2wgYXRvbWljLCBib29sICphc3luYywKIAlyZXR1cm4gcGZuOwogfQogCi1rdm1fcGZu X3QgX19nZm5fdG9fcGZuX21lbXNsb3Qoc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdCwgZ2Zu X3QgZ2ZuLAora3ZtX3Bmbl90IF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KHN0cnVjdCBrdm0gKmt2bSwK KwkJCSAgICAgICBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBnZm4sCiAJCQkg ICAgICAgYm9vbCBhdG9taWMsIGJvb2wgKmFzeW5jLCBib29sIHdyaXRlX2ZhdWx0LAogCQkJICAg ICAgIGJvb2wgKndyaXRhYmxlKQogewpAQCAtMjAxOCw3ICsyMDIxLDcgQEAga3ZtX3Bmbl90IF9f Z2ZuX3RvX3Bmbl9tZW1zbG90KHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdm biwKIAkJd3JpdGFibGUgPSBOVUxMOwogCX0KIAotCXJldHVybiBodmFfdG9fcGZuKGFkZHIsIGF0 b21pYywgYXN5bmMsIHdyaXRlX2ZhdWx0LAorCXJldHVybiBodmFfdG9fcGZuKGt2bSwgYWRkciwg YXRvbWljLCBhc3luYywgd3JpdGVfZmF1bHQsCiAJCQkgIHdyaXRhYmxlKTsKIH0KIEVYUE9SVF9T WU1CT0xfR1BMKF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KTsKQEAgLTIwMjYsMzggKzIwMjksNDMgQEAg RVhQT1JUX1NZTUJPTF9HUEwoX19nZm5fdG9fcGZuX21lbXNsb3QpOwoga3ZtX3Bmbl90IGdmbl90 b19wZm5fcHJvdChzdHJ1Y3Qga3ZtICprdm0sIGdmbl90IGdmbiwgYm9vbCB3cml0ZV9mYXVsdCwK IAkJICAgICAgYm9vbCAqd3JpdGFibGUpCiB7Ci0JcmV0dXJuIF9fZ2ZuX3RvX3Bmbl9tZW1zbG90 KGdmbl90b19tZW1zbG90KGt2bSwgZ2ZuKSwgZ2ZuLCBmYWxzZSwgTlVMTCwKKwlyZXR1cm4gX19n Zm5fdG9fcGZuX21lbXNsb3Qoa3ZtLCBnZm5fdG9fbWVtc2xvdChrdm0sIGdmbiksIGdmbiwKKwkJ CQkgICAgZmFsc2UsIE5VTEwsCiAJCQkJICAgIHdyaXRlX2ZhdWx0LCB3cml0YWJsZSk7CiB9CiBF WFBPUlRfU1lNQk9MX0dQTChnZm5fdG9fcGZuX3Byb3QpOwogCi1rdm1fcGZuX3QgZ2ZuX3RvX3Bm bl9tZW1zbG90KHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdmbikKK2t2bV9w Zm5fdCBnZm5fdG9fcGZuX21lbXNsb3Qoc3RydWN0IGt2bSAqa3ZtLAorCQkJICAgICBzdHJ1Y3Qg a3ZtX21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBnZm4pCiB7Ci0JcmV0dXJuIF9fZ2ZuX3RvX3Bm bl9tZW1zbG90KHNsb3QsIGdmbiwgZmFsc2UsIE5VTEwsIHRydWUsIE5VTEwpOworCXJldHVybiBf X2dmbl90b19wZm5fbWVtc2xvdChrdm0sIHNsb3QsIGdmbiwgZmFsc2UsIE5VTEwsIHRydWUsIE5V TEwpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoZ2ZuX3RvX3Bmbl9tZW1zbG90KTsKIAota3ZtX3Bm bl90IGdmbl90b19wZm5fbWVtc2xvdF9hdG9taWMoc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xv dCwgZ2ZuX3QgZ2ZuKQora3ZtX3Bmbl90IGdmbl90b19wZm5fbWVtc2xvdF9hdG9taWMoc3RydWN0 IGt2bSAqa3ZtLAorCQkJCSAgICBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBn Zm4pCiB7Ci0JcmV0dXJuIF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KHNsb3QsIGdmbiwgdHJ1ZSwgTlVM TCwgdHJ1ZSwgTlVMTCk7CisJcmV0dXJuIF9fZ2ZuX3RvX3Bmbl9tZW1zbG90KGt2bSwgc2xvdCwg Z2ZuLCB0cnVlLCBOVUxMLCB0cnVlLCBOVUxMKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGdmbl90 b19wZm5fbWVtc2xvdF9hdG9taWMpOwogCiBrdm1fcGZuX3Qga3ZtX3ZjcHVfZ2ZuX3RvX3Bmbl9h dG9taWMoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBnZm5fdCBnZm4pCiB7Ci0JcmV0dXJuIGdmbl90 b19wZm5fbWVtc2xvdF9hdG9taWMoa3ZtX3ZjcHVfZ2ZuX3RvX21lbXNsb3QodmNwdSwgZ2ZuKSwg Z2ZuKTsKKwlyZXR1cm4gZ2ZuX3RvX3Bmbl9tZW1zbG90X2F0b21pYyh2Y3B1LT5rdm0sCisJCQkJ CSBrdm1fdmNwdV9nZm5fdG9fbWVtc2xvdCh2Y3B1LCBnZm4pLCBnZm4pOwogfQogRVhQT1JUX1NZ TUJPTF9HUEwoa3ZtX3ZjcHVfZ2ZuX3RvX3Bmbl9hdG9taWMpOwogCiBrdm1fcGZuX3QgZ2ZuX3Rv X3BmbihzdHJ1Y3Qga3ZtICprdm0sIGdmbl90IGdmbikKIHsKLQlyZXR1cm4gZ2ZuX3RvX3Bmbl9t ZW1zbG90KGdmbl90b19tZW1zbG90KGt2bSwgZ2ZuKSwgZ2ZuKTsKKwlyZXR1cm4gZ2ZuX3RvX3Bm bl9tZW1zbG90KGt2bSwgZ2ZuX3RvX21lbXNsb3Qoa3ZtLCBnZm4pLCBnZm4pOwogfQogRVhQT1JU X1NZTUJPTF9HUEwoZ2ZuX3RvX3Bmbik7CiAKIGt2bV9wZm5fdCBrdm1fdmNwdV9nZm5fdG9fcGZu KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgZ2ZuX3QgZ2ZuKQogewotCXJldHVybiBnZm5fdG9fcGZu X21lbXNsb3Qoa3ZtX3ZjcHVfZ2ZuX3RvX21lbXNsb3QodmNwdSwgZ2ZuKSwgZ2ZuKTsKKwlyZXR1 cm4gZ2ZuX3RvX3Bmbl9tZW1zbG90KHZjcHUtPmt2bSwKKwkJCQkgIGt2bV92Y3B1X2dmbl90b19t ZW1zbG90KHZjcHUsIGdmbiksIGdmbik7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChrdm1fdmNwdV9n Zm5fdG9fcGZuKTsKIApAQCAtMjExNSwxOCArMjEyMywyMCBAQCB2b2lkIGt2bV9yZWxlYXNlX3Bm bihrdm1fcGZuX3QgcGZuLCBib29sIGRpcnR5LCBzdHJ1Y3QgZ2ZuX3RvX3Bmbl9jYWNoZSAqY2Fj aGUpCiAJCWt2bV9yZWxlYXNlX3Bmbl9jbGVhbihwZm4pOwogfQogCi1zdGF0aWMgdm9pZCBrdm1f Y2FjaGVfZ2ZuX3RvX3BmbihzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpzbG90LCBnZm5fdCBnZm4s CitzdGF0aWMgdm9pZCBrdm1fY2FjaGVfZ2ZuX3RvX3BmbihzdHJ1Y3Qga3ZtICprdm0sCisJCQkJ IHN0cnVjdCBrdm1fbWVtb3J5X3Nsb3QgKnNsb3QsIGdmbl90IGdmbiwKIAkJCQkgc3RydWN0IGdm bl90b19wZm5fY2FjaGUgKmNhY2hlLCB1NjQgZ2VuKQogewogCWt2bV9yZWxlYXNlX3BmbihjYWNo ZS0+cGZuLCBjYWNoZS0+ZGlydHksIGNhY2hlKTsKIAotCWNhY2hlLT5wZm4gPSBnZm5fdG9fcGZu X21lbXNsb3Qoc2xvdCwgZ2ZuKTsKKwljYWNoZS0+cGZuID0gZ2ZuX3RvX3Bmbl9tZW1zbG90KGt2 bSwgc2xvdCwgZ2ZuKTsKIAljYWNoZS0+Z2ZuID0gZ2ZuOwogCWNhY2hlLT5kaXJ0eSA9IGZhbHNl OwogCWNhY2hlLT5nZW5lcmF0aW9uID0gZ2VuOwogfQogCi1zdGF0aWMgaW50IF9fa3ZtX21hcF9n Zm4oc3RydWN0IGt2bV9tZW1zbG90cyAqc2xvdHMsIGdmbl90IGdmbiwKK3N0YXRpYyBpbnQgX19r dm1fbWFwX2dmbihzdHJ1Y3Qga3ZtICprdm0sCisJCQkgc3RydWN0IGt2bV9tZW1zbG90cyAqc2xv dHMsIGdmbl90IGdmbiwKIAkJCSBzdHJ1Y3Qga3ZtX2hvc3RfbWFwICptYXAsCiAJCQkgc3RydWN0 IGdmbl90b19wZm5fY2FjaGUgKmNhY2hlLAogCQkJIGJvb2wgYXRvbWljKQpAQCAtMjE0NSwxMyAr MjE1NSwxMyBAQCBzdGF0aWMgaW50IF9fa3ZtX21hcF9nZm4oc3RydWN0IGt2bV9tZW1zbG90cyAq c2xvdHMsIGdmbl90IGdmbiwKIAkJCWNhY2hlLT5nZW5lcmF0aW9uICE9IGdlbikgewogCQkJaWYg KGF0b21pYykKIAkJCQlyZXR1cm4gLUVBR0FJTjsKLQkJCWt2bV9jYWNoZV9nZm5fdG9fcGZuKHNs b3QsIGdmbiwgY2FjaGUsIGdlbik7CisJCQlrdm1fY2FjaGVfZ2ZuX3RvX3Bmbihrdm0sIHNsb3Qs IGdmbiwgY2FjaGUsIGdlbik7CiAJCX0KIAkJcGZuID0gY2FjaGUtPnBmbjsKIAl9IGVsc2Ugewog CQlpZiAoYXRvbWljKQogCQkJcmV0dXJuIC1FQUdBSU47Ci0JCXBmbiA9IGdmbl90b19wZm5fbWVt c2xvdChzbG90LCBnZm4pOworCQlwZm4gPSBnZm5fdG9fcGZuX21lbXNsb3Qoa3ZtLCBzbG90LCBn Zm4pOwogCX0KIAlpZiAoaXNfZXJyb3Jfbm9zbG90X3BmbihwZm4pKQogCQlyZXR1cm4gLUVJTlZB TDsKQEAgLTIxODQsMTQgKzIxOTQsMTQgQEAgc3RhdGljIGludCBfX2t2bV9tYXBfZ2ZuKHN0cnVj dCBrdm1fbWVtc2xvdHMgKnNsb3RzLCBnZm5fdCBnZm4sCiBpbnQga3ZtX21hcF9nZm4oc3RydWN0 IGt2bV92Y3B1ICp2Y3B1LCBnZm5fdCBnZm4sIHN0cnVjdCBrdm1faG9zdF9tYXAgKm1hcCwKIAkJ c3RydWN0IGdmbl90b19wZm5fY2FjaGUgKmNhY2hlLCBib29sIGF0b21pYykKIHsKLQlyZXR1cm4g X19rdm1fbWFwX2dmbihrdm1fbWVtc2xvdHModmNwdS0+a3ZtKSwgZ2ZuLCBtYXAsCisJcmV0dXJu IF9fa3ZtX21hcF9nZm4odmNwdS0+a3ZtLCBrdm1fbWVtc2xvdHModmNwdS0+a3ZtKSwgZ2ZuLCBt YXAsCiAJCQljYWNoZSwgYXRvbWljKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGt2bV9tYXBfZ2Zu KTsKIAogaW50IGt2bV92Y3B1X21hcChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIGdmbl90IGdmbiwg c3RydWN0IGt2bV9ob3N0X21hcCAqbWFwKQogewotCXJldHVybiBfX2t2bV9tYXBfZ2ZuKGt2bV92 Y3B1X21lbXNsb3RzKHZjcHUpLCBnZm4sIG1hcCwKKwlyZXR1cm4gX19rdm1fbWFwX2dmbih2Y3B1 LT5rdm0sIGt2bV92Y3B1X21lbXNsb3RzKHZjcHUpLCBnZm4sIG1hcCwKIAkJTlVMTCwgZmFsc2Up OwogfQogRVhQT1JUX1NZTUJPTF9HUEwoa3ZtX3ZjcHVfbWFwKTsKLS0gCjIuMjkuMgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==