From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 04/14] drm: Move master functions into drm_auth.c Date: Tue, 14 Jun 2016 20:50:59 +0200 Message-ID: <1465930269-7883-5-git-send-email-daniel.vetter@ffwll.ch> References: <1465930269-7883-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1465930269-7883-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org Rm9yIG1vZGVybiBkcml2ZXJzIHByZXR0eSBtdWNoIHRoZSBvbmx5IHRoaW5nIGRybV9tYXN0ZXIg ZG9lcyBpcwpoYW5kbGluZyBhdXRoZW50aWNhdGlvbiBmb3IgdGhlIHByaW1hcnkvbGVnYWN5IGRy bV9taW5vciBub2RlLiBJbnN0ZWFkCm9mIGhhdmluZyBpdCBhbGwgb3ZlciBkcm0gZmlsZXMsIG1v dmUgaXQgYWxsIHRvZ2V0aGVyIGludG8gZHJtX2F1dGguYy4KClRoaXMgcGF0Y2gganVzdCBkb2Vz IGNvZGUtbW90aW9uLCBmb2xsb3cgdXAgcGF0Y2hlcyB3aWxsIGFsc28gZXh0cmFjdAp0aGUgbWFz dGVyIGxvZ2ljIGZyb20gZmlsZSBvcGVuJnJlbGVhc2UgcGF0aHMuCgpTaWduZWQtb2ZmLWJ5OiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vZHJtX2F1dGguYyAgICAgfCAxNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgICAgICB8IDEwOCAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jICAgICB8ICA1NCAt LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oIHwgIDEyICsrLQog aW5jbHVkZS9kcm0vZHJtUC5oICAgICAgICAgICAgIHwgICAxIC0KIDUgZmlsZXMgY2hhbmdlZCwg MTY4IGluc2VydGlvbnMoKyksIDE3MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F1dGguYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5jCmluZGV4IDUw ZDBiYWEwNmRiMC4uMWQzMTRhZTEzNTYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F1dGguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F1dGguYwpAQCAtMzAsNiArMzAsNyBA QAogCiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRlICJkcm1faW50ZXJuYWwuaCIKKyNp bmNsdWRlICJkcm1fbGVnYWN5LmgiCiAKIC8qKgogICogZHJtX2dldG1hZ2ljIC0gR2V0IHVuaXF1 ZSBtYWdpYyBvZiBhIGNsaWVudApAQCAtOTEsMyArOTIsMTY1IEBAIGludCBkcm1fYXV0aG1hZ2lj KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAKIAlyZXR1cm4gZmlsZSA/IDAg OiAtRUlOVkFMOwogfQorCitzdGF0aWMgc3RydWN0IGRybV9tYXN0ZXIgKmRybV9tYXN0ZXJfY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9tYXN0ZXIgKm1hc3Rl cjsKKworCW1hc3RlciA9IGt6YWxsb2Moc2l6ZW9mKCptYXN0ZXIpLCBHRlBfS0VSTkVMKTsKKwlp ZiAoIW1hc3RlcikKKwkJcmV0dXJuIE5VTEw7CisKKwlrcmVmX2luaXQoJm1hc3Rlci0+cmVmY291 bnQpOworCXNwaW5fbG9ja19pbml0KCZtYXN0ZXItPmxvY2suc3BpbmxvY2spOworCWluaXRfd2Fp dHF1ZXVlX2hlYWQoJm1hc3Rlci0+bG9jay5sb2NrX3F1ZXVlKTsKKwlpZHJfaW5pdCgmbWFzdGVy LT5tYWdpY19tYXApOworCW1hc3Rlci0+ZGV2ID0gZGV2OworCisJcmV0dXJuIG1hc3RlcjsKK30K KworLyoKKyAqIGRybV9uZXdfc2V0X21hc3RlciAtIEFsbG9jYXRlIGEgbmV3IG1hc3RlciBvYmpl Y3QgYW5kIGJlY29tZSBtYXN0ZXIgZm9yIHRoZQorICogYXNzb2NpYXRlZCBtYXN0ZXIgcmVhbG0u CisgKgorICogQGRldjogVGhlIGFzc29jaWF0ZWQgZGV2aWNlLgorICogQGZwcml2OiBGaWxlIHBy aXZhdGUgaWRlbnRpZnlpbmcgdGhlIGNsaWVudC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG11c3Qg YmUgY2FsbGVkIHdpdGggZGV2OjpzdHJ1Y3RfbXV0ZXggaGVsZC4KKyAqIFJldHVybnMgbmVnYXRp dmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLiBaZXJvIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBkcm1f bmV3X3NldF9tYXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpm cHJpdikKK3sKKwlzdHJ1Y3QgZHJtX21hc3RlciAqb2xkX21hc3RlcjsKKwlpbnQgcmV0OworCisJ bG9ja2RlcF9hc3NlcnRfaGVsZF9vbmNlKCZkZXYtPm1hc3Rlcl9tdXRleCk7CisKKwkvKiBjcmVh dGUgYSBuZXcgbWFzdGVyICovCisJZnByaXYtPm1pbm9yLT5tYXN0ZXIgPSBkcm1fbWFzdGVyX2Ny ZWF0ZShmcHJpdi0+bWlub3ItPmRldik7CisJaWYgKCFmcHJpdi0+bWlub3ItPm1hc3RlcikKKwkJ cmV0dXJuIC1FTk9NRU07CisKKwkvKiB0YWtlIGFub3RoZXIgcmVmZXJlbmNlIGZvciB0aGUgY29w eSBpbiB0aGUgbG9jYWwgZmlsZSBwcml2ICovCisJb2xkX21hc3RlciA9IGZwcml2LT5tYXN0ZXI7 CisJZnByaXYtPm1hc3RlciA9IGRybV9tYXN0ZXJfZ2V0KGZwcml2LT5taW5vci0+bWFzdGVyKTsK KworCWlmIChkZXYtPmRyaXZlci0+bWFzdGVyX2NyZWF0ZSkgeworCQlyZXQgPSBkZXYtPmRyaXZl ci0+bWFzdGVyX2NyZWF0ZShkZXYsIGZwcml2LT5tYXN0ZXIpOworCQlpZiAocmV0KQorCQkJZ290 byBvdXRfZXJyOworCX0KKwlpZiAoZGV2LT5kcml2ZXItPm1hc3Rlcl9zZXQpIHsKKwkJcmV0ID0g ZGV2LT5kcml2ZXItPm1hc3Rlcl9zZXQoZGV2LCBmcHJpdiwgdHJ1ZSk7CisJCWlmIChyZXQpCisJ CQlnb3RvIG91dF9lcnI7CisJfQorCisJZnByaXYtPmlzX21hc3RlciA9IDE7CisJZnByaXYtPmFs bG93ZWRfbWFzdGVyID0gMTsKKwlmcHJpdi0+YXV0aGVudGljYXRlZCA9IDE7CisJaWYgKG9sZF9t YXN0ZXIpCisJCWRybV9tYXN0ZXJfcHV0KCZvbGRfbWFzdGVyKTsKKworCXJldHVybiAwOworCitv dXRfZXJyOgorCS8qIGRyb3AgYm90aCByZWZlcmVuY2VzIGFuZCByZXN0b3JlIG9sZCBtYXN0ZXIg b24gZmFpbHVyZSAqLworCWRybV9tYXN0ZXJfcHV0KCZmcHJpdi0+bWlub3ItPm1hc3Rlcik7CisJ ZHJtX21hc3Rlcl9wdXQoJmZwcml2LT5tYXN0ZXIpOworCWZwcml2LT5tYXN0ZXIgPSBvbGRfbWFz dGVyOworCisJcmV0dXJuIHJldDsKK30KKworaW50IGRybV9zZXRtYXN0ZXJfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KQoreworCWludCByZXQgPSAwOworCisJbXV0ZXhfbG9jaygmZGV2LT5tYXN0ZXJfbXV0ZXgp OworCWlmIChmaWxlX3ByaXYtPmlzX21hc3RlcikKKwkJZ290byBvdXRfdW5sb2NrOworCisJaWYg KGZpbGVfcHJpdi0+bWlub3ItPm1hc3RlcikgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91 dF91bmxvY2s7CisJfQorCisJaWYgKCFmaWxlX3ByaXYtPm1hc3RlcikgeworCQlyZXQgPSAtRUlO VkFMOworCQlnb3RvIG91dF91bmxvY2s7CisJfQorCisJaWYgKCFmaWxlX3ByaXYtPmFsbG93ZWRf bWFzdGVyKSB7CisJCXJldCA9IGRybV9uZXdfc2V0X21hc3RlcihkZXYsIGZpbGVfcHJpdik7CisJ CWdvdG8gb3V0X3VubG9jazsKKwl9CisKKwlmaWxlX3ByaXYtPm1pbm9yLT5tYXN0ZXIgPSBkcm1f bWFzdGVyX2dldChmaWxlX3ByaXYtPm1hc3Rlcik7CisJZmlsZV9wcml2LT5pc19tYXN0ZXIgPSAx OworCWlmIChkZXYtPmRyaXZlci0+bWFzdGVyX3NldCkgeworCQlyZXQgPSBkZXYtPmRyaXZlci0+ bWFzdGVyX3NldChkZXYsIGZpbGVfcHJpdiwgZmFsc2UpOworCQlpZiAodW5saWtlbHkocmV0ICE9 IDApKSB7CisJCQlmaWxlX3ByaXYtPmlzX21hc3RlciA9IDA7CisJCQlkcm1fbWFzdGVyX3B1dCgm ZmlsZV9wcml2LT5taW5vci0+bWFzdGVyKTsKKwkJfQorCX0KKworb3V0X3VubG9jazoKKwltdXRl eF91bmxvY2soJmRldi0+bWFzdGVyX211dGV4KTsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgZHJt X2Ryb3BtYXN0ZXJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJ CSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKwor CW11dGV4X2xvY2soJmRldi0+bWFzdGVyX211dGV4KTsKKwlpZiAoIWZpbGVfcHJpdi0+aXNfbWFz dGVyKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlpZiAoIWZpbGVfcHJpdi0+bWlub3ItPm1hc3Rl cikKKwkJZ290byBvdXRfdW5sb2NrOworCisJcmV0ID0gMDsKKwlpZiAoZGV2LT5kcml2ZXItPm1h c3Rlcl9kcm9wKQorCQlkZXYtPmRyaXZlci0+bWFzdGVyX2Ryb3AoZGV2LCBmaWxlX3ByaXYsIGZh bHNlKTsKKwlkcm1fbWFzdGVyX3B1dCgmZmlsZV9wcml2LT5taW5vci0+bWFzdGVyKTsKKwlmaWxl X3ByaXYtPmlzX21hc3RlciA9IDA7CisKK291dF91bmxvY2s6CisJbXV0ZXhfdW5sb2NrKCZkZXYt Pm1hc3Rlcl9tdXRleCk7CisJcmV0dXJuIHJldDsKK30KKworc3RydWN0IGRybV9tYXN0ZXIgKmRy bV9tYXN0ZXJfZ2V0KHN0cnVjdCBkcm1fbWFzdGVyICptYXN0ZXIpCit7CisJa3JlZl9nZXQoJm1h c3Rlci0+cmVmY291bnQpOworCXJldHVybiBtYXN0ZXI7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9t YXN0ZXJfZ2V0KTsKKworc3RhdGljIHZvaWQgZHJtX21hc3Rlcl9kZXN0cm95KHN0cnVjdCBrcmVm ICprcmVmKQoreworCXN0cnVjdCBkcm1fbWFzdGVyICptYXN0ZXIgPSBjb250YWluZXJfb2Yoa3Jl Ziwgc3RydWN0IGRybV9tYXN0ZXIsIHJlZmNvdW50KTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gbWFzdGVyLT5kZXY7CisKKwlpZiAoZGV2LT5kcml2ZXItPm1hc3Rlcl9kZXN0cm95KQorCQlk ZXYtPmRyaXZlci0+bWFzdGVyX2Rlc3Ryb3koZGV2LCBtYXN0ZXIpOworCisJZHJtX2xlZ2FjeV9t YXN0ZXJfcm1tYXBzKGRldiwgbWFzdGVyKTsKKworCWlkcl9kZXN0cm95KCZtYXN0ZXItPm1hZ2lj X21hcCk7CisJa2ZyZWUobWFzdGVyLT51bmlxdWUpOworCWtmcmVlKG1hc3Rlcik7Cit9CisKK3Zv aWQgZHJtX21hc3Rlcl9wdXQoc3RydWN0IGRybV9tYXN0ZXIgKiptYXN0ZXIpCit7CisJa3JlZl9w dXQoJigqbWFzdGVyKS0+cmVmY291bnQsIGRybV9tYXN0ZXJfZGVzdHJveSk7CisJKm1hc3RlciA9 IE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9tYXN0ZXJfcHV0KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCmluZGV4 IDNjMDFhMTZiYmI3Ny4uOGU2N2I0ZjQ1NzNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKQEAgLTkzLDExNCArOTMs NiBAQCB2b2lkIGRybV91dF9kZWJ1Z19wcmludGsoY29uc3QgY2hhciAqZnVuY3Rpb25fbmFtZSwg Y29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCiB9CiBFWFBPUlRfU1lNQk9MKGRybV91dF9kZWJ1Z19w cmludGspOwogCi1zdHJ1Y3QgZHJtX21hc3RlciAqZHJtX21hc3Rlcl9jcmVhdGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKLXsKLQlzdHJ1Y3QgZHJtX21hc3RlciAqbWFzdGVyOwotCi0JbWFzdGVy ID0ga3phbGxvYyhzaXplb2YoKm1hc3RlciksIEdGUF9LRVJORUwpOwotCWlmICghbWFzdGVyKQot CQlyZXR1cm4gTlVMTDsKLQotCWtyZWZfaW5pdCgmbWFzdGVyLT5yZWZjb3VudCk7Ci0Jc3Bpbl9s b2NrX2luaXQoJm1hc3Rlci0+bG9jay5zcGlubG9jayk7Ci0JaW5pdF93YWl0cXVldWVfaGVhZCgm bWFzdGVyLT5sb2NrLmxvY2tfcXVldWUpOwotCWlkcl9pbml0KCZtYXN0ZXItPm1hZ2ljX21hcCk7 Ci0JbWFzdGVyLT5kZXYgPSBkZXY7Ci0KLQlyZXR1cm4gbWFzdGVyOwotfQotCi1zdHJ1Y3QgZHJt X21hc3RlciAqZHJtX21hc3Rlcl9nZXQoc3RydWN0IGRybV9tYXN0ZXIgKm1hc3RlcikKLXsKLQlr cmVmX2dldCgmbWFzdGVyLT5yZWZjb3VudCk7Ci0JcmV0dXJuIG1hc3RlcjsKLX0KLUVYUE9SVF9T WU1CT0woZHJtX21hc3Rlcl9nZXQpOwotCi1zdGF0aWMgdm9pZCBkcm1fbWFzdGVyX2Rlc3Ryb3ko c3RydWN0IGtyZWYgKmtyZWYpCi17Ci0Jc3RydWN0IGRybV9tYXN0ZXIgKm1hc3RlciA9IGNvbnRh aW5lcl9vZihrcmVmLCBzdHJ1Y3QgZHJtX21hc3RlciwgcmVmY291bnQpOwotCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBtYXN0ZXItPmRldjsKLQotCWlmIChkZXYtPmRyaXZlci0+bWFzdGVyX2Rl c3Ryb3kpCi0JCWRldi0+ZHJpdmVyLT5tYXN0ZXJfZGVzdHJveShkZXYsIG1hc3Rlcik7Ci0KLQlk cm1fbGVnYWN5X21hc3Rlcl9ybW1hcHMoZGV2LCBtYXN0ZXIpOwotCi0JaWRyX2Rlc3Ryb3koJm1h c3Rlci0+bWFnaWNfbWFwKTsKLQlrZnJlZShtYXN0ZXItPnVuaXF1ZSk7Ci0Ja2ZyZWUobWFzdGVy KTsKLX0KLQotdm9pZCBkcm1fbWFzdGVyX3B1dChzdHJ1Y3QgZHJtX21hc3RlciAqKm1hc3RlcikK LXsKLQlrcmVmX3B1dCgmKCptYXN0ZXIpLT5yZWZjb3VudCwgZHJtX21hc3Rlcl9kZXN0cm95KTsK LQkqbWFzdGVyID0gTlVMTDsKLX0KLUVYUE9SVF9TWU1CT0woZHJtX21hc3Rlcl9wdXQpOwotCi1p bnQgZHJtX3NldG1hc3Rlcl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAotCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCi17Ci0JaW50IHJldCA9IDA7Ci0KLQlt dXRleF9sb2NrKCZkZXYtPm1hc3Rlcl9tdXRleCk7Ci0JaWYgKGZpbGVfcHJpdi0+aXNfbWFzdGVy KQotCQlnb3RvIG91dF91bmxvY2s7Ci0KLQlpZiAoZmlsZV9wcml2LT5taW5vci0+bWFzdGVyKSB7 Ci0JCXJldCA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0X3VubG9jazsKLQl9Ci0KLQlpZiAoIWZpbGVf cHJpdi0+bWFzdGVyKSB7Ci0JCXJldCA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0X3VubG9jazsKLQl9 Ci0KLQlpZiAoIWZpbGVfcHJpdi0+YWxsb3dlZF9tYXN0ZXIpIHsKLQkJcmV0ID0gZHJtX25ld19z ZXRfbWFzdGVyKGRldiwgZmlsZV9wcml2KTsKLQkJZ290byBvdXRfdW5sb2NrOwotCX0KLQotCWZp bGVfcHJpdi0+bWlub3ItPm1hc3RlciA9IGRybV9tYXN0ZXJfZ2V0KGZpbGVfcHJpdi0+bWFzdGVy KTsKLQlmaWxlX3ByaXYtPmlzX21hc3RlciA9IDE7Ci0JaWYgKGRldi0+ZHJpdmVyLT5tYXN0ZXJf c2V0KSB7Ci0JCXJldCA9IGRldi0+ZHJpdmVyLT5tYXN0ZXJfc2V0KGRldiwgZmlsZV9wcml2LCBm YWxzZSk7Ci0JCWlmICh1bmxpa2VseShyZXQgIT0gMCkpIHsKLQkJCWZpbGVfcHJpdi0+aXNfbWFz dGVyID0gMDsKLQkJCWRybV9tYXN0ZXJfcHV0KCZmaWxlX3ByaXYtPm1pbm9yLT5tYXN0ZXIpOwot CQl9Ci0JfQotCi1vdXRfdW5sb2NrOgotCW11dGV4X3VubG9jaygmZGV2LT5tYXN0ZXJfbXV0ZXgp OwotCXJldHVybiByZXQ7Ci19Ci0KLWludCBkcm1fZHJvcG1hc3Rlcl9pb2N0bChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAotCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2 KQotewotCWludCByZXQgPSAtRUlOVkFMOwotCi0JbXV0ZXhfbG9jaygmZGV2LT5tYXN0ZXJfbXV0 ZXgpOwotCWlmICghZmlsZV9wcml2LT5pc19tYXN0ZXIpCi0JCWdvdG8gb3V0X3VubG9jazsKLQot CWlmICghZmlsZV9wcml2LT5taW5vci0+bWFzdGVyKQotCQlnb3RvIG91dF91bmxvY2s7Ci0KLQly ZXQgPSAwOwotCWlmIChkZXYtPmRyaXZlci0+bWFzdGVyX2Ryb3ApCi0JCWRldi0+ZHJpdmVyLT5t YXN0ZXJfZHJvcChkZXYsIGZpbGVfcHJpdiwgZmFsc2UpOwotCWRybV9tYXN0ZXJfcHV0KCZmaWxl X3ByaXYtPm1pbm9yLT5tYXN0ZXIpOwotCWZpbGVfcHJpdi0+aXNfbWFzdGVyID0gMDsKLQotb3V0 X3VubG9jazoKLQltdXRleF91bmxvY2soJmRldi0+bWFzdGVyX211dGV4KTsKLQlyZXR1cm4gcmV0 OwotfQotCiAvKgogICogRFJNIE1pbm9ycwogICogQSBEUk0gZGV2aWNlIGNhbiBwcm92aWRlIHNl dmVyYWwgY2hhci1kZXYgaW50ZXJmYWNlcyBvbiB0aGUgRFJNLU1ham9yLiBFYWNoCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm9w cy5jCmluZGV4IGJmYmYxMzgxZjU1ZC4uNTBiM2RlOTkwYWVlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZvcHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwpAQCAt MTY4LDYwICsxNjgsNiBAQCBzdGF0aWMgaW50IGRybV9jcHVfdmFsaWQodm9pZCkKIH0KIAogLyoK LSAqIGRybV9uZXdfc2V0X21hc3RlciAtIEFsbG9jYXRlIGEgbmV3IG1hc3RlciBvYmplY3QgYW5k IGJlY29tZSBtYXN0ZXIgZm9yIHRoZQotICogYXNzb2NpYXRlZCBtYXN0ZXIgcmVhbG0uCi0gKgot ICogQGRldjogVGhlIGFzc29jaWF0ZWQgZGV2aWNlLgotICogQGZwcml2OiBGaWxlIHByaXZhdGUg aWRlbnRpZnlpbmcgdGhlIGNsaWVudC4KLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2Fs bGVkIHdpdGggZGV2OjpzdHJ1Y3RfbXV0ZXggaGVsZC4KLSAqIFJldHVybnMgbmVnYXRpdmUgZXJy b3IgY29kZSBvbiBmYWlsdXJlLiBaZXJvIG9uIHN1Y2Nlc3MuCi0gKi8KLWludCBkcm1fbmV3X3Nl dF9tYXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmcHJpdikK LXsKLQlzdHJ1Y3QgZHJtX21hc3RlciAqb2xkX21hc3RlcjsKLQlpbnQgcmV0OwotCi0JbG9ja2Rl cF9hc3NlcnRfaGVsZF9vbmNlKCZkZXYtPm1hc3Rlcl9tdXRleCk7Ci0KLQkvKiBjcmVhdGUgYSBu ZXcgbWFzdGVyICovCi0JZnByaXYtPm1pbm9yLT5tYXN0ZXIgPSBkcm1fbWFzdGVyX2NyZWF0ZShm cHJpdi0+bWlub3ItPmRldik7Ci0JaWYgKCFmcHJpdi0+bWlub3ItPm1hc3RlcikKLQkJcmV0dXJu IC1FTk9NRU07Ci0KLQkvKiB0YWtlIGFub3RoZXIgcmVmZXJlbmNlIGZvciB0aGUgY29weSBpbiB0 aGUgbG9jYWwgZmlsZSBwcml2ICovCi0Jb2xkX21hc3RlciA9IGZwcml2LT5tYXN0ZXI7Ci0JZnBy aXYtPm1hc3RlciA9IGRybV9tYXN0ZXJfZ2V0KGZwcml2LT5taW5vci0+bWFzdGVyKTsKLQotCWlm IChkZXYtPmRyaXZlci0+bWFzdGVyX2NyZWF0ZSkgewotCQlyZXQgPSBkZXYtPmRyaXZlci0+bWFz dGVyX2NyZWF0ZShkZXYsIGZwcml2LT5tYXN0ZXIpOwotCQlpZiAocmV0KQotCQkJZ290byBvdXRf ZXJyOwotCX0KLQlpZiAoZGV2LT5kcml2ZXItPm1hc3Rlcl9zZXQpIHsKLQkJcmV0ID0gZGV2LT5k cml2ZXItPm1hc3Rlcl9zZXQoZGV2LCBmcHJpdiwgdHJ1ZSk7Ci0JCWlmIChyZXQpCi0JCQlnb3Rv IG91dF9lcnI7Ci0JfQotCi0JZnByaXYtPmlzX21hc3RlciA9IDE7Ci0JZnByaXYtPmFsbG93ZWRf bWFzdGVyID0gMTsKLQlmcHJpdi0+YXV0aGVudGljYXRlZCA9IDE7Ci0JaWYgKG9sZF9tYXN0ZXIp Ci0JCWRybV9tYXN0ZXJfcHV0KCZvbGRfbWFzdGVyKTsKLQotCXJldHVybiAwOwotCi1vdXRfZXJy OgotCS8qIGRyb3AgYm90aCByZWZlcmVuY2VzIGFuZCByZXN0b3JlIG9sZCBtYXN0ZXIgb24gZmFp bHVyZSAqLwotCWRybV9tYXN0ZXJfcHV0KCZmcHJpdi0+bWlub3ItPm1hc3Rlcik7Ci0JZHJtX21h c3Rlcl9wdXQoJmZwcml2LT5tYXN0ZXIpOwotCWZwcml2LT5tYXN0ZXIgPSBvbGRfbWFzdGVyOwot Ci0JcmV0dXJuIHJldDsKLX0KLQotLyoKICAqIENhbGxlZCB3aGVuZXZlciBhIHByb2Nlc3Mgb3Bl bnMgL2Rldi9kcm0uCiAgKgogICogXHBhcmFtIGZpbHAgZmlsZSBwb2ludGVyLgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJtL2RybV9p bnRlcm5hbC5oCmluZGV4IGY1YzFkMTdmYTUxZi4uZDI5ZDQyNmY2MzNmIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9p bnRlcm5hbC5oCkBAIC02Miw2ICs2MiwxMSBAQCBpbnQgZHJtX2dldG1hZ2ljKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7 CiBpbnQgZHJtX2F1dGhtYWdpYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAog CQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKK2ludCBkcm1fc2V0bWFzdGVyX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQlzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGVfcHJpdik7CitpbnQgZHJtX2Ryb3BtYXN0ZXJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKKwkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CitpbnQg ZHJtX25ld19zZXRfbWFzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmls ZSAqZnByaXYpOwogCiAvKiBkcm1fc3lzZnMuYyAqLwogZXh0ZXJuIHN0cnVjdCBjbGFzcyAqZHJt X2NsYXNzOwpAQCAtODcsMTMgKzkyLDYgQEAgaW50IGRybV9nZW1fb3Blbl9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogdm9pZCBkcm1fZ2VtX29wZW4oc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogdm9pZCBkcm1f Z2VtX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXZhdGUpOwogCi0vKiBkcm1fZHJ2LmMgKi8KLWludCBkcm1fc2V0bWFzdGVyX2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCi0JCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdik7Ci1pbnQgZHJtX2Ryb3BtYXN0ZXJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKLQkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Ci1zdHJ1Y3Qg ZHJtX21hc3RlciAqZHJtX21hc3Rlcl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci0K IC8qIGRybV9kZWJ1Z2ZzLmMgKi8KICNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19GUykKIGludCBk cm1fZGVidWdmc19pbml0KHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yLCBpbnQgbWlub3JfaWQsCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKaW5kZXgg MTdkY2JlYTRmMjU5Li5lODc4OGQ3YjI5ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybVAu aAorKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKQEAgLTkyOCw3ICs5MjgsNiBAQCBpbnQgZHJtX29w ZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApOwogc3NpemVfdCBkcm1f cmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwKIAkJIHNpemVfdCBj b3VudCwgbG9mZl90ICpvZmZzZXQpOwogaW50IGRybV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5v ZGUsIHN0cnVjdCBmaWxlICpmaWxwKTsKLWludCBkcm1fbmV3X3NldF9tYXN0ZXIoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmcHJpdik7CiB1bnNpZ25lZCBpbnQgZHJt X3BvbGwoc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCBwb2xsX3RhYmxlX3N0cnVjdCAqd2FpdCk7 CiBpbnQgZHJtX2V2ZW50X3Jlc2VydmVfaW5pdF9sb2NrZWQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAkJCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAotLSAKMi44LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=