From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger He Subject: [PATCH 2/7] drm/ttm: use an operation ctx for ttm_mem_global_alloc Date: Wed, 20 Dec 2017 18:34:56 +0800 Message-ID: <1513766101-15993-2-git-send-email-Hongbo.He@amd.com> References: <1513766101-15993-1-git-send-email-Hongbo.He@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1513766101-15993-1-git-send-email-Hongbo.He-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Roger He List-Id: dri-devel@lists.freedesktop.org Q2hhbmdlLUlkOiBJNTI3OWI1Y2QzNTYwYzQwODJiMDBmODIyMjE5NTc1YTVmOWMzODA4YQpTaWdu ZWQtb2ZmLWJ5OiBSb2dlciBIZSA8SG9uZ2JvLkhlQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fYm8uYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fbWVtb3J5LmMgICAgICAgICAgICAgICAgfCAxNSArKysrKysrKystLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX29iamVjdC5jICAgICAgICAgICAgICAgIHwgMTMgKysr KysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYmluZGluZy5jICAgICAg ICAgfCAgNiArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2J1ZmZlci5jICAg ICAgICAgIHwgMTMgKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf Y29udGV4dC5jICAgICAgICAgfCAgNiArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X2NvdGFibGUuYyAgICAgICAgIHwgIDYgKysrKystCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9mZW5jZS5jICAgICAgICAgICB8ICA2ICsrKysrLQogZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfc2hhZGVyLmMgICAgICAgICAgfCAxOCArKysrKysrKysrKysrKystLS0KIGRy aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3NpbXBsZV9yZXNvdXJjZS5jIHwgIDYgKysrKyst CiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zby5jICAgICAgICAgICAgICB8ICA2ICsr KysrLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jICAgICAgICAgfCAx MiArKysrKysrKysrLS0KIGluY2x1ZGUvZHJtL3R0bS90dG1fbWVtb3J5LmggICAgICAgICAgICAg ICAgICAgIHwgIDMgKystCiAxMyBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCAyNSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jIGIv ZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwppbmRleCBmYTU3YWE4Li5jNTlmNTcyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS90dG0vdHRtX2JvLmMKQEAgLTExMzMsNyArMTEzMyw3IEBAIGludCB0dG1fYm9faW5pdF9yZXNl cnZlZChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKIAlzdHJ1Y3QgdHRtX21lbV9nbG9iYWwg Km1lbV9nbG9iID0gYmRldi0+Z2xvYi0+bWVtX2dsb2I7CiAJYm9vbCBsb2NrZWQ7CiAKLQlyZXQg PSB0dG1fbWVtX2dsb2JhbF9hbGxvYyhtZW1fZ2xvYiwgYWNjX3NpemUsIGZhbHNlLCBmYWxzZSk7 CisJcmV0ID0gdHRtX21lbV9nbG9iYWxfYWxsb2MobWVtX2dsb2IsIGFjY19zaXplLCBjdHgpOwog CWlmIChyZXQpIHsKIAkJcHJfZXJyKCJPdXQgb2Yga2VybmVsIG1lbW9yeVxuIik7CiAJCWlmIChk ZXN0cm95KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fbWVtb3J5LmMgYi9k cml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9tZW1vcnkuYwppbmRleCA5MTMwYmRmLi41MjVkM2I2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9tZW1vcnkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vdHRtL3R0bV9tZW1vcnkuYwpAQCAtNTA4LDcgKzUwOCw3IEBAIHN0YXRpYyBpbnQg dHRtX21lbV9nbG9iYWxfcmVzZXJ2ZShzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKmdsb2IsCiBzdGF0 aWMgaW50IHR0bV9tZW1fZ2xvYmFsX2FsbG9jX3pvbmUoc3RydWN0IHR0bV9tZW1fZ2xvYmFsICpn bG9iLAogCQkJCSAgICAgc3RydWN0IHR0bV9tZW1fem9uZSAqc2luZ2xlX3pvbmUsCiAJCQkJICAg ICB1aW50NjRfdCBtZW1vcnksCi0JCQkJICAgICBib29sIG5vX3dhaXQsIGJvb2wgaW50ZXJydXB0 aWJsZSkKKwkJCQkgICAgIHN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCAqY3R4KQogewogCWludCBj b3VudCA9IFRUTV9NRU1PUllfQUxMT0NfUkVUUklFUzsKIApAQCAtNTE2LDcgKzUxNiw3IEBAIHN0 YXRpYyBpbnQgdHRtX21lbV9nbG9iYWxfYWxsb2Nfem9uZShzdHJ1Y3QgdHRtX21lbV9nbG9iYWwg Kmdsb2IsCiAJCQkJCSAgICAgICBzaW5nbGVfem9uZSwKIAkJCQkJICAgICAgIG1lbW9yeSwgdHJ1 ZSkKIAkJCSE9IDApKSB7Ci0JCWlmIChub193YWl0KQorCQlpZiAoY3R4LT5ub193YWl0X2dwdSkK IAkJCXJldHVybiAtRU5PTUVNOwogCQlpZiAodW5saWtlbHkoY291bnQtLSA9PSAwKSkKIAkJCXJl dHVybiAtRU5PTUVNOwpAQCAtNTI3LDE1ICs1MjcsMTQgQEAgc3RhdGljIGludCB0dG1fbWVtX2ds b2JhbF9hbGxvY196b25lKHN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqZ2xvYiwKIH0KIAogaW50IHR0 bV9tZW1fZ2xvYmFsX2FsbG9jKHN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqZ2xvYiwgdWludDY0X3Qg bWVtb3J5LAotCQkJIGJvb2wgbm9fd2FpdCwgYm9vbCBpbnRlcnJ1cHRpYmxlKQorCQkJIHN0cnVj dCB0dG1fb3BlcmF0aW9uX2N0eCAqY3R4KQogewogCS8qKgogCSAqIE5vcm1hbCBhbGxvY2F0aW9u cyBvZiBrZXJuZWwgbWVtb3J5IGFyZSByZWdpc3RlcmVkIGluCiAJICogYWxsIHpvbmVzLgogCSAq LwogCi0JcmV0dXJuIHR0bV9tZW1fZ2xvYmFsX2FsbG9jX3pvbmUoZ2xvYiwgTlVMTCwgbWVtb3J5 LCBub193YWl0LAotCQkJCQkgaW50ZXJydXB0aWJsZSk7CisJcmV0dXJuIHR0bV9tZW1fZ2xvYmFs X2FsbG9jX3pvbmUoZ2xvYiwgTlVMTCwgbWVtb3J5LCBjdHgpOwogfQogRVhQT1JUX1NZTUJPTCh0 dG1fbWVtX2dsb2JhbF9hbGxvYyk7CiAKQEAgLTU0NCw2ICs1NDMsMTAgQEAgaW50IHR0bV9tZW1f Z2xvYmFsX2FsbG9jX3BhZ2Uoc3RydWN0IHR0bV9tZW1fZ2xvYmFsICpnbG9iLAogewogCiAJc3Ry dWN0IHR0bV9tZW1fem9uZSAqem9uZSA9IE5VTEw7CisJc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4 IGN0eCA9IHsKKwkJLmludGVycnVwdGlibGUgPSBmYWxzZSwKKwkJLm5vX3dhaXRfZ3B1ID0gZmFs c2UKKwl9OwogCiAJLyoqCiAJICogUGFnZSBhbGxvY2F0aW9ucyBtYXkgYmUgcmVnaXN0ZWQgaW4g YSBzaW5nbGUgem9uZQpAQCAtNTU3LDcgKzU2MCw3IEBAIGludCB0dG1fbWVtX2dsb2JhbF9hbGxv Y19wYWdlKHN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqZ2xvYiwKIAlpZiAoZ2xvYi0+em9uZV9kbWEz MiAmJiBwYWdlX3RvX3BmbihwYWdlKSA+IDB4MDAxMDAwMDBVTCkKIAkJem9uZSA9IGdsb2ItPnpv bmVfa2VybmVsOwogI2VuZGlmCi0JcmV0dXJuIHR0bV9tZW1fZ2xvYmFsX2FsbG9jX3pvbmUoZ2xv Yiwgem9uZSwgc2l6ZSwgZmFsc2UsIGZhbHNlKTsKKwlyZXR1cm4gdHRtX21lbV9nbG9iYWxfYWxs b2Nfem9uZShnbG9iLCB6b25lLCBzaXplLCAmY3R4KTsKIH0KIAogdm9pZCB0dG1fbWVtX2dsb2Jh bF9mcmVlX3BhZ2Uoc3RydWN0IHR0bV9tZW1fZ2xvYmFsICpnbG9iLCBzdHJ1Y3QgcGFnZSAqcGFn ZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX29iamVjdC5jIGIvZHJpdmVy cy9ncHUvZHJtL3R0bS90dG1fb2JqZWN0LmMKaW5kZXggMjZhN2FkMC4uMWFhMmJhYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fb2JqZWN0LmMKQEAgLTMyNSw2ICszMjUsMTAgQEAgaW50IHR0bV9yZWZfb2Jq ZWN0X2FkZChzdHJ1Y3QgdHRtX29iamVjdF9maWxlICp0ZmlsZSwKIAlzdHJ1Y3QgdHRtX3JlZl9v YmplY3QgKnJlZjsKIAlzdHJ1Y3QgZHJtX2hhc2hfaXRlbSAqaGFzaDsKIAlzdHJ1Y3QgdHRtX21l bV9nbG9iYWwgKm1lbV9nbG9iID0gdGZpbGUtPnRkZXYtPm1lbV9nbG9iOworCXN0cnVjdCB0dG1f b3BlcmF0aW9uX2N0eCBjdHggPSB7CisJCS5pbnRlcnJ1cHRpYmxlID0gZmFsc2UsCisJCS5ub193 YWl0X2dwdSA9IGZhbHNlCisJfTsKIAlpbnQgcmV0ID0gLUVJTlZBTDsKIAogCWlmIChiYXNlLT50 ZmlsZSAhPSB0ZmlsZSAmJiAhYmFzZS0+c2hhcmVhYmxlKQpAQCAtMzUwLDcgKzM1NCw3IEBAIGlu dCB0dG1fcmVmX29iamVjdF9hZGQoc3RydWN0IHR0bV9vYmplY3RfZmlsZSAqdGZpbGUsCiAJCQly ZXR1cm4gLUVQRVJNOwogCiAJCXJldCA9IHR0bV9tZW1fZ2xvYmFsX2FsbG9jKG1lbV9nbG9iLCBz aXplb2YoKnJlZiksCi0JCQkJCSAgIGZhbHNlLCBmYWxzZSk7CisJCQkJCSAgICZjdHgpOwogCQlp ZiAodW5saWtlbHkocmV0ICE9IDApKQogCQkJcmV0dXJuIHJldDsKIAkJcmVmID0ga21hbGxvYyhz aXplb2YoKnJlZiksIEdGUF9LRVJORUwpOwpAQCAtNjg2LDcgKzY5MCwxMCBAQCBpbnQgdHRtX3By aW1lX2hhbmRsZV90b19mZChzdHJ1Y3QgdHRtX29iamVjdF9maWxlICp0ZmlsZSwKIAlkbWFfYnVm ID0gcHJpbWUtPmRtYV9idWY7CiAJaWYgKCFkbWFfYnVmIHx8ICFnZXRfZG1hX2J1Zl91bmxlc3Nf ZG9vbWVkKGRtYV9idWYpKSB7CiAJCURFRklORV9ETUFfQlVGX0VYUE9SVF9JTkZPKGV4cF9pbmZv KTsKLQorCQlzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggY3R4ID0geworCQkJLmludGVycnVwdGli bGUgPSB0cnVlLAorCQkJLm5vX3dhaXRfZ3B1ID0gZmFsc2UKKwkJfTsKIAkJZXhwX2luZm8ub3Bz ID0gJnRkZXYtPm9wczsKIAkJZXhwX2luZm8uc2l6ZSA9IHByaW1lLT5zaXplOwogCQlleHBfaW5m by5mbGFncyA9IGZsYWdzOwpAQCAtNjk2LDcgKzcwMyw3IEBAIGludCB0dG1fcHJpbWVfaGFuZGxl X3RvX2ZkKHN0cnVjdCB0dG1fb2JqZWN0X2ZpbGUgKnRmaWxlLAogCQkgKiBOZWVkIHRvIGNyZWF0 ZSBhIG5ldyBkbWFfYnVmLCB3aXRoIG1lbW9yeSBhY2NvdW50aW5nLgogCQkgKi8KIAkJcmV0ID0g dHRtX21lbV9nbG9iYWxfYWxsb2ModGRldi0+bWVtX2dsb2IsIHRkZXYtPmRtYV9idWZfc2l6ZSwK LQkJCQkJICAgZmFsc2UsIHRydWUpOworCQkJCQkgICAmY3R4KTsKIAkJaWYgKHVubGlrZWx5KHJl dCAhPSAwKSkgewogCQkJbXV0ZXhfdW5sb2NrKCZwcmltZS0+bXV0ZXgpOwogCQkJZ290byBvdXRf dW5yZWY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9iaW5kaW5n LmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9iaW5kaW5nLmMKaW5kZXggOWM0MmU5 Ni4uNTVkMzJhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYmlu ZGluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2JpbmRpbmcuYwpAQCAt MTIwMiwxMCArMTIwMiwxNCBAQCBzdHJ1Y3Qgdm13X2N0eF9iaW5kaW5nX3N0YXRlICoKIHZtd19i aW5kaW5nX3N0YXRlX2FsbG9jKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3Ry dWN0IHZtd19jdHhfYmluZGluZ19zdGF0ZSAqY2JzOworCXN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0 eCBjdHggPSB7CisJCS5pbnRlcnJ1cHRpYmxlID0gZmFsc2UsCisJCS5ub193YWl0X2dwdSA9IGZh bHNlCisJfTsKIAlpbnQgcmV0OwogCiAJcmV0ID0gdHRtX21lbV9nbG9iYWxfYWxsb2Modm13X21l bV9nbG9iKGRldl9wcml2KSwgc2l6ZW9mKCpjYnMpLAotCQkJCSAgIGZhbHNlLCBmYWxzZSk7CisJ CQkJJmN0eCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9idWZmZXIuYwppbmRleCBjNzA1NjMyLi5lZjk3NTQyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9idWZmZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9idWZmZXIuYwpAQCAtMzk0LDYgKzM5NCwxMCBAQCBzdGF0 aWMgaW50IHZtd190dG1fbWFwX2RtYShzdHJ1Y3Qgdm13X3R0bV90dCAqdm13X3R0KQogCXN0cnVj dCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYgPSB2bXdfdHQtPmRldl9wcml2OwogCXN0cnVjdCB0dG1f bWVtX2dsb2JhbCAqZ2xvYiA9IHZtd19tZW1fZ2xvYihkZXZfcHJpdik7CiAJc3RydWN0IHZtd19z Z190YWJsZSAqdnNndCA9ICZ2bXdfdHQtPnZzZ3Q7CisJc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4 IGN0eCA9IHsKKwkJLmludGVycnVwdGlibGUgPSB0cnVlLAorCQkubm9fd2FpdF9ncHUgPSBmYWxz ZQorCX07CiAJc3RydWN0IHZtd19waXRlciBpdGVyOwogCWRtYV9hZGRyX3Qgb2xkOwogCWludCBy ZXQgPSAwOwpAQCAtNDE3LDggKzQyMSw3IEBAIHN0YXRpYyBpbnQgdm13X3R0bV9tYXBfZG1hKHN0 cnVjdCB2bXdfdHRtX3R0ICp2bXdfdHQpCiAJCQlzZ3Rfc2l6ZSA9IHR0bV9yb3VuZF9wb3Qoc2l6 ZW9mKHN0cnVjdCBzZ190YWJsZSkpOwogCQl9CiAJCXZtd190dC0+c2dfYWxsb2Nfc2l6ZSA9IHNn dF9zaXplICsgc2dsX3NpemUgKiB2c2d0LT5udW1fcGFnZXM7Ci0JCXJldCA9IHR0bV9tZW1fZ2xv YmFsX2FsbG9jKGdsb2IsIHZtd190dC0+c2dfYWxsb2Nfc2l6ZSwgZmFsc2UsCi0JCQkJCSAgIHRy dWUpOworCQlyZXQgPSB0dG1fbWVtX2dsb2JhbF9hbGxvYyhnbG9iLCB2bXdfdHQtPnNnX2FsbG9j X3NpemUsICZjdHgpOwogCQlpZiAodW5saWtlbHkocmV0ICE9IDApKQogCQkJcmV0dXJuIHJldDsK IApAQCAtNjM4LDYgKzY0MSwxMCBAQCBzdGF0aWMgaW50IHZtd190dG1fcG9wdWxhdGUoc3RydWN0 IHR0bV90dCAqdHRtKQogCQljb250YWluZXJfb2YodHRtLCBzdHJ1Y3Qgdm13X3R0bV90dCwgZG1h X3R0bS50dG0pOwogCXN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYgPSB2bXdfdHQtPmRldl9w cml2OwogCXN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqZ2xvYiA9IHZtd19tZW1fZ2xvYihkZXZfcHJp dik7CisJc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsKKwkJLmludGVycnVwdGlibGUg PSB0cnVlLAorCQkubm9fd2FpdF9ncHUgPSBmYWxzZQorCX07CiAJaW50IHJldDsKIAogCWlmICh0 dG0tPnN0YXRlICE9IHR0X3VucG9wdWxhdGVkKQpAQCAtNjQ2LDcgKzY1Myw3IEBAIHN0YXRpYyBp bnQgdm13X3R0bV9wb3B1bGF0ZShzdHJ1Y3QgdHRtX3R0ICp0dG0pCiAJaWYgKGRldl9wcml2LT5t YXBfbW9kZSA9PSB2bXdfZG1hX2FsbG9jX2NvaGVyZW50KSB7CiAJCXNpemVfdCBzaXplID0KIAkJ CXR0bV9yb3VuZF9wb3QodHRtLT5udW1fcGFnZXMgKiBzaXplb2YoZG1hX2FkZHJfdCkpOwotCQly ZXQgPSB0dG1fbWVtX2dsb2JhbF9hbGxvYyhnbG9iLCBzaXplLCBmYWxzZSwgdHJ1ZSk7CisJCXJl dCA9IHR0bV9tZW1fZ2xvYmFsX2FsbG9jKGdsb2IsIHNpemUsICZjdHgpOwogCQlpZiAodW5saWtl bHkocmV0ICE9IDApKQogCQkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn ZnhfY29udGV4dC5jCmluZGV4IDQyMTJiM2UuLjM3NjdhYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9jb250ZXh0LmMKQEAgLTc0Niw2ICs3NDYsMTAgQEAgc3RhdGljIGludCB2bXdf Y29udGV4dF9kZWZpbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlzdHJ1 Y3Qgdm13X3Jlc291cmNlICp0bXA7CiAJc3RydWN0IGRybV92bXdfY29udGV4dF9hcmcgKmFyZyA9 IChzdHJ1Y3QgZHJtX3Ztd19jb250ZXh0X2FyZyAqKWRhdGE7CiAJc3RydWN0IHR0bV9vYmplY3Rf ZmlsZSAqdGZpbGUgPSB2bXdfZnByaXYoZmlsZV9wcml2KS0+dGZpbGU7CisJc3RydWN0IHR0bV9v cGVyYXRpb25fY3R4IHR0bV9vcHRfY3R4ID0geworCQkuaW50ZXJydXB0aWJsZSA9IHRydWUsCisJ CS5ub193YWl0X2dwdSA9IGZhbHNlCisJfTsKIAlpbnQgcmV0OwogCiAJaWYgKCFkZXZfcHJpdi0+ aGFzX2R4ICYmIGR4KSB7CkBAIC03NjgsNyArNzcyLDcgQEAgc3RhdGljIGludCB2bXdfY29udGV4 dF9kZWZpbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAogCXJldCA9IHR0 bV9tZW1fZ2xvYmFsX2FsbG9jKHZtd19tZW1fZ2xvYihkZXZfcHJpdiksCiAJCQkJICAgdm13X3Vz ZXJfY29udGV4dF9zaXplLAotCQkJCSAgIGZhbHNlLCB0cnVlKTsKKwkJCQkgICAmdHRtX29wdF9j dHgpOwogCWlmICh1bmxpa2VseShyZXQgIT0gMCkpIHsKIAkJaWYgKHJldCAhPSAtRVJFU1RBUlRT WVMpCiAJCQlEUk1fRVJST1IoIk91dCBvZiBncmFwaGljcyBtZW1vcnkgZm9yIGNvbnRleHQiCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9jb3RhYmxlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9jb3RhYmxlLmMKaW5kZXggOTJkZjBiMC4uY2JmNTRl YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2NvdGFibGUuYwpAQCAtNTczLDYgKzU3 MywxMCBAQCBzdHJ1Y3Qgdm13X3Jlc291cmNlICp2bXdfY290YWJsZV9hbGxvYyhzdHJ1Y3Qgdm13 X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICAgICB1MzIgdHlwZSkKIHsKIAlzdHJ1Y3Qgdm13 X2NvdGFibGUgKnZjb3RibDsKKwlzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggdHRtX29wdF9jdHgg PSB7CisJCS5pbnRlcnJ1cHRpYmxlID0gdHJ1ZSwKKwkJLm5vX3dhaXRfZ3B1ID0gZmFsc2UKKwl9 OwogCWludCByZXQ7CiAJdTMyIG51bV9lbnRyaWVzOwogCkBAIC01ODAsNyArNTg0LDcgQEAgc3Ry dWN0IHZtd19yZXNvdXJjZSAqdm13X2NvdGFibGVfYWxsb2Moc3RydWN0IHZtd19wcml2YXRlICpk ZXZfcHJpdiwKIAkJY290YWJsZV9hY2Nfc2l6ZSA9IHR0bV9yb3VuZF9wb3Qoc2l6ZW9mKHN0cnVj dCB2bXdfY290YWJsZSkpOwogCiAJcmV0ID0gdHRtX21lbV9nbG9iYWxfYWxsb2Modm13X21lbV9n bG9iKGRldl9wcml2KSwKLQkJCQkgICBjb3RhYmxlX2FjY19zaXplLCBmYWxzZSwgdHJ1ZSk7CisJ CQkJICAgY290YWJsZV9hY2Nfc2l6ZSwgJnR0bV9vcHRfY3R4KTsKIAlpZiAodW5saWtlbHkocmV0 KSkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfZmVuY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Zl bmNlLmMKaW5kZXggZDZiMWM1MC4uNmM1Yzc1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfZmVuY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9mZW5jZS5jCkBAIC01ODgsNiArNTg4LDEwIEBAIGludCB2bXdfdXNlcl9mZW5jZV9jcmVhdGUo c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJc3RydWN0IHZtd191c2VyX2ZlbmNlICp1ZmVu Y2U7CiAJc3RydWN0IHZtd19mZW5jZV9vYmogKnRtcDsKIAlzdHJ1Y3QgdHRtX21lbV9nbG9iYWwg Km1lbV9nbG9iID0gdm13X21lbV9nbG9iKGZtYW4tPmRldl9wcml2KTsKKwlzdHJ1Y3QgdHRtX29w ZXJhdGlvbl9jdHggY3R4ID0geworCQkuaW50ZXJydXB0aWJsZSA9IGZhbHNlLAorCQkubm9fd2Fp dF9ncHUgPSBmYWxzZQorCX07CiAJaW50IHJldDsKIAogCS8qCkBAIC01OTYsNyArNjAwLDcgQEAg aW50IHZtd191c2VyX2ZlbmNlX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkg Ki8KIAogCXJldCA9IHR0bV9tZW1fZ2xvYmFsX2FsbG9jKG1lbV9nbG9iLCBmbWFuLT51c2VyX2Zl bmNlX3NpemUsCi0JCQkJICAgZmFsc2UsIGZhbHNlKTsKKwkJCQkgICAmY3R4KTsKIAlpZiAodW5s aWtlbHkocmV0ICE9IDApKQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vdm13Z2Z4L3Ztd2dmeF9zaGFkZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X3NoYWRlci5jCmluZGV4IDAwNGUxOGIuLjczYjhlOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3NoYWRlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X3NoYWRlci5jCkBAIC02MDcsNiArNjA3LDEwIEBAIGludCB2bXdfZHhfc2hhZGVy X2FkZChzdHJ1Y3Qgdm13X2NtZGJ1Zl9yZXNfbWFuYWdlciAqbWFuLAogCXN0cnVjdCB2bXdfZHhf c2hhZGVyICpzaGFkZXI7CiAJc3RydWN0IHZtd19yZXNvdXJjZSAqcmVzOwogCXN0cnVjdCB2bXdf cHJpdmF0ZSAqZGV2X3ByaXYgPSBjdHgtPmRldl9wcml2OworCXN0cnVjdCB0dG1fb3BlcmF0aW9u X2N0eCB0dG1fb3B0X2N0eCA9IHsKKwkJLmludGVycnVwdGlibGUgPSB0cnVlLAorCQkubm9fd2Fp dF9ncHUgPSBmYWxzZQorCX07CiAJaW50IHJldDsKIAogCWlmICghdm13X3NoYWRlcl9keF9zaXpl KQpAQCAtNjE2LDcgKzYyMCw3IEBAIGludCB2bXdfZHhfc2hhZGVyX2FkZChzdHJ1Y3Qgdm13X2Nt ZGJ1Zl9yZXNfbWFuYWdlciAqbWFuLAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXJldCA9IHR0bV9t ZW1fZ2xvYmFsX2FsbG9jKHZtd19tZW1fZ2xvYihkZXZfcHJpdiksIHZtd19zaGFkZXJfZHhfc2l6 ZSwKLQkJCQkgICBmYWxzZSwgdHJ1ZSk7CisJCQkJICAgJnR0bV9vcHRfY3R4KTsKIAlpZiAocmV0 KSB7CiAJCWlmIChyZXQgIT0gLUVSRVNUQVJUU1lTKQogCQkJRFJNX0VSUk9SKCJPdXQgb2YgZ3Jh cGhpY3MgbWVtb3J5IGZvciBzaGFkZXIgIgpAQCAtNzMwLDYgKzczNCwxMCBAQCBzdGF0aWMgaW50 IHZtd191c2VyX3NoYWRlcl9hbGxvYyhzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAogewog CXN0cnVjdCB2bXdfdXNlcl9zaGFkZXIgKnVzaGFkZXI7CiAJc3RydWN0IHZtd19yZXNvdXJjZSAq cmVzLCAqdG1wOworCXN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCBjdHggPSB7CisJCS5pbnRlcnJ1 cHRpYmxlID0gdHJ1ZSwKKwkJLm5vX3dhaXRfZ3B1ID0gZmFsc2UKKwl9OwogCWludCByZXQ7CiAK IAkvKgpAQCAtNzQyLDcgKzc1MCw3IEBAIHN0YXRpYyBpbnQgdm13X3VzZXJfc2hhZGVyX2FsbG9j KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlyZXQgPSB0dG1fbWVtX2dsb2JhbF9h bGxvYyh2bXdfbWVtX2dsb2IoZGV2X3ByaXYpLAogCQkJCSAgIHZtd191c2VyX3NoYWRlcl9zaXpl LAotCQkJCSAgIGZhbHNlLCB0cnVlKTsKKwkJCQkgICAmY3R4KTsKIAlpZiAodW5saWtlbHkocmV0 ICE9IDApKSB7CiAJCWlmIChyZXQgIT0gLUVSRVNUQVJUU1lTKQogCQkJRFJNX0VSUk9SKCJPdXQg b2YgZ3JhcGhpY3MgbWVtb3J5IGZvciBzaGFkZXIgIgpAQCAtODAwLDYgKzgwOCwxMCBAQCBzdGF0 aWMgc3RydWN0IHZtd19yZXNvdXJjZSAqdm13X3NoYWRlcl9hbGxvYyhzdHJ1Y3Qgdm13X3ByaXZh dGUgKmRldl9wcml2LAogewogCXN0cnVjdCB2bXdfc2hhZGVyICpzaGFkZXI7CiAJc3RydWN0IHZt d19yZXNvdXJjZSAqcmVzOworCXN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCBjdHggPSB7CisJCS5p bnRlcnJ1cHRpYmxlID0gdHJ1ZSwKKwkJLm5vX3dhaXRfZ3B1ID0gZmFsc2UKKwl9OwogCWludCBy ZXQ7CiAKIAkvKgpAQCAtODEyLDcgKzgyNCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgdm13X3Jlc291cmNl ICp2bXdfc2hhZGVyX2FsbG9jKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlyZXQg PSB0dG1fbWVtX2dsb2JhbF9hbGxvYyh2bXdfbWVtX2dsb2IoZGV2X3ByaXYpLAogCQkJCSAgIHZt d19zaGFkZXJfc2l6ZSwKLQkJCQkgICBmYWxzZSwgdHJ1ZSk7CisJCQkJICAgJmN0eCk7CiAJaWYg KHVubGlrZWx5KHJldCAhPSAwKSkgewogCQlpZiAocmV0ICE9IC1FUkVTVEFSVFNZUykKIAkJCURS TV9FUlJPUigiT3V0IG9mIGdyYXBoaWNzIG1lbW9yeSBmb3Igc2hhZGVyICIKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3NpbXBsZV9yZXNvdXJjZS5jIGIvZHJpdmVy cy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2ltcGxlX3Jlc291cmNlLmMKaW5kZXggMDUxZDNiMy4u YTBjYjMxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2ltcGxl X3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2ltcGxlX3Jl c291cmNlLmMKQEAgLTE0OSw2ICsxNDksMTAgQEAgdm13X3NpbXBsZV9yZXNvdXJjZV9jcmVhdGVf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlzdHJ1Y3Qgdm13X3Jl c291cmNlICpyZXM7CiAJc3RydWN0IHZtd19yZXNvdXJjZSAqdG1wOwogCXN0cnVjdCB0dG1fb2Jq ZWN0X2ZpbGUgKnRmaWxlID0gdm13X2Zwcml2KGZpbGVfcHJpdiktPnRmaWxlOworCXN0cnVjdCB0 dG1fb3BlcmF0aW9uX2N0eCBjdHggPSB7CisJCS5pbnRlcnJ1cHRpYmxlID0gdHJ1ZSwKKwkJLm5v X3dhaXRfZ3B1ID0gZmFsc2UKKwl9OwogCXNpemVfdCBhbGxvY19zaXplOwogCXNpemVfdCBhY2Nv dW50X3NpemU7CiAJaW50IHJldDsKQEAgLTE2Miw3ICsxNjYsNyBAQCB2bXdfc2ltcGxlX3Jlc291 cmNlX2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQly ZXR1cm4gcmV0OwogCiAJcmV0ID0gdHRtX21lbV9nbG9iYWxfYWxsb2Modm13X21lbV9nbG9iKGRl dl9wcml2KSwgYWNjb3VudF9zaXplLAotCQkJCSAgIGZhbHNlLCB0cnVlKTsKKwkJCQkgICAmY3R4 KTsKIAl0dG1fcmVhZF91bmxvY2soJmRldl9wcml2LT5yZXNlcnZhdGlvbl9zZW0pOwogCWlmIChy ZXQpIHsKIAkJaWYgKHJldCAhPSAtRVJFU1RBUlRTWVMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vdm13Z2Z4L3Ztd2dmeF9zby5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf c28uYwppbmRleCA1YTczZWViLi5kMzU3M2MzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9zby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Nv LmMKQEAgLTMyOSw2ICszMjksMTAgQEAgaW50IHZtd192aWV3X2FkZChzdHJ1Y3Qgdm13X2NtZGJ1 Zl9yZXNfbWFuYWdlciAqbWFuLAogCXN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjdHgt PmRldl9wcml2OwogCXN0cnVjdCB2bXdfcmVzb3VyY2UgKnJlczsKIAlzdHJ1Y3Qgdm13X3ZpZXcg KnZpZXc7CisJc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IHR0bV9vcHRfY3R4ID0geworCQkuaW50 ZXJydXB0aWJsZSA9IHRydWUsCisJCS5ub193YWl0X2dwdSA9IGZhbHNlCisJfTsKIAlzaXplX3Qg c2l6ZTsKIAlpbnQgcmV0OwogCkBAIC0zNDUsNyArMzQ5LDcgQEAgaW50IHZtd192aWV3X2FkZChz dHJ1Y3Qgdm13X2NtZGJ1Zl9yZXNfbWFuYWdlciAqbWFuLAogCiAJc2l6ZSA9IG9mZnNldG9mKHN0 cnVjdCB2bXdfdmlldywgY21kKSArIGNtZF9zaXplOwogCi0JcmV0ID0gdHRtX21lbV9nbG9iYWxf YWxsb2Modm13X21lbV9nbG9iKGRldl9wcml2KSwgc2l6ZSwgZmFsc2UsIHRydWUpOworCXJldCA9 IHR0bV9tZW1fZ2xvYmFsX2FsbG9jKHZtd19tZW1fZ2xvYihkZXZfcHJpdiksIHNpemUsICZ0dG1f b3B0X2N0eCk7CiAJaWYgKHJldCkgewogCQlpZiAocmV0ICE9IC1FUkVTVEFSVFNZUykKIAkJCURS TV9FUlJPUigiT3V0IG9mIGdyYXBoaWNzIG1lbW9yeSBmb3IgdmlldyIKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N1cmZhY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92 bXdnZngvdm13Z2Z4X3N1cmZhY2UuYwppbmRleCA2YWMwOTRlLi5kYjFiYjE2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdXJmYWNlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jCkBAIC03MDAsNiArNzAwLDEwIEBAIGludCB2 bXdfc3VyZmFjZV9kZWZpbmVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKIAlzdHJ1Y3QgZHJtX3Ztd19zdXJmYWNlX2NyZWF0ZV9yZXEgKnJlcSA9ICZhcmctPnJlcTsK IAlzdHJ1Y3QgZHJtX3Ztd19zdXJmYWNlX2FyZyAqcmVwID0gJmFyZy0+cmVwOwogCXN0cnVjdCB0 dG1fb2JqZWN0X2ZpbGUgKnRmaWxlID0gdm13X2Zwcml2KGZpbGVfcHJpdiktPnRmaWxlOworCXN0 cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCBjdHggPSB7CisJCS5pbnRlcnJ1cHRpYmxlID0gdHJ1ZSwK KwkJLm5vX3dhaXRfZ3B1ID0gZmFsc2UKKwl9OwogCWludCByZXQ7CiAJaW50IGksIGo7CiAJdWlu dDMyX3QgY3VyX2JvX29mZnNldDsKQEAgLTc0MSw3ICs3NDUsNyBAQCBpbnQgdm13X3N1cmZhY2Vf ZGVmaW5lX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCXJldHVy biByZXQ7CiAKIAlyZXQgPSB0dG1fbWVtX2dsb2JhbF9hbGxvYyh2bXdfbWVtX2dsb2IoZGV2X3By aXYpLAotCQkJCSAgIHNpemUsIGZhbHNlLCB0cnVlKTsKKwkJCQkgICBzaXplLCAmY3R4KTsKIAlp ZiAodW5saWtlbHkocmV0ICE9IDApKSB7CiAJCWlmIChyZXQgIT0gLUVSRVNUQVJUU1lTKQogCQkJ RFJNX0VSUk9SKCJPdXQgb2YgZ3JhcGhpY3MgbWVtb3J5IGZvciBzdXJmYWNlIgpAQCAtMTQ3OSw2 ICsxNDgzLDEwIEBAIGludCB2bXdfc3VyZmFjZV9nYl9wcml2X2RlZmluZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogewogCXN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYgPSB2bXdfcHJpdihk ZXYpOwogCXN0cnVjdCB2bXdfdXNlcl9zdXJmYWNlICp1c2VyX3NyZjsKKwlzdHJ1Y3QgdHRtX29w ZXJhdGlvbl9jdHggY3R4ID0geworCQkuaW50ZXJydXB0aWJsZSA9IHRydWUsCisJCS5ub193YWl0 X2dwdSA9IGZhbHNlCisJfTsKIAlzdHJ1Y3Qgdm13X3N1cmZhY2UgKnNyZjsKIAlpbnQgcmV0Owog CXUzMiBudW1fbGF5ZXJzOwpAQCAtMTUyNSw3ICsxNTMzLDcgQEAgaW50IHZtd19zdXJmYWNlX2di X3ByaXZfZGVmaW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXJldHVybiByZXQ7CiAKIAly ZXQgPSB0dG1fbWVtX2dsb2JhbF9hbGxvYyh2bXdfbWVtX2dsb2IoZGV2X3ByaXYpLAotCQkJCSAg IHVzZXJfYWNjb3VudGluZ19zaXplLCBmYWxzZSwgdHJ1ZSk7CisJCQkJICAgdXNlcl9hY2NvdW50 aW5nX3NpemUsICZjdHgpOwogCWlmICh1bmxpa2VseShyZXQgIT0gMCkpIHsKIAkJaWYgKHJldCAh PSAtRVJFU1RBUlRTWVMpCiAJCQlEUk1fRVJST1IoIk91dCBvZiBncmFwaGljcyBtZW1vcnkgZm9y IHN1cmZhY2UiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS90dG0vdHRtX21lbW9yeS5oIGIvaW5j bHVkZS9kcm0vdHRtL3R0bV9tZW1vcnkuaAppbmRleCA4NWYzYWQ2Li43NTVjMTA3IDEwMDY0NAot LS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX21lbW9yeS5oCisrKyBiL2luY2x1ZGUvZHJtL3R0bS90 dG1fbWVtb3J5LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgog I2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1 ZGUgInR0bV9ib19hcGkuaCIKIAogLyoqCiAgKiBzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgLSBHbG9i YWwgbWVtb3J5IGFjY291bnRpbmcgc3RydWN0dXJlLgpAQCAtNzksNyArODAsNyBAQCBzdHJ1Y3Qg dHRtX21lbV9nbG9iYWwgewogZXh0ZXJuIGludCB0dG1fbWVtX2dsb2JhbF9pbml0KHN0cnVjdCB0 dG1fbWVtX2dsb2JhbCAqZ2xvYik7CiBleHRlcm4gdm9pZCB0dG1fbWVtX2dsb2JhbF9yZWxlYXNl KHN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqZ2xvYik7CiBleHRlcm4gaW50IHR0bV9tZW1fZ2xvYmFs X2FsbG9jKHN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqZ2xvYiwgdWludDY0X3QgbWVtb3J5LAotCQkJ CWJvb2wgbm9fd2FpdCwgYm9vbCBpbnRlcnJ1cHRpYmxlKTsKKwkJCQlzdHJ1Y3QgdHRtX29wZXJh dGlvbl9jdHggKmN0eCk7CiBleHRlcm4gdm9pZCB0dG1fbWVtX2dsb2JhbF9mcmVlKHN0cnVjdCB0 dG1fbWVtX2dsb2JhbCAqZ2xvYiwKIAkJCQl1aW50NjRfdCBhbW91bnQpOwogZXh0ZXJuIGludCB0 dG1fbWVtX2dsb2JhbF9hbGxvY19wYWdlKHN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqZ2xvYiwKLS0g CjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwph bWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK