From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by casper.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1glXju-0004U9-O8 for barebox@lists.infradead.org; Mon, 21 Jan 2019 11:27:40 +0000 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 21 Jan 2019 12:27:32 +0100 Message-Id: <20190121112732.23772-3-u.kleine-koenig@pengutronix.de> In-Reply-To: <20190121112732.23772-1-u.kleine-koenig@pengutronix.de> References: <20190121112732.23772-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH v3 3/3] fs/nfs: stop using a global variable for nfs packet payload To: barebox@lists.infradead.org VGhlIGxpZmV0aW1lIG9mIHRoZSBkYXRhIHByb3ZpZGVkIGJ5IGEgZ2xvYmFsIHZhcmlhYmxlIGlz IGhhcmQgdG8gdHJhY2suClNvIG1vdmUgdGhlIGRhdGEgcG9pbnRlciBpbnRvIHRoZSBuZnNfcHJp diBzdHJ1Y3R1cmUgYW5kIGxldCBycGNfcmVxCnJldHVybiB0aGUgZGF0YSB0byBpdHMgY2FsbGVy cyB3aGljaCBpbiB0dXJuIGFyZSByZXNwb25zaWJsZSB0byBmcmVlIGl0LgoKVGhlIGNhbGxlcnMg YXJlIGNoYW5nZWQgdG8gdXNlIGEgbG9jYWwgdmFyaWFibGUgYWNjb3JkaW5nbHkuIFRoaXMgbWFr ZXMKaXQgcGxhdXNpYmxlIHRoYXQgdGhlIHByZXZpb3VzIGNvbW1pdCBjYXRjaGVkIGFsbCB1c2Fn ZXMgb2YgdGhlIGdsb2JhbApkYXRhLgoKU2lnbmVkLW9mZi1ieTogVXdlIEtsZWluZS1Lw7ZuaWcg PHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRyb25peC5kZT4KLS0tCiBmcy9uZnMuYyB8IDEyMiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgNTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZnMvbmZzLmMgYi9mcy9uZnMuYwppbmRleCBmYTBhYjc1YjU2MDkuLjA3YTgyZWM2MDI3NyAx MDA2NDQKLS0tIGEvZnMvbmZzLmMKKysrIGIvZnMvbmZzLmMKQEAgLTEwMiw5ICsxMDIsNiBAQAog I2RlZmluZSBORlMzRVJSX0JBRFRZUEUJCTEwMDA3CiAjZGVmaW5lIE5GUzNFUlJfSlVLRUJPWAkJ MTAwMDgKIAotc3RhdGljIHZvaWQgKm5mc19wYWNrZXQ7Ci1zdGF0aWMgaW50IG5mc19sZW47Ci0K IHN0cnVjdCBycGNfY2FsbCB7CiAJdWludDMyX3QgaWQ7CiAJdWludDMyX3QgdHlwZTsKQEAgLTEz Myw2ICsxMzAsMTEgQEAgc3RydWN0IG5mc19maCB7CiAJdW5zaWduZWQgY2hhciBkYXRhW05GUzNf RkhTSVpFXTsKIH07CiAKK3N0cnVjdCBwYWNrZXQgeworCWludCBsZW47CisJY2hhciBkYXRhW107 Cit9OworCiBzdHJ1Y3QgbmZzX3ByaXYgewogCXN0cnVjdCBuZXRfY29ubmVjdGlvbiAqY29uOwog CUlQYWRkcl90IHNlcnZlcjsKQEAgLTE0Myw2ICsxNDUsNyBAQCBzdHJ1Y3QgbmZzX3ByaXYgewog CXVuc2lnbmVkIG1hbnVhbF9uZnNfcG9ydDoxOwogCXVpbnQzMl90IHJwY19pZDsKIAlzdHJ1Y3Qg bmZzX2ZoIHJvb3RmaDsKKwlzdHJ1Y3QgcGFja2V0ICpuZnNfcGFja2V0OwogfTsKIAogc3RydWN0 IGZpbGVfcHJpdiB7CkBAIC0zNTUsOCArMzU4LDggQEAgc3RhdGljIHVpbnQzMl90ICpycGNfYWRk X2NyZWRlbnRpYWxzKHVpbnQzMl90ICpwKQogCXJldHVybiBwOwogfQogCi1zdGF0aWMgaW50IHJw Y19jaGVja19yZXBseSh1bnNpZ25lZCBjaGFyICpwa3QsCi0JCWludCBycGNfcHJvZywgdWludDMy X3QgcnBjX2lkLCBpbnQgKm5mc2VycikKK3N0YXRpYyBpbnQgcnBjX2NoZWNrX3JlcGx5KHN0cnVj dCBwYWNrZXQgKnBrdCwgaW50IHJwY19wcm9nLAorCQkJICAgdWludDMyX3QgcnBjX2lkLCBpbnQg Km5mc2VycikKIHsKIAl1aW50MzJfdCAqZGF0YTsKIAlzdHJ1Y3QgcnBjX3JlcGx5IHJwYzsKQEAg LTM2Niw3ICszNjksNyBAQCBzdGF0aWMgaW50IHJwY19jaGVja19yZXBseSh1bnNpZ25lZCBjaGFy ICpwa3QsCiAJaWYgKCFwa3QpCiAJCXJldHVybiAtRUFHQUlOOwogCi0JbWVtY3B5KCZycGMsIHBr dCwgc2l6ZW9mKHJwYykpOworCW1lbWNweSgmcnBjLCBwa3QtPmRhdGEsIHNpemVvZihycGMpKTsK IAogCWlmIChudG9oMzIocnBjLmlkKSAhPSBycGNfaWQpIHsKIAkJaWYgKHJwY19pZCAtIG50b2gz MihycGMuaWQpID09IDEpCkBAIC0zODUsNyArMzg4LDcgQEAgc3RhdGljIGludCBycGNfY2hlY2tf cmVwbHkodW5zaWduZWQgY2hhciAqcGt0LAogCWlmIChycGNfcHJvZyAhPSBQUk9HX05GUykKIAkJ cmV0dXJuIDA7CiAKLQlkYXRhID0gKHVpbnQzMl90ICopKHBrdCArIHNpemVvZihzdHJ1Y3QgcnBj X3JlcGx5KSk7CisJZGF0YSA9ICh1aW50MzJfdCAqKShwa3QtPmRhdGEgKyBzaXplb2Yoc3RydWN0 IHJwY19yZXBseSkpOwogCSpuZnNlcnIgPSBudG9oMzIobmV0X3JlYWRfdWludDMyKGRhdGEpKTsK IAkqbmZzZXJyID0gLSpuZnNlcnI7CiAKQEAgLTM5Nyw4ICs0MDAsOCBAQCBzdGF0aWMgaW50IHJw Y19jaGVja19yZXBseSh1bnNpZ25lZCBjaGFyICpwa3QsCiAvKgogICogcnBjX3JlcSAtIHN5bmNo cm9ub3VzIFJQQyByZXF1ZXN0CiAgKi8KLXN0YXRpYyBpbnQgcnBjX3JlcShzdHJ1Y3QgbmZzX3By aXYgKm5wcml2LCBpbnQgcnBjX3Byb2csIGludCBycGNfcHJvYywKLQkJdWludDMyX3QgKmRhdGEs IGludCBkYXRhbGVuKQorc3RhdGljIHN0cnVjdCBwYWNrZXQgKnJwY19yZXEoc3RydWN0IG5mc19w cml2ICpucHJpdiwgaW50IHJwY19wcm9nLAorCQkJICAgICAgaW50IHJwY19wcm9jLCB1aW50MzJf dCAqZGF0YSwgaW50IGRhdGFsZW4pCiB7CiAJc3RydWN0IHJwY19jYWxsIHBrdDsKIAl1bnNpZ25l ZCBzaG9ydCBkcG9ydDsKQEAgLTQ0MiwzMSArNDQ1LDMxIEBAIGFnYWluOgogCW5mc19zdGF0ZSA9 IFNUQVRFX1NUQVJUOwogCiAJd2hpbGUgKG5mc19zdGF0ZSAhPSBTVEFURV9ET05FKSB7Ci0JCWlm IChjdHJsYygpKSB7Ci0JCQlyZXQgPSAtRUlOVFI7Ci0JCQlicmVhazsKLQkJfQorCQlpZiAoY3Ry bGMoKSkKKwkJCXJldHVybiBFUlJfUFRSKC1FSU5UUik7CisKIAkJbmV0X3BvbGwoKTsKIAogCQlp ZiAoaXNfdGltZW91dChuZnNfdGltZXJfc3RhcnQsIE5GU19USU1FT1VUKSkgewogCQkJdHJpZXMr KzsKIAkJCWlmICh0cmllcyA9PSBORlNfTUFYX1JFU0VORCkKLQkJCQlyZXR1cm4gLUVUSU1FRE9V VDsKKwkJCQlyZXR1cm4gRVJSX1BUUigtRVRJTUVET1VUKTsKIAkJCWdvdG8gYWdhaW47CiAJCX0K IAotCQlyZXQgPSBycGNfY2hlY2tfcmVwbHkobmZzX3BhY2tldCwgcnBjX3Byb2csCi0JCQkJbnBy aXYtPnJwY19pZCwgJm5mc2Vycik7CisJCXJldCA9IHJwY19jaGVja19yZXBseShucHJpdi0+bmZz X3BhY2tldCwgcnBjX3Byb2csCisJCQkJICAgICAgbnByaXYtPnJwY19pZCwgJm5mc2Vycik7CiAJ CWlmICghcmV0KSB7CiAJCQlpZiAocnBjX3Byb2cgPT0gUFJPR19ORlMgJiYgbmZzZXJyKSB7Ci0J CQkJZnJlZShuZnNfcGFja2V0KTsKLQkJCQlyZXQgPSBuZnNlcnI7CisJCQkJZnJlZShucHJpdi0+ bmZzX3BhY2tldCk7CisJCQkJcmV0dXJuIEVSUl9QVFIobmZzZXJyKTsKKwkJCX0gZWxzZSB7CisJ CQkJcmV0dXJuIG5wcml2LT5uZnNfcGFja2V0OwogCQkJfQotCQkJYnJlYWs7CiAJCX0KIAl9CiAK LQlyZXR1cm4gcmV0OworCXJldHVybiBucHJpdi0+bmZzX3BhY2tldDsKIH0KIAogLyoKQEAgLTQ3 NSw3ICs0NzgsNyBAQCBhZ2FpbjoKIHN0YXRpYyBpbnQgcnBjX2xvb2t1cF9yZXEoc3RydWN0IG5m c19wcml2ICpucHJpdiwgdWludDMyX3QgcHJvZywgdWludDMyX3QgdmVyKQogewogCXVpbnQzMl90 IGRhdGFbMTZdOwotCWludCByZXQ7CisJc3RydWN0IHBhY2tldCAqbmZzX3BhY2tldDsKIAl1aW50 MzJfdCBwb3J0OwogCiAJZGF0YVswXSA9IDA7IGRhdGFbMV0gPSAwOwkvKiBhdXRoIGNyZWRlbnRp YWwgKi8KQEAgLTQ4NSwxMSArNDg4LDExIEBAIHN0YXRpYyBpbnQgcnBjX2xvb2t1cF9yZXEoc3Ry dWN0IG5mc19wcml2ICpucHJpdiwgdWludDMyX3QgcHJvZywgdWludDMyX3QgdmVyKQogCWRhdGFb Nl0gPSBodG9uMzIoMTcpOwkvKiBJUF9VRFAgKi8KIAlkYXRhWzddID0gMDsKIAotCXJldCA9IHJw Y19yZXEobnByaXYsIFBST0dfUE9SVE1BUCwgUE9SVE1BUF9HRVRQT1JULCBkYXRhLCA4KTsKLQlp ZiAocmV0KQotCQlyZXR1cm4gcmV0OworCW5mc19wYWNrZXQgPSBycGNfcmVxKG5wcml2LCBQUk9H X1BPUlRNQVAsIFBPUlRNQVBfR0VUUE9SVCwgZGF0YSwgOCk7CisJaWYgKElTX0VSUihuZnNfcGFj a2V0KSkKKwkJcmV0dXJuIFBUUl9FUlIobmZzX3BhY2tldCk7CiAKLQlwb3J0ID0gbnRvaDMyKG5l dF9yZWFkX3VpbnQzMihuZnNfcGFja2V0ICsgc2l6ZW9mKHN0cnVjdCBycGNfcmVwbHkpKSk7CisJ cG9ydCA9IG50b2gzMihuZXRfcmVhZF91aW50MzIobmZzX3BhY2tldC0+ZGF0YSArIHNpemVvZihz dHJ1Y3QgcnBjX3JlcGx5KSkpOwogCiAJZnJlZShuZnNfcGFja2V0KTsKIApAQCAtNjM0LDcgKzYz Nyw3IEBAIHN0YXRpYyBpbnQgbmZzX21vdW50X3JlcShzdHJ1Y3QgbmZzX3ByaXYgKm5wcml2KQog CXVpbnQzMl90ICpwOwogCWludCBsZW47CiAJaW50IHBhdGhsZW47Ci0JaW50IHJldDsKKwlzdHJ1 Y3QgcGFja2V0ICpuZnNfcGFja2V0OwogCiAJcGF0aGxlbiA9IHN0cmxlbihucHJpdi0+cGF0aCk7 CiAKQEAgLTY1MiwyMSArNjU1LDIwIEBAIHN0YXRpYyBpbnQgbmZzX21vdW50X3JlcShzdHJ1Y3Qg bmZzX3ByaXYgKm5wcml2KQogCiAJbGVuID0gcCAtICYoZGF0YVswXSk7CiAKLQlyZXQgPSBycGNf cmVxKG5wcml2LCBQUk9HX01PVU5ULCBNT1VOVF9BRERFTlRSWSwgZGF0YSwgbGVuKTsKLQlpZiAo cmV0KQotCQlyZXR1cm4gcmV0OworCW5mc19wYWNrZXQgPSBycGNfcmVxKG5wcml2LCBQUk9HX01P VU5ULCBNT1VOVF9BRERFTlRSWSwgZGF0YSwgbGVuKTsKKwlpZiAoSVNfRVJSKG5mc19wYWNrZXQp KQorCQlyZXR1cm4gUFRSX0VSUihuZnNfcGFja2V0KTsKIAotCXAgPSBuZnNfcGFja2V0ICsgc2l6 ZW9mKHN0cnVjdCBycGNfcmVwbHkpICsgNDsKKwlwID0gKHZvaWQgKiluZnNfcGFja2V0LT5kYXRh ICsgc2l6ZW9mKHN0cnVjdCBycGNfcmVwbHkpICsgNDsKIAogCW5wcml2LT5yb290Zmguc2l6ZSA9 IG50b2gzMihuZXRfcmVhZF91aW50MzIocCsrKSk7CiAJaWYgKG5wcml2LT5yb290Zmguc2l6ZSA+ IE5GUzNfRkhTSVpFKSB7Ci0JCXByaW50ZigiJXM6IGZpbGUgaGFuZGxlIHRvbyBiaWc6ICVsdVxu IiwgX19mdW5jX18sCi0JCQkJKHVuc2lnbmVkIGxvbmcpbnByaXYtPnJvb3RmaC5zaXplKTsKKwkJ cHJpbnRmKCIlczogZmlsZSBoYW5kbGUgdG9vIGJpZzogJWx1XG4iLAorCQkgICAgICAgX19mdW5j X18sICh1bnNpZ25lZCBsb25nKW5wcml2LT5yb290Zmguc2l6ZSk7CiAJCWZyZWUobmZzX3BhY2tl dCk7CiAJCXJldHVybiAtRUlPOwogCX0KIAltZW1jcHkobnByaXYtPnJvb3RmaC5kYXRhLCBwLCBu cHJpdi0+cm9vdGZoLnNpemUpOwotCXAgKz0gRElWX1JPVU5EX1VQKG5wcml2LT5yb290Zmguc2l6 ZSwgNCk7CiAKIAlmcmVlKG5mc19wYWNrZXQpOwogCkBAIC02ODIsNyArNjg0LDcgQEAgc3RhdGlj IHZvaWQgbmZzX3Vtb3VudF9yZXEoc3RydWN0IG5mc19wcml2ICpucHJpdikKIAl1aW50MzJfdCAq cDsKIAlpbnQgbGVuOwogCWludCBwYXRobGVuOwotCWludCByZXQ7CisJc3RydWN0IHBhY2tldCAq bmZzX3BhY2tldDsKIAogCXBhdGhsZW4gPSBzdHJsZW4obnByaXYtPnBhdGgpOwogCkBAIC02OTMs OCArNjk1LDkgQEAgc3RhdGljIHZvaWQgbmZzX3Vtb3VudF9yZXEoc3RydWN0IG5mc19wcml2ICpu cHJpdikKIAogCWxlbiA9IHAgLSAmKGRhdGFbMF0pOwogCi0JcmV0ID0gcnBjX3JlcShucHJpdiwg UFJPR19NT1VOVCwgTU9VTlRfVU1PVU5ULCBkYXRhLCBsZW4pOwotCWlmICghcmV0KQorCW5mc19w YWNrZXQgPSBycGNfcmVxKG5wcml2LCBQUk9HX01PVU5ULCBNT1VOVF9VTU9VTlQsIGRhdGEsIGxl bik7CisKKwlpZiAoIUlTX0VSUihuZnNfcGFja2V0KSkKIAkJZnJlZShuZnNfcGFja2V0KTsKIH0K IApAQCAtNzEwLDcgKzcxMyw3IEBAIHN0YXRpYyBpbnQgbmZzX2xvb2t1cF9yZXEoc3RydWN0IG5m c19wcml2ICpucHJpdiwgc3RydWN0IG5mc19maCAqZmgsCiAJdWludDMyX3QgZGF0YVsxMDI0XTsK IAl1aW50MzJfdCAqcDsKIAlpbnQgbGVuOwotCWludCByZXQ7CisJc3RydWN0IHBhY2tldCAqbmZz X3BhY2tldDsKIAogCS8qCiAJICogc3RydWN0IExPT0tVUDNhcmdzIHsKQEAgLTc0NiwxMSArNzQ5 LDExIEBAIHN0YXRpYyBpbnQgbmZzX2xvb2t1cF9yZXEoc3RydWN0IG5mc19wcml2ICpucHJpdiwg c3RydWN0IG5mc19maCAqZmgsCiAKIAlsZW4gPSBwIC0gJihkYXRhWzBdKTsKIAotCXJldCA9IHJw Y19yZXEobnByaXYsIFBST0dfTkZTLCBORlNQUk9DM19MT09LVVAsIGRhdGEsIGxlbik7Ci0JaWYg KHJldCkKLQkJcmV0dXJuIHJldDsKKwluZnNfcGFja2V0ID0gcnBjX3JlcShucHJpdiwgUFJPR19O RlMsIE5GU1BST0MzX0xPT0tVUCwgZGF0YSwgbGVuKTsKKwlpZiAoSVNfRVJSKG5mc19wYWNrZXQp KQorCQlyZXR1cm4gUFRSX0VSUihuZnNfcGFja2V0KTsKIAotCXAgPSBuZnNfcGFja2V0ICsgc2l6 ZW9mKHN0cnVjdCBycGNfcmVwbHkpICsgNDsKKwlwID0gKHZvaWQgKiluZnNfcGFja2V0LT5kYXRh ICsgc2l6ZW9mKHN0cnVjdCBycGNfcmVwbHkpICsgNDsKIAogCW5pbm9kZS0+Zmguc2l6ZSA9IG50 b2gzMihuZXRfcmVhZF91aW50MzIocCsrKSk7CiAJaWYgKG5pbm9kZS0+Zmguc2l6ZSA+IE5GUzNf RkhTSVpFKSB7CkBAIC03NzcsNyArNzgwLDcgQEAgc3RhdGljIHZvaWQgKm5mc19yZWFkZGlyYXR0 cl9yZXEoc3RydWN0IG5mc19wcml2ICpucHJpdiwgc3RydWN0IG5mc19kaXIgKmRpcikKIAl1aW50 MzJfdCBkYXRhWzEwMjRdOwogCXVpbnQzMl90ICpwOwogCWludCBsZW47Ci0JaW50IHJldDsKKwlz dHJ1Y3QgcGFja2V0ICpuZnNfcGFja2V0OwogCXZvaWQgKmJ1ZjsKIAogCS8qCkBAIC04MjksMTgg KzgzMiwxOCBAQCBzdGF0aWMgdm9pZCAqbmZzX3JlYWRkaXJhdHRyX3JlcShzdHJ1Y3QgbmZzX3By aXYgKm5wcml2LCBzdHJ1Y3QgbmZzX2RpciAqZGlyKQogCiAJcCA9IG5mc19hZGRfdWludDMyKHAs IDEwMjQpOyAvKiBjb3VudCAqLwogCi0JcmV0ID0gcnBjX3JlcShucHJpdiwgUFJPR19ORlMsIE5G U1BST0MzX1JFQURESVIsIGRhdGEsIHAgLSBkYXRhKTsKLQlpZiAocmV0KQorCW5mc19wYWNrZXQg PSBycGNfcmVxKG5wcml2LCBQUk9HX05GUywgTkZTUFJPQzNfUkVBRERJUiwgZGF0YSwgcCAtIGRh dGEpOworCWlmIChJU19FUlIobmZzX3BhY2tldCkpCiAJCXJldHVybiBOVUxMOwogCi0JcCA9IG5m c19wYWNrZXQgKyBzaXplb2Yoc3RydWN0IHJwY19yZXBseSkgKyA0OworCXAgPSAodm9pZCAqKW5m c19wYWNrZXQtPmRhdGEgKyBzaXplb2Yoc3RydWN0IHJwY19yZXBseSkgKyA0OwogCXAgPSBuZnNf cmVhZF9wb3N0X29wX2F0dHIocCwgTlVMTCk7CiAKIAkvKiB1cGRhdGUgY29va2lldmVyZiAqLwog CW1lbWNweShkaXItPmNvb2tpZXZlcmYsIHAsIE5GUzNfQ09PS0lFVkVSRlNJWkUpOwogCXAgKz0g TkZTM19DT09LSUVWRVJGU0laRSAvIDQ7CiAKLQlsZW4gPSBuZnNfcGFja2V0ICsgbmZzX2xlbiAt ICh2b2lkICopcDsKKwlsZW4gPSAodm9pZCAqKW5mc19wYWNrZXQtPmRhdGEgKyBuZnNfcGFja2V0 LT5sZW4gLSAodm9pZCAqKXA7CiAJaWYgKCFsZW4pIHsKIAkJcHJpbnRmKCIlczogaHVoLCBubyBw YXlsb2FkIGxlZnRcbiIsIF9fZnVuY19fKTsKIAkJZnJlZShuZnNfcGFja2V0KTsKQEAgLTg2OSw3 ICs4NzIsNyBAQCBzdGF0aWMgaW50IG5mc19yZWFkX3JlcShzdHJ1Y3QgZmlsZV9wcml2ICpwcml2 LCB1aW50NjRfdCBvZmZzZXQsCiAJdWludDMyX3QgZGF0YVsxMDI0XTsKIAl1aW50MzJfdCAqcDsK IAlpbnQgbGVuOwotCWludCByZXQ7CisJc3RydWN0IHBhY2tldCAqbmZzX3BhY2tldDsKIAl1aW50 MzJfdCBybGVuLCBlb2Y7CiAKIAkvKgpAQCAtOTA2LDExICs5MDksMTEgQEAgc3RhdGljIGludCBu ZnNfcmVhZF9yZXEoc3RydWN0IGZpbGVfcHJpdiAqcHJpdiwgdWludDY0X3Qgb2Zmc2V0LAogCiAJ bGVuID0gcCAtICYoZGF0YVswXSk7CiAKLQlyZXQgPSBycGNfcmVxKHByaXYtPm5wcml2LCBQUk9H X05GUywgTkZTUFJPQzNfUkVBRCwgZGF0YSwgbGVuKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0 OworCW5mc19wYWNrZXQgPSBycGNfcmVxKHByaXYtPm5wcml2LCBQUk9HX05GUywgTkZTUFJPQzNf UkVBRCwgZGF0YSwgbGVuKTsKKwlpZiAoSVNfRVJSKG5mc19wYWNrZXQpKQorCQlyZXR1cm4gUFRS X0VSUihuZnNfcGFja2V0KTsKIAotCXAgPSBuZnNfcGFja2V0ICsgc2l6ZW9mKHN0cnVjdCBycGNf cmVwbHkpICsgNDsKKwlwID0gKHZvaWQgKiluZnNfcGFja2V0LT5kYXRhICsgc2l6ZW9mKHN0cnVj dCBycGNfcmVwbHkpICsgNDsKIAogCXAgPSBuZnNfcmVhZF9wb3N0X29wX2F0dHIocCwgTlVMTCk7 CiAKQEAgLTk0MiwxMCArOTQ1LDEzIEBAIHN0YXRpYyBpbnQgbmZzX3JlYWRfcmVxKHN0cnVjdCBm aWxlX3ByaXYgKnByaXYsIHVpbnQ2NF90IG9mZnNldCwKIHN0YXRpYyB2b2lkIG5mc19oYW5kbGVy KHZvaWQgKmN0eCwgY2hhciAqcGFja2V0LCB1bnNpZ25lZCBsZW4pCiB7CiAJY2hhciAqcGt0ID0g bmV0X2V0aF90b191ZHBfcGF5bG9hZChwYWNrZXQpOworCXN0cnVjdCBuZnNfcHJpdiAqbnByaXYg PSBjdHg7CiAKIAluZnNfc3RhdGUgPSBTVEFURV9ET05FOwotCW5mc19wYWNrZXQgPSB4bWVtZHVw KHBrdCwgbGVuKTsKLQluZnNfbGVuID0gbGVuOworCisJbnByaXYtPm5mc19wYWNrZXQgPSB4bWFs bG9jKHNpemVvZigqbnByaXYtPm5mc19wYWNrZXQpICsgbGVuKTsKKwltZW1jcHkobnByaXYtPm5m c19wYWNrZXQtPmRhdGEsIHBrdCwgbGVuKTsKKwlucHJpdi0+bmZzX3BhY2tldC0+bGVuID0gbGVu OwogfQogCiBzdGF0aWMgaW50IG5mc190cnVuY2F0ZShzdHJ1Y3QgZGV2aWNlX2QgKmRldiwgRklM RSAqZiwgdWxvbmcgc2l6ZSkKQEAgLTk2Nyw3ICs5NzMsNyBAQCBzdGF0aWMgaW50IG5mc19yZWFk bGlua19yZXEoc3RydWN0IG5mc19wcml2ICpucHJpdiwgc3RydWN0IG5mc19maCAqZmgsCiAJdWlu dDMyX3QgZGF0YVsxMDI0XTsKIAl1aW50MzJfdCAqcDsKIAl1aW50MzJfdCBsZW47Ci0JaW50IHJl dDsKKwlzdHJ1Y3QgcGFja2V0ICpuZnNfcGFja2V0OwogCiAJLyoKIAkgKiBzdHJ1Y3QgUkVBRExJ TkszYXJncyB7CkBAIC05OTcsMTEgKzEwMDMsMTEgQEAgc3RhdGljIGludCBuZnNfcmVhZGxpbmtf cmVxKHN0cnVjdCBuZnNfcHJpdiAqbnByaXYsIHN0cnVjdCBuZnNfZmggKmZoLAogCiAJbGVuID0g cCAtICYoZGF0YVswXSk7CiAKLQlyZXQgPSBycGNfcmVxKG5wcml2LCBQUk9HX05GUywgTkZTUFJP QzNfUkVBRExJTkssIGRhdGEsIGxlbik7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKKwluZnNf cGFja2V0ID0gcnBjX3JlcShucHJpdiwgUFJPR19ORlMsIE5GU1BST0MzX1JFQURMSU5LLCBkYXRh LCBsZW4pOworCWlmIChJU19FUlIobmZzX3BhY2tldCkpCisJCXJldHVybiBQVFJfRVJSKG5mc19w YWNrZXQpOwogCi0JcCA9IG5mc19wYWNrZXQgKyBzaXplb2Yoc3RydWN0IHJwY19yZXBseSkgKyA0 OworCXAgPSAodm9pZCAqKW5mc19wYWNrZXQtPmRhdGEgKyBzaXplb2Yoc3RydWN0IHJwY19yZXBs eSkgKyA0OwogCiAJcCA9IG5mc19yZWFkX3Bvc3Rfb3BfYXR0cihwLCBOVUxMKTsKIAotLSAKMi4y MC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYmFy ZWJveCBtYWlsaW5nIGxpc3QKYmFyZWJveEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYmFyZWJveAo=