From: Alexandre Courbot Subject: [PATCH 02/15] secboot: pass instance to LS firmware loaders Date: Wed, 29 Mar 2017 18:31:10 +0900 Message-ID: <20170329093123.24656-3-acourbot@nvidia.com> References: <20170329093123.24656-1-acourbot@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170329093123.24656-1-acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ben Skeggs Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org SGF2aW5nIGFjY2VzcyB0byB0aGUgc2VjYm9vdCBpbnN0YW5jZSBsb2FkaW5nIGEgTFMgZmlybXdh cmUgY2FuIGJlCnVzZWZ1bCB0byBMUyBmaXJtd2FyZSBoYW5kbGVycy4gQXQgbGVhc3QgbW9yZSB1 c2VmdWwgdGhhbiBqdXN0IGhhdmluZyBhbgpvdXQtb2YtY29udGV4dCBzdWJkZXYgcG9pbnRlci4K CkdQMTBCJ3MgZmlybXdhcmUgd2lsbCBhbHNvIG5lZWQgdG8ga25vdyB0aGUgV1BSIGFkZHJlc3Ms IHdoaWNoIGNhbiBiZQpvYnRhaW5lZCBmcm9tIHRoZSBzZWNib290IGluc3RhbmNlLgoKU2lnbmVk LW9mZi1ieTogQWxleGFuZHJlIENvdXJib3QgPGFjb3VyYm90QG52aWRpYS5jb20+Ci0tLQogZHJt L25vdXZlYXUvaW5jbHVkZS9udmttL2NvcmUvbXNncXVldWUuaCAgICAgICAgICAgIHwgIDQgKysr LQogZHJtL25vdXZlYXUvbnZrbS9mYWxjb24vbXNncXVldWUuYyAgICAgICAgICAgICAgICAgIHwg IDcgKysrKy0tLQogZHJtL25vdXZlYXUvbnZrbS9mYWxjb24vbXNncXVldWUuaCAgICAgICAgICAg ICAgICAgIHwgIDYgKysrKy0tCiBkcm0vbm91dmVhdS9udmttL2ZhbGNvbi9tc2dxdWV1ZV8wMTM3 YzYzZC5jICAgICAgICAgfCAgMyArKy0KIGRybS9ub3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVl XzAxNDhjZGVjLmMgICAgICAgICB8ICAzICsrLQogZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2Vj Ym9vdC9hY3JfcjM1Mi5jICAgICAgICAgIHwgMTEgKysrKysrKy0tLS0KIGRybS9ub3V2ZWF1L252 a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNTIuaCAgICAgICAgICB8ICA0ICsrKy0KIGRybS9ub3V2 ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNjcuYyAgICAgICAgICB8ICAzICsrLQogZHJt L25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9hY3JfcjM2Ny5oICAgICAgICAgIHwgIDEgKwog ZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9sc191Y29kZS5oICAgICAgICAgIHwgIDgg KysrKy0tLS0KIGRybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvbHNfdWNvZGVfZ3IuYyAg ICAgICB8IDEwICsrKystLS0tLS0KIGRybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvbHNf dWNvZGVfbXNncXVldWUuYyB8IDE4ICsrKysrKysrLS0tLS0tLS0tLQogMTIgZmlsZXMgY2hhbmdl ZCwgNDQgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJtL25v dXZlYXUvaW5jbHVkZS9udmttL2NvcmUvbXNncXVldWUuaCBiL2RybS9ub3V2ZWF1L2luY2x1ZGUv bnZrbS9jb3JlL21zZ3F1ZXVlLmgKaW5kZXggNWM5MDJmOGMwNDJhLi4yNmYyODhiY2VmNzYgMTAw NjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9jb3JlL21zZ3F1ZXVlLmgKKysrIGIv ZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL2NvcmUvbXNncXVldWUuaApAQCAtMjQsNiArMjQsNyBA QAogI2RlZmluZSBfX05WS01fQ09SRV9NU0dRVUVVRV9ICiAKICNpbmNsdWRlIDxjb3JlL29zLmg+ CisjaW5jbHVkZSA8c3ViZGV2L3NlY2Jvb3QuaD4KIAogc3RydWN0IG52a21fZmFsY29uOwogc3Ry dWN0IG52a21fbXNncXVldWU7CkBAIC0zMiw3ICszMyw4IEBAIGVudW0gbnZrbV9zZWNib290X2Zh bGNvbjsKIC8qIEhvcGVmdWxseSB3ZSB3aWxsIG5ldmVyIGhhdmUgZmlybXdhcmUgYXJndW1lbnRz IGxhcmdlciB0aGFuIHRoYXQuLi4gKi8KICNkZWZpbmUgTlZLTV9NU0dRVUVVRV9DTURMSU5FX1NJ WkUgMHgxMDAKIAotaW50IG52a21fbXNncXVldWVfbmV3KHUzMiwgc3RydWN0IG52a21fZmFsY29u ICosIHN0cnVjdCBudmttX21zZ3F1ZXVlICoqKTsKK2ludCBudmttX21zZ3F1ZXVlX25ldyh1MzIs IHN0cnVjdCBudmttX2ZhbGNvbiAqLCBjb25zdCBzdHJ1Y3QgbnZrbV9zZWNib290ICosCisJCSAg ICAgIHN0cnVjdCBudmttX21zZ3F1ZXVlICoqKTsKIHZvaWQgbnZrbV9tc2dxdWV1ZV9kZWwoc3Ry dWN0IG52a21fbXNncXVldWUgKiopOwogdm9pZCBudmttX21zZ3F1ZXVlX3JlY3Yoc3RydWN0IG52 a21fbXNncXVldWUgKik7CiBpbnQgbnZrbV9tc2dxdWV1ZV9yZWluaXQoc3RydWN0IG52a21fbXNn cXVldWUgKik7CmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9udmttL2ZhbGNvbi9tc2dxdWV1ZS5j IGIvZHJtL25vdXZlYXUvbnZrbS9mYWxjb24vbXNncXVldWUuYwppbmRleCAwNzgwZDM0MGMzZWIu LmY3MTAxYTkxMGJjNyAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvbnZrbS9mYWxjb24vbXNncXVl dWUuYworKysgYi9kcm0vbm91dmVhdS9udmttL2ZhbGNvbi9tc2dxdWV1ZS5jCkBAIC00OTEsMTcg KzQ5MSwxOCBAQCBudmttX21zZ3F1ZXVlX2Fjcl9ib290X2ZhbGNvbnMoc3RydWN0IG52a21fbXNn cXVldWUgKnF1ZXVlLAogfQogCiBpbnQKLW52a21fbXNncXVldWVfbmV3KHUzMiB2ZXJzaW9uLCBz dHJ1Y3QgbnZrbV9mYWxjb24gKmZhbGNvbiwgc3RydWN0IG52a21fbXNncXVldWUgKipxdWV1ZSkK K252a21fbXNncXVldWVfbmV3KHUzMiB2ZXJzaW9uLCBzdHJ1Y3QgbnZrbV9mYWxjb24gKmZhbGNv biwKKwkJICBjb25zdCBzdHJ1Y3QgbnZrbV9zZWNib290ICpzYiwgc3RydWN0IG52a21fbXNncXVl dWUgKipxdWV1ZSkKIHsKIAljb25zdCBzdHJ1Y3QgbnZrbV9zdWJkZXYgKnN1YmRldiA9IGZhbGNv bi0+b3duZXI7CiAJaW50IHJldCA9IC1FSU5WQUw7CiAKIAlzd2l0Y2ggKHZlcnNpb24pIHsKIAlj YXNlIDB4MDEzN2M2M2Q6Ci0JCXJldCA9IG1zZ3F1ZXVlXzAxMzdjNjNkX25ldyhmYWxjb24sIHF1 ZXVlKTsKKwkJcmV0ID0gbXNncXVldWVfMDEzN2M2M2RfbmV3KGZhbGNvbiwgc2IsIHF1ZXVlKTsK IAkJYnJlYWs7CiAJY2FzZSAweDAxNDhjZGVjOgotCQlyZXQgPSBtc2dxdWV1ZV8wMTQ4Y2RlY19u ZXcoZmFsY29uLCBxdWV1ZSk7CisJCXJldCA9IG1zZ3F1ZXVlXzAxNDhjZGVjX25ldyhmYWxjb24s IHNiLCBxdWV1ZSk7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCW52a21fZXJyb3Ioc3ViZGV2LCAi dW5oYW5kbGVkIGZpcm13YXJlIHZlcnNpb24gMHglMDh4XG4iLApkaWZmIC0tZ2l0IGEvZHJtL25v dXZlYXUvbnZrbS9mYWxjb24vbXNncXVldWUuaCBiL2RybS9ub3V2ZWF1L252a20vZmFsY29uL21z Z3F1ZXVlLmgKaW5kZXggZWE2N2E1MjJhMTJlLi4yYjNhNmMzYjhmNmEgMTAwNjQ0Ci0tLSBhL2Ry bS9ub3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVlLmgKKysrIGIvZHJtL25vdXZlYXUvbnZrbS9m YWxjb24vbXNncXVldWUuaApAQCAtMjAzLDcgKzIwMyw5IEBAIGludCBudmttX21zZ3F1ZXVlX3Bv c3Qoc3RydWN0IG52a21fbXNncXVldWUgKiwgZW51bSBtc2dxdWV1ZV9tc2dfcHJpb3JpdHksCiB2 b2lkIG52a21fbXNncXVldWVfcHJvY2Vzc19tc2dzKHN0cnVjdCBudmttX21zZ3F1ZXVlICosCiAJ CQkJc3RydWN0IG52a21fbXNncXVldWVfcXVldWUgKik7CiAKLWludCBtc2dxdWV1ZV8wMTM3YzYz ZF9uZXcoc3RydWN0IG52a21fZmFsY29uICosIHN0cnVjdCBudmttX21zZ3F1ZXVlICoqKTsKLWlu dCBtc2dxdWV1ZV8wMTQ4Y2RlY19uZXcoc3RydWN0IG52a21fZmFsY29uICosIHN0cnVjdCBudmtt X21zZ3F1ZXVlICoqKTsKK2ludCBtc2dxdWV1ZV8wMTM3YzYzZF9uZXcoc3RydWN0IG52a21fZmFs Y29uICosIGNvbnN0IHN0cnVjdCBudmttX3NlY2Jvb3QgKiwKKwkJCSAgc3RydWN0IG52a21fbXNn cXVldWUgKiopOworaW50IG1zZ3F1ZXVlXzAxNDhjZGVjX25ldyhzdHJ1Y3QgbnZrbV9mYWxjb24g KiwgY29uc3Qgc3RydWN0IG52a21fc2VjYm9vdCAqLAorCQkJICBzdHJ1Y3QgbnZrbV9tc2dxdWV1 ZSAqKik7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbnZrbS9mYWxjb24vbXNn cXVldWVfMDEzN2M2M2QuYyBiL2RybS9ub3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVlXzAxMzdj NjNkLmMKaW5kZXggYmJhOTEyMDdmYjE4Li45MzViOWE3ZTYwYTkgMTAwNjQ0Ci0tLSBhL2RybS9u b3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVlXzAxMzdjNjNkLmMKKysrIGIvZHJtL25vdXZlYXUv bnZrbS9mYWxjb24vbXNncXVldWVfMDEzN2M2M2QuYwpAQCAtMzA3LDcgKzMwNyw4IEBAIG1zZ3F1 ZXVlXzAxMzdjNjNkX2Z1bmMgPSB7CiB9OwogCiBpbnQKLW1zZ3F1ZXVlXzAxMzdjNjNkX25ldyhz dHJ1Y3QgbnZrbV9mYWxjb24gKmZhbGNvbiwgc3RydWN0IG52a21fbXNncXVldWUgKipxdWV1ZSkK K21zZ3F1ZXVlXzAxMzdjNjNkX25ldyhzdHJ1Y3QgbnZrbV9mYWxjb24gKmZhbGNvbiwgY29uc3Qg c3RydWN0IG52a21fc2VjYm9vdCAqc2IsCisJCSAgICAgIHN0cnVjdCBudmttX21zZ3F1ZXVlICoq cXVldWUpCiB7CiAJc3RydWN0IG1zZ3F1ZXVlXzAxMzdjNjNkICpyZXQ7CiAKZGlmZiAtLWdpdCBh L2RybS9ub3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVlXzAxNDhjZGVjLmMgYi9kcm0vbm91dmVh dS9udmttL2ZhbGNvbi9tc2dxdWV1ZV8wMTQ4Y2RlYy5jCmluZGV4IGVkNWQwZGE0ZjRlOS4uOTQy NDgwM2I5ZWY0IDEwMDY0NAotLS0gYS9kcm0vbm91dmVhdS9udmttL2ZhbGNvbi9tc2dxdWV1ZV8w MTQ4Y2RlYy5jCisrKyBiL2RybS9ub3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVlXzAxNDhjZGVj LmMKQEAgLTI0Nyw3ICsyNDcsOCBAQCBtc2dxdWV1ZV8wMTQ4Y2RlY19mdW5jID0gewogfTsKIAog aW50Ci1tc2dxdWV1ZV8wMTQ4Y2RlY19uZXcoc3RydWN0IG52a21fZmFsY29uICpmYWxjb24sIHN0 cnVjdCBudmttX21zZ3F1ZXVlICoqcXVldWUpCittc2dxdWV1ZV8wMTQ4Y2RlY19uZXcoc3RydWN0 IG52a21fZmFsY29uICpmYWxjb24sIGNvbnN0IHN0cnVjdCBudmttX3NlY2Jvb3QgKnNiLAorCQkg ICAgICBzdHJ1Y3QgbnZrbV9tc2dxdWV1ZSAqKnF1ZXVlKQogewogCXN0cnVjdCBtc2dxdWV1ZV8w MTQ4Y2RlYyAqcmV0OwogCmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNi b290L2Fjcl9yMzUyLmMgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2Fjcl9yMzUy LmMKaW5kZXggYWE0ZTc1ZjBlYjBhLi4zY2I0YjE5NTNmOTkgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNTIuYworKysgYi9kcm0vbm91dmVhdS9udmtt L3N1YmRldi9zZWNib290L2Fjcl9yMzUyLmMKQEAgLTI0MSw2ICsyNDEsNyBAQCBzdHJ1Y3QgbHNf dWNvZGVfaW1nX3IzNTIgewogICovCiBzdHJ1Y3QgbHNfdWNvZGVfaW1nICoKIGFjcl9yMzUyX2xz X3Vjb2RlX2ltZ19sb2FkKGNvbnN0IHN0cnVjdCBhY3JfcjM1MiAqYWNyLAorCQkJICAgY29uc3Qg c3RydWN0IG52a21fc2VjYm9vdCAqc2IsCiAJCQkgICBlbnVtIG52a21fc2VjYm9vdF9mYWxjb24g ZmFsY29uX2lkKQogewogCWNvbnN0IHN0cnVjdCBudmttX3N1YmRldiAqc3ViZGV2ID0gYWNyLT5i YXNlLnN1YmRldjsKQEAgLTI1Myw3ICsyNTQsNyBAQCBhY3JfcjM1Ml9sc191Y29kZV9pbWdfbG9h ZChjb25zdCBzdHJ1Y3QgYWNyX3IzNTIgKmFjciwKIAogCWltZy0+YmFzZS5mYWxjb25faWQgPSBm YWxjb25faWQ7CiAKLQlyZXQgPSBhY3ItPmZ1bmMtPmxzX2Z1bmNbZmFsY29uX2lkXS0+bG9hZChz dWJkZXYsICZpbWctPmJhc2UpOworCXJldCA9IGFjci0+ZnVuYy0+bHNfZnVuY1tmYWxjb25faWRd LT5sb2FkKHNiLCAmaW1nLT5iYXNlKTsKIAogCWlmIChyZXQpIHsKIAkJa2ZyZWUoaW1nLT5iYXNl LnVjb2RlX2RhdGEpOwpAQCAtNDYyLDEyICs0NjMsMTQgQEAgYWNyX3IzNTJfbHNfd3JpdGVfd3By KHN0cnVjdCBhY3JfcjM1MiAqYWNyLCBzdHJ1Y3QgbGlzdF9oZWFkICppbWdzLAogICogd2lsbCBi ZSBjb3BpZWQgaW50byB0aGUgV1BSIHJlZ2lvbiBieSB0aGUgSFMgZmlybXdhcmUuCiAgKi8KIHN0 YXRpYyBpbnQKLWFjcl9yMzUyX3ByZXBhcmVfbHNfYmxvYihzdHJ1Y3QgYWNyX3IzNTIgKmFjciwg dTY0IHdwcl9hZGRyLCB1MzIgd3ByX3NpemUpCithY3JfcjM1Ml9wcmVwYXJlX2xzX2Jsb2Ioc3Ry dWN0IGFjcl9yMzUyICphY3IsIHN0cnVjdCBudmttX3NlY2Jvb3QgKnNiKQogewogCWNvbnN0IHN0 cnVjdCBudmttX3N1YmRldiAqc3ViZGV2ID0gYWNyLT5iYXNlLnN1YmRldjsKIAlzdHJ1Y3QgbGlz dF9oZWFkIGltZ3M7CiAJc3RydWN0IGxzX3Vjb2RlX2ltZyAqaW1nLCAqdDsKIAl1bnNpZ25lZCBs b25nIG1hbmFnZWRfZmFsY29ucyA9IGFjci0+YmFzZS5tYW5hZ2VkX2ZhbGNvbnM7CisJdTY0IHdw cl9hZGRyID0gc2ItPndwcl9hZGRyOworCXUzMiB3cHJfc2l6ZSA9IHNiLT53cHJfc2l6ZTsKIAlp bnQgbWFuYWdlZF9jb3VudCA9IDA7CiAJdTMyIGltYWdlX3dwcl9zaXplLCBsc19ibG9iX3NpemU7 CiAJaW50IGZhbGNvbl9pZDsKQEAgLTQ3OSw3ICs0ODIsNyBAQCBhY3JfcjM1Ml9wcmVwYXJlX2xz X2Jsb2Ioc3RydWN0IGFjcl9yMzUyICphY3IsIHU2NCB3cHJfYWRkciwgdTMyIHdwcl9zaXplKQog CWZvcl9lYWNoX3NldF9iaXQoZmFsY29uX2lkLCAmbWFuYWdlZF9mYWxjb25zLCBOVktNX1NFQ0JP T1RfRkFMQ09OX0VORCkgewogCQlzdHJ1Y3QgbHNfdWNvZGVfaW1nICppbWc7CiAKLQkJaW1nID0g YWNyLT5mdW5jLT5sc191Y29kZV9pbWdfbG9hZChhY3IsIGZhbGNvbl9pZCk7CisJCWltZyA9IGFj ci0+ZnVuYy0+bHNfdWNvZGVfaW1nX2xvYWQoYWNyLCBzYiwgZmFsY29uX2lkKTsKIAkJaWYgKElT X0VSUihpbWcpKSB7CiAJCQlpZiAoYWNyLT5iYXNlLm9wdGlvbmFsX2ZhbGNvbnMgJiBCSVQoZmFs Y29uX2lkKSkgewogCQkJCW1hbmFnZWRfZmFsY29ucyAmPSB+QklUKGZhbGNvbl9pZCk7CkBAIC03 MDQsNyArNzA3LDcgQEAgYWNyX3IzNTJfbG9hZF9ibG9icyhzdHJ1Y3QgYWNyX3IzNTIgKmFjciwg c3RydWN0IG52a21fc2VjYm9vdCAqc2IpCiAJCXJldHVybiAwOwogCiAJLyogTG9hZCBhbmQgcHJl cGFyZSB0aGUgbWFuYWdlZCBmYWxjb24ncyBmaXJtd2FyZXMgKi8KLQlyZXQgPSBhY3JfcjM1Ml9w cmVwYXJlX2xzX2Jsb2IoYWNyLCBzYi0+d3ByX2FkZHIsIHNiLT53cHJfc2l6ZSk7CisJcmV0ID0g YWNyX3IzNTJfcHJlcGFyZV9sc19ibG9iKGFjciwgc2IpOwogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3Iz NTIuaCBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNTIuaAppbmRleCA2 ZTg4NTIwNTY2YzkuLjliOTE1NmM5YzgxNCAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvbnZrbS9z dWJkZXYvc2VjYm9vdC9hY3JfcjM1Mi5oCisrKyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3Nl Y2Jvb3QvYWNyX3IzNTIuaApAQCAtNTcsNyArNTcsNyBAQCBoc2ZfbG9hZF9oZWFkZXJfYXBwX3Np emUoY29uc3Qgc3RydWN0IGhzZl9sb2FkX2hlYWRlciAqaGRyLCB1MzIgYXBwKQogICogQGxoZHJf ZmxhZ3M6IExTIGZsYWdzCiAgKi8KIHN0cnVjdCBhY3JfcjM1Ml9sc19mdW5jIHsKLQlpbnQgKCps b2FkKShjb25zdCBzdHJ1Y3QgbnZrbV9zdWJkZXYgKiwgc3RydWN0IGxzX3Vjb2RlX2ltZyAqKTsK KwlpbnQgKCpsb2FkKShjb25zdCBzdHJ1Y3QgbnZrbV9zZWNib290ICosIHN0cnVjdCBsc191Y29k ZV9pbWcgKik7CiAJdm9pZCAoKmdlbmVyYXRlX2JsX2Rlc2MpKGNvbnN0IHN0cnVjdCBudmttX2Fj ciAqLAogCQkJCSBjb25zdCBzdHJ1Y3QgbHNfdWNvZGVfaW1nICosIHU2NCwgdm9pZCAqKTsKIAl1 MzIgYmxfZGVzY19zaXplOwpAQCAtODIsNiArODIsNyBAQCBzdHJ1Y3QgYWNyX3IzNTJfZnVuYyB7 CiAJYm9vbCBzaGFkb3dfYmxvYjsKIAogCXN0cnVjdCBsc191Y29kZV9pbWcgKigqbHNfdWNvZGVf aW1nX2xvYWQpKGNvbnN0IHN0cnVjdCBhY3JfcjM1MiAqLAorCQkJCQkJICBjb25zdCBzdHJ1Y3Qg bnZrbV9zZWNib290ICosCiAJCQkJCQkgIGVudW0gbnZrbV9zZWNib290X2ZhbGNvbik7CiAJaW50 ICgqbHNfZmlsbF9oZWFkZXJzKShzdHJ1Y3QgYWNyX3IzNTIgKiwgc3RydWN0IGxpc3RfaGVhZCAq KTsKIAlpbnQgKCpsc193cml0ZV93cHIpKHN0cnVjdCBhY3JfcjM1MiAqLCBzdHJ1Y3QgbGlzdF9o ZWFkICosCkBAIC0xNDUsNiArMTQ2LDcgQEAgc3RydWN0IG52a21fYWNyICphY3JfcjM1Ml9uZXdf KGNvbnN0IHN0cnVjdCBhY3JfcjM1Ml9mdW5jICosCiAJCQkgICAgICAgZW51bSBudmttX3NlY2Jv b3RfZmFsY29uLCB1bnNpZ25lZCBsb25nKTsKIAogc3RydWN0IGxzX3Vjb2RlX2ltZyAqYWNyX3Iz NTJfbHNfdWNvZGVfaW1nX2xvYWQoY29uc3Qgc3RydWN0IGFjcl9yMzUyICosCisJCQkJCQljb25z dCBzdHJ1Y3QgbnZrbV9zZWNib290ICosCiAJCQkJCQllbnVtIG52a21fc2VjYm9vdF9mYWxjb24p OwogaW50IGFjcl9yMzUyX2xzX2ZpbGxfaGVhZGVycyhzdHJ1Y3QgYWNyX3IzNTIgKiwgc3RydWN0 IGxpc3RfaGVhZCAqKTsKIGludCBhY3JfcjM1Ml9sc193cml0ZV93cHIoc3RydWN0IGFjcl9yMzUy ICosIHN0cnVjdCBsaXN0X2hlYWQgKiwKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3Vi ZGV2L3NlY2Jvb3QvYWNyX3IzNjcuYyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3Qv YWNyX3IzNjcuYwppbmRleCBmODYwNzEzNjQyZjEuLjg2Njg3N2I4ODc5NyAxMDA2NDQKLS0tIGEv ZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9hY3JfcjM2Ny5jCisrKyBiL2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNjcuYwpAQCAtMTA3LDYgKzEwNyw3IEBAIHN0 cnVjdCBsc191Y29kZV9pbWdfcjM2NyB7CiAKIHN0cnVjdCBsc191Y29kZV9pbWcgKgogYWNyX3Iz NjdfbHNfdWNvZGVfaW1nX2xvYWQoY29uc3Qgc3RydWN0IGFjcl9yMzUyICphY3IsCisJCQkgICBj b25zdCBzdHJ1Y3QgbnZrbV9zZWNib290ICpzYiwKIAkJCSAgIGVudW0gbnZrbV9zZWNib290X2Zh bGNvbiBmYWxjb25faWQpCiB7CiAJY29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYgPSBh Y3ItPmJhc2Uuc3ViZGV2OwpAQCAtMTE5LDcgKzEyMCw3IEBAIGFjcl9yMzY3X2xzX3Vjb2RlX2lt Z19sb2FkKGNvbnN0IHN0cnVjdCBhY3JfcjM1MiAqYWNyLAogCiAJaW1nLT5iYXNlLmZhbGNvbl9p ZCA9IGZhbGNvbl9pZDsKIAotCXJldCA9IGFjci0+ZnVuYy0+bHNfZnVuY1tmYWxjb25faWRdLT5s b2FkKHN1YmRldiwgJmltZy0+YmFzZSk7CisJcmV0ID0gYWNyLT5mdW5jLT5sc19mdW5jW2ZhbGNv bl9pZF0tPmxvYWQoc2IsICZpbWctPmJhc2UpOwogCWlmIChyZXQpIHsKIAkJa2ZyZWUoaW1nLT5i YXNlLnVjb2RlX2RhdGEpOwogCQlrZnJlZShpbWctPmJhc2Uuc2lnKTsKZGlmZiAtLWdpdCBhL2Ry bS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNjcuaCBiL2RybS9ub3V2ZWF1L252 a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNjcuaAppbmRleCBlYzZhNzFjYTM2YmUuLjhiZGZiM2U1 Y2QxYyAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9hY3JfcjM2 Ny5oCisrKyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNjcuaApAQCAt MjgsNiArMjgsNyBAQAogdm9pZCBhY3JfcjM2N19maXh1cF9oc19kZXNjKHN0cnVjdCBhY3JfcjM1 MiAqLCBzdHJ1Y3QgbnZrbV9zZWNib290ICosIHZvaWQgKik7CiAKIHN0cnVjdCBsc191Y29kZV9p bWcgKmFjcl9yMzY3X2xzX3Vjb2RlX2ltZ19sb2FkKGNvbnN0IHN0cnVjdCBhY3JfcjM1MiAqLAor CQkJCQkJY29uc3Qgc3RydWN0IG52a21fc2VjYm9vdCAqLAogCQkJCQkJZW51bSBudmttX3NlY2Jv b3RfZmFsY29uKTsKIGludCBhY3JfcjM2N19sc19maWxsX2hlYWRlcnMoc3RydWN0IGFjcl9yMzUy ICosIHN0cnVjdCBsaXN0X2hlYWQgKik7CiBpbnQgYWNyX3IzNjdfbHNfd3JpdGVfd3ByKHN0cnVj dCBhY3JfcjM1MiAqLCBzdHJ1Y3QgbGlzdF9oZWFkICosCmRpZmYgLS1naXQgYS9kcm0vbm91dmVh dS9udmttL3N1YmRldi9zZWNib290L2xzX3Vjb2RlLmggYi9kcm0vbm91dmVhdS9udmttL3N1YmRl di9zZWNib290L2xzX3Vjb2RlLmgKaW5kZXggNGZmOTEzOGEyYTgzLi4xMWI4OGQwYzRkYWYgMTAw NjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvbHNfdWNvZGUuaAorKysg Yi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2xzX3Vjb2RlLmgKQEAgLTE0NywxMSAr MTQ3LDExIEBAIHN0cnVjdCBmd19ibF9kZXNjIHsKIAl1MzIgZGF0YV9zaXplOwogfTsKIAotaW50 IGFjcl9sc191Y29kZV9sb2FkX2ZlY3MoY29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICosIHN0cnVj dCBsc191Y29kZV9pbWcgKik7Ci1pbnQgYWNyX2xzX3Vjb2RlX2xvYWRfZ3BjY3MoY29uc3Qgc3Ry dWN0IG52a21fc3ViZGV2ICosIHN0cnVjdCBsc191Y29kZV9pbWcgKik7Ci1pbnQgYWNyX2xzX3Vj b2RlX2xvYWRfcG11KGNvbnN0IHN0cnVjdCBudmttX3N1YmRldiAqLCBzdHJ1Y3QgbHNfdWNvZGVf aW1nICopOworaW50IGFjcl9sc191Y29kZV9sb2FkX2ZlY3MoY29uc3Qgc3RydWN0IG52a21fc2Vj Ym9vdCAqLCBzdHJ1Y3QgbHNfdWNvZGVfaW1nICopOworaW50IGFjcl9sc191Y29kZV9sb2FkX2dw Y2NzKGNvbnN0IHN0cnVjdCBudmttX3NlY2Jvb3QgKiwgc3RydWN0IGxzX3Vjb2RlX2ltZyAqKTsK K2ludCBhY3JfbHNfdWNvZGVfbG9hZF9wbXUoY29uc3Qgc3RydWN0IG52a21fc2VjYm9vdCAqLCBz dHJ1Y3QgbHNfdWNvZGVfaW1nICopOwogdm9pZCBhY3JfbHNfcG11X3Bvc3RfcnVuKGNvbnN0IHN0 cnVjdCBudmttX2FjciAqLCBjb25zdCBzdHJ1Y3QgbnZrbV9zZWNib290ICopOwotaW50IGFjcl9s c191Y29kZV9sb2FkX3NlYzIoY29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICosIHN0cnVjdCBsc191 Y29kZV9pbWcgKik7CitpbnQgYWNyX2xzX3Vjb2RlX2xvYWRfc2VjMihjb25zdCBzdHJ1Y3QgbnZr bV9zZWNib290ICosIHN0cnVjdCBsc191Y29kZV9pbWcgKik7CiB2b2lkIGFjcl9sc19zZWMyX3Bv c3RfcnVuKGNvbnN0IHN0cnVjdCBudmttX2FjciAqLCBjb25zdCBzdHJ1Y3QgbnZrbV9zZWNib290 ICopOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jv b3QvbHNfdWNvZGVfZ3IuYyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvbHNfdWNv ZGVfZ3IuYwppbmRleCA0MGE2ZGY3N2JiOGEuLmQxY2YwMmQyMmRiMSAxMDA2NDQKLS0tIGEvZHJt L25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9sc191Y29kZV9nci5jCisrKyBiL2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvbHNfdWNvZGVfZ3IuYwpAQCAtMTQ0LDE1ICsxNDQsMTMg QEAgZXJyb3I6CiB9CiAKIGludAotYWNyX2xzX3Vjb2RlX2xvYWRfZmVjcyhjb25zdCBzdHJ1Y3Qg bnZrbV9zdWJkZXYgKnN1YmRldiwKLQkJICAgICAgIHN0cnVjdCBsc191Y29kZV9pbWcgKmltZykK K2Fjcl9sc191Y29kZV9sb2FkX2ZlY3MoY29uc3Qgc3RydWN0IG52a21fc2VjYm9vdCAqc2IsIHN0 cnVjdCBsc191Y29kZV9pbWcgKmltZykKIHsKLQlyZXR1cm4gbHNfdWNvZGVfaW1nX2xvYWRfZ3Io c3ViZGV2LCBpbWcsICJmZWNzIik7CisJcmV0dXJuIGxzX3Vjb2RlX2ltZ19sb2FkX2dyKCZzYi0+ c3ViZGV2LCBpbWcsICJmZWNzIik7CiB9CiAKIGludAotYWNyX2xzX3Vjb2RlX2xvYWRfZ3BjY3Mo Y29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYsCi0JCQlzdHJ1Y3QgbHNfdWNvZGVfaW1n ICppbWcpCithY3JfbHNfdWNvZGVfbG9hZF9ncGNjcyhjb25zdCBzdHJ1Y3QgbnZrbV9zZWNib290 ICpzYiwgc3RydWN0IGxzX3Vjb2RlX2ltZyAqaW1nKQogewotCXJldHVybiBsc191Y29kZV9pbWdf bG9hZF9ncihzdWJkZXYsIGltZywgImdwY2NzIik7CisJcmV0dXJuIGxzX3Vjb2RlX2ltZ19sb2Fk X2dyKCZzYi0+c3ViZGV2LCBpbWcsICJncGNjcyIpOwogfQpkaWZmIC0tZ2l0IGEvZHJtL25vdXZl YXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9sc191Y29kZV9tc2dxdWV1ZS5jIGIvZHJtL25vdXZlYXUv bnZrbS9zdWJkZXYvc2VjYm9vdC9sc191Y29kZV9tc2dxdWV1ZS5jCmluZGV4IGVmMGIyOThiNzBk Ny4uOTdjMTRjMTZlNWFmIDEwMDY0NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNi b290L2xzX3Vjb2RlX21zZ3F1ZXVlLmMKKysrIGIvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2Vj Ym9vdC9sc191Y29kZV9tc2dxdWV1ZS5jCkBAIC04OCwxOSArODgsMTggQEAgYWNyX2xzX21zZ3F1 ZXVlX3Bvc3RfcnVuKHN0cnVjdCBudmttX21zZ3F1ZXVlICpxdWV1ZSwKIH0KIAogaW50Ci1hY3Jf bHNfdWNvZGVfbG9hZF9wbXUoY29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYsCi0JCSAg ICAgIHN0cnVjdCBsc191Y29kZV9pbWcgKmltZykKK2Fjcl9sc191Y29kZV9sb2FkX3BtdShjb25z dCBzdHJ1Y3QgbnZrbV9zZWNib290ICpzYiwgc3RydWN0IGxzX3Vjb2RlX2ltZyAqaW1nKQogewot CXN0cnVjdCBudmttX3BtdSAqcG11ID0gc3ViZGV2LT5kZXZpY2UtPnBtdTsKKwlzdHJ1Y3QgbnZr bV9wbXUgKnBtdSA9IHNiLT5zdWJkZXYuZGV2aWNlLT5wbXU7CiAJaW50IHJldDsKIAotCXJldCA9 IGFjcl9sc191Y29kZV9sb2FkX21zZ3F1ZXVlKHN1YmRldiwgInBtdSIsIGltZyk7CisJcmV0ID0g YWNyX2xzX3Vjb2RlX2xvYWRfbXNncXVldWUoJnNiLT5zdWJkZXYsICJwbXUiLCBpbWcpOwogCWlm IChyZXQpCiAJCXJldHVybiByZXQ7CiAKIAkvKiBBbGxvY2F0ZSB0aGUgUE1VIHF1ZXVlIGNvcnJl c3BvbmRpbmcgdG8gdGhlIEZXIHZlcnNpb24gKi8KIAlyZXQgPSBudmttX21zZ3F1ZXVlX25ldyhp bWctPnVjb2RlX2Rlc2MuYXBwX3ZlcnNpb24sIHBtdS0+ZmFsY29uLAotCQkJCSZwbXUtPnF1ZXVl KTsKKwkJCQlzYiwgJnBtdS0+cXVldWUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAg LTExOCwxOSArMTE3LDE4IEBAIGFjcl9sc19wbXVfcG9zdF9ydW4oY29uc3Qgc3RydWN0IG52a21f YWNyICphY3IsIGNvbnN0IHN0cnVjdCBudmttX3NlY2Jvb3QgKnNiKQogfQogCiBpbnQKLWFjcl9s c191Y29kZV9sb2FkX3NlYzIoY29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYsCi0JCSAg ICAgICBzdHJ1Y3QgbHNfdWNvZGVfaW1nICppbWcpCithY3JfbHNfdWNvZGVfbG9hZF9zZWMyKGNv bnN0IHN0cnVjdCBudmttX3NlY2Jvb3QgKnNiLCBzdHJ1Y3QgbHNfdWNvZGVfaW1nICppbWcpCiB7 Ci0Jc3RydWN0IG52a21fc2VjMiAqc2VjID0gc3ViZGV2LT5kZXZpY2UtPnNlYzI7CisJc3RydWN0 IG52a21fc2VjMiAqc2VjID0gc2ItPnN1YmRldi5kZXZpY2UtPnNlYzI7CiAJaW50IHJldDsKIAot CXJldCA9IGFjcl9sc191Y29kZV9sb2FkX21zZ3F1ZXVlKHN1YmRldiwgInNlYzIiLCBpbWcpOwor CXJldCA9IGFjcl9sc191Y29kZV9sb2FkX21zZ3F1ZXVlKCZzYi0+c3ViZGV2LCAic2VjMiIsIGlt Zyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIEFsbG9jYXRlIHRoZSBQTVUgcXVl dWUgY29ycmVzcG9uZGluZyB0byB0aGUgRlcgdmVyc2lvbiAqLwogCXJldCA9IG52a21fbXNncXVl dWVfbmV3KGltZy0+dWNvZGVfZGVzYy5hcHBfdmVyc2lvbiwgc2VjLT5mYWxjb24sCi0JCQkJJnNl Yy0+cXVldWUpOworCQkJCXNiLCAmc2VjLT5xdWV1ZSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJl dDsKIAotLSAKMi4xMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK