Content-Type: multipart/mixed; boundary="===============7133963479983947747==" MIME-Version: 1.0 From: Jaroslav Skarvada Subject: Re: [Powertop] [Patches] snprintf, PATH_MAX + improvement of handling reporting filenames Date: Tue, 12 May 2015 13:15:08 -0400 Message-ID: <317253301.16323854.1431450908882.JavaMail.zimbra@redhat.com> In-Reply-To: 1581639328.16307870.1431448558175.JavaMail.zimbra@redhat.com To: powertop@lists.01.org List-ID: --===============7133963479983947747== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Patch adding more buffer limits regards Jaroslav --===============7133963479983947747== Content-Type: text/x-patch MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-More-sprintf-fixes.patch" RnJvbSAzMjMzNzQzMjQ0NjYzNjFiZjY5OTk3YjdjNDBkMzU4Y2UwYmIyMzg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/SmFyb3NsYXY9MjA9QzU9QTBrYXJ2YWRhPz0g PGpza2FydmFkQHJlZGhhdC5jb20+CkRhdGU6IFR1ZSwgMTIgTWF5IDIwMTUgMTk6MTI6MDIgKzAy MDAKU3ViamVjdDogW1BBVENIIDMvM10gTW9yZSBzcHJpbnRmIGZpeGVzCk1JTUUtVmVyc2lvbjog MS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CgpTaWduZWQtb2ZmLWJ5OiBKYXJvc2xhdiDFoGthcnZhZGEgPGpz a2FydmFkQHJlZGhhdC5jb20+Ci0tLQogc3JjL2NwdS9hYnN0cmFjdF9jcHUuY3BwICAgICAgfCAg MiArLQogc3JjL2NwdS9jcHUuY3BwICAgICAgICAgICAgICAgfCAgNiArKystLS0KIHNyYy9jcHUv Y3B1X2xpbnV4LmNwcCAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0tCiBzcmMvZGV2aWNl cy9haGNpLmNwcCAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQogc3JjL2RldmljZXMvZGV2ZnJl cS5jcHAgICAgICAgfCAgMiArLQogc3JjL2Rldmxpc3QuY3BwICAgICAgICAgICAgICAgfCAgMiAr LQogc3JjL2xpYi5jcHAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQogc3JjL21haW4u Y3BwICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIHNyYy9wYXJhbWV0ZXJzL3BhcmFtZXRl cnMuY3BwIHwgIDQgKystLQogc3JjL3R1bmluZy9ldGhlcm5ldC5jcHAgICAgICAgfCAgMiArLQog c3JjL3R1bmluZy9ydW50aW1lLmNwcCAgICAgICAgfCAxMCArKysrKy0tLS0tCiBzcmMvdHVuaW5n L3R1bmluZ3N5c2ZzLmNwcCAgICB8ICA0ICsrLS0KIHNyYy90dW5pbmcvd2lmaS5jcHAgICAgICAg ICAgIHwgIDQgKystLQogMTMgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgNDAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2NwdS9hYnN0cmFjdF9jcHUuY3BwIGIvc3JjL2Nw dS9hYnN0cmFjdF9jcHUuY3BwCmluZGV4IDBkMTViM2YuLjE3YWNiNzEgMTAwNjQ0Ci0tLSBhL3Ny Yy9jcHUvYWJzdHJhY3RfY3B1LmNwcAorKysgYi9zcmMvY3B1L2Fic3RyYWN0X2NwdS5jcHAKQEAg LTExMiw3ICsxMTIsNyBAQCB2b2lkIGFic3RyYWN0X2NwdTo6bWVhc3VyZW1lbnRfc3RhcnQodm9p ZCkKIAlvbGRfaWRsZSA9IHRydWU7CiAKIAotCXNwcmludGYoZmlsZW5hbWUsICIvc3lzL2Rldmlj ZXMvc3lzdGVtL2NwdS9jcHUlaS9jcHVmcmVxL3NjYWxpbmdfYXZhaWxhYmxlX2ZyZXF1ZW5jaWVz IiwgbnVtYmVyKTsKKwlzbnByaW50ZihmaWxlbmFtZSwgUEFUSF9NQVgsICIvc3lzL2RldmljZXMv c3lzdGVtL2NwdS9jcHUlaS9jcHVmcmVxL3NjYWxpbmdfYXZhaWxhYmxlX2ZyZXF1ZW5jaWVzIiwg bnVtYmVyKTsKIAlmaWxlLm9wZW4oZmlsZW5hbWUsIGlvczo6aW4pOwogCWlmIChmaWxlKSB7CiAJ CWZpbGUgPj4gbWF4X2ZyZXF1ZW5jeTsKZGlmZiAtLWdpdCBhL3NyYy9jcHUvY3B1LmNwcCBiL3Ny Yy9jcHUvY3B1LmNwcAppbmRleCA0ZTA0MGMxLi5lZTg3YzA0IDEwMDY0NAotLS0gYS9zcmMvY3B1 L2NwdS5jcHAKKysrIGIvc3JjL2NwdS9jcHUuY3BwCkBAIC0xNTEsMjAgKzE1MSwyMCBAQCBzdGF0 aWMgY2xhc3MgYWJzdHJhY3RfY3B1ICogbmV3X2NwdShpbnQgbnVtYmVyLCBjaGFyICogdmVuZG9y LCBpbnQgZmFtaWx5LCBpbnQgbQogCiBzdGF0aWMgdm9pZCBoYW5kbGVfb25lX2NwdSh1bnNpZ25l ZCBpbnQgbnVtYmVyLCBjaGFyICp2ZW5kb3IsIGludCBmYW1pbHksIGludCBtb2RlbCkKIHsKLQlj aGFyIGZpbGVuYW1lWzEwMjRdOworCWNoYXIgZmlsZW5hbWVbUEFUSF9NQVhdOwogCWlmc3RyZWFt IGZpbGU7CiAJdW5zaWduZWQgaW50IHBhY2thZ2VfbnVtYmVyID0gMDsKIAl1bnNpZ25lZCBpbnQg Y29yZV9udW1iZXIgPSAwOwogCWNsYXNzIGFic3RyYWN0X2NwdSAqcGFja2FnZSwgKmNvcmUsICpj cHU7CiAKLQlzcHJpbnRmKGZpbGVuYW1lLCAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JWkv dG9wb2xvZ3kvY29yZV9pZCIsIG51bWJlcik7CisJc25wcmludGYoZmlsZW5hbWUsIFBBVEhfTUFY LCAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JWkvdG9wb2xvZ3kvY29yZV9pZCIsIG51bWJl cik7CiAJZmlsZS5vcGVuKGZpbGVuYW1lLCBpb3M6OmluKTsKIAlpZiAoZmlsZSkgewogCQlmaWxl ID4+IGNvcmVfbnVtYmVyOwogCQlmaWxlLmNsb3NlKCk7CiAJfQogCi0Jc3ByaW50ZihmaWxlbmFt ZSwgIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdSVpL3RvcG9sb2d5L3BoeXNpY2FsX3BhY2th Z2VfaWQiLCBudW1iZXIpOworCXNucHJpbnRmKGZpbGVuYW1lLCBQQVRIX01BWCwgIi9zeXMvZGV2 aWNlcy9zeXN0ZW0vY3B1L2NwdSVpL3RvcG9sb2d5L3BoeXNpY2FsX3BhY2thZ2VfaWQiLCBudW1i ZXIpOwogCWZpbGUub3BlbihmaWxlbmFtZSwgaW9zOjppbik7CiAJaWYgKGZpbGUpIHsKIAkJZmls ZSA+PiBwYWNrYWdlX251bWJlcjsKZGlmZiAtLWdpdCBhL3NyYy9jcHUvY3B1X2xpbnV4LmNwcCBi L3NyYy9jcHUvY3B1X2xpbnV4LmNwcAppbmRleCBlMWZmMTY1Li42ZDBmYTYyIDEwMDY0NAotLS0g YS9zcmMvY3B1L2NwdV9saW51eC5jcHAKKysrIGIvc3JjL2NwdS9jcHVfbGludXguY3BwCkBAIC00 Niw3ICs0Niw3IEBAIHZvaWQgY3B1X2xpbnV4OjpwYXJzZV9jc3RhdGVzX3N0YXJ0KHZvaWQpCiAJ Y2hhciBmaWxlbmFtZVsyNTZdOwogCWludCBsZW47CiAKLQlsZW4gPSBzcHJpbnRmKGZpbGVuYW1l LCAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JWkvY3B1aWRsZSIsIG51bWJlcik7CisJbGVu ID0gc25wcmludGYoZmlsZW5hbWUsIDI1NiwgIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdSVp L2NwdWlkbGUiLCBudW1iZXIpOwogCiAJZGlyID0gb3BlbmRpcihmaWxlbmFtZSk7CiAJaWYgKCFk aXIpCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgY3B1X2xpbnV4OjpwYXJzZV9jc3RhdGVzX3N0YXJ0 KHZvaWQpCiAJCXN0cmNweShsaW51eF9uYW1lLCBlbnRyeS0+ZF9uYW1lKTsKIAkJc3RyY3B5KGh1 bWFuX25hbWUsIGxpbnV4X25hbWUpOwogCi0JCXNwcmludGYoZmlsZW5hbWUgKyBsZW4sICIvJXMv bmFtZSIsIGVudHJ5LT5kX25hbWUpOworCQlzbnByaW50ZihmaWxlbmFtZSArIGxlbiwgMjU2IC0g bGVuLCAiLyVzL25hbWUiLCBlbnRyeS0+ZF9uYW1lKTsKIAogCQlmaWxlLm9wZW4oZmlsZW5hbWUs IGlvczo6aW4pOwogCQlpZiAoZmlsZSkgewpAQCAtNzgsMTQgKzc4LDE0IEBAIHZvaWQgY3B1X2xp bnV4OjpwYXJzZV9jc3RhdGVzX3N0YXJ0KHZvaWQpCiAJCWlmIChzdHJjbXAoaHVtYW5fbmFtZSwg IkMwIik9PTApCiAJCQlzdHJjcHkoaHVtYW5fbmFtZSwgXygiQzAgcG9sbGluZyIpKTsKIAotCQlz cHJpbnRmKGZpbGVuYW1lICsgbGVuLCAiLyVzL3VzYWdlIiwgZW50cnktPmRfbmFtZSk7CisJCXNu cHJpbnRmKGZpbGVuYW1lICsgbGVuLCAyNTYgLSBsZW4sICIvJXMvdXNhZ2UiLCBlbnRyeS0+ZF9u YW1lKTsKIAkJZmlsZS5vcGVuKGZpbGVuYW1lLCBpb3M6OmluKTsKIAkJaWYgKGZpbGUpIHsKIAkJ CWZpbGUgPj4gdXNhZ2U7CiAJCQlmaWxlLmNsb3NlKCk7CiAJCX0KIAotCQlzcHJpbnRmKGZpbGVu YW1lICsgbGVuLCAiLyVzL3RpbWUiLCBlbnRyeS0+ZF9uYW1lKTsKKwkJc25wcmludGYoZmlsZW5h bWUgKyBsZW4sIDI1NiAtIGxlbiwgIi8lcy90aW1lIiwgZW50cnktPmRfbmFtZSk7CiAKIAkJZmls ZS5vcGVuKGZpbGVuYW1lLCBpb3M6OmluKTsKIAkJaWYgKGZpbGUpIHsKQEAgLTExMiw3ICsxMTIs NyBAQCB2b2lkIGNwdV9saW51eDo6cGFyc2VfcHN0YXRlc19zdGFydCh2b2lkKQogCQlpZiAoY2hp bGRyZW5baV0pCiAJCQljaGlsZHJlbltpXS0+d2lnZ2xlKCk7CiAKLQlzcHJpbnRmKGZpbGVuYW1l LCAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JWkvY3B1ZnJlcS9zdGF0cy90aW1lX2luX3N0 YXRlIiwgZmlyc3RfY3B1KTsKKwlzbnByaW50ZihmaWxlbmFtZSwgMjU2LCAiL3N5cy9kZXZpY2Vz L3N5c3RlbS9jcHUvY3B1JWkvY3B1ZnJlcS9zdGF0cy90aW1lX2luX3N0YXRlIiwgZmlyc3RfY3B1 KTsKIAogCWZpbGUub3BlbihmaWxlbmFtZSwgaW9zOjppbik7CiAKQEAgLTE0NSw3ICsxNDUsNyBA QCB2b2lkIGNwdV9saW51eDo6cGFyc2VfY3N0YXRlc19lbmQodm9pZCkKIAlpZnN0cmVhbSBmaWxl OwogCWludCBsZW47CiAKLQlsZW4gPSBzcHJpbnRmKGZpbGVuYW1lLCAiL3N5cy9kZXZpY2VzL3N5 c3RlbS9jcHUvY3B1JWkvY3B1aWRsZSIsIG51bWJlcik7CisJbGVuID0gc25wcmludGYoZmlsZW5h bWUsIDI1NiwgIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdSVpL2NwdWlkbGUiLCBudW1iZXIp OwogCiAJZGlyID0gb3BlbmRpcihmaWxlbmFtZSk7CiAJaWYgKCFkaXIpCkBAIC0xNjcsMTQgKzE2 NywxNCBAQCB2b2lkIGNwdV9saW51eDo6cGFyc2VfY3N0YXRlc19lbmQodm9pZCkKIAkJc3RyY3B5 KGh1bWFuX25hbWUsIGxpbnV4X25hbWUpOwogCiAKLQkJc3ByaW50ZihmaWxlbmFtZSArIGxlbiwg Ii8lcy91c2FnZSIsIGVudHJ5LT5kX25hbWUpOworCQlzbnByaW50ZihmaWxlbmFtZSArIGxlbiwg MjU2IC0gbGVuLCAiLyVzL3VzYWdlIiwgZW50cnktPmRfbmFtZSk7CiAJCWZpbGUub3BlbihmaWxl bmFtZSwgaW9zOjppbik7CiAJCWlmIChmaWxlKSB7CiAJCQlmaWxlID4+IHVzYWdlOwogCQkJZmls ZS5jbG9zZSgpOwogCQl9CiAKLQkJc3ByaW50ZihmaWxlbmFtZSArIGxlbiwgIi8lcy90aW1lIiwg ZW50cnktPmRfbmFtZSk7CisJCXNucHJpbnRmKGZpbGVuYW1lICsgbGVuLCAyNTYgLSBsZW4sICIv JXMvdGltZSIsIGVudHJ5LT5kX25hbWUpOwogCiAJCWZpbGUub3BlbihmaWxlbmFtZSwgaW9zOjpp bik7CiAJCWlmIChmaWxlKSB7CkBAIC0xOTQsNyArMTk0LDcgQEAgdm9pZCBjcHVfbGludXg6OnBh cnNlX3BzdGF0ZXNfZW5kKHZvaWQpCiAJY2hhciBmaWxlbmFtZVsyNTZdOwogCWlmc3RyZWFtIGZp bGU7CiAKLQlzcHJpbnRmKGZpbGVuYW1lLCAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JWkv Y3B1ZnJlcS9zdGF0cy90aW1lX2luX3N0YXRlIiwgbnVtYmVyKTsKKwlzbnByaW50ZihmaWxlbmFt ZSwgMjU2LCAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JWkvY3B1ZnJlcS9zdGF0cy90aW1l X2luX3N0YXRlIiwgbnVtYmVyKTsKIAogCWZpbGUub3BlbihmaWxlbmFtZSwgaW9zOjppbik7CiAK ZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2VzL2FoY2kuY3BwIGIvc3JjL2RldmljZXMvYWhjaS5jcHAK aW5kZXggYTM5NGY5OC4uMDVjOGUwNiAxMDA2NDQKLS0tIGEvc3JjL2RldmljZXMvYWhjaS5jcHAK KysrIGIvc3JjL2RldmljZXMvYWhjaS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgc3RhdGljIHN0cmlu ZyBkaXNrX25hbWUoY2hhciAqcGF0aCwgY2hhciAqdGFyZ2V0LCBjaGFyICpzaG9ydG5hbWUpCiAJ Y2hhciBwYXRobmFtZVtQQVRIX01BWF07CiAJc3RyaW5nIGRpc2tuYW1lID0gIiI7CiAKLQlzcHJp bnRmKHBhdGhuYW1lLCAiJXMvJXMiLCBwYXRoLCB0YXJnZXQpOworCXNucHJpbnRmKHBhdGhuYW1l LCBQQVRIX01BWCwgIiVzLyVzIiwgcGF0aCwgdGFyZ2V0KTsKIAlkaXIgPSBvcGVuZGlyKHBhdGhu YW1lKTsKIAlpZiAoIWRpcikKIAkJcmV0dXJuIGRpc2tuYW1lOwpAQCAtNjUsNyArNjUsNyBAQCBz dGF0aWMgc3RyaW5nIGRpc2tfbmFtZShjaGFyICpwYXRoLCBjaGFyICp0YXJnZXQsIGNoYXIgKnNo b3J0bmFtZSkKIAkJaWYgKCFzdHJjaHIoZGlyZW50LT5kX25hbWUsICc6JykpCiAJCQljb250aW51 ZTsKIAotCQlzcHJpbnRmKGxpbmUsICIlcy8lcy9tb2RlbCIsIHBhdGhuYW1lLCBkaXJlbnQtPmRf bmFtZSk7CisJCXNucHJpbnRmKGxpbmUsIFBBVEhfTUFYLCAiJXMvJXMvbW9kZWwiLCBwYXRobmFt ZSwgZGlyZW50LT5kX25hbWUpOwogCQlmaWxlID0gZm9wZW4obGluZSwgInIiKTsKIAkJaWYgKGZp bGUpIHsKIAkJCWlmIChmZ2V0cyhsaW5lLCA0MDk2LCBmaWxlKSA9PSBOVUxMKSB7CkBAIC05Miw3 ICs5Miw3IEBAIHN0YXRpYyBzdHJpbmcgbW9kZWxfbmFtZShjaGFyICpwYXRoLCBjaGFyICpzaG9y dG5hbWUpCiAJc3RydWN0IGRpcmVudCAqZGlyZW50OwogCWNoYXIgcGF0aG5hbWVbUEFUSF9NQVhd OwogCi0Jc3ByaW50ZihwYXRobmFtZSwgIiVzL2RldmljZSIsIHBhdGgpOworCXNucHJpbnRmKHBh dGhuYW1lLCBQQVRIX01BWCwgIiVzL2RldmljZSIsIHBhdGgpOwogCiAJZGlyID0gb3BlbmRpcihw YXRobmFtZSk7CiAJaWYgKCFkaXIpCkBAIC0xNjgsMjAgKzE2OCwyMCBAQCB2b2lkIGFoY2k6OnN0 YXJ0X21lYXN1cmVtZW50KHZvaWQpCiAJCQlmaWxlID4+IHN0YXJ0X2FjdGl2ZTsKIAkJfQogCQlm aWxlLmNsb3NlKCk7Ci0JCXNwcmludGYoZmlsZW5hbWUsICIlcy9haGNpX2FscG1fcGFydGlhbCIs IHN5c2ZzX3BhdGgpOworCQlzbnByaW50ZihmaWxlbmFtZSwgUEFUSF9NQVgsICIlcy9haGNpX2Fs cG1fcGFydGlhbCIsIHN5c2ZzX3BhdGgpOwogCQlmaWxlLm9wZW4oZmlsZW5hbWUsIGlvczo6aW4p OwogCiAJCWlmIChmaWxlKSB7CiAJCQlmaWxlID4+IHN0YXJ0X3BhcnRpYWw7CiAJCX0KIAkJZmls ZS5jbG9zZSgpOwotCQlzcHJpbnRmKGZpbGVuYW1lLCAiJXMvYWhjaV9hbHBtX3NsdW1iZXIiLCBz eXNmc19wYXRoKTsKKwkJc25wcmludGYoZmlsZW5hbWUsIFBBVEhfTUFYLCAiJXMvYWhjaV9hbHBt X3NsdW1iZXIiLCBzeXNmc19wYXRoKTsKIAkJZmlsZS5vcGVuKGZpbGVuYW1lLCBpb3M6OmluKTsK IAkJaWYgKGZpbGUpIHsKIAkJCWZpbGUgPj4gc3RhcnRfc2x1bWJlcjsKIAkJfQogCQlmaWxlLmNs b3NlKCk7Ci0JCXNwcmludGYoZmlsZW5hbWUsICIlcy9haGNpX2FscG1fZGV2c2xwIiwgc3lzZnNf cGF0aCk7CisJCXNucHJpbnRmKGZpbGVuYW1lLCBQQVRIX01BWCwgIiVzL2FoY2lfYWxwbV9kZXZz bHAiLCBzeXNmc19wYXRoKTsKIAkJZmlsZS5vcGVuKGZpbGVuYW1lLCBpb3M6OmluKTsKIAkJaWYg KGZpbGUpIHsKIAkJCWZpbGUgPj4gc3RhcnRfZGV2c2xwOwpkaWZmIC0tZ2l0IGEvc3JjL2Rldmlj ZXMvZGV2ZnJlcS5jcHAgYi9zcmMvZGV2aWNlcy9kZXZmcmVxLmNwcAppbmRleCBmNjUyYTU3Li5h ZmE5YmI2IDEwMDY0NAotLS0gYS9zcmMvZGV2aWNlcy9kZXZmcmVxLmNwcAorKysgYi9zcmMvZGV2 aWNlcy9kZXZmcmVxLmNwcApAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgZGV2ZnJlcTo6cGFyc2Vf ZGV2ZnJlcV90cmFuc19zdGF0KGNoYXIgKmRuYW1lKQogCWlmc3RyZWFtIGZpbGU7CiAJY2hhciBm aWxlbmFtZVsyNTZdOwogCi0Jc3ByaW50ZihmaWxlbmFtZSwgIi9zeXMvY2xhc3MvZGV2ZnJlcS8l cy90cmFuc19zdGF0IiwgZGlyX25hbWUpOworCXNucHJpbnRmKGZpbGVuYW1lLCAyNTYsICIvc3lz L2NsYXNzL2RldmZyZXEvJXMvdHJhbnNfc3RhdCIsIGRpcl9uYW1lKTsKIAlmaWxlLm9wZW4oZmls ZW5hbWUpOwogCiAJaWYgKCFmaWxlKQpkaWZmIC0tZ2l0IGEvc3JjL2Rldmxpc3QuY3BwIGIvc3Jj L2Rldmxpc3QuY3BwCmluZGV4IDc4N2Y1ZjYuLmJmNDhmMjMgMTAwNjQ0Ci0tLSBhL3NyYy9kZXZs aXN0LmNwcAorKysgYi9zcmMvZGV2bGlzdC5jcHAKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIGNv bGxlY3Rfb3Blbl9kZXZpY2VzKHZvaWQpCiAJCWlmIChzdHJjbXAoZW50cnktPmRfbmFtZSwgInNl bGYiKSA9PSAwKQogCQkJY29udGludWU7CiAKLQkJc3ByaW50ZihmaWxlbmFtZSwgIi9wcm9jLyVz L2ZkLyIsIGVudHJ5LT5kX25hbWUpOworCQlzbnByaW50ZihmaWxlbmFtZSwgUEFUSF9NQVgsICIv cHJvYy8lcy9mZC8iLCBlbnRyeS0+ZF9uYW1lKTsKIAogCQlkaXIyID0gb3BlbmRpcihmaWxlbmFt ZSk7CiAJCWlmICghZGlyMikKZGlmZiAtLWdpdCBhL3NyYy9saWIuY3BwIGIvc3JjL2xpYi5jcHAK aW5kZXggNTE0OGJkOC4uMjlmMTA5ZiAxMDA2NDQKLS0tIGEvc3JjL2xpYi5jcHAKKysrIGIvc3Jj L2xpYi5jcHAKQEAgLTQ3NSwxMCArNDc1LDEwIEBAIGludCByZWFkX21zcihpbnQgY3B1LCB1aW50 NjRfdCBvZmZzZXQsIHVpbnQ2NF90ICp2YWx1ZSkKIAlpbnQgZmQ7CiAJY2hhciBtc3JfcGF0aFsy NTZdOwogCi0Jc3ByaW50Zihtc3JfcGF0aCwgIi9kZXYvY3B1LyVkL21zciIsIGNwdSk7CisJc25w cmludGYobXNyX3BhdGgsIDI1NiwgIi9kZXYvY3B1LyVkL21zciIsIGNwdSk7CiAKIAlpZiAoYWNj ZXNzKG1zcl9wYXRoLCBSX09LKSAhPSAwKXsKLQkJc3ByaW50Zihtc3JfcGF0aCwgIi9kZXYvbXNy JWQiLCBjcHUpOworCQlzbnByaW50Zihtc3JfcGF0aCwgMjU2LCAiL2Rldi9tc3IlZCIsIGNwdSk7 CiAKIAkJaWYgKGFjY2Vzcyhtc3JfcGF0aCwgUl9PSykgIT0gMCl7CiAJCQlmcHJpbnRmKHN0ZGVy ciwKQEAgLTUwNywxMCArNTA3LDEwIEBAIGludCB3cml0ZV9tc3IoaW50IGNwdSwgdWludDY0X3Qg b2Zmc2V0LCB1aW50NjRfdCB2YWx1ZSkKIAlpbnQgZmQ7CiAJY2hhciBtc3JfcGF0aFsyNTZdOwog Ci0Jc3ByaW50Zihtc3JfcGF0aCwgIi9kZXYvY3B1LyVkL21zciIsIGNwdSk7CisJc25wcmludGYo bXNyX3BhdGgsIDI1NiwgIi9kZXYvY3B1LyVkL21zciIsIGNwdSk7CiAKIAlpZiAoYWNjZXNzKG1z cl9wYXRoLCBSX09LKSAhPSAwKXsKLQkJc3ByaW50Zihtc3JfcGF0aCwgIi9kZXYvbXNyJWQiLCBj cHUpOworCQlzbnByaW50Zihtc3JfcGF0aCwgMjU2LCAiL2Rldi9tc3IlZCIsIGNwdSk7CiAKIAkJ aWYgKGFjY2Vzcyhtc3JfcGF0aCwgUl9PSykgIT0gMCl7CiAJCQlmcHJpbnRmKHN0ZGVyciwKZGlm ZiAtLWdpdCBhL3NyYy9tYWluLmNwcCBiL3NyYy9tYWluLmNwcAppbmRleCAyNzA5ZTcxLi4yYTJh NmU5IDEwMDY0NAotLS0gYS9zcmMvbWFpbi5jcHAKKysrIGIvc3JjL21haW4uY3BwCkBAIC00MTks NyArNDE5LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQkJYnJlYWs7CiAJ CWNhc2UgJ0MnOgkJLyogY3N2IHJlcG9ydCAqLwogCQkJcmVwb3J0dHlwZSA9IFJFUE9SVF9DU1Y7 Ci0JCQlzcHJpbnRmKGZpbGVuYW1lLCAiJXMiLCBvcHRhcmcgPyBvcHRhcmcgOiAicG93ZXJ0b3Au Y3N2Iik7CisJCQlzbnByaW50ZihmaWxlbmFtZSwgUEFUSF9NQVgsICIlcyIsIG9wdGFyZyA/IG9w dGFyZyA6ICJwb3dlcnRvcC5jc3YiKTsKIAkJCWlmICghc3RybGVuKGZpbGVuYW1lKSkKIAkJCXsK IAkJCQlmcHJpbnRmKHN0ZGVyciwgXygiSW52YWxpZCBDU1YgZmlsZW5hbWVcbiIpKTsKQEAgLTQz NSw3ICs0MzUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQlicmVhazsK IAkJY2FzZSAncic6CQkvKiBodG1sIHJlcG9ydCAqLwogCQkJcmVwb3J0dHlwZSA9IFJFUE9SVF9I VE1MOwotCQkJc3ByaW50ZihmaWxlbmFtZSwgIiVzIiwgb3B0YXJnID8gb3B0YXJnIDogInBvd2Vy dG9wLmh0bWwiKTsKKwkJCXNucHJpbnRmKGZpbGVuYW1lLCBQQVRIX01BWCwgIiVzIiwgb3B0YXJn ID8gb3B0YXJnIDogInBvd2VydG9wLmh0bWwiKTsKIAkJCWlmICghc3RybGVuKGZpbGVuYW1lKSkK IAkJCXsKIAkJCQlmcHJpbnRmKHN0ZGVyciwgXygiSW52YWxpZCBIVE1MIGZpbGVuYW1lXG4iKSk7 CkBAIC00NTMsNyArNDUzLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQkJ dGltZV9vdXQgPSAob3B0YXJnID8gYXRvaShvcHRhcmcpIDogMjApOwogCQkJYnJlYWs7CiAJCWNh c2UgJ3cnOgkJLyogbWVhc3VyZSB3b3JrbG9hZCAqLwotCQkJc3ByaW50Zih3b3JrbG9hZCwgIiVz Iiwgb3B0YXJnID8gb3B0YXJnIDogIiIpOworCQkJc25wcmludGYod29ya2xvYWQsIFBBVEhfTUFY LCAiJXMiLCBvcHRhcmcgPyBvcHRhcmcgOiAiIik7CiAJCQlicmVhazsKIAkJY2FzZSAnVic6CiAJ CQlwcmludF92ZXJzaW9uKCk7CmRpZmYgLS1naXQgYS9zcmMvcGFyYW1ldGVycy9wYXJhbWV0ZXJz LmNwcCBiL3NyYy9wYXJhbWV0ZXJzL3BhcmFtZXRlcnMuY3BwCmluZGV4IDFjMjE0ZjkuLjUxMWNk Y2YgMTAwNjQ0Ci0tLSBhL3NyYy9wYXJhbWV0ZXJzL3BhcmFtZXRlcnMuY3BwCisrKyBiL3NyYy9w YXJhbWV0ZXJzL3BhcmFtZXRlcnMuY3BwCkBAIC00NTQsOSArNDU0LDkgQEAgY2hhciogZ2V0X3Bh cmFtX2RpcmVjdG9yeShjb25zdCBjaGFyICpmaWxlbmFtZSkKIAlzdGF0aWMgY2hhciB0ZW1wZmls ZW5hbWVbUEFUSF9NQVhdOwogCiAJaWYgKGFjY2VzcygiL3Zhci9jYWNoZS9wb3dlcnRvcCIsIFdf T0sgKSA9PSAwKQotCQlzcHJpbnRmKHRlbXBmaWxlbmFtZSwgIi92YXIvY2FjaGUvcG93ZXJ0b3Av JXMiLCBmaWxlbmFtZSk7CisJCXNucHJpbnRmKHRlbXBmaWxlbmFtZSwgUEFUSF9NQVgsICIvdmFy L2NhY2hlL3Bvd2VydG9wLyVzIiwgZmlsZW5hbWUpOwogCWlmIChhY2Nlc3MoIi9kYXRhL2xvY2Fs L3Bvd2VydG9wIiwgV19PSyApID09IDApCi0JCXNwcmludGYodGVtcGZpbGVuYW1lLCAiL2RhdGEv bG9jYWwvcG93ZXJ0b3AvJXMiLCBmaWxlbmFtZSk7CisJCXNucHJpbnRmKHRlbXBmaWxlbmFtZSwg UEFUSF9NQVgsICIvZGF0YS9sb2NhbC9wb3dlcnRvcC8lcyIsIGZpbGVuYW1lKTsKIAogCXJldHVy biB0ZW1wZmlsZW5hbWU7CiB9OwpkaWZmIC0tZ2l0IGEvc3JjL3R1bmluZy9ldGhlcm5ldC5jcHAg Yi9zcmMvdHVuaW5nL2V0aGVybmV0LmNwcAppbmRleCAzZDM2MTEyLi5kYTA0NzExIDEwMDY0NAot LS0gYS9zcmMvdHVuaW5nL2V0aGVybmV0LmNwcAorKysgYi9zcmMvdHVuaW5nL2V0aGVybmV0LmNw cApAQCAtNTIsNyArNTIsNyBAQCBldGhlcm5ldF90dW5hYmxlOjpldGhlcm5ldF90dW5hYmxlKGNv bnN0IGNoYXIgKmlmYWNlKSA6IHR1bmFibGUoIiIsIDAuMywgXygiR29vZAogCW1lbXNldChpbnRl cmYsIDAsIHNpemVvZihpbnRlcmYpKTsKIAlzdHJuY3B5KGludGVyZiwgaWZhY2UsIHNpemVvZihp bnRlcmYpKTsKIAlzcHJpbnRmKGRlc2MsIF8oIldha2Utb24tbGFuIHN0YXR1cyBmb3IgZGV2aWNl ICVzIiksIGlmYWNlKTsKLQlzcHJpbnRmKHRvZ2dsZV9nb29kLCAiZXRodG9vbCAtcyAlcyB3b2wg ZDsiLCBpZmFjZSk7CisJc25wcmludGYodG9nZ2xlX2dvb2QsIDQwOTYsICJldGh0b29sIC1zICVz IHdvbCBkOyIsIGlmYWNlKTsKIAogfQogCmRpZmYgLS1naXQgYS9zcmMvdHVuaW5nL3J1bnRpbWUu Y3BwIGIvc3JjL3R1bmluZy9ydW50aW1lLmNwcAppbmRleCBkY2NlYjFhLi5lMjI2Njk1IDEwMDY0 NAotLS0gYS9zcmMvdHVuaW5nL3J1bnRpbWUuY3BwCisrKyBiL3NyYy90dW5pbmcvcnVudGltZS5j cHAKQEAgLTUwLDEwICs1MCwxMCBAQCBydW50aW1lX3R1bmFibGU6OnJ1bnRpbWVfdHVuYWJsZShj b25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpidXMsIGNvbnN0IGNoYXIgKgogCQlzcHJpbnRm KGRlc2MsIF8oIiVzIGRldmljZSAlcyBoYXMgbm8gcnVudGltZSBwb3dlciBtYW5hZ2VtZW50Iiks IGJ1cywgZGV2KTsKIAogCWlmIChzdHJjbXAoYnVzLCAicGNpIikgPT0gMCkgewotCQljaGFyIGZp bGVuYW1lWzQwOTZdOworCQljaGFyIGZpbGVuYW1lW1BBVEhfTUFYXTsKIAkJdWludDE2X3QgdmVu ZG9yID0gMCwgZGV2aWNlID0gMDsKIAotCQlzcHJpbnRmKGZpbGVuYW1lLCAiL3N5cy9idXMvJXMv ZGV2aWNlcy8lcy92ZW5kb3IiLCBidXMsIGRldik7CisJCXNucHJpbnRmKGZpbGVuYW1lLCBQQVRI X01BWCwgIi9zeXMvYnVzLyVzL2RldmljZXMvJXMvdmVuZG9yIiwgYnVzLCBkZXYpOwogCiAJCWZp bGUub3BlbihmaWxlbmFtZSwgaW9zOjppbik7CiAJCWlmIChmaWxlKSB7CkBAIC02Miw3ICs2Miw3 IEBAIHJ1bnRpbWVfdHVuYWJsZTo6cnVudGltZV90dW5hYmxlKGNvbnN0IGNoYXIgKnBhdGgsIGNv bnN0IGNoYXIgKmJ1cywgY29uc3QgY2hhciAqCiAJCX0KIAogCi0JCXNwcmludGYoZmlsZW5hbWUs ICIvc3lzL2J1cy8lcy9kZXZpY2VzLyVzL2RldmljZSIsIGJ1cywgZGV2KTsKKwkJc25wcmludGYo ZmlsZW5hbWUsIFBBVEhfTUFYLCAiL3N5cy9idXMvJXMvZGV2aWNlcy8lcy9kZXZpY2UiLCBidXMs IGRldik7CiAJCWZpbGUub3BlbihmaWxlbmFtZSwgaW9zOjppbik7CiAJCWlmIChmaWxlKSB7CiAJ CQlmaWxlID4+IGhleCA+PiBkZXZpY2U7CkBAIC03OCw4ICs3OCw4IEBAIHJ1bnRpbWVfdHVuYWJs ZTo6cnVudGltZV90dW5hYmxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmJ1cywgY29u c3QgY2hhciAqCiAKIAogCX0KLQlzcHJpbnRmKHRvZ2dsZV9nb29kLCAiZWNobyAnYXV0bycgPiAn JXMnOyIsIHJ1bnRpbWVfcGF0aCk7Ci0Jc3ByaW50Zih0b2dnbGVfYmFkLCAiZWNobyAnb24nID4g JyVzJzsiLCBydW50aW1lX3BhdGgpOworCXNucHJpbnRmKHRvZ2dsZV9nb29kLCA0MDk2LCAiZWNo byAnYXV0bycgPiAnJXMnOyIsIHJ1bnRpbWVfcGF0aCk7CisJc25wcmludGYodG9nZ2xlX2JhZCwg NDA5NiwgImVjaG8gJ29uJyA+ICclcyc7IiwgcnVudGltZV9wYXRoKTsKIH0KIAogaW50IHJ1bnRp bWVfdHVuYWJsZTo6Z29vZF9iYWQodm9pZCkKZGlmZiAtLWdpdCBhL3NyYy90dW5pbmcvdHVuaW5n c3lzZnMuY3BwIGIvc3JjL3R1bmluZy90dW5pbmdzeXNmcy5jcHAKaW5kZXggOGQ1NTk2OS4uODEx OTc3ZCAxMDA2NDQKLS0tIGEvc3JjL3R1bmluZy90dW5pbmdzeXNmcy5jcHAKKysrIGIvc3JjL3R1 bmluZy90dW5pbmdzeXNmcy5jcHAKQEAgLTQ3LDggKzQ3LDggQEAgc3lzZnNfdHVuYWJsZTo6c3lz ZnNfdHVuYWJsZShjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKl9zeXNmc19wYXRoLCBjb25z dCBjaGEKIAlzdHJjcHkoc3lzZnNfcGF0aCwgX3N5c2ZzX3BhdGgpOwogCXN0cmNweSh0YXJnZXRf dmFsdWUsIF90YXJnZXRfY29udGVudCk7CiAJYmFkX3ZhbHVlWzBdID0gMDsKLQlzcHJpbnRmKHRv Z2dsZV9nb29kLCAiZWNobyAnJXMnID4gJyVzJzsiLCB0YXJnZXRfdmFsdWUsIHN5c2ZzX3BhdGgp OwotCXNwcmludGYodG9nZ2xlX2JhZCwgImVjaG8gJyVzJyA+ICclcyc7IiwgYmFkX3ZhbHVlLCBz eXNmc19wYXRoKTsKKwlzbnByaW50Zih0b2dnbGVfZ29vZCwgNDA5NiwgImVjaG8gJyVzJyA+ICcl cyc7IiwgdGFyZ2V0X3ZhbHVlLCBzeXNmc19wYXRoKTsKKwlzbnByaW50Zih0b2dnbGVfYmFkLCA0 MDk2LCAiZWNobyAnJXMnID4gJyVzJzsiLCBiYWRfdmFsdWUsIHN5c2ZzX3BhdGgpOwogfQogCiBp bnQgc3lzZnNfdHVuYWJsZTo6Z29vZF9iYWQodm9pZCkKZGlmZiAtLWdpdCBhL3NyYy90dW5pbmcv d2lmaS5jcHAgYi9zcmMvdHVuaW5nL3dpZmkuY3BwCmluZGV4IDc3Y2RmY2MuLjI3NjNiNDMgMTAw NjQ0Ci0tLSBhL3NyYy90dW5pbmcvd2lmaS5jcHAKKysrIGIvc3JjL3R1bmluZy93aWZpLmNwcApA QCAtNDcsOCArNDcsOCBAQCB3aWZpX3R1bmFibGU6OndpZmlfdHVuYWJsZShjb25zdCBjaGFyICpf aWZhY2UpIDogdHVuYWJsZSgiIiwgMS41LCBfKCJHb29kIiksIF8oIgogCXN0cmNweShpZmFjZSwg X2lmYWNlKTsKIAlzcHJpbnRmKGRlc2MsIF8oIldpcmVsZXNzIFBvd2VyIFNhdmluZyBmb3IgaW50 ZXJmYWNlICVzIiksIGlmYWNlKTsKIAotCXNwcmludGYodG9nZ2xlX2dvb2QsICJpdyBkZXYgJXMg c2V0IHBvd2VyX3NhdmUgb24iLCBpZmFjZSk7Ci0Jc3ByaW50Zih0b2dnbGVfYmFkLCAiaXcgZGV2 ICVzIHNldCBwb3dlcl9zYXZlIG9mZiIsIGlmYWNlKTsKKwlzbnByaW50Zih0b2dnbGVfZ29vZCwg NDA5NiwgIml3IGRldiAlcyBzZXQgcG93ZXJfc2F2ZSBvbiIsIGlmYWNlKTsKKwlzbnByaW50Zih0 b2dnbGVfYmFkLCA0MDk2LCAiaXcgZGV2ICVzIHNldCBwb3dlcl9zYXZlIG9mZiIsIGlmYWNlKTsK IH0KIAogaW50IHdpZmlfdHVuYWJsZTo6Z29vZF9iYWQodm9pZCkKLS0gCjIuMS4wCgo= --===============7133963479983947747==--