From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 08/13] xen: Rename xen_be_printf to xen_pv_printf Date: Fri, 28 Oct 2016 18:10:08 -0700 Message-ID: <1477703413-18852-8-git-send-email-sstabellini@kernel.org> References: <1477703413-18852-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0IAQ-00045V-Ac for xen-devel@lists.xenproject.org; Sat, 29 Oct 2016 01:10:38 +0000 In-Reply-To: <1477703413-18852-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: peter.maydell@linaro.org Cc: Quan Xu , sstabellini@kernel.org, qemu-devel@nongnu.org, anthony.perard@citrix.com, xen-devel@lists.xenproject.org, Emil Condrea List-Id: xen-devel@lists.xenproject.org RnJvbTogRW1pbCBDb25kcmVhIDxlbWlsY29uZHJlYUBnbWFpbC5jb20+CgpQcmVwYXJlIHhlbl9i ZV9wcmludGYgdG8gYmUgdXNlZCBieSBib3RoIGJhY2tlbmQgYW5kIGZyb250ZW5kczoKICogeGVu X2JlX3ByaW50ZiAtPiB4ZW5fcHZfcHJpbnRmCgpTaWduZWQtb2ZmLWJ5OiBFbWlsIENvbmRyZWEg PGVtaWxjb25kcmVhQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5p IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1IDx4dXF1YW44 QGh1YXdlaS5jb20+CkFja2VkLWJ5OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0 cml4LmNvbT4KLS0tCiBody9ibG9jay94ZW5fZGlzay5jICAgICAgICB8IDU4ICsrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGh3L2NoYXIveGVuX2NvbnNvbGUu YyAgICAgIHwgIDggKysrLS0tLQogaHcvZGlzcGxheS94ZW5mYi5jICAgICAgICAgfCA0MiArKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGh3L25ldC94ZW5fbmljLmMgICAgICAgICAg IHwgMjIgKysrKysrKysrLS0tLS0tLS0tCiBody91c2IveGVuLXVzYi5jICAgICAgICAgICB8IDM4 ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogaHcveGVuL3hlbl9iYWNrZW5kLmMgICAg ICAgfCA0NiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGh3L3hlbi94ZW5f ZGV2Y29uZmlnLmMgICAgIHwgIDQgKystLQogaHcveGVuL3hlbl9wdmRldi5jICAgICAgICAgfCAx MCArKysrLS0tLQogaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmggfCAgMiArLQogeGVuLWNvbW1v bi5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiAxMCBmaWxlcyBjaGFuZ2VkLCAxMTcgaW5zZXJ0 aW9ucygrKSwgMTE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3L2Jsb2NrL3hlbl9kaXNr LmMgYi9ody9ibG9jay94ZW5fZGlzay5jCmluZGV4IDViMDM3ZTcuLjYxNDU1NjcgMTAwNjQ0Ci0t LSBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMKKysrIGIvaHcvYmxvY2sveGVuX2Rpc2suYwpAQCAtMTY3 LDEyICsxNjcsMTIgQEAgc3RhdGljIHZvaWQgZGVzdHJveV9ncmFudChncG9pbnRlciBwZ250KQog ICAgIHhlbmdudHRhYl9oYW5kbGUgKmdudCA9IGdyYW50LT5ibGtkZXYtPnhlbmRldi5nbnR0YWJk ZXY7CiAKICAgICBpZiAoeGVuZ250dGFiX3VubWFwKGdudCwgZ3JhbnQtPnBhZ2UsIDEpICE9IDAp IHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmZ3JhbnQtPmJsa2Rldi0+eGVuZGV2LCAwLAorICAg ICAgICB4ZW5fcHZfcHJpbnRmKCZncmFudC0+YmxrZGV2LT54ZW5kZXYsIDAsCiAgICAgICAgICAg ICAgICAgICAgICAgInhlbmdudHRhYl91bm1hcCBmYWlsZWQ6ICVzXG4iLAogICAgICAgICAgICAg ICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CiAgICAgfQogICAgIGdyYW50LT5ibGtkZXYtPnBl cnNpc3RlbnRfZ250X2NvdW50LS07Ci0gICAgeGVuX2JlX3ByaW50ZigmZ3JhbnQtPmJsa2Rldi0+ eGVuZGV2LCAzLAorICAgIHhlbl9wdl9wcmludGYoJmdyYW50LT5ibGtkZXYtPnhlbmRldiwgMywK ICAgICAgICAgICAgICAgICAgICJ1bm1hcHBlZCBncmFudCAlcFxuIiwgZ3JhbnQtPnBhZ2UpOwog ICAgIGdfZnJlZShncmFudCk7CiB9CkBAIC0xODQsMTEgKzE4NCwxMSBAQCBzdGF0aWMgdm9pZCBy ZW1vdmVfcGVyc2lzdGVudF9yZWdpb24oZ3BvaW50ZXIgZGF0YSwgZ3BvaW50ZXIgZGV2KQogICAg IHhlbmdudHRhYl9oYW5kbGUgKmdudCA9IGJsa2Rldi0+eGVuZGV2LmdudHRhYmRldjsKIAogICAg IGlmICh4ZW5nbnR0YWJfdW5tYXAoZ250LCByZWdpb24tPmFkZHIsIHJlZ2lvbi0+bnVtKSAhPSAw KSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLAorICAgICAgICB4 ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAi eGVuZ250dGFiX3VubWFwIHJlZ2lvbiAlcCBmYWlsZWQ6ICVzXG4iLAogICAgICAgICAgICAgICAg ICAgICAgIHJlZ2lvbi0+YWRkciwgc3RyZXJyb3IoZXJybm8pKTsKICAgICB9Ci0gICAgeGVuX2Jl X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDMsCisgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54 ZW5kZXYsIDMsCiAgICAgICAgICAgICAgICAgICAidW5tYXBwZWQgZ3JhbnQgcmVnaW9uICVwIHdp dGggJWQgcGFnZXNcbiIsCiAgICAgICAgICAgICAgICAgICByZWdpb24tPmFkZHIsIHJlZ2lvbi0+ bnVtKTsKICAgICBnX2ZyZWUocmVnaW9uKTsKQEAgLTI1NSw3ICsyNTUsNyBAQCBzdGF0aWMgaW50 IGlvcmVxX3BhcnNlKHN0cnVjdCBpb3JlcSAqaW9yZXEpCiAgICAgc2l6ZV90IGxlbjsKICAgICBp bnQgaTsKIAotICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAzLAorICAgIHhlbl9w dl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAzLAogICAgICAgICAgICAgICAgICAgIm9wICVkLCBu ciAlZCwgaGFuZGxlICVkLCBpZCAlIiBQUklkNjQgIiwgc2VjdG9yICUiIFBSSWQ2NCAiXG4iLAog ICAgICAgICAgICAgICAgICAgaW9yZXEtPnJlcS5vcGVyYXRpb24sIGlvcmVxLT5yZXEubnJfc2Vn bWVudHMsCiAgICAgICAgICAgICAgICAgICBpb3JlcS0+cmVxLmhhbmRsZSwgaW9yZXEtPnJlcS5p ZCwgaW9yZXEtPnJlcS5zZWN0b3JfbnVtYmVyKTsKQEAgLTI3NSwyOCArMjc1LDI4IEBAIHN0YXRp YyBpbnQgaW9yZXFfcGFyc2Uoc3RydWN0IGlvcmVxICppb3JlcSkKICAgICBjYXNlIEJMS0lGX09Q X0RJU0NBUkQ6CiAgICAgICAgIHJldHVybiAwOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHhlbl9i ZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHVua25vd24gb3BlcmF0aW9uICgl ZClcbiIsCisgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6 IHVua25vd24gb3BlcmF0aW9uICglZClcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgaW9yZXEt PnJlcS5vcGVyYXRpb24pOwogICAgICAgICBnb3RvIGVycjsKICAgICB9OwogCiAgICAgaWYgKGlv cmVxLT5yZXEub3BlcmF0aW9uICE9IEJMS0lGX09QX1JFQUQgJiYgYmxrZGV2LT5tb2RlWzBdICE9 ICd3JykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9y OiB3cml0ZSByZXEgZm9yIHJvIGRldmljZVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoJmJs a2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHdyaXRlIHJlcSBmb3Igcm8gZGV2aWNlXG4iKTsKICAg ICAgICAgZ290byBlcnI7CiAgICAgfQogCiAgICAgaW9yZXEtPnN0YXJ0ID0gaW9yZXEtPnJlcS5z ZWN0b3JfbnVtYmVyICogYmxrZGV2LT5maWxlX2JsazsKICAgICBmb3IgKGkgPSAwOyBpIDwgaW9y ZXEtPnJlcS5ucl9zZWdtZW50czsgaSsrKSB7CiAgICAgICAgIGlmIChpID09IEJMS0lGX01BWF9T RUdNRU5UU19QRVJfUkVRVUVTVCkgewotICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2 LT54ZW5kZXYsIDAsICJlcnJvcjogbnJfc2VnbWVudHMgdG9vIGJpZ1xuIik7CisgICAgICAgICAg ICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiBucl9zZWdtZW50cyB0 b28gYmlnXG4iKTsKICAgICAgICAgICAgIGdvdG8gZXJyOwogICAgICAgICB9CiAgICAgICAgIGlm IChpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ID4gaW9yZXEtPnJlcS5zZWdbaV0ubGFzdF9z ZWN0KSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVy cm9yOiBmaXJzdCA+IGxhc3Qgc2VjdG9yXG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYo JmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IGZpcnN0ID4gbGFzdCBzZWN0b3JcbiIpOwogICAg ICAgICAgICAgZ290byBlcnI7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlvcmVxLT5yZXEuc2Vn W2ldLmxhc3Rfc2VjdCAqIEJMT0NLX1NJWkUgPj0gWENfUEFHRV9TSVpFKSB7Ci0gICAgICAgICAg ICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiBwYWdlIGNyb3NzaW5n XG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJy b3I6IHBhZ2UgY3Jvc3NpbmdcbiIpOwogICAgICAgICAgICAgZ290byBlcnI7CiAgICAgICAgIH0K IApAQCAtMzA4LDcgKzMwOCw3IEBAIHN0YXRpYyBpbnQgaW9yZXFfcGFyc2Uoc3RydWN0IGlvcmVx ICppb3JlcSkKICAgICAgICAgcWVtdV9pb3ZlY19hZGQoJmlvcmVxLT52LCAodm9pZCopbWVtLCBs ZW4pOwogICAgIH0KICAgICBpZiAoaW9yZXEtPnN0YXJ0ICsgaW9yZXEtPnYuc2l6ZSA+IGJsa2Rl di0+ZmlsZV9zaXplKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAw LCAiZXJyb3I6IGFjY2VzcyBiZXlvbmQgZW5kIG9mIGZpbGVcbiIpOworICAgICAgICB4ZW5fcHZf cHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiBhY2Nlc3MgYmV5b25kIGVuZCBvZiBm aWxlXG4iKTsKICAgICAgICAgZ290byBlcnI7CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtMzMx LDcgKzMzMSw3IEBAIHN0YXRpYyB2b2lkIGlvcmVxX3VubWFwKHN0cnVjdCBpb3JlcSAqaW9yZXEp CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgaWYgKHhlbmdudHRhYl91 bm1hcChnbnQsIGlvcmVxLT5wYWdlcywgaW9yZXEtPm51bV91bm1hcCkgIT0gMCkgewotICAgICAg ICAgICAgeGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAwLAorICAgICAgICAg ICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAwLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAieGVuZ250dGFiX3VubWFwIGZhaWxlZDogJXNcbiIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CiAgICAgICAgIH0KQEAgLTM0Myw3ICsz NDMsNyBAQCBzdGF0aWMgdm9pZCBpb3JlcV91bm1hcChzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogICAg ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHhl bmdudHRhYl91bm1hcChnbnQsIGlvcmVxLT5wYWdlW2ldLCAxKSAhPSAwKSB7Ci0gICAgICAgICAg ICAgICAgeGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAwLAorICAgICAgICAg ICAgICAgIHhlbl9wdl9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJ4ZW5nbnR0YWJfdW5tYXAgZmFpbGVkOiAlc1xuIiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CiAgICAgICAgICAg ICB9CkBAIC0zODEsNyArMzgxLDcgQEAgc3RhdGljIGludCBpb3JlcV9tYXAoc3RydWN0IGlvcmVx ICppb3JlcSkKIAogICAgICAgICAgICAgaWYgKGdyYW50ICE9IE5VTEwpIHsKICAgICAgICAgICAg ICAgICBwYWdlW2ldID0gZ3JhbnQtPnBhZ2U7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3ByaW50 ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAorICAgICAgICAgICAgICAgIHhlbl9wdl9wcmlu dGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ1c2luZyBwZXJzaXN0ZW50LWdyYW50ICUiIFBSSXUzMiAiXG4iLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW9yZXEtPnJlZnNbaV0pOwogICAgICAgICAgICAgfSBlbHNlIHsK QEAgLTQxMCw3ICs0MTAsNyBAQCBzdGF0aWMgaW50IGlvcmVxX21hcChzdHJ1Y3QgaW9yZXEgKmlv cmVxKQogICAgICAgICBpb3JlcS0+cGFnZXMgPSB4ZW5nbnR0YWJfbWFwX2dyYW50X3JlZnMKICAg ICAgICAgICAgIChnbnQsIG5ld19tYXBzLCBkb21pZHMsIHJlZnMsIGlvcmVxLT5wcm90KTsKICAg ICAgICAgaWYgKGlvcmVxLT5wYWdlcyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJp bnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsCisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRm KCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJj YW4ndCBtYXAgJWQgZ3JhbnQgcmVmcyAoJXMsICVkIG1hcHMpXG4iLAogICAgICAgICAgICAgICAg ICAgICAgICAgICBuZXdfbWFwcywgc3RyZXJyb3IoZXJybm8pLCBpb3JlcS0+YmxrZGV2LT5jbnRf bWFwKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKQEAgLTQyNiw3ICs0MjYsNyBAQCBzdGF0aWMg aW50IGlvcmVxX21hcChzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogICAgICAgICAgICAgaW9yZXEtPnBh Z2VbaV0gPSB4ZW5nbnR0YWJfbWFwX2dyYW50X3JlZgogICAgICAgICAgICAgICAgIChnbnQsIGRv bWlkc1tpXSwgcmVmc1tpXSwgaW9yZXEtPnByb3QpOwogICAgICAgICAgICAgaWYgKGlvcmVxLT5w YWdlW2ldID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+ YmxrZGV2LT54ZW5kZXYsIDAsCisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmaW9yZXEt PmJsa2Rldi0+eGVuZGV2LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhbid0 IG1hcCBncmFudCByZWYgJWQgKCVzLCAlZCBtYXBzKVxuIiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZnNbaV0sIHN0cmVycm9yKGVycm5vKSwgaW9yZXEtPmJsa2Rldi0+Y250X21h cCk7CiAgICAgICAgICAgICAgICAgaW9yZXEtPm1hcHBlZCA9IDE7CkBAIC00NzQsNyArNDc0LDcg QEAgc3RhdGljIGludCBpb3JlcV9tYXAoc3RydWN0IGlvcmVxICppb3JlcSkKICAgICAgICAgICAg ICAgICBncmFudC0+cGFnZSA9IGlvcmVxLT5wYWdlW25ld19tYXBzXTsKICAgICAgICAgICAgIH0K ICAgICAgICAgICAgIGdyYW50LT5ibGtkZXYgPSBpb3JlcS0+YmxrZGV2OwotICAgICAgICAgICAg eGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAorICAgICAgICAgICAgeGVu X3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAiYWRkaW5nIGdyYW50ICUiIFBSSXUzMiAiIHBhZ2U6ICVwXG4iLAogICAgICAgICAg ICAgICAgICAgICAgICAgICByZWZzW25ld19tYXBzXSwgZ3JhbnQtPnBhZ2UpOwogICAgICAgICAg ICAgZ190cmVlX2luc2VydChpb3JlcS0+YmxrZGV2LT5wZXJzaXN0ZW50X2dudHMsCkBAIC01NTcs NyArNTU3LDcgQEAgc3RhdGljIGludCBpb3JlcV9ncmFudF9jb3B5KHN0cnVjdCBpb3JlcSAqaW9y ZXEpCiAgICAgcmMgPSB4ZW5nbnR0YWJfZ3JhbnRfY29weShnbnQsIGNvdW50LCBzZWdzKTsKIAog ICAgIGlmIChyYykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5k ZXYsIDAsCisgICAgICAgIHhlbl9wdl9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwK ICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGNvcHkgZGF0YSAlZFxuIiwgcmMpOwog ICAgICAgICBpb3JlcS0+YWlvX2Vycm9ycysrOwogICAgICAgICByZXR1cm4gLTE7CkBAIC01NjUs NyArNTY1LDcgQEAgc3RhdGljIGludCBpb3JlcV9ncmFudF9jb3B5KHN0cnVjdCBpb3JlcSAqaW9y ZXEpCiAKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICBpZiAoc2Vn c1tpXS5zdGF0dXMgIT0gR05UU1Rfb2theSkgewotICAgICAgICAgICAgeGVuX2JlX3ByaW50Zigm aW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmaW9y ZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVk IHRvIGNvcHkgZGF0YSAlZCBmb3IgZ3JlZiAlZCwgZG9taWQgJWRcbiIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlZ3NbaV0uc3RhdHVzLCBpb3JlcS0+cmVmc1tpXSwgaW9yZXEtPmRvbWlk c1tpXSk7CiAgICAgICAgICAgICBpb3JlcS0+YWlvX2Vycm9ycysrOwpAQCAtNTk5LDcgKzU5OSw3 IEBAIHN0YXRpYyB2b2lkIHFlbXVfYWlvX2NvbXBsZXRlKHZvaWQgKm9wYXF1ZSwgaW50IHJldCkK ICAgICBzdHJ1Y3QgaW9yZXEgKmlvcmVxID0gb3BhcXVlOwogCiAgICAgaWYgKHJldCAhPSAwKSB7 Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwgIiVzIEkv TyBlcnJvclxuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2 LCAwLCAiJXMgSS9PIGVycm9yXG4iLAogICAgICAgICAgICAgICAgICAgICAgIGlvcmVxLT5yZXEu b3BlcmF0aW9uID09IEJMS0lGX09QX1JFQUQgPyAicmVhZCIgOiAid3JpdGUiKTsKICAgICAgICAg aW9yZXEtPmFpb19lcnJvcnMrKzsKICAgICB9CkBAIC05MTAsNyArOTEwLDcgQEAgc3RhdGljIHZv aWQgYmxrX2FsbG9jKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICB9CiAgICAgaWYgKHhl bmdudHRhYl9zZXRfbWF4X2dyYW50cyh4ZW5kZXYtPmdudHRhYmRldiwKICAgICAgICAgICAgIE1B WF9HUkFOVFMobWF4X3JlcXVlc3RzLCBCTEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JFUVVFU1QpKSA8 IDApIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJ4ZW5nbnR0YWJfc2V0X21h eF9ncmFudHMgZmFpbGVkOiAlc1xuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAs ICJ4ZW5nbnR0YWJfc2V0X21heF9ncmFudHMgZmFpbGVkOiAlc1xuIiwKICAgICAgICAgICAgICAg ICAgICAgICBzdHJlcnJvcihlcnJubykpOwogICAgIH0KIH0KQEAgLTEwNTYsMTEgKzEwNTYsMTEg QEAgc3RhdGljIGludCBibGtfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAg ICAgIH0KIAogICAgICAgICAvKiBzZXR1cCB2aWEgeGVuYnVzIC0+IGNyZWF0ZSBuZXcgYmxvY2sg ZHJpdmVyIGluc3RhbmNlICovCi0gICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2 LCAyLCAiY3JlYXRlIG5ldyBiZHJ2ICh4ZW5idXMgc2V0dXApXG4iKTsKKyAgICAgICAgeGVuX3B2 X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDIsICJjcmVhdGUgbmV3IGJkcnYgKHhlbmJ1cyBzZXR1 cClcbiIpOwogICAgICAgICBibGtkZXYtPmJsayA9IGJsa19uZXdfb3BlbihibGtkZXYtPmZpbGVu YW1lLCBOVUxMLCBvcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBx ZmxhZ3MsICZsb2NhbF9lcnIpOwogICAgICAgICBpZiAoIWJsa2Rldi0+YmxrKSB7Ci0gICAgICAg ICAgICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiAlc1xuIiwKKyAg ICAgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6ICVzXG4i LAogICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9nZXRfcHJldHR5KGxvY2FsX2Vycikp OwogICAgICAgICAgICAgZXJyb3JfZnJlZShsb2NhbF9lcnIpOwogICAgICAgICAgICAgcmV0dXJu IC0xOwpAQCAtMTA2OCwxMSArMTA2OCwxMSBAQCBzdGF0aWMgaW50IGJsa19jb25uZWN0KHN0cnVj dCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgYmxrX3NldF9lbmFibGVfd3JpdGVfY2FjaGUo YmxrZGV2LT5ibGssICF3cml0ZXRocm91Z2gpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIHNl dHVwIHZpYSBxZW11IGNtZGxpbmUgLT4gYWxyZWFkeSBzZXR1cCBmb3IgdXMgKi8KLSAgICAgICAg eGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDIsCisgICAgICAgIHhlbl9wdl9wcmludGYo JmJsa2Rldi0+eGVuZGV2LCAyLAogICAgICAgICAgICAgICAgICAgICAgICJnZXQgY29uZmlndXJl ZCBiZHJ2IChjbWRsaW5lIHNldHVwKVxuIik7CiAgICAgICAgIGJsa2Rldi0+YmxrID0gYmxrX2J5 X2xlZ2FjeV9kaW5mbyhibGtkZXYtPmRpbmZvKTsKICAgICAgICAgaWYgKGJsa19pc19yZWFkX29u bHkoYmxrZGV2LT5ibGspICYmICFyZWFkb25seSkgewotICAgICAgICAgICAgeGVuX2JlX3ByaW50 ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJVbmV4cGVjdGVkIHJlYWQtb25seSBkcml2ZSIpOworICAg ICAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJVbmV4cGVjdGVkIHJl YWQtb25seSBkcml2ZSIpOwogICAgICAgICAgICAgYmxrZGV2LT5ibGsgPSBOVUxMOwogICAgICAg ICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CkBAIC0xMDg1LDEzICsxMDg1LDEzIEBAIHN0YXRp YyBpbnQgYmxrX2Nvbm5lY3Qoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIGlmIChibGtk ZXYtPmZpbGVfc2l6ZSA8IDApIHsKICAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqYnMgPSBibGtf YnMoYmxrZGV2LT5ibGspOwogICAgICAgICBjb25zdCBjaGFyICpkcnZfbmFtZSA9IGJzID8gYmRy dl9nZXRfZm9ybWF0X25hbWUoYnMpIDogTlVMTDsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmYmxr ZGV2LT54ZW5kZXYsIDEsICJibGtfZ2V0bGVuZ3RoOiAlZCAoJXMpIHwgZHJ2ICVzXG4iLAorICAg ICAgICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMSwgImJsa19nZXRsZW5ndGg6ICVk ICglcykgfCBkcnYgJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgKGludClibGtkZXYtPmZp bGVfc2l6ZSwgc3RyZXJyb3IoLWJsa2Rldi0+ZmlsZV9zaXplKSwKICAgICAgICAgICAgICAgICAg ICAgICBkcnZfbmFtZSA/OiAiLSIpOwogICAgICAgICBibGtkZXYtPmZpbGVfc2l6ZSA9IDA7CiAg ICAgfQogCi0gICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDEsICJ0eXBlIFwiJXNcIiwgZmlsZXBy b3RvIFwiJXNcIiwgZmlsZW5hbWUgXCIlc1wiLCIKKyAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwg MSwgInR5cGUgXCIlc1wiLCBmaWxlcHJvdG8gXCIlc1wiLCBmaWxlbmFtZSBcIiVzXCIsIgogICAg ICAgICAgICAgICAgICAgIiBzaXplICUiIFBSSWQ2NCAiICglIiBQUklkNjQgIiBNQilcbiIsCiAg ICAgICAgICAgICAgICAgICBibGtkZXYtPnR5cGUsIGJsa2Rldi0+ZmlsZXByb3RvLCBibGtkZXYt PmZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgYmxrZGV2LT5maWxlX3NpemUsIGJsa2Rldi0+ ZmlsZV9zaXplID4+IDIwKTsKQEAgLTExNzUsMTAgKzExNzUsMTAgQEAgc3RhdGljIGludCBibGtf Y29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgYmxrZGV2LT5mZWF0dXJlX2dy YW50X2NvcHkgPQogICAgICAgICAgICAgICAgICh4ZW5nbnR0YWJfZ3JhbnRfY29weShibGtkZXYt PnhlbmRldi5nbnR0YWJkZXYsIDAsIE5VTEwpID09IDApOwogCi0gICAgeGVuX2JlX3ByaW50Zigm YmxrZGV2LT54ZW5kZXYsIDMsICJncmFudCBjb3B5IG9wZXJhdGlvbiAlc1xuIiwKKyAgICB4ZW5f cHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMywgImdyYW50IGNvcHkgb3BlcmF0aW9uICVzXG4i LAogICAgICAgICAgICAgICAgICAgYmxrZGV2LT5mZWF0dXJlX2dyYW50X2NvcHkgPyAiZW5hYmxl ZCIgOiAiZGlzYWJsZWQiKTsKIAotICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAx LCAib2s6IHByb3RvICVzLCByaW5nLXJlZiAlZCwgIgorICAgIHhlbl9wdl9wcmludGYoJmJsa2Rl di0+eGVuZGV2LCAxLCAib2s6IHByb3RvICVzLCByaW5nLXJlZiAlZCwgIgogICAgICAgICAgICAg ICAgICAgInJlbW90ZSBwb3J0ICVkLCBsb2NhbCBwb3J0ICVkXG4iLAogICAgICAgICAgICAgICAg ICAgYmxrZGV2LT54ZW5kZXYucHJvdG9jb2wsIGJsa2Rldi0+cmluZ19yZWYsCiAgICAgICAgICAg ICAgICAgICBibGtkZXYtPnhlbmRldi5yZW1vdGVfcG9ydCwgYmxrZGV2LT54ZW5kZXYubG9jYWxf cG9ydCk7CmRpZmYgLS1naXQgYS9ody9jaGFyL3hlbl9jb25zb2xlLmMgYi9ody9jaGFyL3hlbl9j b25zb2xlLmMKaW5kZXggOWFlOTU1OC4uYWE3YTI3ZSAxMDA2NDQKLS0tIGEvaHcvY2hhci94ZW5f Y29uc29sZS5jCisrKyBiL2h3L2NoYXIveGVuX2NvbnNvbGUuYwpAQCAtMTYwLDE0ICsxNjAsMTQg QEAgc3RhdGljIHZvaWQgeGVuY29uc19zZW5kKHN0cnVjdCBYZW5Db25zb2xlICpjb24pCiAgICAg aWYgKGxlbiA8IDEpIHsKICAgICAgICAgaWYgKCFjb24tPmJhY2tsb2cpIHsKICAgICAgICAgICAg IGNvbi0+YmFja2xvZyA9IDE7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZjb24tPnhlbmRl diwgMSwKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmNvbi0+eGVuZGV2LCAxLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAiYmFja2xvZyBwaWxpbmcgdXAsIG5vYm9keSBsaXN0ZW5pbmc/ XG4iKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIGJ1ZmZlcl9hZHZhbmNlKCZj b24tPmJ1ZmZlciwgbGVuKTsKICAgICAgICAgaWYgKGNvbi0+YmFja2xvZyAmJiBsZW4gPT0gc2l6 ZSkgewogICAgICAgICAgICAgY29uLT5iYWNrbG9nID0gMDsKLSAgICAgICAgICAgIHhlbl9iZV9w cmludGYoJmNvbi0+eGVuZGV2LCAxLCAiYmFja2xvZyBpcyBnb25lXG4iKTsKKyAgICAgICAgICAg IHhlbl9wdl9wcmludGYoJmNvbi0+eGVuZGV2LCAxLCAiYmFja2xvZyBpcyBnb25lXG4iKTsKICAg ICAgICAgfQogICAgIH0KIH0KQEAgLTE5Miw3ICsxOTIsNyBAQCBzdGF0aWMgaW50IGNvbl9pbml0 KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKIAogICAgIHR5cGUgPSB4ZW5zdG9yZV9yZWFkX3N0 cihjb24tPmNvbnNvbGUsICJ0eXBlIik7CiAgICAgaWYgKCF0eXBlIHx8IHN0cmNtcCh0eXBlLCAi aW9lbXUiKSAhPSAwKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAibm90IGZv ciBtZSAodHlwZT0lcylcbiIsIHR5cGUpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwg MSwgIm5vdCBmb3IgbWUgKHR5cGU9JXMpXG4iLCB0eXBlKTsKICAgICAgICAgcmV0ID0gLTE7CiAg ICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTI0OCw3ICsyNDgsNyBAQCBzdGF0aWMgaW50IGNv bl9pbml0aWFsaXNlKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICBxZW11X2Nocl9mZV9z ZXRfaGFuZGxlcnMoJmNvbi0+Y2hyLCB4ZW5jb25zX2Nhbl9yZWNlaXZlLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB4ZW5jb25zX3JlY2VpdmUsIE5VTEwsIGNvbiwgTlVMTCwgdHJ1ZSk7 CiAKLSAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwKKyAgICB4ZW5fcHZfcHJpbnRmKHhlbmRl diwgMSwKICAgICAgICAgICAgICAgICAgICJyaW5nIG1mbiAlZCwgcmVtb3RlIHBvcnQgJWQsIGxv Y2FsIHBvcnQgJWQsIGxpbWl0ICV6ZFxuIiwKIAkJICBjb24tPnJpbmdfcmVmLAogCQkgIGNvbi0+ eGVuZGV2LnJlbW90ZV9wb3J0LApkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS94ZW5mYi5jIGIvaHcv ZGlzcGxheS94ZW5mYi5jCmluZGV4IGQ0NThmYzEuLmQ3Yjk0YjAgMTAwNjQ0Ci0tLSBhL2h3L2Rp c3BsYXkveGVuZmIuYworKysgYi9ody9kaXNwbGF5L3hlbmZiLmMKQEAgLTEwMyw3ICsxMDMsNyBA QCBzdGF0aWMgaW50IGNvbW1vbl9iaW5kKHN0cnVjdCBjb21tb24gKmMpCiAgICAgICAgIHJldHVy biAtMTsKIAogICAgIHhlbl9iZV9iaW5kX2V2dGNobigmYy0+eGVuZGV2KTsKLSAgICB4ZW5fYmVf cHJpbnRmKCZjLT54ZW5kZXYsIDEsCisgICAgeGVuX3B2X3ByaW50ZigmYy0+eGVuZGV2LCAxLAog ICAgICAgICAgICAgICAgICAgInJpbmcgbWZuICUiUFJJX3hlbl9wZm4iLCByZW1vdGUtcG9ydCAl ZCwgbG9jYWwtcG9ydCAlZFxuIiwKICAgICAgICAgICAgICAgICAgIG1mbiwgYy0+eGVuZGV2LnJl bW90ZV9wb3J0LCBjLT54ZW5kZXYubG9jYWxfcG9ydCk7CiAKQEAgLTM0Niw3ICszNDYsNyBAQCBz dGF0aWMgaW50IGlucHV0X2luaXRpYWxpc2Uoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAg IGludCByYzsKIAogICAgIGlmICghaW4tPmMuY29uKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYo eGVuZGV2LCAxLCAiZHMgbm90IHNldCAoeWV0KVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYo eGVuZGV2LCAxLCAiZHMgbm90IHNldCAoeWV0KVxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAg ICB9CiAKQEAgLTUxMSw0NCArNTExLDQ0IEBAIHN0YXRpYyBpbnQgeGVuZmJfY29uZmlndXJlX2Zi KHN0cnVjdCBYZW5GQiAqeGVuZmIsIHNpemVfdCBmYl9sZW5fbGltLAogICAgIGludCBtYXhfd2lk dGgsIG1heF9oZWlnaHQ7CiAKICAgICBpZiAoZmJfbGVuX2xpbSA+IGZiX2xlbl9tYXgpIHsKLSAg ICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLAorICAgICAgICB4ZW5fcHZf cHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgImZiIHNp emUgbGltaXQgJXp1IGV4Y2VlZHMgJXp1LCBjb3JyZWN0ZWRcbiIsCiAgICAgICAgICAgICAgICAg ICAgICAgZmJfbGVuX2xpbSwgZmJfbGVuX21heCk7CiAgICAgICAgIGZiX2xlbl9saW0gPSBmYl9s ZW5fbWF4OwogICAgIH0KICAgICBpZiAoZmJfbGVuX2xpbSAmJiBmYl9sZW4gPiBmYl9sZW5fbGlt KSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwKKyAgICAgICAg eGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLAogICAgICAgICAgICAgICAgICAgICAg ICJmcm9udGVuZCBmYiBzaXplICV6dSBsaW1pdGVkIHRvICV6dVxuIiwKICAgICAgICAgICAgICAg ICAgICAgICBmYl9sZW4sIGZiX2xlbl9saW0pOwogICAgICAgICBmYl9sZW4gPSBmYl9sZW5fbGlt OwogICAgIH0KICAgICBpZiAoZGVwdGggIT0gOCAmJiBkZXB0aCAhPSAxNiAmJiBkZXB0aCAhPSAy NCAmJiBkZXB0aCAhPSAzMikgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5k ZXYsIDAsCisgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwKICAgICAg ICAgICAgICAgICAgICAgICAiY2FuJ3QgaGFuZGxlIGZyb250ZW5kIGZiIGRlcHRoICVkXG4iLAog ICAgICAgICAgICAgICAgICAgICAgIGRlcHRoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0K ICAgICBpZiAocm93X3N0cmlkZSA8PSAwIHx8IHJvd19zdHJpZGUgPiBmYl9sZW4pIHsKLSAgICAg ICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLCAiaW52YWxpZCBmcm9udGVuZCBz dHJpZGUgJWRcbiIsCisgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwg ImludmFsaWQgZnJvbnRlbmQgc3RyaWRlICVkXG4iLAogICAgICAgICAgICAgICAgICAgICAgIHJv d19zdHJpZGUpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIG1heF93aWR0aCA9IHJv d19zdHJpZGUgLyAoZGVwdGggLyA4KTsKICAgICBpZiAod2lkdGggPCAwIHx8IHdpZHRoID4gbWF4 X3dpZHRoKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwKKyAg ICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLAogICAgICAgICAgICAgICAg ICAgICAgICJpbnZhbGlkIGZyb250ZW5kIHdpZHRoICVkIGxpbWl0ZWQgdG8gJWRcbiIsCiAgICAg ICAgICAgICAgICAgICAgICAgd2lkdGgsIG1heF93aWR0aCk7CiAgICAgICAgIHdpZHRoID0gbWF4 X3dpZHRoOwogICAgIH0KICAgICBpZiAob2Zmc2V0IDwgMCB8fCBvZmZzZXQgPj0gZmJfbGVuKSB7 Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwKKyAgICAgICAgeGVu X3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLAogICAgICAgICAgICAgICAgICAgICAgICJp bnZhbGlkIGZyb250ZW5kIG9mZnNldCAlZCAobWF4ICV6dSlcbiIsCiAgICAgICAgICAgICAgICAg ICAgICAgb2Zmc2V0LCBmYl9sZW4gLSAxKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAg ICBtYXhfaGVpZ2h0ID0gKGZiX2xlbiAtIG9mZnNldCkgLyByb3dfc3RyaWRlOwogICAgIGlmICho ZWlnaHQgPCAwIHx8IGhlaWdodCA+IG1heF9oZWlnaHQpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50 ZigmeGVuZmItPmMueGVuZGV2LCAwLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ4ZW5mYi0+Yy54 ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgZnJvbnRlbmQgaGVpZ2h0 ICVkIGxpbWl0ZWQgdG8gJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0LCBtYXhf aGVpZ2h0KTsKICAgICAgICAgaGVpZ2h0ID0gbWF4X2hlaWdodDsKQEAgLTU2MSw3ICs1NjEsNyBA QCBzdGF0aWMgaW50IHhlbmZiX2NvbmZpZ3VyZV9mYihzdHJ1Y3QgWGVuRkIgKnhlbmZiLCBzaXpl X3QgZmJfbGVuX2xpbSwKICAgICB4ZW5mYi0+b2Zmc2V0ID0gb2Zmc2V0OwogICAgIHhlbmZiLT51 cF9mdWxsc2NyZWVuID0gMTsKICAgICB4ZW5mYi0+ZG9fcmVzaXplID0gMTsKLSAgICB4ZW5fYmVf cHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsCisgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMu eGVuZGV2LCAxLAogICAgICAgICAgICAgICAgICAgImZyYW1lYnVmZmVyICVkeCVkeCVkIG9mZnNl dCAlZCBzdHJpZGUgJWRcbiIsCiAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0LCBkZXB0 aCwgb2Zmc2V0LCByb3dfc3RyaWRlKTsKICAgICByZXR1cm4gMDsKQEAgLTY0MCw3ICs2NDAsNyBA QCBzdGF0aWMgdm9pZCB4ZW5mYl9ndWVzdF9jb3B5KHN0cnVjdCBYZW5GQiAqeGVuZmIsIGludCB4 LCBpbnQgeSwgaW50IHcsIGludCBoKQogCX0KICAgICB9CiAgICAgaWYgKG9vcHMpIC8qIHNob3Vs ZCBub3QgaGFwcGVuICovCi0gICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwg MCwgIiVzOiBvb3BzOiBjb252ZXJ0ICVkIC0+ICVkIGJwcD9cbiIsCisgICAgICAgIHhlbl9wdl9w cmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwgIiVzOiBvb3BzOiBjb252ZXJ0ICVkIC0+ICVkIGJw cD9cbiIsCiAgICAgICAgICAgICAgICAgICAgICAgX19GVU5DVElPTl9fLCB4ZW5mYi0+ZGVwdGgs IGJwcCk7CiAKICAgICBkcHlfZ2Z4X3VwZGF0ZSh4ZW5mYi0+Yy5jb24sIHgsIHksIHcsIGgpOwpA QCAtNzMwLDcgKzczMCw3IEBAIHN0YXRpYyB2b2lkIHhlbmZiX3VwZGF0ZSh2b2lkICpvcGFxdWUp CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBkcHlfZ2Z4X3JlcGxhY2Vf c3VyZmFjZSh4ZW5mYi0+Yy5jb24sIHN1cmZhY2UpOwotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ4 ZW5mYi0+Yy54ZW5kZXYsIDEsCisgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRl diwgMSwKICAgICAgICAgICAgICAgICAgICAgICAidXBkYXRlOiByZXNpemluZzogJWR4JWQgQCAl ZCBicHAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAgICB4ZW5mYi0+d2lkdGgsIHhlbmZiLT5o ZWlnaHQsIHhlbmZiLT5kZXB0aCwKICAgICAgICAgICAgICAgICAgICAgICBpc19idWZmZXJfc2hh cmVkKHN1cmZhY2UpID8gIiAoc2hhcmVkKSIgOiAiIik7CkBAIC03MzksMTAgKzczOSwxMCBAQCBz dGF0aWMgdm9pZCB4ZW5mYl91cGRhdGUodm9pZCAqb3BhcXVlKQogCiAgICAgLyogcnVuIHF1ZXVl ZCB1cGRhdGVzICovCiAgICAgaWYgKHhlbmZiLT51cF9mdWxsc2NyZWVuKSB7Ci0gICAgICAgIHhl bl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMywgInVwZGF0ZTogZnVsbHNjcmVlblxuIik7 CisgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMywgInVwZGF0ZTogZnVs bHNjcmVlblxuIik7CiAgICAgICAgIHhlbmZiX2d1ZXN0X2NvcHkoeGVuZmIsIDAsIDAsIHhlbmZi LT53aWR0aCwgeGVuZmItPmhlaWdodCk7CiAgICAgfSBlbHNlIGlmICh4ZW5mYi0+dXBfY291bnQp IHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAzLCAidXBkYXRlOiAl ZCByZWN0c1xuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAzLCAi dXBkYXRlOiAlZCByZWN0c1xuIiwKICAgICAgICAgICAgICAgICAgICAgICB4ZW5mYi0+dXBfY291 bnQpOwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgeGVuZmItPnVwX2NvdW50OyBpKyspCiAgICAg ICAgICAgICB4ZW5mYl9ndWVzdF9jb3B5KHhlbmZiLApAQCAtNzUxLDcgKzc1MSw3IEBAIHN0YXRp YyB2b2lkIHhlbmZiX3VwZGF0ZSh2b2lkICpvcGFxdWUpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHhlbmZiLT51cF9yZWN0c1tpXS53LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB4ZW5mYi0+dXBfcmVjdHNbaV0uaCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgeGVuX2JlX3By aW50ZigmeGVuZmItPmMueGVuZGV2LCAzLCAidXBkYXRlOiBub3RoaW5nXG4iKTsKKyAgICAgICAg eGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAzLCAidXBkYXRlOiBub3RoaW5nXG4iKTsK ICAgICB9CiAgICAgeGVuZmItPnVwX2NvdW50ID0gMDsKICAgICB4ZW5mYi0+dXBfZnVsbHNjcmVl biA9IDA7CkBAIC04MDUsMTQgKzgwNSwxNCBAQCBzdGF0aWMgdm9pZCB4ZW5mYl9oYW5kbGVfZXZl bnRzKHN0cnVjdCBYZW5GQiAqeGVuZmIpCiAJICAgIHcgPSBNSU4oZXZlbnQtPnVwZGF0ZS53aWR0 aCwgeGVuZmItPndpZHRoIC0geCk7CiAJICAgIGggPSBNSU4oZXZlbnQtPnVwZGF0ZS5oZWlnaHQs IHhlbmZiLT5oZWlnaHQgLSB5KTsKIAkgICAgaWYgKHcgPCAwIHx8IGggPCAwKSB7Ci0gICAgICAg ICAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAxLCAiYm9ndXMgdXBkYXRl IGlnbm9yZWRcbiIpOworICAgICAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhl bmRldiwgMSwgImJvZ3VzIHVwZGF0ZSBpZ25vcmVkXG4iKTsKIAkJYnJlYWs7CiAJICAgIH0KIAkg ICAgaWYgKHggIT0gZXZlbnQtPnVwZGF0ZS54IHx8CiAgICAgICAgICAgICAgICAgeSAhPSBldmVu dC0+dXBkYXRlLnkgfHwKIAkJdyAhPSBldmVudC0+dXBkYXRlLndpZHRoIHx8CiAJCWggIT0gZXZl bnQtPnVwZGF0ZS5oZWlnaHQpIHsKLSAgICAgICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ4ZW5m Yi0+Yy54ZW5kZXYsIDEsICJib2d1cyB1cGRhdGUgY2xpcHBlZFxuIik7CisgICAgICAgICAgICAg ICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAxLCAiYm9ndXMgdXBkYXRlIGNsaXBw ZWRcbiIpOwogCSAgICB9CiAJICAgIGlmICh3ID09IHhlbmZiLT53aWR0aCAmJiBoID4geGVuZmIt PmhlaWdodCAvIDIpIHsKIAkJLyogc2Nyb2xsIGRldGVjdG9yOiB1cGRhdGVkIG1vcmUgdGhhbiA1 MCUgb2YgdGhlIGxpbmVzLApAQCAtODk0LDcgKzg5NCw3IEBAIHN0YXRpYyBpbnQgZmJfaW5pdGlh bGlzZShzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgaWYgKGZiLT5mZWF0dXJlX3VwZGF0 ZSkKIAl4ZW5zdG9yZV93cml0ZV9iZV9pbnQoeGVuZGV2LCAicmVxdWVzdC11cGRhdGUiLCAxKTsK IAotICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAiZmVhdHVyZS11cGRhdGU9JWQsIHZpZGVv cmFtPSVkXG4iLAorICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAiZmVhdHVyZS11cGRhdGU9 JWQsIHZpZGVvcmFtPSVkXG4iLAogCQkgIGZiLT5mZWF0dXJlX3VwZGF0ZSwgdmlkZW9yYW0pOwog ICAgIHJldHVybiAwOwogfQpAQCAtOTEzLDcgKzkxMyw3IEBAIHN0YXRpYyB2b2lkIGZiX2Rpc2Nv bm5lY3Qoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgICAgICAgICAgICAgICAgICAgIFBS T1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQgfCBNQVBfQU5PTiwKICAgICAgICAgICAg ICAgICAgICAgICAtMSwgMCk7CiAgICAgaWYgKGZiLT5waXhlbHMgPT0gTUFQX0ZBSUxFRCkgewot ICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4 ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgIkNvdWxkbid0IHJlcGxhY2UgdGhlIGZyYW1lYnVm ZmVyIHdpdGggYW5vbnltb3VzIG1lbW9yeSBlcnJubz0lZFxuIiwKICAgICAgICAgICAgICAgICBl cnJubyk7CiAgICAgfQpAQCAtOTM0LDcgKzkzNCw3IEBAIHN0YXRpYyB2b2lkIGZiX2Zyb250ZW5k X2NoYW5nZWQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCBjb25zdCBjaGFyICpub2RlKQogICAg IGlmIChmYi0+YnVnX3RyaWdnZXIgPT0gMCAmJiBzdHJjbXAobm9kZSwgInN0YXRlIikgPT0gMCAm JgogICAgICAgICB4ZW5kZXYtPmZlX3N0YXRlID09IFhlbmJ1c1N0YXRlQ29ubmVjdGVkICYmCiAg ICAgICAgIHhlbmRldi0+YmVfc3RhdGUgPT0gWGVuYnVzU3RhdGVDb25uZWN0ZWQpIHsKLSAgICAg ICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJyZS10cmlnZ2VyIGNvbm5lY3RlZCAoZnJvbnRl bmQgYnVnKVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAyLCAicmUtdHJpZ2dl ciBjb25uZWN0ZWQgKGZyb250ZW5kIGJ1ZylcbiIpOwogICAgICAgICB4ZW5fYmVfc2V0X3N0YXRl KHhlbmRldiwgWGVuYnVzU3RhdGVDb25uZWN0ZWQpOwogICAgICAgICBmYi0+YnVnX3RyaWdnZXIg PSAxOyAvKiBvbmx5IG9uY2UgKi8KICAgICB9CkBAIC05OTUsNyArOTk1LDcgQEAgd2FpdF9tb3Jl OgogICAgICAgICAgICAgdXNsZWVwKDEwMDAwKTsKICAgICAgICAgICAgIGdvdG8gd2FpdF9tb3Jl OwogICAgICAgICB9Ci0gICAgICAgIHhlbl9iZV9wcmludGYoTlVMTCwgMSwgImRpc3BsYXlzdGF0 ZSBzZXR1cCBmYWlsZWRcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDEsICJkaXNw bGF5c3RhdGUgc2V0dXAgZmFpbGVkXG4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZm IC0tZ2l0IGEvaHcvbmV0L3hlbl9uaWMuYyBiL2h3L25ldC94ZW5fbmljLmMKaW5kZXggZGJmM2E4 OS4uMmQ2ZTAzMyAxMDA2NDQKLS0tIGEvaHcvbmV0L3hlbl9uaWMuYworKysgYi9ody9uZXQveGVu X25pYy5jCkBAIC0xMjgsMzEgKzEyOCwzMSBAQCBzdGF0aWMgdm9pZCBuZXRfdHhfcGFja2V0cyhz dHJ1Y3QgWGVuTmV0RGV2ICpuZXRkZXYpCiAgICAgICAgICAgICAvKiBzaG91bGQgbm90IGhhcHBl biBpbiB0aGVvcnksIHdlIGRvbid0IGFubm91bmNlIHRoZSAqCiAgICAgICAgICAgICAgKiBmZWF0 dXJlLXtzZyxnc28sd2hhdGVsc2V9IGZsYWdzIGluIHhlbnN0b3JlICh5ZXQ/KSAqLwogICAgICAg ICAgICAgaWYgKHR4cmVxLmZsYWdzICYgTkVUVFhGX2V4dHJhX2luZm8pIHsKLSAgICAgICAgICAg ICAgICB4ZW5fYmVfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwgIkZJWE1FOiBleHRyYSBpbmZv IGZsYWdcbiIpOworICAgICAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2 LCAwLCAiRklYTUU6IGV4dHJhIGluZm8gZmxhZ1xuIik7CiAgICAgICAgICAgICAgICAgbmV0X3R4 X2Vycm9yKG5ldGRldiwgJnR4cmVxLCByYyk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg ICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodHhyZXEuZmxhZ3MgJiBORVRUWEZfbW9yZV9k YXRhKSB7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAs ICJGSVhNRTogbW9yZSBkYXRhIGZsYWdcbiIpOworICAgICAgICAgICAgICAgIHhlbl9wdl9wcmlu dGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiRklYTUU6IG1vcmUgZGF0YSBmbGFnXG4iKTsKICAgICAg ICAgICAgICAgICBuZXRfdHhfZXJyb3IobmV0ZGV2LCAmdHhyZXEsIHJjKTsKICAgICAgICAgICAg ICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICNlbmRpZgogCiAgICAgICAgICAgICBpZiAo dHhyZXEuc2l6ZSA8IDE0KSB7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2 LT54ZW5kZXYsIDAsICJiYWQgcGFja2V0IHNpemU6ICVkXG4iLAorICAgICAgICAgICAgICAgIHhl bl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiYmFkIHBhY2tldCBzaXplOiAlZFxuIiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR4cmVxLnNpemUpOwogICAgICAgICAgICAg ICAgIG5ldF90eF9lcnJvcihuZXRkZXYsICZ0eHJlcSwgcmMpOwogICAgICAgICAgICAgICAgIGNv bnRpbnVlOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoKHR4cmVxLm9mZnNldCAr IHR4cmVxLnNpemUpID4gWENfUEFHRV9TSVpFKSB7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3By aW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogcGFnZSBjcm9zc2luZ1xuIik7CisgICAg ICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogcGFn ZSBjcm9zc2luZ1xuIik7CiAgICAgICAgICAgICAgICAgbmV0X3R4X2Vycm9yKG5ldGRldiwgJnR4 cmVxLCByYyk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAKLSAg ICAgICAgICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAzLAorICAgICAgICAgICAg eGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDMsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ0eCBwYWNrZXQgcmVmICVkLCBvZmYgJWQsIGxlbiAlZCwgZmxhZ3MgMHgleCVzJXMlcyVz XG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0eHJlcS5ncmVmLCB0eHJlcS5vZmZzZXQs IHR4cmVxLnNpemUsIHR4cmVxLmZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAodHhy ZXEuZmxhZ3MgJiBORVRUWEZfY3N1bV9ibGFuaykgICAgID8gIiBjc3VtX2JsYW5rIiAgICAgOiAi IiwKQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0aWMgdm9pZCBuZXRfdHhfcGFja2V0cyhzdHJ1Y3Qg WGVuTmV0RGV2ICpuZXRkZXYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmV0ZGV2LT54ZW5kZXYuZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHR4cmVxLmdyZWYsIFBST1RfUkVBRCk7CiAgICAgICAgICAgICBpZiAocGFn ZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2LT54ZW5k ZXYsIDAsCisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXJyb3I6IHR4IGdyZWYgZGVyZWZlcmVu Y2UgZmFpbGVkICglZClcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR4cmVxLmdy ZWYpOwogICAgICAgICAgICAgICAgIG5ldF90eF9lcnJvcihuZXRkZXYsICZ0eHJlcSwgcmMpOwpA QCAtMjE0LDcgKzIxNCw3IEBAIHN0YXRpYyB2b2lkIG5ldF9yeF9yZXNwb25zZShzdHJ1Y3QgWGVu TmV0RGV2ICpuZXRkZXYsCiAgICAgICAgIHJlc3AtPnN0YXR1cyA9IChpbnQxNl90KXN0OwogICAg IH0KIAotICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAzLAorICAgIHhlbl9wdl9w cmludGYoJm5ldGRldi0+eGVuZGV2LCAzLAogICAgICAgICAgICAgICAgICAgInJ4IHJlc3BvbnNl OiBpZHggJWQsIHN0YXR1cyAlZCwgZmxhZ3MgMHgleFxuIiwKICAgICAgICAgICAgICAgICAgIGks IHJlc3AtPnN0YXR1cywgcmVzcC0+ZmxhZ3MpOwogCkBAIC0yNDYsNyArMjQ2LDcgQEAgc3RhdGlj IHNzaXplX3QgbmV0X3J4X3BhY2tldChOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3Qg KmJ1Ziwgc2l6ZV90IHNpemUKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGlmIChzaXpl ID4gWENfUEFHRV9TSVpFIC0gTkVUX0lQX0FMSUdOKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYo Jm5ldGRldi0+eGVuZGV2LCAwLCAicGFja2V0IHRvbyBiaWcgKCVsdSA+ICVsZCkiLAorICAgICAg ICB4ZW5fcHZfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwgInBhY2tldCB0b28gYmlnICglbHUg PiAlbGQpIiwKICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZylzaXplLCBYQ19Q QUdFX1NJWkUgLSBORVRfSVBfQUxJR04pOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAt MjU4LDcgKzI1OCw3IEBAIHN0YXRpYyBzc2l6ZV90IG5ldF9yeF9wYWNrZXQoTmV0Q2xpZW50U3Rh dGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5ldGRldi0+eGVuZGV2LmRvbSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcnhyZXEuZ3JlZiwgUFJPVF9XUklURSk7CiAgICAgaWYgKHBhZ2Ug PT0gTlVMTCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwKKyAg ICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAg ICAgICAgImVycm9yOiByeCBncmVmIGRlcmVmZXJlbmNlIGZhaWxlZCAoJWQpXG4iLAogICAgICAg ICAgICAgICAgICAgICAgIHJ4cmVxLmdyZWYpOwogICAgICAgICBuZXRfcnhfcmVzcG9uc2UobmV0 ZGV2LCAmcnhyZXEsIE5FVElGX1JTUF9FUlJPUiwgMCwgMCwgMCk7CkBAIC0zMzMsNyArMzMzLDcg QEAgc3RhdGljIGludCBuZXRfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAg ICAgIHJ4X2NvcHkgPSAwOwogICAgIH0KICAgICBpZiAocnhfY29weSA9PSAwKSB7Ci0gICAgICAg IHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLAorICAgICAgICB4ZW5fcHZfcHJpbnRm KCZuZXRkZXYtPnhlbmRldiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAiZnJvbnRlbmQgZG9l c24ndCBzdXBwb3J0IHJ4LWNvcHkuXG4iKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAg LTM1OSw3ICszNTksNyBAQCBzdGF0aWMgaW50IG5ldF9jb25uZWN0KHN0cnVjdCBYZW5EZXZpY2Ug KnhlbmRldikKIAogICAgIHhlbl9iZV9iaW5kX2V2dGNobigmbmV0ZGV2LT54ZW5kZXYpOwogCi0g ICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDEsICJvazogdHgtcmluZy1yZWYgJWQs IHJ4LXJpbmctcmVmICVkLCAiCisgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDEs ICJvazogdHgtcmluZy1yZWYgJWQsIHJ4LXJpbmctcmVmICVkLCAiCiAgICAgICAgICAgICAgICAg ICAicmVtb3RlIHBvcnQgJWQsIGxvY2FsIHBvcnQgJWRcbiIsCiAgICAgICAgICAgICAgICAgICBu ZXRkZXYtPnR4X3JpbmdfcmVmLCBuZXRkZXYtPnJ4X3JpbmdfcmVmLAogICAgICAgICAgICAgICAg ICAgbmV0ZGV2LT54ZW5kZXYucmVtb3RlX3BvcnQsIG5ldGRldi0+eGVuZGV2LmxvY2FsX3BvcnQp OwpkaWZmIC0tZ2l0IGEvaHcvdXNiL3hlbi11c2IuYyBiL2h3L3VzYi94ZW4tdXNiLmMKaW5kZXgg ZGUyZWJkNi4uNmIwNmZkOCAxMDA2NDQKLS0tIGEvaHcvdXNiL3hlbi11c2IuYworKysgYi9ody91 c2IveGVuLXVzYi5jCkBAIC00Nyw3ICs0Nyw3IEBACiAgICAgICAgIHN0cnVjdCB0aW1ldmFsIHR2 OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAogICAgICAgICBnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0gICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCBsdmwsICIlOGxk LiUwNmxkIHhlbi11c2IoJXMpOiIgZm10LCAgIFwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5k ZXYsIGx2bCwgIiU4bGQuJTA2bGQgeGVuLXVzYiglcyk6IiBmbXQsICAgXAogICAgICAgICAgICAg ICAgICAgICAgIHR2LnR2X3NlYywgdHYudHZfdXNlYywgX19mdW5jX18sICMjYXJncyk7ICAgICBc CiAgICAgfQogI2RlZmluZSBUUl9CVVMoeGVuZGV2LCBmbXQsIGFyZ3MuLi4pIFRSKHhlbmRldiwg MiwgZm10LCAjI2FyZ3MpCkBAIC0xNTMsNyArMTUzLDcgQEAgc3RhdGljIGludCB1c2JiYWNrX2du dHRhYl9tYXAoc3RydWN0IHVzYmJhY2tfcmVxICp1c2JiYWNrX3JlcSkKICAgICB9CiAKICAgICBp ZiAobnJfc2VncyA+IFVTQklGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVCkgewotICAgICAgICB4 ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImJhZCBudW1iZXIgb2Ygc2VnbWVudHMgaW4gcmVxdWVz dCAoJWQpXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImJhZCBudW1iZXIg b2Ygc2VnbWVudHMgaW4gcmVxdWVzdCAoJWQpXG4iLAogICAgICAgICAgICAgICAgICAgICAgIG5y X3NlZ3MpOwogICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICB9CkBAIC0xNjEsNyArMTYxLDcg QEAgc3RhdGljIGludCB1c2JiYWNrX2dudHRhYl9tYXAoc3RydWN0IHVzYmJhY2tfcmVxICp1c2Ji YWNrX3JlcSkKICAgICBmb3IgKGkgPSAwOyBpIDwgbnJfc2VnczsgaSsrKSB7CiAgICAgICAgIGlm ICgodW5zaWduZWQpdXNiYmFja19yZXEtPnJlcS5zZWdbaV0ub2Zmc2V0ICsKICAgICAgICAgICAg ICh1bnNpZ25lZCl1c2JiYWNrX3JlcS0+cmVxLnNlZ1tpXS5sZW5ndGggPiBYQ19QQUdFX1NJWkUp IHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAwLCAic2VnbWVudCBjcm9zc2Vz IHBhZ2UgYm91bmRhcnlcbiIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAs ICJzZWdtZW50IGNyb3NzZXMgcGFnZSBib3VuZGFyeVxuIik7CiAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsKICAgICAgICAgfQogICAgIH0KQEAgLTE5OSw3ICsxOTksNyBAQCBzdGF0aWMgaW50 IHVzYmJhY2tfZ250dGFiX21hcChzdHJ1Y3QgdXNiYmFja19yZXEgKnVzYmJhY2tfcmVxKQogICAg ICAqLwogCiAgICAgaWYgKCF1c2JiYWNrX3JlcS0+bnJfZXh0cmFfc2VncykgewotICAgICAgICB4 ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImlzbyByZXF1ZXN0IHdpdGhvdXQgZGVzY3JpcHRvciBz ZWdtZW50c1xuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAiaXNvIHJlcXVl c3Qgd2l0aG91dCBkZXNjcmlwdG9yIHNlZ21lbnRzXG4iKTsKICAgICAgICAgcmV0dXJuIC1FSU5W QUw7CiAgICAgfQogCkBAIC01NTEsMTQgKzU1MSwxNCBAQCBzdGF0aWMgdm9pZCB1c2JiYWNrX2Rp c3BhdGNoKHN0cnVjdCB1c2JiYWNrX3JlcSAqdXNiYmFja19yZXEpCiAKICAgICByZXQgPSB1c2Ji YWNrX2luaXRfcGFja2V0KHVzYmJhY2tfcmVxKTsKICAgICBpZiAocmV0KSB7Ci0gICAgICAgIHhl bl9iZV9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJpbnZhbGlkIHJlcXVlc3RcbiIpOworICAg ICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAiaW52YWxpZCByZXF1ZXN0XG4i KTsKICAgICAgICAgcmV0ID0gLUVTSFVURE9XTjsKICAgICAgICAgZ290byBmYWlsX2ZyZWVfdXJi OwogICAgIH0KIAogICAgIHJldCA9IHVzYmJhY2tfZ250dGFiX21hcCh1c2JiYWNrX3JlcSk7CiAg ICAgaWYgKHJldCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAi aW52YWxpZCBidWZmZXIsIHJldD0lZFxuIiwgcmV0KTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zigm dXNiaWYtPnhlbmRldiwgMCwgImludmFsaWQgYnVmZmVyLCByZXQ9JWRcbiIsIHJldCk7CiAgICAg ICAgIHJldCA9IC1FU0hVVERPV047CiAgICAgICAgIGdvdG8gZmFpbF9mcmVlX3VyYjsKICAgICB9 CkBAIC02NDYsNyArNjQ2LDcgQEAgc3RhdGljIHZvaWQgdXNiYmFja19iaCh2b2lkICpvcGFxdWUp CiAKICAgICBpZiAoUklOR19SRVFVRVNUX1BST0RfT1ZFUkZMT1codXJiX3JpbmcsIHJwKSkgewog ICAgICAgICByYyA9IHVyYl9yaW5nLT5yc3BfcHJvZF9wdnQ7Ci0gICAgICAgIHhlbl9iZV9wcmlu dGYoJnVzYmlmLT54ZW5kZXYsIDAsICJkb21VIHByb3ZpZGVkIGJvZ3VzIHJpbmcgcmVxdWVzdHMg IgorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAiZG9tVSBwcm92aWRl ZCBib2d1cyByaW5nIHJlcXVlc3RzICIKICAgICAgICAgICAgICAgICAgICAgICAiKCUjeCAtICUj eCA9ICV1KS4gSGFsdGluZyByaW5nIHByb2Nlc3NpbmcuXG4iLAogICAgICAgICAgICAgICAgICAg ICAgIHJwLCByYywgcnAgLSByYyk7CiAgICAgICAgIHVzYmlmLT5yaW5nX2Vycm9yID0gdHJ1ZTsK QEAgLTc0NCw3ICs3NDQsNyBAQCBzdGF0aWMgdm9pZCB1c2JiYWNrX3BvcnRpZF9hZGQoc3RydWN0 IHVzYmJhY2tfaW5mbyAqdXNiaWYsIHVuc2lnbmVkIHBvcnQsCiAKICAgICBwb3J0bmFtZSA9IHN0 cmNocihidXNpZCwgJy0nKTsKICAgICBpZiAoIXBvcnRuYW1lKSB7Ci0gICAgICAgIHhlbl9iZV9w cmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJkZXZpY2UgJXMgaWxsZWdhbCBzcGVjaWZpY2F0aW9u XG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAiZGV2aWNlICVz IGlsbGVnYWwgc3BlY2lmaWNhdGlvblxuIiwKICAgICAgICAgICAgICAgICAgICAgICBidXNpZCk7 CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03ODMsNyArNzgzLDcgQEAgc3RhdGljIHZvaWQg dXNiYmFja19wb3J0aWRfYWRkKHN0cnVjdCB1c2JiYWNrX2luZm8gKnVzYmlmLCB1bnNpZ25lZCBw b3J0LAogICAgICAgICBicmVhazsKICAgICB9CiAgICAgaWYgKHNwZWVkID09IFVTQklGX1NQRUVE X05PTkUpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmdXNiaWYtPnhlbmRldiwgMCwgImRldmlj ZSAlcyB3cm9uZyBzcGVlZFxuIiwgYnVzaWQpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2Jp Zi0+eGVuZGV2LCAwLCAiZGV2aWNlICVzIHdyb25nIHNwZWVkXG4iLCBidXNpZCk7CiAgICAgICAg IG9iamVjdF91bnBhcmVudChPQkpFQ1QodXNiaWYtPnBvcnRzW3BvcnQgLSAxXS5kZXYpKTsKICAg ICAgICAgdXNiaWYtPnBvcnRzW3BvcnQgLSAxXS5kZXYgPSBOVUxMOwogICAgICAgICByZXR1cm47 CkBAIC04MDAsNyArODAwLDcgQEAgc3RhdGljIHZvaWQgdXNiYmFja19wb3J0aWRfYWRkKHN0cnVj dCB1c2JiYWNrX2luZm8gKnVzYmlmLCB1bnNpZ25lZCBwb3J0LAogZXJyOgogICAgIFFERUNSRUYo cWRpY3QpOwogICAgIHNucHJpbnRmKHAtPnBhdGgsIHNpemVvZihwLT5wYXRoKSwgIiVkIiwgOTkp OwotICAgIHhlbl9iZV9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJkZXZpY2UgJXMgY291bGQg bm90IGJlIG9wZW5lZFxuIiwgYnVzaWQpOworICAgIHhlbl9wdl9wcmludGYoJnVzYmlmLT54ZW5k ZXYsIDAsICJkZXZpY2UgJXMgY291bGQgbm90IGJlIG9wZW5lZFxuIiwgYnVzaWQpOwogfQogCiBz dGF0aWMgdm9pZCB1c2JiYWNrX3Byb2Nlc3NfcG9ydChzdHJ1Y3QgdXNiYmFja19pbmZvICp1c2Jp ZiwgdW5zaWduZWQgcG9ydCkKQEAgLTgxMSw3ICs4MTEsNyBAQCBzdGF0aWMgdm9pZCB1c2JiYWNr X3Byb2Nlc3NfcG9ydChzdHJ1Y3QgdXNiYmFja19pbmZvICp1c2JpZiwgdW5zaWduZWQgcG9ydCkK ICAgICBzbnByaW50Zihub2RlLCBzaXplb2Yobm9kZSksICJwb3J0LyVkIiwgcG9ydCk7CiAgICAg YnVzaWQgPSB4ZW5zdG9yZV9yZWFkX2JlX3N0cigmdXNiaWYtPnhlbmRldiwgbm9kZSk7CiAgICAg aWYgKGJ1c2lkID09IE5VTEwpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmdXNiaWYtPnhlbmRl diwgMCwgInhlbnN0b3JlX3JlYWQgJXMgZmFpbGVkXG4iLCBub2RlKTsKKyAgICAgICAgeGVuX3B2 X3ByaW50ZigmdXNiaWYtPnhlbmRldiwgMCwgInhlbnN0b3JlX3JlYWQgJXMgZmFpbGVkXG4iLCBu b2RlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODY4LDE1ICs4NjgsMTUgQEAgc3Rh dGljIGludCB1c2JiYWNrX2Nvbm5lY3Qoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIHVz YmlmID0gY29udGFpbmVyX29mKHhlbmRldiwgc3RydWN0IHVzYmJhY2tfaW5mbywgeGVuZGV2KTsK IAogICAgIGlmICh4ZW5zdG9yZV9yZWFkX2ZlX2ludCh4ZW5kZXYsICJ1cmItcmluZy1yZWYiLCAm dXJiX3JpbmdfcmVmKSkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImVycm9y IHJlYWRpbmcgdXJiLXJpbmctcmVmXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYs IDAsICJlcnJvciByZWFkaW5nIHVyYi1yaW5nLXJlZlxuIik7CiAgICAgICAgIHJldHVybiAtMTsK ICAgICB9CiAgICAgaWYgKHhlbnN0b3JlX3JlYWRfZmVfaW50KHhlbmRldiwgImNvbm4tcmluZy1y ZWYiLCAmY29ubl9yaW5nX3JlZikpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAs ICJlcnJvciByZWFkaW5nIGNvbm4tcmluZy1yZWZcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRm KHhlbmRldiwgMCwgImVycm9yIHJlYWRpbmcgY29ubi1yaW5nLXJlZlxuIik7CiAgICAgICAgIHJl dHVybiAtMTsKICAgICB9CiAgICAgaWYgKHhlbnN0b3JlX3JlYWRfZmVfaW50KHhlbmRldiwgImV2 ZW50LWNoYW5uZWwiLCAmeGVuZGV2LT5yZW1vdGVfcG9ydCkpIHsKLSAgICAgICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDAsICJlcnJvciByZWFkaW5nIGV2ZW50LWNoYW5uZWxcbiIpOworICAgICAg ICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImVycm9yIHJlYWRpbmcgZXZlbnQtY2hhbm5lbFxu Iik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTg4Nyw3ICs4ODcsNyBAQCBzdGF0 aWMgaW50IHVzYmJhY2tfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uX3JpbmdfcmVmLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPVF9SRUFE IHwgUFJPVF9XUklURSk7CiAgICAgaWYgKCF1c2JpZi0+dXJiX3NyaW5nIHx8ICF1c2JpZi0+Y29u bl9zcmluZykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImVycm9yIG1hcHBp bmcgcmluZ3NcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImVycm9yIG1h cHBpbmcgcmluZ3NcbiIpOwogICAgICAgICB1c2JiYWNrX2Rpc2Nvbm5lY3QoeGVuZGV2KTsKICAg ICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTg5OSw3ICs4OTksNyBAQCBzdGF0aWMgaW50IHVz YmJhY2tfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAKICAgICB4ZW5fYmVfYmlu ZF9ldnRjaG4oeGVuZGV2KTsKIAotICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAidXJiLXJp bmctcmVmICVkLCBjb25uLXJpbmctcmVmICVkLCAiCisgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYs IDEsICJ1cmItcmluZy1yZWYgJWQsIGNvbm4tcmluZy1yZWYgJWQsICIKICAgICAgICAgICAgICAg ICAgICJyZW1vdGUgcG9ydCAlZCwgbG9jYWwgcG9ydCAlZFxuIiwgdXJiX3JpbmdfcmVmLAogICAg ICAgICAgICAgICAgICAgY29ubl9yaW5nX3JlZiwgeGVuZGV2LT5yZW1vdGVfcG9ydCwgeGVuZGV2 LT5sb2NhbF9wb3J0KTsKIApAQCAtOTM1LDEyICs5MzUsMTIgQEAgc3RhdGljIGludCB1c2JiYWNr X2luaXQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogCiAgICAgaWYgKHhlbnN0b3JlX3JlYWRf YmVfaW50KHhlbmRldiwgIm51bS1wb3J0cyIsICZ1c2JpZi0+bnVtX3BvcnRzKSB8fAogICAgICAg ICB1c2JpZi0+bnVtX3BvcnRzIDwgMSB8fCB1c2JpZi0+bnVtX3BvcnRzID4gVVNCQkFDS19NQVhQ T1JUUykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgIm51bS1wb3J0cyBub3Qg cmVhZGFibGUgb3Igb3V0IG9mIGJvdW5kc1xuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVu ZGV2LCAwLCAibnVtLXBvcnRzIG5vdCByZWFkYWJsZSBvciBvdXQgb2YgYm91bmRzXG4iKTsKICAg ICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAoeGVuc3RvcmVfcmVhZF9iZV9pbnQoeGVu ZGV2LCAidXNiLXZlciIsICZ1c2JpZi0+dXNiX3ZlcikgfHwKICAgICAgICAgKHVzYmlmLT51c2Jf dmVyICE9IFVTQl9WRVJfVVNCMTEgJiYgdXNiaWYtPnVzYl92ZXIgIT0gVVNCX1ZFUl9VU0IyMCkp IHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJ1c2ItdmVyIG5vdCByZWFkYWJs ZSBvciBvdXQgb2YgYm91bmRzXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAs ICJ1c2ItdmVyIG5vdCByZWFkYWJsZSBvciBvdXQgb2YgYm91bmRzXG4iKTsKICAgICAgICAgcmV0 dXJuIC0xOwogICAgIH0KIApAQCAtMTAyOCw3ICsxMDI4LDcgQEAgc3RhdGljIHZvaWQgdXNiYmFj a19hbGxvYyhzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgLyogbWF4X2dyYW50czogZm9y IGVhY2ggcmVxdWVzdCBhbmQgZm9yIHRoZSByaW5ncyAocmVxdWVzdCBhbmQgY29ubmVjdCkuICov CiAgICAgbWF4X2dyYW50cyA9IFVTQklGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVCAqIFVTQl9V UkJfUklOR19TSVpFICsgMjsKICAgICBpZiAoeGVuZ250dGFiX3NldF9tYXhfZ3JhbnRzKHhlbmRl di0+Z250dGFiZGV2LCBtYXhfZ3JhbnRzKSA8IDApIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4 ZW5kZXYsIDAsICJ4ZW5nbnR0YWJfc2V0X21heF9ncmFudHMgZmFpbGVkOiAlc1xuIiwKKyAgICAg ICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJ4ZW5nbnR0YWJfc2V0X21heF9ncmFudHMgZmFp bGVkOiAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOwogICAg IH0KIH0KZGlmZiAtLWdpdCBhL2h3L3hlbi94ZW5fYmFja2VuZC5jIGIvaHcveGVuL3hlbl9iYWNr ZW5kLmMKaW5kZXggMjE2MDcyZC4uZTk2MGRhZCAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9iYWNr ZW5kLmMKKysrIGIvaHcveGVuL3hlbl9iYWNrZW5kLmMKQEAgLTEwMCw3ICsxMDAsNyBAQCBpbnQg eGVuX2JlX3NldF9zdGF0ZShzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYsIGVudW0geGVuYnVzX3N0 YXRlIHN0YXRlKQogICAgIGlmIChyYyA8IDApIHsKICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0K LSAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwgImJhY2tlbmQgc3RhdGU6ICVzIC0+ICVzXG4i LAorICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAiYmFja2VuZCBzdGF0ZTogJXMgLT4gJXNc biIsCiAgICAgICAgICAgICAgICAgICB4ZW5idXNfc3Ryc3RhdGUoeGVuZGV2LT5iZV9zdGF0ZSks IHhlbmJ1c19zdHJzdGF0ZShzdGF0ZSkpOwogICAgIHhlbmRldi0+YmVfc3RhdGUgPSBzdGF0ZTsK ICAgICByZXR1cm4gMDsKQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgc3RydWN0IFhlbkRldmlj ZSAqeGVuX2JlX2dldF94ZW5kZXYoY29uc3QgY2hhciAqdHlwZSwgaW50IGRvbSwgaW50IGRldiwK IAogICAgIHhlbmRldi0+ZXZ0Y2huZGV2ID0geGVuZXZ0Y2huX29wZW4oTlVMTCwgMCk7CiAgICAg aWYgKHhlbmRldi0+ZXZ0Y2huZGV2ID09IE5VTEwpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZihO VUxMLCAwLCAiY2FuJ3Qgb3BlbiBldnRjaG4gZGV2aWNlXG4iKTsKKyAgICAgICAgeGVuX3B2X3By aW50ZihOVUxMLCAwLCAiY2FuJ3Qgb3BlbiBldnRjaG4gZGV2aWNlXG4iKTsKICAgICAgICAgZ19m cmVlKHhlbmRldik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTE0NSw3ICsxNDUs NyBAQCBzdGF0aWMgc3RydWN0IFhlbkRldmljZSAqeGVuX2JlX2dldF94ZW5kZXYoY29uc3QgY2hh ciAqdHlwZSwgaW50IGRvbSwgaW50IGRldiwKICAgICBpZiAob3BzLT5mbGFncyAmIERFVk9QU19G TEFHX05FRURfR05UREVWKSB7CiAgICAgICAgIHhlbmRldi0+Z250dGFiZGV2ID0geGVuZ250dGFi X29wZW4oTlVMTCwgMCk7CiAgICAgICAgIGlmICh4ZW5kZXYtPmdudHRhYmRldiA9PSBOVUxMKSB7 Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKE5VTEwsIDAsICJjYW4ndCBvcGVuIGdudHRhYiBk ZXZpY2VcbiIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50ZihOVUxMLCAwLCAiY2FuJ3Qgb3Bl biBnbnR0YWIgZGV2aWNlXG4iKTsKICAgICAgICAgICAgIHhlbmV2dGNobl9jbG9zZSh4ZW5kZXYt PmV2dGNobmRldik7CiAgICAgICAgICAgICBnX2ZyZWUoeGVuZGV2KTsKICAgICAgICAgICAgIHJl dHVybiBOVUxMOwpAQCAtMTc4LDcgKzE3OCw3IEBAIHN0YXRpYyB2b2lkIHhlbl9iZV9iYWNrZW5k X2NoYW5nZWQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCBjb25zdCBjaGFyICpub2RlKQogICAg IH0KIAogICAgIGlmIChub2RlKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAyLCAi YmFja2VuZCB1cGRhdGU6ICVzXG4iLCBub2RlKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5k ZXYsIDIsICJiYWNrZW5kIHVwZGF0ZTogJXNcbiIsIG5vZGUpOwogICAgICAgICBpZiAoeGVuZGV2 LT5vcHMtPmJhY2tlbmRfY2hhbmdlZCkgewogICAgICAgICAgICAgeGVuZGV2LT5vcHMtPmJhY2tl bmRfY2hhbmdlZCh4ZW5kZXYsIG5vZGUpOwogICAgICAgICB9CkBAIC0xOTQsNyArMTk0LDcgQEAg c3RhdGljIHZvaWQgeGVuX2JlX2Zyb250ZW5kX2NoYW5nZWQoc3RydWN0IFhlbkRldmljZSAqeGVu ZGV2LCBjb25zdCBjaGFyICpub2RlKQogICAgICAgICAgICAgZmVfc3RhdGUgPSBYZW5idXNTdGF0 ZVVua25vd247CiAgICAgICAgIH0KICAgICAgICAgaWYgKHhlbmRldi0+ZmVfc3RhdGUgIT0gZmVf c3RhdGUpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAiZnJvbnRlbmQg c3RhdGU6ICVzIC0+ICVzXG4iLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEs ICJmcm9udGVuZCBzdGF0ZTogJXMgLT4gJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IHhlbmJ1c19zdHJzdGF0ZSh4ZW5kZXYtPmZlX3N0YXRlKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgeGVuYnVzX3N0cnN0YXRlKGZlX3N0YXRlKSk7CiAgICAgICAgIH0KQEAgLTIwNCwxMyAr MjA0LDEzIEBAIHN0YXRpYyB2b2lkIHhlbl9iZV9mcm9udGVuZF9jaGFuZ2VkKHN0cnVjdCBYZW5E ZXZpY2UgKnhlbmRldiwgY29uc3QgY2hhciAqbm9kZSkKICAgICAgICAgZ19mcmVlKHhlbmRldi0+ cHJvdG9jb2wpOwogICAgICAgICB4ZW5kZXYtPnByb3RvY29sID0geGVuc3RvcmVfcmVhZF9mZV9z dHIoeGVuZGV2LCAicHJvdG9jb2wiKTsKICAgICAgICAgaWYgKHhlbmRldi0+cHJvdG9jb2wpIHsK LSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAiZnJvbnRlbmQgcHJvdG9jb2w6 ICVzXG4iLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEsICJmcm9udGVuZCBw cm90b2NvbDogJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbmRldi0+cHJvdG9j b2wpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKG5vZGUpIHsKLSAgICAgICAgeGVuX2Jl X3ByaW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCB1cGRhdGU6ICVzXG4iLCBub2RlKTsKKyAgICAg ICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCB1cGRhdGU6ICVzXG4iLCBub2Rl KTsKICAgICAgICAgaWYgKHhlbmRldi0+b3BzLT5mcm9udGVuZF9jaGFuZ2VkKSB7CiAgICAgICAg ICAgICB4ZW5kZXYtPm9wcy0+ZnJvbnRlbmRfY2hhbmdlZCh4ZW5kZXYsIG5vZGUpOwogICAgICAg ICB9CkBAIC0yMzQsMjYgKzIzNCwyNiBAQCBzdGF0aWMgaW50IHhlbl9iZV90cnlfc2V0dXAoc3Ry dWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIGludCBiZV9zdGF0ZTsKIAogICAgIGlmICh4ZW5z dG9yZV9yZWFkX2JlX2ludCh4ZW5kZXYsICJzdGF0ZSIsICZiZV9zdGF0ZSkgPT0gLTEpIHsKLSAg ICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJyZWFkaW5nIGJhY2tlbmQgc3RhdGUgZmFp bGVkXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJyZWFkaW5nIGJhY2tl bmQgc3RhdGUgZmFpbGVkXG4iKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAogICAgIGlm IChiZV9zdGF0ZSAhPSBYZW5idXNTdGF0ZUluaXRpYWxpc2luZykgewotICAgICAgICB4ZW5fYmVf cHJpbnRmKHhlbmRldiwgMCwgImluaXRpYWwgYmFja2VuZCBzdGF0ZSBpcyB3cm9uZyAoJXMpXG4i LAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImluaXRpYWwgYmFja2VuZCBzdGF0 ZSBpcyB3cm9uZyAoJXMpXG4iLAogICAgICAgICAgICAgICAgICAgICAgIHhlbmJ1c19zdHJzdGF0 ZShiZV9zdGF0ZSkpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCiAgICAgeGVuZGV2LT5m ZSA9IHhlbnN0b3JlX3JlYWRfYmVfc3RyKHhlbmRldiwgImZyb250ZW5kIik7CiAgICAgaWYgKHhl bmRldi0+ZmUgPT0gTlVMTCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgInJl YWRpbmcgZnJvbnRlbmQgcGF0aCBmYWlsZWRcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhl bmRldiwgMCwgInJlYWRpbmcgZnJvbnRlbmQgcGF0aCBmYWlsZWRcbiIpOwogICAgICAgICByZXR1 cm4gLTE7CiAgICAgfQogCiAgICAgLyogc2V0dXAgZnJvbnRlbmQgd2F0Y2ggKi8KICAgICBzbnBy aW50Zih0b2tlbiwgc2l6ZW9mKHRva2VuKSwgImZlOiVwIiwgeGVuZGV2KTsKICAgICBpZiAoIXhz X3dhdGNoKHhlbnN0b3JlLCB4ZW5kZXYtPmZlLCB0b2tlbikpIHsKLSAgICAgICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDAsICJ3YXRjaGluZyBmcm9udGVuZCBwYXRoICglcykgZmFpbGVkXG4iLAor ICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgIndhdGNoaW5nIGZyb250ZW5kIHBhdGgg KCVzKSBmYWlsZWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgeGVuZGV2LT5mZSk7CiAgICAg ICAgIHJldHVybiAtMTsKICAgICB9CkBAIC0yNzcsNyArMjc3LDcgQEAgc3RhdGljIGludCB4ZW5f YmVfdHJ5X2luaXQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIGludCByYyA9IDA7CiAK ICAgICBpZiAoIXhlbmRldi0+b25saW5lKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2 LCAxLCAibm90IG9ubGluZVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAi bm90IG9ubGluZVxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTI4NSw3ICsy ODUsNyBAQCBzdGF0aWMgaW50IHhlbl9iZV90cnlfaW5pdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5k ZXYpCiAgICAgICAgIHJjID0geGVuZGV2LT5vcHMtPmluaXQoeGVuZGV2KTsKICAgICB9CiAgICAg aWYgKHJjICE9IDApIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDEsICJpbml0KCkg ZmFpbGVkXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEsICJpbml0KCkgZmFp bGVkXG4iKTsKICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0KIApAQCAtMzA4LDkgKzMwOCw5IEBA IHN0YXRpYyBpbnQgeGVuX2JlX3RyeV9pbml0aWFsaXNlKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRl dikKICAgICBpZiAoeGVuZGV2LT5mZV9zdGF0ZSAhPSBYZW5idXNTdGF0ZUluaXRpYWxpc2VkICAm JgogICAgICAgICB4ZW5kZXYtPmZlX3N0YXRlICE9IFhlbmJ1c1N0YXRlQ29ubmVjdGVkKSB7CiAg ICAgICAgIGlmICh4ZW5kZXYtPm9wcy0+ZmxhZ3MgJiBERVZPUFNfRkxBR19JR05PUkVfU1RBVEUp IHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAyLCAiZnJvbnRlbmQgbm90IHJl YWR5LCBpZ25vcmluZ1xuIik7CisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMiwg ImZyb250ZW5kIG5vdCByZWFkeSwgaWdub3JpbmdcbiIpOwogICAgICAgICB9IGVsc2UgewotICAg ICAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCBub3QgcmVhZHkgKHll dClcbiIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCBu b3QgcmVhZHkgKHlldClcbiIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAg ICAgfQpAQCAtMzE5LDcgKzMxOSw3IEBAIHN0YXRpYyBpbnQgeGVuX2JlX3RyeV9pbml0aWFsaXNl KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgcmMgPSB4ZW5kZXYtPm9wcy0+aW5p dGlhbGlzZSh4ZW5kZXYpOwogICAgIH0KICAgICBpZiAocmMgIT0gMCkgewotICAgICAgICB4ZW5f YmVfcHJpbnRmKHhlbmRldiwgMCwgImluaXRpYWxpc2UoKSBmYWlsZWRcbiIpOworICAgICAgICB4 ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImluaXRpYWxpc2UoKSBmYWlsZWRcbiIpOwogICAgICAg ICByZXR1cm4gcmM7CiAgICAgfQogCkBAIC0zNDAsOSArMzQwLDkgQEAgc3RhdGljIHZvaWQgeGVu X2JlX3RyeV9jb25uZWN0ZWQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogCiAgICAgaWYgKHhl bmRldi0+ZmVfc3RhdGUgIT0gWGVuYnVzU3RhdGVDb25uZWN0ZWQpIHsKICAgICAgICAgaWYgKHhl bmRldi0+b3BzLT5mbGFncyAmIERFVk9QU19GTEFHX0lHTk9SRV9TVEFURSkgewotICAgICAgICAg ICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCBub3QgcmVhZHksIGlnbm9yaW5n XG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAyLCAiZnJvbnRlbmQgbm90 IHJlYWR5LCBpZ25vcmluZ1xuIik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB4ZW5f YmVfcHJpbnRmKHhlbmRldiwgMiwgImZyb250ZW5kIG5vdCByZWFkeSAoeWV0KVxuIik7CisgICAg ICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMiwgImZyb250ZW5kIG5vdCByZWFkeSAoeWV0 KVxuIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC0zNzYsNyAr Mzc2LDcgQEAgc3RhdGljIGludCB4ZW5fYmVfdHJ5X3Jlc2V0KHN0cnVjdCBYZW5EZXZpY2UgKnhl bmRldikKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIHhlbl9iZV9wcmludGYoeGVu ZGV2LCAxLCAiZGV2aWNlIHJlc2V0IChmb3IgcmUtY29ubmVjdClcbiIpOworICAgIHhlbl9wdl9w cmludGYoeGVuZGV2LCAxLCAiZGV2aWNlIHJlc2V0IChmb3IgcmUtY29ubmVjdClcbiIpOwogICAg IHhlbl9iZV9zZXRfc3RhdGUoeGVuZGV2LCBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7CiAgICAg cmV0dXJuIDA7CiB9CkBAIC00MzcsNyArNDM3LDcgQEAgc3RhdGljIGludCB4ZW5zdG9yZV9zY2Fu KGNvbnN0IGNoYXIgKnR5cGUsIGludCBkb20sIHN0cnVjdCBYZW5EZXZPcHMgKm9wcykKICAgICBz bnByaW50Zih0b2tlbiwgc2l6ZW9mKHRva2VuKSwgImJlOiVwOiVkOiVwIiwgdHlwZSwgZG9tLCBv cHMpOwogICAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgImJhY2tlbmQvJXMvJWQiLCB0 eXBlLCBkb20pOwogICAgIGlmICgheHNfd2F0Y2goeGVuc3RvcmUsIHBhdGgsIHRva2VuKSkgewot ICAgICAgICB4ZW5fYmVfcHJpbnRmKE5VTEwsIDAsICJ4ZW4gYmU6IHdhdGNoaW5nIGJhY2tlbmQg cGF0aCAoJXMpIGZhaWxlZFxuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50ZihOVUxMLCAwLCAieGVu IGJlOiB3YXRjaGluZyBiYWNrZW5kIHBhdGggKCVzKSBmYWlsZWRcbiIsCiAgICAgICAgICAgICAg ICAgICAgICAgcGF0aCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CkBAIC01MTUsNyArNTE1 LDcgQEAgaW50IHhlbl9iZV9pbml0KHZvaWQpCiB7CiAgICAgeGVuc3RvcmUgPSB4c19kYWVtb25f b3BlbigpOwogICAgIGlmICgheGVuc3RvcmUpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZihOVUxM LCAwLCAiY2FuJ3QgY29ubmVjdCB0byB4ZW5zdG9yZWRcbiIpOworICAgICAgICB4ZW5fcHZfcHJp bnRmKE5VTEwsIDAsICJjYW4ndCBjb25uZWN0IHRvIHhlbnN0b3JlZFxuIik7CiAgICAgICAgIHJl dHVybiAtMTsKICAgICB9CiAKQEAgLTU3NiwxMCArNTc2LDEwIEBAIGludCB4ZW5fYmVfYmluZF9l dnRjaG4oc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIHhlbmRldi0+bG9jYWxfcG9ydCA9 IHhlbmV2dGNobl9iaW5kX2ludGVyZG9tYWluCiAgICAgICAgICh4ZW5kZXYtPmV2dGNobmRldiwg eGVuZGV2LT5kb20sIHhlbmRldi0+cmVtb3RlX3BvcnQpOwogICAgIGlmICh4ZW5kZXYtPmxvY2Fs X3BvcnQgPT0gLTEpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJ4ZW5ldnRj aG5fYmluZF9pbnRlcmRvbWFpbiBmYWlsZWRcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhl bmRldiwgMCwgInhlbmV2dGNobl9iaW5kX2ludGVyZG9tYWluIGZhaWxlZFxuIik7CiAgICAgICAg IHJldHVybiAtMTsKICAgICB9Ci0gICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJiaW5kIGV2 dGNobiBwb3J0ICVkXG4iLCB4ZW5kZXYtPmxvY2FsX3BvcnQpOworICAgIHhlbl9wdl9wcmludGYo eGVuZGV2LCAyLCAiYmluZCBldnRjaG4gcG9ydCAlZFxuIiwgeGVuZGV2LT5sb2NhbF9wb3J0KTsK ICAgICBxZW11X3NldF9mZF9oYW5kbGVyKHhlbmV2dGNobl9mZCh4ZW5kZXYtPmV2dGNobmRldiks CiAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fYmVfZXZ0Y2huX2V2ZW50LCBOVUxMLCB4ZW5k ZXYpOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvaHcveGVuL3hlbl9kZXZjb25maWcuYyBi L2h3L3hlbi94ZW5fZGV2Y29uZmlnLmMKaW5kZXggYjdkMjkwZC4uYTgwZTc4YyAxMDA2NDQKLS0t IGEvaHcveGVuL3hlbl9kZXZjb25maWcuYworKysgYi9ody94ZW4veGVuX2RldmNvbmZpZy5jCkBA IC01NSw3ICs1NSw3IEBAIGludCB4ZW5fY29uZmlnX2Rldl9ibGsoRHJpdmVJbmZvICpkaXNrKQog ICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gcWVtdV9vcHRfZ2V0KGRpc2stPm9wdHMsICJmaWxl Iik7CiAKICAgICBzbnByaW50ZihkZXZpY2VfbmFtZSwgc2l6ZW9mKGRldmljZV9uYW1lKSwgInh2 ZCVjIiwgJ2EnICsgZGlzay0+dW5pdCk7Ci0gICAgeGVuX2JlX3ByaW50ZihOVUxMLCAxLCAiY29u ZmlnIGRpc2sgJWQgWyVzXTogJXNcbiIsCisgICAgeGVuX3B2X3ByaW50ZihOVUxMLCAxLCAiY29u ZmlnIGRpc2sgJWQgWyVzXTogJXNcbiIsCiAgICAgICAgICAgICAgICAgICBkaXNrLT51bml0LCBk ZXZpY2VfbmFtZSwgZmlsZW5hbWUpOwogICAgIHhlbl9jb25maWdfZGV2X2RpcnMoInZiZCIsICJx ZGlzayIsIHZkZXYsIGZlLCBiZSwgc2l6ZW9mKGZlKSk7CiAKQEAgLTgzLDcgKzgzLDcgQEAgaW50 IHhlbl9jb25maWdfZGV2X25pYyhOSUNJbmZvICpuaWMpCiAgICAgc25wcmludGYobWFjLCBzaXpl b2YobWFjKSwgIiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4IiwKICAgICAgICAgICAgICBu aWMtPm1hY2FkZHIuYVswXSwgbmljLT5tYWNhZGRyLmFbMV0sIG5pYy0+bWFjYWRkci5hWzJdLAog ICAgICAgICAgICAgIG5pYy0+bWFjYWRkci5hWzNdLCBuaWMtPm1hY2FkZHIuYVs0XSwgbmljLT5t YWNhZGRyLmFbNV0pOwotICAgIHhlbl9iZV9wcmludGYoTlVMTCwgMSwgImNvbmZpZyBuaWMgJWQ6 IG1hYz1cIiVzXCJcbiIsIHZsYW5faWQsIG1hYyk7CisgICAgeGVuX3B2X3ByaW50ZihOVUxMLCAx LCAiY29uZmlnIG5pYyAlZDogbWFjPVwiJXNcIlxuIiwgdmxhbl9pZCwgbWFjKTsKICAgICB4ZW5f Y29uZmlnX2Rldl9kaXJzKCJ2aWYiLCAicW5pYyIsIHZsYW5faWQsIGZlLCBiZSwgc2l6ZW9mKGZl KSk7CiAKICAgICAvKiBmcm9udGVuZCAqLwpkaWZmIC0tZ2l0IGEvaHcveGVuL3hlbl9wdmRldi5j IGIvaHcveGVuL3hlbl9wdmRldi5jCmluZGV4IGU0MzJkMzAuLjY5MzhjMDkgMTAwNjQ0Ci0tLSBh L2h3L3hlbi94ZW5fcHZkZXYuYworKysgYi9ody94ZW4veGVuX3B2ZGV2LmMKQEAgLTY4LDEzICs2 OCwxMyBAQCBpbnQgeGVuc3RvcmVfbWtkaXIoY2hhciAqcGF0aCwgaW50IHApCiAgICAgfTsKIAog ICAgIGlmICgheHNfbWtkaXIoeGVuc3RvcmUsIDAsIHBhdGgpKSB7Ci0gICAgICAgIHhlbl9iZV9w cmludGYoTlVMTCwgMCwgInhzX21rZGlyICVzOiBmYWlsZWRcbiIsIHBhdGgpOworICAgICAgICB4 ZW5fcHZfcHJpbnRmKE5VTEwsIDAsICJ4c19ta2RpciAlczogZmFpbGVkXG4iLCBwYXRoKTsKICAg ICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICB4ZW5zdG9yZV9jbGVhbnVwX2RpcihnX3N0cmR1 cChwYXRoKSk7CiAKICAgICBpZiAoIXhzX3NldF9wZXJtaXNzaW9ucyh4ZW5zdG9yZSwgMCwgcGF0 aCwgcGVybXMsIDIpKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoTlVMTCwgMCwgInhzX3NldF9w ZXJtaXNzaW9ucyAlczogZmFpbGVkXG4iLCBwYXRoKTsKKyAgICAgICAgeGVuX3B2X3ByaW50ZihO VUxMLCAwLCAieHNfc2V0X3Blcm1pc3Npb25zICVzOiBmYWlsZWRcbiIsIHBhdGgpOwogICAgICAg ICByZXR1cm4gLTE7CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtMTk0LDcgKzE5NCw3IEBAIGNv bnN0IGNoYXIgKnhlbmJ1c19zdHJzdGF0ZShlbnVtIHhlbmJ1c19zdGF0ZSBzdGF0ZSkKICAqICAy ID09IG5vaXN5IGRlYnVnIG1lc3NhZ2VzIChsb2dmaWxlIG9ubHkpLgogICogIDMgPT0gd2lsbCBm bG9vZCB5b3VyIGxvZyAobG9nZmlsZSBvbmx5KS4KICAqLwotdm9pZCB4ZW5fYmVfcHJpbnRmKHN0 cnVjdCBYZW5EZXZpY2UgKnhlbmRldiwgaW50IG1zZ19sZXZlbCwKK3ZvaWQgeGVuX3B2X3ByaW50 ZihzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYsIGludCBtc2dfbGV2ZWwsCiAgICAgICAgICAgICAg ICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAgICAgdmFfbGlzdCBhcmdzOwpAQCAtMjM0 LDcgKzIzNCw3IEBAIHZvaWQgeGVuX2JlX2V2dGNobl9ldmVudCh2b2lkICpvcGFxdWUpCiAKICAg ICBwb3J0ID0geGVuZXZ0Y2huX3BlbmRpbmcoeGVuZGV2LT5ldnRjaG5kZXYpOwogICAgIGlmIChw b3J0ICE9IHhlbmRldi0+bG9jYWxfcG9ydCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRl diwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAg ICAgICAgInhlbmV2dGNobl9wZW5kaW5nIHJldHVybmVkICVkIChleHBlY3RlZCAlZClcbiIsCiAg ICAgICAgICAgICAgICAgICAgICAgcG9ydCwgeGVuZGV2LT5sb2NhbF9wb3J0KTsKICAgICAgICAg cmV0dXJuOwpAQCAtMjUzLDcgKzI1Myw3IEBAIHZvaWQgeGVuX2JlX3VuYmluZF9ldnRjaG4oc3Ry dWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIH0KICAgICBxZW11X3NldF9mZF9oYW5kbGVyKHhl bmV2dGNobl9mZCh4ZW5kZXYtPmV2dGNobmRldiksIE5VTEwsIE5VTEwsIE5VTEwpOwogICAgIHhl bmV2dGNobl91bmJpbmQoeGVuZGV2LT5ldnRjaG5kZXYsIHhlbmRldi0+bG9jYWxfcG9ydCk7Ci0g ICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJ1bmJpbmQgZXZ0Y2huIHBvcnQgJWRcbiIsIHhl bmRldi0+bG9jYWxfcG9ydCk7CisgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJ1bmJpbmQg ZXZ0Y2huIHBvcnQgJWRcbiIsIHhlbmRldi0+bG9jYWxfcG9ydCk7CiAgICAgeGVuZGV2LT5sb2Nh bF9wb3J0ID0gLTE7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbl9wdmRldi5o IGIvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmgKaW5kZXggNTE3NTM3YS4uN2FlZGM5MSAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmgKKysrIGIvaW5jbHVkZS9ody94ZW4v eGVuX3B2ZGV2LmgKQEAgLTcyLDcgKzcyLDcgQEAgc3RydWN0IFhlbkRldmljZSAqeGVuX2JlX2Zp bmRfeGVuZGV2KGNvbnN0IGNoYXIgKnR5cGUsIGludCBkb20sIGludCBkZXYpOwogdm9pZCB4ZW5f YmVfdW5iaW5kX2V2dGNobihzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpOwogaW50IHhlbl9iZV9z ZW5kX25vdGlmeShzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpOwogCi12b2lkIHhlbl9iZV9wcmlu dGYoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCBpbnQgbXNnX2xldmVsLAordm9pZCB4ZW5fcHZf cHJpbnRmKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldiwgaW50IG1zZ19sZXZlbCwKICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpmbXQsIC4uLikgIEdDQ19GTVRfQVRUUigzLCA0KTsKIAog I2VuZGlmIC8qIFFFTVVfSFdfWEVOX1BWREVWX0ggKi8KZGlmZiAtLWdpdCBhL3hlbi1jb21tb24u YyBiL3hlbi1jb21tb24uYwppbmRleCBlNjQxYWQxLi45MDk5NzYwIDEwMDY0NAotLS0gYS94ZW4t Y29tbW9uLmMKKysrIGIveGVuLWNvbW1vbi5jCkBAIC0xMTYsMTIgKzExNiwxMiBAQCBzdGF0aWMg aW50IHhlbl9pbml0KE1hY2hpbmVTdGF0ZSAqbXMpCiB7CiAgICAgeGVuX3hjID0geGNfaW50ZXJm YWNlX29wZW4oMCwgMCwgMCk7CiAgICAgaWYgKHhlbl94YyA9PSBOVUxMKSB7Ci0gICAgICAgIHhl bl9iZV9wcmludGYoTlVMTCwgMCwgImNhbid0IG9wZW4geGVuIGludGVyZmFjZVxuIik7CisgICAg ICAgIHhlbl9wdl9wcmludGYoTlVMTCwgMCwgImNhbid0IG9wZW4geGVuIGludGVyZmFjZVxuIik7 CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgeGVuX2ZtZW0gPSB4ZW5mb3JlaWdubWVt b3J5X29wZW4oMCwgMCk7CiAgICAgaWYgKHhlbl9mbWVtID09IE5VTEwpIHsKLSAgICAgICAgeGVu X2JlX3ByaW50ZihOVUxMLCAwLCAiY2FuJ3Qgb3BlbiB4ZW4gZm1lbSBpbnRlcmZhY2VcbiIpOwor ICAgICAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDAsICJjYW4ndCBvcGVuIHhlbiBmbWVtIGludGVy ZmFjZVxuIik7CiAgICAgICAgIHhjX2ludGVyZmFjZV9jbG9zZSh4ZW5feGMpOwogICAgICAgICBy ZXR1cm4gLTE7CiAgICAgfQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK