From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [PATCH 22/24] drm/radeon: Move GEM BO to drm_framebuffer Date: Fri, 30 Mar 2018 15:11:36 +0100 Message-ID: <20180330141138.28987-22-daniels@collabora.com> References: <20180330141138.28987-1-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180330141138.28987-1-daniels@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , amd-gfx@lists.freedesktop.org List-Id: amd-gfx.lists.freedesktop.org U2luY2UgZHJtX2ZyYW1lYnVmZmVyIGNhbiBub3cgc3RvcmUgR0VNIG9iamVjdHMgZGlyZWN0bHks IHBsYWNlIHRoZW0KdGhlcmUgcmF0aGVyIHRoYW4gaW4gb3VyIG93biBzdWJjbGFzcy4gQXMgdGhp cyBtYWtlcyB0aGUgZnJhbWVidWZmZXIKY3JlYXRlX2hhbmRsZSBhbmQgZGVzdHJveSBmdW5jdGlv bnMgdGhlIHNhbWUgYXMgdGhlIEdFTSBmcmFtZWJ1ZmZlcgpoZWxwZXIsIHdlIGNhbiByZXVzZSB0 aG9zZS4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBTdG9uZSA8ZGFuaWVsc0Bjb2xsYWJvcmEuY29t PgpDYzogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgpDYzogQ2hyaXN0 aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgpDYzogRGF2aWQgKENodW5NaW5n KSBaaG91IDxEYXZpZDEuWmhvdUBhbWQuY29tPgpDYzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2NydGMuYyAgICAgIHwg MTAgKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMgICAg ICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYyAgICAg fCAzMSArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fZmIuYyAgICAgICAgICB8ICA4ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9sZWdhY3lfY3J0Yy5jIHwgMTEgKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fbW9kZS5oICAgICAgICB8ICAxIC0KIDYgZmlsZXMgY2hhbmdlZCwgMjIg aW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21i aW9zX2NydGMuYwppbmRleCAwMmJhYWFmMjBlOWQuLjAyOGE4MTFjMTQ2MiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMKQEAgLTExNzYsNyArMTE3Niw3IEBAIHN0YXRpYyBp bnQgZGNlNF9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkvKiBJZiBh dG9taWMsIGFzc3VtZSBmYiBvYmplY3QgaXMgcGlubmVkICYgaWRsZSAmIGZlbmNlZCBhbmQKIAkg KiBqdXN0IHVwZGF0ZSBiYXNlIHBvaW50ZXJzCiAJICovCi0Jb2JqID0gcmFkZW9uX2ZiLT5vYmo7 CisJb2JqID0gcmFkZW9uX2ZiLT5iYXNlLm9ialswXTsKIAlyYm8gPSBnZW1fdG9fcmFkZW9uX2Jv KG9iaik7CiAJciA9IHJhZGVvbl9ib19yZXNlcnZlKHJibywgZmFsc2UpOwogCWlmICh1bmxpa2Vs eShyICE9IDApKQpAQCAtMTQ0Miw3ICsxNDQyLDcgQEAgc3RhdGljIGludCBkY2U0X2NydGNfZG9f c2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJaWYgKCFhdG9taWMgJiYgZmIgJiYg ZmIgIT0gY3J0Yy0+cHJpbWFyeS0+ZmIpIHsKIAkJcmFkZW9uX2ZiID0gdG9fcmFkZW9uX2ZyYW1l YnVmZmVyKGZiKTsKLQkJcmJvID0gZ2VtX3RvX3JhZGVvbl9ibyhyYWRlb25fZmItPm9iaik7CisJ CXJibyA9IGdlbV90b19yYWRlb25fYm8ocmFkZW9uX2ZiLT5iYXNlLm9ialswXSk7CiAJCXIgPSBy YWRlb25fYm9fcmVzZXJ2ZShyYm8sIGZhbHNlKTsKIAkJaWYgKHVubGlrZWx5KHIgIT0gMCkpCiAJ CQlyZXR1cm4gcjsKQEAgLTE0OTAsNyArMTQ5MCw3IEBAIHN0YXRpYyBpbnQgYXZpdm9fY3J0Y19k b19zZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCXRhcmdldF9mYiA9IGNydGMtPnBy aW1hcnktPmZiOwogCX0KIAotCW9iaiA9IHJhZGVvbl9mYi0+b2JqOworCW9iaiA9IHJhZGVvbl9m Yi0+YmFzZS5vYmpbMF07CiAJcmJvID0gZ2VtX3RvX3JhZGVvbl9ibyhvYmopOwogCXIgPSByYWRl b25fYm9fcmVzZXJ2ZShyYm8sIGZhbHNlKTsKIAlpZiAodW5saWtlbHkociAhPSAwKSkKQEAgLTE2 NDIsNyArMTY0Miw3IEBAIHN0YXRpYyBpbnQgYXZpdm9fY3J0Y19kb19zZXRfYmFzZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAKIAlpZiAoIWF0b21pYyAmJiBmYiAmJiBmYiAhPSBjcnRjLT5wcmlt YXJ5LT5mYikgewogCQlyYWRlb25fZmIgPSB0b19yYWRlb25fZnJhbWVidWZmZXIoZmIpOwotCQly Ym8gPSBnZW1fdG9fcmFkZW9uX2JvKHJhZGVvbl9mYi0+b2JqKTsKKwkJcmJvID0gZ2VtX3RvX3Jh ZGVvbl9ibyhyYWRlb25fZmItPmJhc2Uub2JqWzBdKTsKIAkJciA9IHJhZGVvbl9ib19yZXNlcnZl KHJibywgZmFsc2UpOwogCQlpZiAodW5saWtlbHkociAhPSAwKSkKIAkJCXJldHVybiByOwpAQCAt MjE1Myw3ICsyMTUzLDcgQEAgc3RhdGljIHZvaWQgYXRvbWJpb3NfY3J0Y19kaXNhYmxlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKIAkJc3RydWN0IHJhZGVvbl9ibyAqcmJvOwogCiAJCXJhZGVvbl9m YiA9IHRvX3JhZGVvbl9mcmFtZWJ1ZmZlcihjcnRjLT5wcmltYXJ5LT5mYik7Ci0JCXJibyA9IGdl bV90b19yYWRlb25fYm8ocmFkZW9uX2ZiLT5vYmopOworCQlyYm8gPSBnZW1fdG9fcmFkZW9uX2Jv KHJhZGVvbl9mYi0+YmFzZS5vYmpbMF0pOwogCQlyID0gcmFkZW9uX2JvX3Jlc2VydmUocmJvLCBm YWxzZSk7CiAJCWlmICh1bmxpa2VseShyKSkKIAkJCURSTV9FUlJPUigiZmFpbGVkIHRvIHJlc2Vy dmUgcmJvIGJlZm9yZSB1bnBpblxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rldmlj ZS5jCmluZGV4IGU0MTVkMmMwOTdhNy4uMzBjNWJjMjBhNjBiIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kZXZpY2UuYwpAQCAtMTU5OSwxMCArMTU5OSwxMCBAQCBpbnQgcmFkZW9uX3N1 c3BlbmRfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgc3VzcGVuZCwKIAkJCX0KIAkJ fQogCi0JCWlmIChyZmIgPT0gTlVMTCB8fCByZmItPm9iaiA9PSBOVUxMKSB7CisJCWlmIChyZmIg PT0gTlVMTCB8fCByZmItPmJhc2Uub2JqWzBdID09IE5VTEwpIHsKIAkJCWNvbnRpbnVlOwogCQl9 Ci0JCXJvYmogPSBnZW1fdG9fcmFkZW9uX2JvKHJmYi0+b2JqKTsKKwkJcm9iaiA9IGdlbV90b19y YWRlb25fYm8ocmZiLT5iYXNlLm9ialswXSk7CiAJCS8qIGRvbid0IHVucGluIGtlcm5lbCBmYiBv YmplY3RzICovCiAJCWlmICghcmFkZW9uX2ZiZGV2X3JvYmpfaXNfZmIocmRldiwgcm9iaikpIHsK IAkJCXIgPSByYWRlb25fYm9fcmVzZXJ2ZShyb2JqLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kaXNwbGF5LmMKaW5kZXggMjYxMjliMmIwODJkLi5kYzMwMDEyODI4M2QgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMKQEAgLTMyLDYgKzMyLDcgQEAK IAogI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGNf aGVscGVyLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9nZW1fZnJhbWVidWZmZXJfaGVscGVyLmg+CiAj aW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5lX2hl bHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgpAQCAtNTAyLDE0ICs1MDMsMTQgQEAg c3RhdGljIGludCByYWRlb25fY3J0Y19wYWdlX2ZsaXBfdGFyZ2V0KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAogCS8qIHNjaGVkdWxlIHVucGluIG9mIHRoZSBvbGQgYnVmZmVyICovCiAJb2xkX3Jh ZGVvbl9mYiA9IHRvX3JhZGVvbl9mcmFtZWJ1ZmZlcihjcnRjLT5wcmltYXJ5LT5mYik7Ci0Jb2Jq ID0gb2xkX3JhZGVvbl9mYi0+b2JqOworCW9iaiA9IG9sZF9yYWRlb25fZmItPmJhc2Uub2JqWzBd OwogCiAJLyogdGFrZSBhIHJlZmVyZW5jZSB0byB0aGUgb2xkIG9iamVjdCAqLwogCWRybV9nZW1f b2JqZWN0X2dldChvYmopOwogCXdvcmstPm9sZF9yYm8gPSBnZW1fdG9fcmFkZW9uX2JvKG9iaik7 CiAKIAluZXdfcmFkZW9uX2ZiID0gdG9fcmFkZW9uX2ZyYW1lYnVmZmVyKGZiKTsKLQlvYmogPSBu ZXdfcmFkZW9uX2ZiLT5vYmo7CisJb2JqID0gbmV3X3JhZGVvbl9mYi0+YmFzZS5vYmpbMF07CiAJ bmV3X3JibyA9IGdlbV90b19yYWRlb25fYm8ob2JqKTsKIAogCS8qIHBpbiB0aGUgbmV3IGJ1ZmZl ciAqLwpAQCAtMTI4NSwyNyArMTI4Niw5IEBAIHZvaWQgcmFkZW9uX2NvbXB1dGVfcGxsX2xlZ2Fj eShzdHJ1Y3QgcmFkZW9uX3BsbCAqcGxsLAogCiB9CiAKLXN0YXRpYyB2b2lkIHJhZGVvbl91c2Vy X2ZyYW1lYnVmZmVyX2Rlc3Ryb3koc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCi17Ci0Jc3Ry dWN0IHJhZGVvbl9mcmFtZWJ1ZmZlciAqcmFkZW9uX2ZiID0gdG9fcmFkZW9uX2ZyYW1lYnVmZmVy KGZiKTsKLQotCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChyYWRlb25fZmItPm9iaik7Ci0J ZHJtX2ZyYW1lYnVmZmVyX2NsZWFudXAoZmIpOwotCWtmcmVlKHJhZGVvbl9mYik7Ci19Ci0KLXN0 YXRpYyBpbnQgcmFkZW9uX3VzZXJfZnJhbWVidWZmZXJfY3JlYXRlX2hhbmRsZShzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpmYiwKLQkJCQkJCSAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0J CQkJCQkgIHVuc2lnbmVkIGludCAqaGFuZGxlKQotewotCXN0cnVjdCByYWRlb25fZnJhbWVidWZm ZXIgKnJhZGVvbl9mYiA9IHRvX3JhZGVvbl9mcmFtZWJ1ZmZlcihmYik7Ci0KLQlyZXR1cm4gZHJt X2dlbV9oYW5kbGVfY3JlYXRlKGZpbGVfcHJpdiwgcmFkZW9uX2ZiLT5vYmosIGhhbmRsZSk7Ci19 Ci0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzIHJhZGVvbl9mYl9m dW5jcyA9IHsKLQkuZGVzdHJveSA9IHJhZGVvbl91c2VyX2ZyYW1lYnVmZmVyX2Rlc3Ryb3ksCi0J LmNyZWF0ZV9oYW5kbGUgPSByYWRlb25fdXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGVfaGFuZGxlLAor CS5kZXN0cm95ID0gZHJtX2dlbV9mYl9kZXN0cm95LAorCS5jcmVhdGVfaGFuZGxlID0gZHJtX2dl bV9mYl9jcmVhdGVfaGFuZGxlLAogfTsKIAogaW50CkBAIC0xMzE1LDExICsxMjk4LDExIEBAIHJh ZGVvbl9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQlzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKm9iaikKIHsKIAlpbnQgcmV0OwotCXJmYi0+b2JqID0gb2JqOworCXJm Yi0+YmFzZS5vYmpbMF0gPSBvYmo7CiAJZHJtX2hlbHBlcl9tb2RlX2ZpbGxfZmJfc3RydWN0KGRl diwgJnJmYi0+YmFzZSwgbW9kZV9jbWQpOwogCXJldCA9IGRybV9mcmFtZWJ1ZmZlcl9pbml0KGRl diwgJnJmYi0+YmFzZSwgJnJhZGVvbl9mYl9mdW5jcyk7CiAJaWYgKHJldCkgewotCQlyZmItPm9i aiA9IE5VTEw7CisJCXJmYi0+YmFzZS5vYmpbMF0gPSBOVUxMOwogCQlyZXR1cm4gcmV0OwogCX0K IAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Zi LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9mYi5jCmluZGV4IDU3YzU0MDRhMTY1 NC4uNmNkOTlmNmE0MzA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZiLmMKQEAgLTMxMiw5 ICszMTIsOSBAQCBzdGF0aWMgaW50IHJhZGVvbl9mYmRldl9kZXN0cm95KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCByYWRlb25fZmJkZXYgKnJmYgogCiAJZHJtX2ZiX2hlbHBlcl91bnJl Z2lzdGVyX2ZiaSgmcmZiZGV2LT5oZWxwZXIpOwogCi0JaWYgKHJmYi0+b2JqKSB7Ci0JCXJhZGVv bmZiX2Rlc3Ryb3lfcGlubmVkX29iamVjdChyZmItPm9iaik7Ci0JCXJmYi0+b2JqID0gTlVMTDsK KwlpZiAocmZiLT5iYXNlLm9ialswXSkgeworCQlyYWRlb25mYl9kZXN0cm95X3Bpbm5lZF9vYmpl Y3QocmZiLT5iYXNlLm9ialswXSk7CisJCXJmYi0+YmFzZS5vYmpbMF0gPSBOVUxMOwogCQlkcm1f ZnJhbWVidWZmZXJfdW5yZWdpc3Rlcl9wcml2YXRlKCZyZmItPmJhc2UpOwogCQlkcm1fZnJhbWVi dWZmZXJfY2xlYW51cCgmcmZiLT5iYXNlKTsKIAl9CkBAIC00MDAsNyArNDAwLDcgQEAgYm9vbCBy YWRlb25fZmJkZXZfcm9ial9pc19mYihzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0 IHJhZGVvbl9ibyAqcm9iaikKIAlpZiAoIXJkZXYtPm1vZGVfaW5mby5yZmJkZXYpCiAJCXJldHVy biBmYWxzZTsKIAotCWlmIChyb2JqID09IGdlbV90b19yYWRlb25fYm8ocmRldi0+bW9kZV9pbmZv LnJmYmRldi0+cmZiLm9iaikpCisJaWYgKHJvYmogPT0gZ2VtX3RvX3JhZGVvbl9ibyhyZGV2LT5t b2RlX2luZm8ucmZiZGV2LT5yZmIuYmFzZS5vYmpbMF0pKQogCQlyZXR1cm4gdHJ1ZTsKIAlyZXR1 cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9s ZWdhY3lfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbGVnYWN5X2NydGMu YwppbmRleCAxZjE4NTZlMGIxZTAuLjUwYjNmNTU2ODQ1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fbGVnYWN5X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9sZWdhY3lfY3J0Yy5jCkBAIC00MjMsNyArNDIzLDcgQEAgaW50IHJhZGVv bl9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAl9CiAKIAkvKiBQaW4g ZnJhbWVidWZmZXIgJiBnZXQgdGlsbGluZyBpbmZvcm1hdGlvbnMgKi8KLQlvYmogPSByYWRlb25f ZmItPm9iajsKKwlvYmogPSByYWRlb25fZmItPmJhc2Uub2JqWzBdOwogCXJibyA9IGdlbV90b19y YWRlb25fYm8ob2JqKTsKIHJldHJ5OgogCXIgPSByYWRlb25fYm9fcmVzZXJ2ZShyYm8sIGZhbHNl KTsKQEAgLTQ1MSw3ICs0NTEsNyBAQCBpbnQgcmFkZW9uX2NydGNfZG9fc2V0X2Jhc2Uoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQkJc3RydWN0IHJhZGVvbl9ibyAqb2xkX3JibzsKIAkJCXVuc2ln bmVkIGxvbmcgbnNpemUsIG9zaXplOwogCi0JCQlvbGRfcmJvID0gZ2VtX3RvX3JhZGVvbl9ibyh0 b19yYWRlb25fZnJhbWVidWZmZXIoZmIpLT5vYmopOworCQkJb2xkX3JibyA9IGdlbV90b19yYWRl b25fYm8oZmItPm9ialswXSk7CiAJCQlvc2l6ZSA9IHJhZGVvbl9ib19zaXplKG9sZF9yYm8pOwog CQkJbnNpemUgPSByYWRlb25fYm9fc2l6ZShyYm8pOwogCQkJaWYgKG5zaXplIDw9IG9zaXplICYm ICFyYWRlb25fYm9fcmVzZXJ2ZShvbGRfcmJvLCBmYWxzZSkpIHsKQEAgLTU1OCw4ICs1NTgsNyBA QCBpbnQgcmFkZW9uX2NydGNfZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCVdS RUczMihSQURFT05fQ1JUQ19QSVRDSCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwgY3J0Y19w aXRjaCk7CiAKIAlpZiAoIWF0b21pYyAmJiBmYiAmJiBmYiAhPSBjcnRjLT5wcmltYXJ5LT5mYikg ewotCQlyYWRlb25fZmIgPSB0b19yYWRlb25fZnJhbWVidWZmZXIoZmIpOwotCQlyYm8gPSBnZW1f dG9fcmFkZW9uX2JvKHJhZGVvbl9mYi0+b2JqKTsKKwkJcmJvID0gZ2VtX3RvX3JhZGVvbl9ibyhm Yi0+b2JqWzBdKTsKIAkJciA9IHJhZGVvbl9ib19yZXNlcnZlKHJibywgZmFsc2UpOwogCQlpZiAo dW5saWtlbHkociAhPSAwKSkKIAkJCXJldHVybiByOwpAQCAtMTA5MywxMSArMTA5Miw5IEBAIHN0 YXRpYyB2b2lkIHJhZGVvbl9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXJh ZGVvbl9jcnRjX2RwbXMoY3J0YywgRFJNX01PREVfRFBNU19PRkYpOwogCWlmIChjcnRjLT5wcmlt YXJ5LT5mYikgewogCQlpbnQgcjsKLQkJc3RydWN0IHJhZGVvbl9mcmFtZWJ1ZmZlciAqcmFkZW9u X2ZiOwogCQlzdHJ1Y3QgcmFkZW9uX2JvICpyYm87CiAKLQkJcmFkZW9uX2ZiID0gdG9fcmFkZW9u X2ZyYW1lYnVmZmVyKGNydGMtPnByaW1hcnktPmZiKTsKLQkJcmJvID0gZ2VtX3RvX3JhZGVvbl9i byhyYWRlb25fZmItPm9iaik7CisJCXJibyA9IGdlbV90b19yYWRlb25fYm8oY3J0Yy0+cHJpbWFy eS0+ZmItPm9ialswXSk7CiAJCXIgPSByYWRlb25fYm9fcmVzZXJ2ZShyYm8sIGZhbHNlKTsKIAkJ aWYgKHVubGlrZWx5KHIpKQogCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSByYm8gYmVm b3JlIHVucGluXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X21vZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUuaAppbmRleCAzMjQz ZTVlMDE0MzIuLmNkOTNjODAzMzJmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fbW9kZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUu aApAQCAtNTc2LDcgKzU3Niw2IEBAIHN0cnVjdCByYWRlb25fY29ubmVjdG9yIHsKIAogc3RydWN0 IHJhZGVvbl9mcmFtZWJ1ZmZlciB7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciBiYXNlOwotCXN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwogfTsKIAogI2RlZmluZSBFTkNPREVSX01PREVfSVNf RFAoZW0pICgoKGVtKSA9PSBBVE9NX0VOQ09ERVJfTU9ERV9EUCkgfHwgXAotLSAKMi4xNi4yCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK