From: Alexandre Courbot Subject: [PATCH 01/15] secboot: allow to boot multiple falcons Date: Wed, 29 Mar 2017 18:31:09 +0900 Message-ID: <20170329093123.24656-2-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 Q2hhbmdlIHRoZSBzZWNib290IGFuZCBtc2dxdWV1ZSBpbnRlcmZhY2VzIHRvIHRha2UgYSBtYXNr IG9mIGZhbGNvbnMgdG8KcmVzZXQgaW5zdGVhZCBvZiBhIHNpbmdsZSBmYWxjb24uIFRoZSBHUDEw QiBmaXJtd2FyZSBpbnRlcmZhY2UgcmVxdWlyZXMKRkVDUyBhbmQgR1BDQ1MgdG8gYmUgYm9vdGVk IGluIGEgc2luZ2xlIGZpcm13YXJlIGNvbW1hbmQuCgpGb3IgZmlybXdhcmVzIHRoYXQgb25seSBz dXBwb3J0IHNpbmdsZSBmYWxjb24gYm9vdCwgaXQgaXMgdHJpdmlhbCB0bwpsb29wIG92ZXIgdGhl IG1hc2sgYW5kIGJvb3QgZWFjaCBmYWxjb25zIGluZGl2aWR1YWxseS4KClNpZ25lZC1vZmYtYnk6 IEFsZXhhbmRyZSBDb3VyYm90IDxhY291cmJvdEBudmlkaWEuY29tPgotLS0KIGRybS9ub3V2ZWF1 L2luY2x1ZGUvbnZrbS9jb3JlL21zZ3F1ZXVlLmggICB8ICAzICstLQogZHJtL25vdXZlYXUvaW5j bHVkZS9udmttL3N1YmRldi9zZWNib290LmggIHwgIDIgKy0KIGRybS9ub3V2ZWF1L252a20vZW5n aW5lL2dyL2dmMTAwLmMgICAgICAgICB8IDE2ICsrKysrKysrKy0tLS0tLS0KIGRybS9ub3V2ZWF1 L252a20vZmFsY29uL21zZ3F1ZXVlLmMgICAgICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysr KystLS0KIGRybS9ub3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVlLmggICAgICAgICB8ICAyICsr CiBkcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2Fjci5oICAgICAgfCAgMyArLS0KIGRy bS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNTIuYyB8IDI1ICsrKysrKysrKysr KysrKy0tLS0tLS0tLS0KIGRybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYmFzZS5jICAg ICB8ICA2ICsrKy0tLQogOCBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyOCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vY29yZS9tc2dx dWV1ZS5oIGIvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL2NvcmUvbXNncXVldWUuaAppbmRleCBm YWMwODI0MTk3ZjEuLjVjOTAyZjhjMDQyYSAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvaW5jbHVk ZS9udmttL2NvcmUvbXNncXVldWUuaAorKysgYi9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vY29y ZS9tc2dxdWV1ZS5oCkBAIC00MSw3ICs0MSw2IEBAIGludCBudmttX21zZ3F1ZXVlX3JlaW5pdChz dHJ1Y3QgbnZrbV9tc2dxdWV1ZSAqKTsKIHZvaWQgbnZrbV9tc2dxdWV1ZV93cml0ZV9jbWRsaW5l KHN0cnVjdCBudmttX21zZ3F1ZXVlICosIHZvaWQgKik7CiAKIC8qIGludGVyZmFjZSB0byBBQ1Ig dW5pdCBydW5uaW5nIG9uIGZhbGNvbiAoTlZJRElBIHNpZ25lZCBmaXJtd2FyZSkgKi8KLWludCBu dmttX21zZ3F1ZXVlX2Fjcl9ib290X2ZhbGNvbihzdHJ1Y3QgbnZrbV9tc2dxdWV1ZSAqLAotCQkJ CSAgZW51bSBudmttX3NlY2Jvb3RfZmFsY29uKTsKK2ludCBudmttX21zZ3F1ZXVlX2Fjcl9ib290 X2ZhbGNvbnMoc3RydWN0IG52a21fbXNncXVldWUgKiwgdW5zaWduZWQgbG9uZyk7CiAKICNlbmRp ZgpkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi9zZWNib290Lmgg Yi9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L3NlY2Jvb3QuaAppbmRleCBkNmE0YmRi NjU3M2IuLmEyZDU0ZDgxZTMzOCAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvaW5jbHVkZS9udmtt L3N1YmRldi9zZWNib290LmgKKysrIGIvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi9z ZWNib290LmgKQEAgLTU1LDcgKzU1LDcgQEAgc3RydWN0IG52a21fc2VjYm9vdCB7CiAjZGVmaW5l IG52a21fc2VjYm9vdChwKSBjb250YWluZXJfb2YoKHApLCBzdHJ1Y3QgbnZrbV9zZWNib290LCBz dWJkZXYpCiAKIGJvb2wgbnZrbV9zZWNib290X2lzX21hbmFnZWQoc3RydWN0IG52a21fc2VjYm9v dCAqLCBlbnVtIG52a21fc2VjYm9vdF9mYWxjb24pOwotaW50IG52a21fc2VjYm9vdF9yZXNldChz dHJ1Y3QgbnZrbV9zZWNib290ICosIGVudW0gbnZrbV9zZWNib290X2ZhbGNvbik7CitpbnQgbnZr bV9zZWNib290X3Jlc2V0KHN0cnVjdCBudmttX3NlY2Jvb3QgKiwgdW5zaWduZWQgbG9uZyk7CiAK IGludCBnbTIwMF9zZWNib290X25ldyhzdHJ1Y3QgbnZrbV9kZXZpY2UgKiwgaW50LCBzdHJ1Y3Qg bnZrbV9zZWNib290ICoqKTsKIGludCBnbTIwYl9zZWNib290X25ldyhzdHJ1Y3QgbnZrbV9kZXZp Y2UgKiwgaW50LCBzdHJ1Y3QgbnZrbV9zZWNib290ICoqKTsKZGlmZiAtLWdpdCBhL2RybS9ub3V2 ZWF1L252a20vZW5naW5lL2dyL2dmMTAwLmMgYi9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9nci9n ZjEwMC5jCmluZGV4IGE0NDEwZWYxOWRiNS4uOTk2ODlmNGRlNTAyIDEwMDY0NAotLS0gYS9kcm0v bm91dmVhdS9udmttL2VuZ2luZS9nci9nZjEwMC5jCisrKyBiL2RybS9ub3V2ZWF1L252a20vZW5n aW5lL2dyL2dmMTAwLmMKQEAgLTE0NjMsMjUgKzE0NjMsMjcgQEAgZ2YxMDBfZ3JfaW5pdF9jdHhj dGxfZXh0KHN0cnVjdCBnZjEwMF9nciAqZ3IpCiAJc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYg PSAmZ3ItPmJhc2UuZW5naW5lLnN1YmRldjsKIAlzdHJ1Y3QgbnZrbV9kZXZpY2UgKmRldmljZSA9 IHN1YmRldi0+ZGV2aWNlOwogCXN0cnVjdCBudmttX3NlY2Jvb3QgKnNiID0gZGV2aWNlLT5zZWNi b290OwotCWludCByZXQgPSAwOworCXUzMiBzZWNib290X21hc2sgPSAwOwogCiAJLyogbG9hZCBm dWMgbWljcm9jb2RlICovCiAJbnZrbV9tY191bmsyNjAoZGV2aWNlLCAwKTsKIAogCS8qIHNlY3Vy ZWx5LW1hbmFnZWQgZmFsY29ucyBtdXN0IGJlIHJlc2V0IHVzaW5nIHNlY3VyZSBib290ICovCiAJ aWYgKG52a21fc2VjYm9vdF9pc19tYW5hZ2VkKHNiLCBOVktNX1NFQ0JPT1RfRkFMQ09OX0ZFQ1Mp KQotCQlyZXQgPSBudmttX3NlY2Jvb3RfcmVzZXQoc2IsIE5WS01fU0VDQk9PVF9GQUxDT05fRkVD Uyk7CisJCXNlY2Jvb3RfbWFzayB8PSBCSVQoTlZLTV9TRUNCT09UX0ZBTENPTl9GRUNTKTsKIAll bHNlCiAJCWdmMTAwX2dyX2luaXRfZncoZ3ItPmZlY3MsICZnci0+ZnVjNDA5YywgJmdyLT5mdWM0 MDlkKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwogCiAJaWYgKG52a21fc2VjYm9vdF9pc19t YW5hZ2VkKHNiLCBOVktNX1NFQ0JPT1RfRkFMQ09OX0dQQ0NTKSkKLQkJcmV0ID0gbnZrbV9zZWNi b290X3Jlc2V0KHNiLCBOVktNX1NFQ0JPT1RfRkFMQ09OX0dQQ0NTKTsKKwkJc2VjYm9vdF9tYXNr IHw9IEJJVChOVktNX1NFQ0JPT1RfRkFMQ09OX0dQQ0NTKTsKIAllbHNlCiAJCWdmMTAwX2dyX2lu aXRfZncoZ3ItPmdwY2NzLCAmZ3ItPmZ1YzQxYWMsICZnci0+ZnVjNDFhZCk7Ci0JaWYgKHJldCkK LQkJcmV0dXJuIHJldDsKKworCWlmIChzZWNib290X21hc2sgIT0gMCkgeworCQlpbnQgcmV0ID0g bnZrbV9zZWNib290X3Jlc2V0KHNiLCBzZWNib290X21hc2spOworCQlpZiAocmV0KQorCQkJcmV0 dXJuIHJldDsKKwl9CiAKIAludmttX21jX3VuazI2MChkZXZpY2UsIDEpOwogCmRpZmYgLS1naXQg YS9kcm0vbm91dmVhdS9udmttL2ZhbGNvbi9tc2dxdWV1ZS5jIGIvZHJtL25vdXZlYXUvbnZrbS9m YWxjb24vbXNncXVldWUuYwppbmRleCA5ODJlZmVkYjRiMTMuLjA3ODBkMzQwYzNlYiAxMDA2NDQK LS0tIGEvZHJtL25vdXZlYXUvbnZrbS9mYWxjb24vbXNncXVldWUuYworKysgYi9kcm0vbm91dmVh dS9udmttL2ZhbGNvbi9tc2dxdWV1ZS5jCkBAIC00NjMsMTIgKzQ2MywzMSBAQCBudmttX21zZ3F1 ZXVlX3dyaXRlX2NtZGxpbmUoc3RydWN0IG52a21fbXNncXVldWUgKnF1ZXVlLCB2b2lkICpidWYp CiB9CiAKIGludAotbnZrbV9tc2dxdWV1ZV9hY3JfYm9vdF9mYWxjb24oc3RydWN0IG52a21fbXNn cXVldWUgKnF1ZXVlLCBlbnVtIG52a21fc2VjYm9vdF9mYWxjb24gZmFsY29uKQorbnZrbV9tc2dx dWV1ZV9hY3JfYm9vdF9mYWxjb25zKHN0cnVjdCBudmttX21zZ3F1ZXVlICpxdWV1ZSwKKwkJCSAg ICAgICB1bnNpZ25lZCBsb25nIGZhbGNvbl9tYXNrKQogewotCWlmICghcXVldWUgfHwgIXF1ZXVl LT5mdW5jLT5hY3JfZnVuYyB8fCAhcXVldWUtPmZ1bmMtPmFjcl9mdW5jLT5ib290X2ZhbGNvbikK Kwl1bnNpZ25lZCBsb25nIGZhbGNvbjsKKworCWlmICghcXVldWUgfHwgIXF1ZXVlLT5mdW5jLT5h Y3JfZnVuYykKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKiBEb2VzIHRoZSBmaXJtd2FyZSBzdXBw b3J0IGJvb3RpbmcgbXVsdGlwbGUgZmFsY29ucz8gKi8KKwlpZiAocXVldWUtPmZ1bmMtPmFjcl9m dW5jLT5ib290X211bHRpcGxlX2ZhbGNvbnMpCisJCXJldHVybiBxdWV1ZS0+ZnVuYy0+YWNyX2Z1 bmMtPmJvb3RfbXVsdGlwbGVfZmFsY29ucyhxdWV1ZSwKKwkJCQkJCQkJICAgZmFsY29uX21hc2sp OworCisJLyogRWxzZSBib290IGFsbCByZXF1ZXN0ZWQgZmFsY29ucyBpbmRpdmlkdWFsbHkgKi8K KwlpZiAoIXF1ZXVlLT5mdW5jLT5hY3JfZnVuYy0+Ym9vdF9mYWxjb24pCiAJCXJldHVybiAtRU5P REVWOwogCi0JcmV0dXJuIHF1ZXVlLT5mdW5jLT5hY3JfZnVuYy0+Ym9vdF9mYWxjb24ocXVldWUs IGZhbGNvbik7CisJZm9yX2VhY2hfc2V0X2JpdChmYWxjb24sICZmYWxjb25fbWFzaywgTlZLTV9T RUNCT09UX0ZBTENPTl9FTkQpIHsKKwkJaW50IHJldCA9IHF1ZXVlLT5mdW5jLT5hY3JfZnVuYy0+ Ym9vdF9mYWxjb24ocXVldWUsIGZhbGNvbik7CisKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7 CisJfQorCisJcmV0dXJuIDA7CiB9CiAKIGludApkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbnZr bS9mYWxjb24vbXNncXVldWUuaCBiL2RybS9ub3V2ZWF1L252a20vZmFsY29uL21zZ3F1ZXVlLmgK aW5kZXggZjM3YWZlOTYzZDNlLi5lYTY3YTUyMmExMmUgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1 L252a20vZmFsY29uL21zZ3F1ZXVlLmgKKysrIGIvZHJtL25vdXZlYXUvbnZrbS9mYWxjb24vbXNn cXVldWUuaApAQCAtMTAxLDkgKzEwMSwxMSBAQCBzdHJ1Y3QgbnZrbV9tc2dxdWV1ZV9pbml0X2Z1 bmMgewogICogc3RydWN0IG52a21fbXNncXVldWVfYWNyX2Z1bmMgLSBtc2dxdWV1ZSBmdW5jdGlv bnMgcmVsYXRlZCB0byBBQ1IKICAqCiAgKiBAYm9vdF9mYWxjb246CWJ1aWxkIGFuZCBzZW5kIHRo ZSBjb21tYW5kIHRvIHJlc2V0IGEgZ2l2ZW4gZmFsY29uCisgKiBAYm9vdF9tdWx0aXBsZV9mYWxj b25zOiBidWlsZCBhbmQgc2VuZCB0aGUgY29tbWFuZCB0byByZXNldCBzZXZlcmFsIGZhbGNvbnMK ICAqLwogc3RydWN0IG52a21fbXNncXVldWVfYWNyX2Z1bmMgewogCWludCAoKmJvb3RfZmFsY29u KShzdHJ1Y3QgbnZrbV9tc2dxdWV1ZSAqLCBlbnVtIG52a21fc2VjYm9vdF9mYWxjb24pOworCWlu dCAoKmJvb3RfbXVsdGlwbGVfZmFsY29ucykoc3RydWN0IG52a21fbXNncXVldWUgKiwgdW5zaWdu ZWQgbG9uZyk7CiB9OwogCiBzdHJ1Y3QgbnZrbV9tc2dxdWV1ZV9mdW5jIHsKZGlmZiAtLWdpdCBh L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyLmggYi9kcm0vbm91dmVhdS9udmtt L3N1YmRldi9zZWNib290L2Fjci5oCmluZGV4IDkzZDgwNDY1MmQ0NC4uYjYxNWZjODFhY2E0IDEw MDY0NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2Fjci5oCisrKyBiL2Ry bS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyLmgKQEAgLTM5LDggKzM5LDcgQEAgc3Ry dWN0IG52a21fYWNyX2Z1bmMgewogCWludCAoKmZpbmkpKHN0cnVjdCBudmttX2FjciAqLCBzdHJ1 Y3QgbnZrbV9zZWNib290ICosIGJvb2wpOwogCWludCAoKmxvYWQpKHN0cnVjdCBudmttX2FjciAq LCBzdHJ1Y3QgbnZrbV9mYWxjb24gKiwKIAkJICAgIHN0cnVjdCBudmttX2dwdW9iaiAqLCB1NjQp OwotCWludCAoKnJlc2V0KShzdHJ1Y3QgbnZrbV9hY3IgKiwgc3RydWN0IG52a21fc2VjYm9vdCAq LAotCQkgICAgIGVudW0gbnZrbV9zZWNib290X2ZhbGNvbik7CisJaW50ICgqcmVzZXQpKHN0cnVj dCBudmttX2FjciAqLCBzdHJ1Y3QgbnZrbV9zZWNib290ICosIHVuc2lnbmVkIGxvbmcpOwogfTsK IAogLyoqCmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2Fjcl9y MzUyLmMgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2Fjcl9yMzUyLmMKaW5kZXgg OTkzYTM4ZWIzZWQ1Li5hYTRlNzVmMGViMGEgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L252a20v c3ViZGV2L3NlY2Jvb3QvYWNyX3IzNTIuYworKysgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9z ZWNib290L2Fjcl9yMzUyLmMKQEAgLTk3NiwxNSArOTc2LDE2IEBAIGFjcl9yMzUyX2Jvb3RzdHJh cChzdHJ1Y3QgYWNyX3IzNTIgKmFjciwgc3RydWN0IG52a21fc2VjYm9vdCAqc2IpCiAgKi8KIHN0 YXRpYyBpbnQKIGFjcl9yMzUyX3Jlc2V0X25vcG11KHN0cnVjdCBhY3JfcjM1MiAqYWNyLCBzdHJ1 Y3QgbnZrbV9zZWNib290ICpzYiwKLQkJICAgICBlbnVtIG52a21fc2VjYm9vdF9mYWxjb24gZmFs Y29uKQorCQkgICAgIHVuc2lnbmVkIGxvbmcgZmFsY29uX21hc2spCiB7CisJaW50IGZhbGNvbjsK IAlpbnQgcmV0OwogCiAJLyoKIAkgKiBQZXJmb3JtIHNlY3VyZSBib290IGVhY2ggdGltZSB3ZSBh cmUgY2FsbGVkIG9uIEZFQ1MuIFNpbmNlIG9ubHkgRkVDUwogCSAqIGFuZCBHUENDUyBhcmUgbWFu YWdlZCBhbmQgc3RhcnRlZCB0b2dldGhlciwgdGhpcyBvdWdodCB0byBiZSBzYWZlLgogCSAqLwot CWlmIChmYWxjb24gIT0gTlZLTV9TRUNCT09UX0ZBTENPTl9GRUNTKQorCWlmICghKGZhbGNvbl9t YXNrICYgQklUKE5WS01fU0VDQk9PVF9GQUxDT05fRkVDUykpKQogCQlnb3RvIGVuZDsKIAogCXJl dCA9IGFjcl9yMzUyX3NodXRkb3duKGFjciwgc2IpOwpAQCAtOTk2LDcgKzk5Nyw5IEBAIGFjcl9y MzUyX3Jlc2V0X25vcG11KHN0cnVjdCBhY3JfcjM1MiAqYWNyLCBzdHJ1Y3QgbnZrbV9zZWNib290 ICpzYiwKIAkJcmV0dXJuIHJldDsKIAogZW5kOgotCWFjci0+ZmFsY29uX3N0YXRlW2ZhbGNvbl0g PSBSRVNFVDsKKwlmb3JfZWFjaF9zZXRfYml0KGZhbGNvbiwgJmZhbGNvbl9tYXNrLCBOVktNX1NF Q0JPT1RfRkFMQ09OX0VORCkgeworCQlhY3ItPmZhbGNvbl9zdGF0ZVtmYWxjb25dID0gUkVTRVQ7 CisJfQogCXJldHVybiAwOwogfQogCkBAIC0xMDA5LDExICsxMDEyLDExIEBAIGVuZDoKICAqLwog c3RhdGljIGludAogYWNyX3IzNTJfcmVzZXQoc3RydWN0IG52a21fYWNyICpfYWNyLCBzdHJ1Y3Qg bnZrbV9zZWNib290ICpzYiwKLQkgICAgICAgZW51bSBudmttX3NlY2Jvb3RfZmFsY29uIGZhbGNv bikKKwkgICAgICAgdW5zaWduZWQgbG9uZyBmYWxjb25fbWFzaykKIHsKIAlzdHJ1Y3QgYWNyX3Iz NTIgKmFjciA9IGFjcl9yMzUyKF9hY3IpOwogCXN0cnVjdCBudmttX21zZ3F1ZXVlICpxdWV1ZTsK LQljb25zdCBjaGFyICpmbmFtZSA9IG52a21fc2VjYm9vdF9mYWxjb25fbmFtZVtmYWxjb25dOwor CWludCBmYWxjb247CiAJYm9vbCB3cHJfYWxyZWFkeV9zZXQgPSBzYi0+d3ByX3NldDsKIAlpbnQg cmV0OwogCkBAIC0xMDI2LDcgKzEwMjksNyBAQCBhY3JfcjM1Ml9yZXNldChzdHJ1Y3QgbnZrbV9h Y3IgKl9hY3IsIHN0cnVjdCBudmttX3NlY2Jvb3QgKnNiLAogCWlmICghbnZrbV9zZWNib290X2lz X21hbmFnZWQoc2IsIF9hY3ItPmJvb3RfZmFsY29uKSkgewogCQkvKiBSZWRvIHNlY3VyZSBib290 IGVudGlyZWx5IGlmIGl0IHdhcyBhbHJlYWR5IGRvbmUgKi8KIAkJaWYgKHdwcl9hbHJlYWR5X3Nl dCkKLQkJCXJldHVybiBhY3JfcjM1Ml9yZXNldF9ub3BtdShhY3IsIHNiLCBmYWxjb24pOworCQkJ cmV0dXJuIGFjcl9yMzUyX3Jlc2V0X25vcG11KGFjciwgc2IsIGZhbGNvbl9tYXNrKTsKIAkJLyog RWxzZSByZXR1cm4gdGhlIHJlc3VsdCBvZiB0aGUgaW5pdGlhbCBpbnZva2F0aW9uICovCiAJCWVs c2UKIAkJCXJldHVybiByZXQ7CkBAIC0xMDQ0LDEzICsxMDQ3LDE1IEBAIGFjcl9yMzUyX3Jlc2V0 KHN0cnVjdCBudmttX2FjciAqX2Fjciwgc3RydWN0IG52a21fc2VjYm9vdCAqc2IsCiAJfQogCiAJ LyogT3RoZXJ3aXNlIGp1c3QgYXNrIHRoZSBMUyBmaXJtd2FyZSB0byByZXNldCB0aGUgZmFsY29u ICovCi0JbnZrbV9kZWJ1Zygmc2ItPnN1YmRldiwgInJlc2V0dGluZyAlcyBmYWxjb25cbiIsIGZu YW1lKTsKLQlyZXQgPSBudmttX21zZ3F1ZXVlX2Fjcl9ib290X2ZhbGNvbihxdWV1ZSwgZmFsY29u KTsKKwlmb3JfZWFjaF9zZXRfYml0KGZhbGNvbiwgJmZhbGNvbl9tYXNrLCBOVktNX1NFQ0JPT1Rf RkFMQ09OX0VORCkKKwkJbnZrbV9kZWJ1Zygmc2ItPnN1YmRldiwgInJlc2V0dGluZyAlcyBmYWxj b25cbiIsCisJCQkgICBudmttX3NlY2Jvb3RfZmFsY29uX25hbWVbZmFsY29uXSk7CisJcmV0ID0g bnZrbV9tc2dxdWV1ZV9hY3JfYm9vdF9mYWxjb25zKHF1ZXVlLCBmYWxjb25fbWFzayk7CiAJaWYg KHJldCkgewotCQludmttX2Vycm9yKCZzYi0+c3ViZGV2LCAiY2Fubm90IGJvb3QgJXMgZmFsY29u XG4iLCBmbmFtZSk7CisJCW52a21fZXJyb3IoJnNiLT5zdWJkZXYsICJlcnJvciBkdXJpbmcgZmFs Y29uIHJlc2V0OiAlZFxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldDsKIAl9Ci0JbnZrbV9kZWJ1Zygm c2ItPnN1YmRldiwgImZhbGNvbiAlcyByZXNldFxuIiwgZm5hbWUpOworCW52a21fZGVidWcoJnNi LT5zdWJkZXYsICJmYWxjb24gcmVzZXQgZG9uZVxuIik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAt LWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYmFzZS5jIGIvZHJtL25vdXZl YXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9iYXNlLmMKaW5kZXggNWMxMWU4YzUwOTY0Li5lZTI5YzZj MTFhZmQgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYmFzZS5j CisrKyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYmFzZS5jCkBAIC0xMDIsMTUg KzEwMiwxNSBAQCBudmttX3NlY2Jvb3RfZmFsY29uX25hbWVbXSA9IHsKICAqIG52a21fc2VjYm9v dF9yZXNldCgpIC0gcmVzZXQgc3BlY2lmaWVkIGZhbGNvbgogICovCiBpbnQKLW52a21fc2VjYm9v dF9yZXNldChzdHJ1Y3QgbnZrbV9zZWNib290ICpzYiwgZW51bSBudmttX3NlY2Jvb3RfZmFsY29u IGZhbGNvbikKK252a21fc2VjYm9vdF9yZXNldChzdHJ1Y3QgbnZrbV9zZWNib290ICpzYiwgdW5z aWduZWQgbG9uZyBmYWxjb25fbWFzaykKIHsKIAkvKiBVbm1hbmFnZWQgZmFsY29uPyAqLwotCWlm ICghKEJJVChmYWxjb24pICYgc2ItPmFjci0+bWFuYWdlZF9mYWxjb25zKSkgeworCWlmICgoZmFs Y29uX21hc2sgfCBzYi0+YWNyLT5tYW5hZ2VkX2ZhbGNvbnMpICE9IHNiLT5hY3ItPm1hbmFnZWRf ZmFsY29ucykgewogCQludmttX2Vycm9yKCZzYi0+c3ViZGV2LCAiY2Fubm90IHJlc2V0IHVubWFu YWdlZCBmYWxjb24hXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JcmV0dXJuIHNiLT5h Y3ItPmZ1bmMtPnJlc2V0KHNiLT5hY3IsIHNiLCBmYWxjb24pOworCXJldHVybiBzYi0+YWNyLT5m dW5jLT5yZXNldChzYi0+YWNyLCBzYiwgZmFsY29uX21hc2spOwogfQogCiAvKioKLS0gCjIuMTIu MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVh dSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==