From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Condrea Subject: [PATCH v3 08/13] xen: Rename xen_be_printf to xen_pv_printf Date: Tue, 25 Oct 2016 08:50:14 +0300 Message-ID: <1477374619-13149-9-git-send-email-emilcondrea@gmail.com> References: <1477374619-13149-1-git-send-email-emilcondrea@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1477374619-13149-1-git-send-email-emilcondrea@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: xuquan8@huawei.com, sstabellini@kernel.org, wei.liu2@citrix.com, stefanb@linux.vnet.ibm.com, xen-devel@lists.xen.org, anthony.perard@citrix.com, pbonzini@redhat.com, dgdegra@tycho.nsa.gov, eblake@redhat.com List-Id: xen-devel@lists.xenproject.org UHJlcGFyZSB4ZW5fYmVfcHJpbnRmIHRvIGJlIHVzZWQgYnkgYm90aCBiYWNrZW5kIGFuZCBmcm9u dGVuZHM6CiAqIHhlbl9iZV9wcmludGYgLT4geGVuX3B2X3ByaW50ZgoKU2lnbmVkLW9mZi1ieTog RW1pbCBDb25kcmVhIDxlbWlsY29uZHJlYUBnbWFpbC5jb20+CkFja2VkLWJ5OiBBbnRob255IFBF UkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCiBody9ibG9jay94ZW5fZGlzay5j ICAgICAgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIGh3L2NoYXIveGVuX2NvbnNvbGUuYyAgICAgIHwgIDggKysrLS0tLQogaHcvZGlzcGxheS94 ZW5mYi5jICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGh3 L25ldC94ZW5fbmljLmMgICAgICAgICAgIHwgMjIgKysrKysrKysrLS0tLS0tLS0tCiBody91c2Iv eGVuLXVzYi5jICAgICAgICAgICB8IDM4ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQog aHcveGVuL3hlbl9iYWNrZW5kLmMgICAgICAgfCA0NiArKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0KIGh3L3hlbi94ZW5fZGV2Y29uZmlnLmMgICAgIHwgIDQgKystLQogaHcveGVu L3hlbl9wdmRldi5jICAgICAgICAgfCAxMCArKysrLS0tLQogaW5jbHVkZS9ody94ZW4veGVuX3B2 ZGV2LmggfCAgMiArLQogeGVuLWNvbW1vbi5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiAxMCBm aWxlcyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMTE3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMgYi9ody9ibG9jay94ZW5fZGlzay5jCmluZGV4IDVi MDM3ZTcuLjYxNDU1NjcgMTAwNjQ0Ci0tLSBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMKKysrIGIvaHcv YmxvY2sveGVuX2Rpc2suYwpAQCAtMTY3LDEyICsxNjcsMTIgQEAgc3RhdGljIHZvaWQgZGVzdHJv eV9ncmFudChncG9pbnRlciBwZ250KQogICAgIHhlbmdudHRhYl9oYW5kbGUgKmdudCA9IGdyYW50 LT5ibGtkZXYtPnhlbmRldi5nbnR0YWJkZXY7CiAKICAgICBpZiAoeGVuZ250dGFiX3VubWFwKGdu dCwgZ3JhbnQtPnBhZ2UsIDEpICE9IDApIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmZ3JhbnQt PmJsa2Rldi0+eGVuZGV2LCAwLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZncmFudC0+YmxrZGV2 LT54ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgInhlbmdudHRhYl91bm1hcCBmYWls ZWQ6ICVzXG4iLAogICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CiAgICAg fQogICAgIGdyYW50LT5ibGtkZXYtPnBlcnNpc3RlbnRfZ250X2NvdW50LS07Ci0gICAgeGVuX2Jl X3ByaW50ZigmZ3JhbnQtPmJsa2Rldi0+eGVuZGV2LCAzLAorICAgIHhlbl9wdl9wcmludGYoJmdy YW50LT5ibGtkZXYtPnhlbmRldiwgMywKICAgICAgICAgICAgICAgICAgICJ1bm1hcHBlZCBncmFu dCAlcFxuIiwgZ3JhbnQtPnBhZ2UpOwogICAgIGdfZnJlZShncmFudCk7CiB9CkBAIC0xODQsMTEg KzE4NCwxMSBAQCBzdGF0aWMgdm9pZCByZW1vdmVfcGVyc2lzdGVudF9yZWdpb24oZ3BvaW50ZXIg ZGF0YSwgZ3BvaW50ZXIgZGV2KQogICAgIHhlbmdudHRhYl9oYW5kbGUgKmdudCA9IGJsa2Rldi0+ eGVuZGV2LmdudHRhYmRldjsKIAogICAgIGlmICh4ZW5nbnR0YWJfdW5tYXAoZ250LCByZWdpb24t PmFkZHIsIHJlZ2lvbi0+bnVtKSAhPSAwKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rl di0+eGVuZGV2LCAwLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwK ICAgICAgICAgICAgICAgICAgICAgICAieGVuZ250dGFiX3VubWFwIHJlZ2lvbiAlcCBmYWlsZWQ6 ICVzXG4iLAogICAgICAgICAgICAgICAgICAgICAgIHJlZ2lvbi0+YWRkciwgc3RyZXJyb3IoZXJy bm8pKTsKICAgICB9Ci0gICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDMsCisgICAg eGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDMsCiAgICAgICAgICAgICAgICAgICAidW5t YXBwZWQgZ3JhbnQgcmVnaW9uICVwIHdpdGggJWQgcGFnZXNcbiIsCiAgICAgICAgICAgICAgICAg ICByZWdpb24tPmFkZHIsIHJlZ2lvbi0+bnVtKTsKICAgICBnX2ZyZWUocmVnaW9uKTsKQEAgLTI1 NSw3ICsyNTUsNyBAQCBzdGF0aWMgaW50IGlvcmVxX3BhcnNlKHN0cnVjdCBpb3JlcSAqaW9yZXEp CiAgICAgc2l6ZV90IGxlbjsKICAgICBpbnQgaTsKIAotICAgIHhlbl9iZV9wcmludGYoJmJsa2Rl di0+eGVuZGV2LCAzLAorICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAzLAogICAg ICAgICAgICAgICAgICAgIm9wICVkLCBuciAlZCwgaGFuZGxlICVkLCBpZCAlIiBQUklkNjQgIiwg c2VjdG9yICUiIFBSSWQ2NCAiXG4iLAogICAgICAgICAgICAgICAgICAgaW9yZXEtPnJlcS5vcGVy YXRpb24sIGlvcmVxLT5yZXEubnJfc2VnbWVudHMsCiAgICAgICAgICAgICAgICAgICBpb3JlcS0+ cmVxLmhhbmRsZSwgaW9yZXEtPnJlcS5pZCwgaW9yZXEtPnJlcS5zZWN0b3JfbnVtYmVyKTsKQEAg LTI3NSwyOCArMjc1LDI4IEBAIHN0YXRpYyBpbnQgaW9yZXFfcGFyc2Uoc3RydWN0IGlvcmVxICpp b3JlcSkKICAgICBjYXNlIEJMS0lGX09QX0RJU0NBUkQ6CiAgICAgICAgIHJldHVybiAwOwogICAg IGRlZmF1bHQ6Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJy b3I6IHVua25vd24gb3BlcmF0aW9uICglZClcbiIsCisgICAgICAgIHhlbl9wdl9wcmludGYoJmJs a2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHVua25vd24gb3BlcmF0aW9uICglZClcbiIsCiAgICAg ICAgICAgICAgICAgICAgICAgaW9yZXEtPnJlcS5vcGVyYXRpb24pOwogICAgICAgICBnb3RvIGVy cjsKICAgICB9OwogCiAgICAgaWYgKGlvcmVxLT5yZXEub3BlcmF0aW9uICE9IEJMS0lGX09QX1JF QUQgJiYgYmxrZGV2LT5tb2RlWzBdICE9ICd3JykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZi bGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiB3cml0ZSByZXEgZm9yIHJvIGRldmljZVxuIik7Cisg ICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHdyaXRlIHJl cSBmb3Igcm8gZGV2aWNlXG4iKTsKICAgICAgICAgZ290byBlcnI7CiAgICAgfQogCiAgICAgaW9y ZXEtPnN0YXJ0ID0gaW9yZXEtPnJlcS5zZWN0b3JfbnVtYmVyICogYmxrZGV2LT5maWxlX2JsazsK ICAgICBmb3IgKGkgPSAwOyBpIDwgaW9yZXEtPnJlcS5ucl9zZWdtZW50czsgaSsrKSB7CiAgICAg ICAgIGlmIChpID09IEJMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVCkgewotICAgICAgICAg ICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogbnJfc2VnbWVudHMg dG9vIGJpZ1xuIik7CisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwg MCwgImVycm9yOiBucl9zZWdtZW50cyB0b28gYmlnXG4iKTsKICAgICAgICAgICAgIGdvdG8gZXJy OwogICAgICAgICB9CiAgICAgICAgIGlmIChpb3JlcS0+cmVxLnNlZ1tpXS5maXJzdF9zZWN0ID4g aW9yZXEtPnJlcS5zZWdbaV0ubGFzdF9zZWN0KSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRm KCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiBmaXJzdCA+IGxhc3Qgc2VjdG9yXG4iKTsKKyAg ICAgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IGZpcnN0 ID4gbGFzdCBzZWN0b3JcbiIpOwogICAgICAgICAgICAgZ290byBlcnI7CiAgICAgICAgIH0KICAg ICAgICAgaWYgKGlvcmVxLT5yZXEuc2VnW2ldLmxhc3Rfc2VjdCAqIEJMT0NLX1NJWkUgPj0gWENf UEFHRV9TSVpFKSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwg MCwgImVycm9yOiBwYWdlIGNyb3NzaW5nXG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYo JmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHBhZ2UgY3Jvc3NpbmdcbiIpOwogICAgICAgICAg ICAgZ290byBlcnI7CiAgICAgICAgIH0KIApAQCAtMzA4LDcgKzMwOCw3IEBAIHN0YXRpYyBpbnQg aW9yZXFfcGFyc2Uoc3RydWN0IGlvcmVxICppb3JlcSkKICAgICAgICAgcWVtdV9pb3ZlY19hZGQo JmlvcmVxLT52LCAodm9pZCopbWVtLCBsZW4pOwogICAgIH0KICAgICBpZiAoaW9yZXEtPnN0YXJ0 ICsgaW9yZXEtPnYuc2l6ZSA+IGJsa2Rldi0+ZmlsZV9zaXplKSB7Ci0gICAgICAgIHhlbl9iZV9w cmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IGFjY2VzcyBiZXlvbmQgZW5kIG9mIGZp bGVcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9y OiBhY2Nlc3MgYmV5b25kIGVuZCBvZiBmaWxlXG4iKTsKICAgICAgICAgZ290byBlcnI7CiAgICAg fQogICAgIHJldHVybiAwOwpAQCAtMzMxLDcgKzMzMSw3IEBAIHN0YXRpYyB2b2lkIGlvcmVxX3Vu bWFwKHN0cnVjdCBpb3JlcSAqaW9yZXEpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K ICAgICAgICAgaWYgKHhlbmdudHRhYl91bm1hcChnbnQsIGlvcmVxLT5wYWdlcywgaW9yZXEtPm51 bV91bm1hcCkgIT0gMCkgewotICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rl di0+eGVuZGV2LCAwLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+ eGVuZGV2LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAieGVuZ250dGFiX3VubWFwIGZh aWxlZDogJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7 CiAgICAgICAgIH0KQEAgLTM0Myw3ICszNDMsNyBAQCBzdGF0aWMgdm9pZCBpb3JlcV91bm1hcChz dHJ1Y3QgaW9yZXEgKmlvcmVxKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg ICAgfQogICAgICAgICAgICAgaWYgKHhlbmdudHRhYl91bm1hcChnbnQsIGlvcmVxLT5wYWdlW2ld LCAxKSAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rl di0+eGVuZGV2LCAwLAorICAgICAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmlvcmVxLT5ibGtk ZXYtPnhlbmRldiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4ZW5nbnR0YWJf dW5tYXAgZmFpbGVkOiAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVy cm9yKGVycm5vKSk7CiAgICAgICAgICAgICB9CkBAIC0zODEsNyArMzgxLDcgQEAgc3RhdGljIGlu dCBpb3JlcV9tYXAoc3RydWN0IGlvcmVxICppb3JlcSkKIAogICAgICAgICAgICAgaWYgKGdyYW50 ICE9IE5VTEwpIHsKICAgICAgICAgICAgICAgICBwYWdlW2ldID0gZ3JhbnQtPnBhZ2U7Ci0gICAg ICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAorICAg ICAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2luZyBwZXJzaXN0ZW50LWdyYW50ICUiIFBS SXUzMiAiXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9yZXEtPnJlZnNbaV0p OwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTQxMCw3ICs0MTAsNyBAQCBzdGF0aWMgaW50IGlv cmVxX21hcChzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogICAgICAgICBpb3JlcS0+cGFnZXMgPSB4ZW5n bnR0YWJfbWFwX2dyYW50X3JlZnMKICAgICAgICAgICAgIChnbnQsIG5ld19tYXBzLCBkb21pZHMs IHJlZnMsIGlvcmVxLT5wcm90KTsKICAgICAgICAgaWYgKGlvcmVxLT5wYWdlcyA9PSBOVUxMKSB7 Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsCisg ICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICJjYW4ndCBtYXAgJWQgZ3JhbnQgcmVmcyAoJXMsICVkIG1h cHMpXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfbWFwcywgc3RyZXJyb3IoZXJy bm8pLCBpb3JlcS0+YmxrZGV2LT5jbnRfbWFwKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKQEAg LTQyNiw3ICs0MjYsNyBAQCBzdGF0aWMgaW50IGlvcmVxX21hcChzdHJ1Y3QgaW9yZXEgKmlvcmVx KQogICAgICAgICAgICAgaW9yZXEtPnBhZ2VbaV0gPSB4ZW5nbnR0YWJfbWFwX2dyYW50X3JlZgog ICAgICAgICAgICAgICAgIChnbnQsIGRvbWlkc1tpXSwgcmVmc1tpXSwgaW9yZXEtPnByb3QpOwog ICAgICAgICAgICAgaWYgKGlvcmVxLT5wYWdlW2ldID09IE5VTEwpIHsKLSAgICAgICAgICAgICAg ICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsCisgICAgICAgICAgICAg ICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAwLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImNhbid0IG1hcCBncmFudCByZWYgJWQgKCVzLCAlZCBtYXBzKVxu IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnNbaV0sIHN0cmVycm9yKGVycm5v KSwgaW9yZXEtPmJsa2Rldi0+Y250X21hcCk7CiAgICAgICAgICAgICAgICAgaW9yZXEtPm1hcHBl ZCA9IDE7CkBAIC00NzQsNyArNDc0LDcgQEAgc3RhdGljIGludCBpb3JlcV9tYXAoc3RydWN0IGlv cmVxICppb3JlcSkKICAgICAgICAgICAgICAgICBncmFudC0+cGFnZSA9IGlvcmVxLT5wYWdlW25l d19tYXBzXTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGdyYW50LT5ibGtkZXYgPSBpb3Jl cS0+YmxrZGV2OwotICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVu ZGV2LCAzLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2 LCAzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWRkaW5nIGdyYW50ICUiIFBSSXUzMiAi IHBhZ2U6ICVwXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICByZWZzW25ld19tYXBzXSwg Z3JhbnQtPnBhZ2UpOwogICAgICAgICAgICAgZ190cmVlX2luc2VydChpb3JlcS0+YmxrZGV2LT5w ZXJzaXN0ZW50X2dudHMsCkBAIC01NTcsNyArNTU3LDcgQEAgc3RhdGljIGludCBpb3JlcV9ncmFu dF9jb3B5KHN0cnVjdCBpb3JlcSAqaW9yZXEpCiAgICAgcmMgPSB4ZW5nbnR0YWJfZ3JhbnRfY29w eShnbnQsIGNvdW50LCBzZWdzKTsKIAogICAgIGlmIChyYykgewotICAgICAgICB4ZW5fYmVfcHJp bnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsCisgICAgICAgIHhlbl9wdl9wcmludGYoJmlv cmVxLT5ibGtkZXYtPnhlbmRldiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIHRv IGNvcHkgZGF0YSAlZFxuIiwgcmMpOwogICAgICAgICBpb3JlcS0+YWlvX2Vycm9ycysrOwogICAg ICAgICByZXR1cm4gLTE7CkBAIC01NjUsNyArNTY1LDcgQEAgc3RhdGljIGludCBpb3JlcV9ncmFu dF9jb3B5KHN0cnVjdCBpb3JlcSAqaW9yZXEpCiAKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7 IGkrKykgewogICAgICAgICBpZiAoc2Vnc1tpXS5zdGF0dXMgIT0gR05UU1Rfb2theSkgewotICAg ICAgICAgICAgeGVuX2JlX3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAorICAgICAg ICAgICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGNvcHkgZGF0YSAlZCBmb3IgZ3JlZiAlZCwgZG9t aWQgJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlZ3NbaV0uc3RhdHVzLCBpb3Jl cS0+cmVmc1tpXSwgaW9yZXEtPmRvbWlkc1tpXSk7CiAgICAgICAgICAgICBpb3JlcS0+YWlvX2Vy cm9ycysrOwpAQCAtNTk5LDcgKzU5OSw3IEBAIHN0YXRpYyB2b2lkIHFlbXVfYWlvX2NvbXBsZXRl KHZvaWQgKm9wYXF1ZSwgaW50IHJldCkKICAgICBzdHJ1Y3QgaW9yZXEgKmlvcmVxID0gb3BhcXVl OwogCiAgICAgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJmlvcmVxLT5i bGtkZXYtPnhlbmRldiwgMCwgIiVzIEkvTyBlcnJvclxuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50 ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAwLCAiJXMgSS9PIGVycm9yXG4iLAogICAgICAgICAg ICAgICAgICAgICAgIGlvcmVxLT5yZXEub3BlcmF0aW9uID09IEJMS0lGX09QX1JFQUQgPyAicmVh ZCIgOiAid3JpdGUiKTsKICAgICAgICAgaW9yZXEtPmFpb19lcnJvcnMrKzsKICAgICB9CkBAIC05 MTAsNyArOTEwLDcgQEAgc3RhdGljIHZvaWQgYmxrX2FsbG9jKHN0cnVjdCBYZW5EZXZpY2UgKnhl bmRldikKICAgICB9CiAgICAgaWYgKHhlbmdudHRhYl9zZXRfbWF4X2dyYW50cyh4ZW5kZXYtPmdu dHRhYmRldiwKICAgICAgICAgICAgIE1BWF9HUkFOVFMobWF4X3JlcXVlc3RzLCBCTEtJRl9NQVhf U0VHTUVOVFNfUEVSX1JFUVVFU1QpKSA8IDApIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5k ZXYsIDAsICJ4ZW5nbnR0YWJfc2V0X21heF9ncmFudHMgZmFpbGVkOiAlc1xuIiwKKyAgICAgICAg eGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJ4ZW5nbnR0YWJfc2V0X21heF9ncmFudHMgZmFpbGVk OiAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOwogICAgIH0K IH0KQEAgLTEwNTYsMTEgKzEwNTYsMTEgQEAgc3RhdGljIGludCBibGtfY29ubmVjdChzdHJ1Y3Qg WGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgICAgIH0KIAogICAgICAgICAvKiBzZXR1cCB2aWEgeGVu YnVzIC0+IGNyZWF0ZSBuZXcgYmxvY2sgZHJpdmVyIGluc3RhbmNlICovCi0gICAgICAgIHhlbl9i ZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAyLCAiY3JlYXRlIG5ldyBiZHJ2ICh4ZW5idXMgc2V0 dXApXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDIsICJjcmVh dGUgbmV3IGJkcnYgKHhlbmJ1cyBzZXR1cClcbiIpOwogICAgICAgICBibGtkZXYtPmJsayA9IGJs a19uZXdfb3BlbihibGtkZXYtPmZpbGVuYW1lLCBOVUxMLCBvcHRpb25zLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBxZmxhZ3MsICZsb2NhbF9lcnIpOwogICAgICAgICBpZiAo IWJsa2Rldi0+YmxrKSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRl diwgMCwgImVycm9yOiAlc1xuIiwKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+ eGVuZGV2LCAwLCAiZXJyb3I6ICVzXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJv cl9nZXRfcHJldHR5KGxvY2FsX2VycikpOwogICAgICAgICAgICAgZXJyb3JfZnJlZShsb2NhbF9l cnIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMTA2OCwxMSArMTA2OCwxMSBAQCBzdGF0 aWMgaW50IGJsa19jb25uZWN0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgYmxr X3NldF9lbmFibGVfd3JpdGVfY2FjaGUoYmxrZGV2LT5ibGssICF3cml0ZXRocm91Z2gpOwogICAg IH0gZWxzZSB7CiAgICAgICAgIC8qIHNldHVwIHZpYSBxZW11IGNtZGxpbmUgLT4gYWxyZWFkeSBz ZXR1cCBmb3IgdXMgKi8KLSAgICAgICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDIs CisgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAyLAogICAgICAgICAgICAg ICAgICAgICAgICJnZXQgY29uZmlndXJlZCBiZHJ2IChjbWRsaW5lIHNldHVwKVxuIik7CiAgICAg ICAgIGJsa2Rldi0+YmxrID0gYmxrX2J5X2xlZ2FjeV9kaW5mbyhibGtkZXYtPmRpbmZvKTsKICAg ICAgICAgaWYgKGJsa19pc19yZWFkX29ubHkoYmxrZGV2LT5ibGspICYmICFyZWFkb25seSkgewot ICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJVbmV4cGVjdGVk IHJlYWQtb25seSBkcml2ZSIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54 ZW5kZXYsIDAsICJVbmV4cGVjdGVkIHJlYWQtb25seSBkcml2ZSIpOwogICAgICAgICAgICAgYmxr ZGV2LT5ibGsgPSBOVUxMOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CkBAIC0x MDg1LDEzICsxMDg1LDEzIEBAIHN0YXRpYyBpbnQgYmxrX2Nvbm5lY3Qoc3RydWN0IFhlbkRldmlj ZSAqeGVuZGV2KQogICAgIGlmIChibGtkZXYtPmZpbGVfc2l6ZSA8IDApIHsKICAgICAgICAgQmxv Y2tEcml2ZXJTdGF0ZSAqYnMgPSBibGtfYnMoYmxrZGV2LT5ibGspOwogICAgICAgICBjb25zdCBj aGFyICpkcnZfbmFtZSA9IGJzID8gYmRydl9nZXRfZm9ybWF0X25hbWUoYnMpIDogTlVMTDsKLSAg ICAgICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDEsICJibGtfZ2V0bGVuZ3RoOiAl ZCAoJXMpIHwgZHJ2ICVzXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRl diwgMSwgImJsa19nZXRsZW5ndGg6ICVkICglcykgfCBkcnYgJXNcbiIsCiAgICAgICAgICAgICAg ICAgICAgICAgKGludClibGtkZXYtPmZpbGVfc2l6ZSwgc3RyZXJyb3IoLWJsa2Rldi0+ZmlsZV9z aXplKSwKICAgICAgICAgICAgICAgICAgICAgICBkcnZfbmFtZSA/OiAiLSIpOwogICAgICAgICBi bGtkZXYtPmZpbGVfc2l6ZSA9IDA7CiAgICAgfQogCi0gICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYs IDEsICJ0eXBlIFwiJXNcIiwgZmlsZXByb3RvIFwiJXNcIiwgZmlsZW5hbWUgXCIlc1wiLCIKKyAg ICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwgInR5cGUgXCIlc1wiLCBmaWxlcHJvdG8gXCIlc1wi LCBmaWxlbmFtZSBcIiVzXCIsIgogICAgICAgICAgICAgICAgICAgIiBzaXplICUiIFBSSWQ2NCAi ICglIiBQUklkNjQgIiBNQilcbiIsCiAgICAgICAgICAgICAgICAgICBibGtkZXYtPnR5cGUsIGJs a2Rldi0+ZmlsZXByb3RvLCBibGtkZXYtPmZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgYmxr ZGV2LT5maWxlX3NpemUsIGJsa2Rldi0+ZmlsZV9zaXplID4+IDIwKTsKQEAgLTExNzUsMTAgKzEx NzUsMTAgQEAgc3RhdGljIGludCBibGtfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYp CiAgICAgYmxrZGV2LT5mZWF0dXJlX2dyYW50X2NvcHkgPQogICAgICAgICAgICAgICAgICh4ZW5n bnR0YWJfZ3JhbnRfY29weShibGtkZXYtPnhlbmRldi5nbnR0YWJkZXYsIDAsIE5VTEwpID09IDAp OwogCi0gICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDMsICJncmFudCBjb3B5IG9w ZXJhdGlvbiAlc1xuIiwKKyAgICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMywgImdy YW50IGNvcHkgb3BlcmF0aW9uICVzXG4iLAogICAgICAgICAgICAgICAgICAgYmxrZGV2LT5mZWF0 dXJlX2dyYW50X2NvcHkgPyAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiKTsKIAotICAgIHhlbl9iZV9w cmludGYoJmJsa2Rldi0+eGVuZGV2LCAxLCAib2s6IHByb3RvICVzLCByaW5nLXJlZiAlZCwgIgor ICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAxLCAib2s6IHByb3RvICVzLCByaW5n LXJlZiAlZCwgIgogICAgICAgICAgICAgICAgICAgInJlbW90ZSBwb3J0ICVkLCBsb2NhbCBwb3J0 ICVkXG4iLAogICAgICAgICAgICAgICAgICAgYmxrZGV2LT54ZW5kZXYucHJvdG9jb2wsIGJsa2Rl di0+cmluZ19yZWYsCiAgICAgICAgICAgICAgICAgICBibGtkZXYtPnhlbmRldi5yZW1vdGVfcG9y dCwgYmxrZGV2LT54ZW5kZXYubG9jYWxfcG9ydCk7CmRpZmYgLS1naXQgYS9ody9jaGFyL3hlbl9j b25zb2xlLmMgYi9ody9jaGFyL3hlbl9jb25zb2xlLmMKaW5kZXggOWFlOTU1OC4uYWE3YTI3ZSAx MDA2NDQKLS0tIGEvaHcvY2hhci94ZW5fY29uc29sZS5jCisrKyBiL2h3L2NoYXIveGVuX2NvbnNv bGUuYwpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgc3RhdGljIHZvaWQgeGVuY29uc19zZW5kKHN0cnVj dCBYZW5Db25zb2xlICpjb24pCiAgICAgaWYgKGxlbiA8IDEpIHsKICAgICAgICAgaWYgKCFjb24t PmJhY2tsb2cpIHsKICAgICAgICAgICAgIGNvbi0+YmFja2xvZyA9IDE7Ci0gICAgICAgICAgICB4 ZW5fYmVfcHJpbnRmKCZjb24tPnhlbmRldiwgMSwKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYo JmNvbi0+eGVuZGV2LCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFja2xvZyBwaWxp bmcgdXAsIG5vYm9keSBsaXN0ZW5pbmc/XG4iKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAg ICAgICAgIGJ1ZmZlcl9hZHZhbmNlKCZjb24tPmJ1ZmZlciwgbGVuKTsKICAgICAgICAgaWYgKGNv bi0+YmFja2xvZyAmJiBsZW4gPT0gc2l6ZSkgewogICAgICAgICAgICAgY29uLT5iYWNrbG9nID0g MDsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJmNvbi0+eGVuZGV2LCAxLCAiYmFja2xvZyBp cyBnb25lXG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmNvbi0+eGVuZGV2LCAxLCAi YmFja2xvZyBpcyBnb25lXG4iKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTE5Miw3ICsxOTIs NyBAQCBzdGF0aWMgaW50IGNvbl9pbml0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKIAogICAg IHR5cGUgPSB4ZW5zdG9yZV9yZWFkX3N0cihjb24tPmNvbnNvbGUsICJ0eXBlIik7CiAgICAgaWYg KCF0eXBlIHx8IHN0cmNtcCh0eXBlLCAiaW9lbXUiKSAhPSAwKSB7Ci0gICAgICAgIHhlbl9iZV9w cmludGYoeGVuZGV2LCAxLCAibm90IGZvciBtZSAodHlwZT0lcylcbiIsIHR5cGUpOworICAgICAg ICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwgIm5vdCBmb3IgbWUgKHR5cGU9JXMpXG4iLCB0eXBl KTsKICAgICAgICAgcmV0ID0gLTE7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTI0OCw3 ICsyNDgsNyBAQCBzdGF0aWMgaW50IGNvbl9pbml0aWFsaXNlKHN0cnVjdCBYZW5EZXZpY2UgKnhl bmRldikKICAgICBxZW11X2Nocl9mZV9zZXRfaGFuZGxlcnMoJmNvbi0+Y2hyLCB4ZW5jb25zX2Nh bl9yZWNlaXZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5jb25zX3JlY2VpdmUs IE5VTEwsIGNvbiwgTlVMTCwgdHJ1ZSk7CiAKLSAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwK KyAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwKICAgICAgICAgICAgICAgICAgICJyaW5nIG1m biAlZCwgcmVtb3RlIHBvcnQgJWQsIGxvY2FsIHBvcnQgJWQsIGxpbWl0ICV6ZFxuIiwKIAkJICBj b24tPnJpbmdfcmVmLAogCQkgIGNvbi0+eGVuZGV2LnJlbW90ZV9wb3J0LApkaWZmIC0tZ2l0IGEv aHcvZGlzcGxheS94ZW5mYi5jIGIvaHcvZGlzcGxheS94ZW5mYi5jCmluZGV4IGQ0NThmYzEuLmQ3 Yjk0YjAgMTAwNjQ0Ci0tLSBhL2h3L2Rpc3BsYXkveGVuZmIuYworKysgYi9ody9kaXNwbGF5L3hl bmZiLmMKQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgaW50IGNvbW1vbl9iaW5kKHN0cnVjdCBj b21tb24gKmMpCiAgICAgICAgIHJldHVybiAtMTsKIAogICAgIHhlbl9iZV9iaW5kX2V2dGNobigm Yy0+eGVuZGV2KTsKLSAgICB4ZW5fYmVfcHJpbnRmKCZjLT54ZW5kZXYsIDEsCisgICAgeGVuX3B2 X3ByaW50ZigmYy0+eGVuZGV2LCAxLAogICAgICAgICAgICAgICAgICAgInJpbmcgbWZuICUiUFJJ X3hlbl9wZm4iLCByZW1vdGUtcG9ydCAlZCwgbG9jYWwtcG9ydCAlZFxuIiwKICAgICAgICAgICAg ICAgICAgIG1mbiwgYy0+eGVuZGV2LnJlbW90ZV9wb3J0LCBjLT54ZW5kZXYubG9jYWxfcG9ydCk7 CiAKQEAgLTM0Niw3ICszNDYsNyBAQCBzdGF0aWMgaW50IGlucHV0X2luaXRpYWxpc2Uoc3RydWN0 IFhlbkRldmljZSAqeGVuZGV2KQogICAgIGludCByYzsKIAogICAgIGlmICghaW4tPmMuY29uKSB7 Ci0gICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAiZHMgbm90IHNldCAoeWV0KVxuIik7 CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAiZHMgbm90IHNldCAoeWV0KVxuIik7 CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTUxMSw0NCArNTExLDQ0IEBAIHN0YXRp YyBpbnQgeGVuZmJfY29uZmlndXJlX2ZiKHN0cnVjdCBYZW5GQiAqeGVuZmIsIHNpemVfdCBmYl9s ZW5fbGltLAogICAgIGludCBtYXhfd2lkdGgsIG1heF9oZWlnaHQ7CiAKICAgICBpZiAoZmJfbGVu X2xpbSA+IGZiX2xlbl9tYXgpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVu ZGV2LCAwLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsCiAgICAg ICAgICAgICAgICAgICAgICAgImZiIHNpemUgbGltaXQgJXp1IGV4Y2VlZHMgJXp1LCBjb3JyZWN0 ZWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgZmJfbGVuX2xpbSwgZmJfbGVuX21heCk7CiAg ICAgICAgIGZiX2xlbl9saW0gPSBmYl9sZW5fbWF4OwogICAgIH0KICAgICBpZiAoZmJfbGVuX2xp bSAmJiBmYl9sZW4gPiBmYl9sZW5fbGltKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZi LT5jLnhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAw LAogICAgICAgICAgICAgICAgICAgICAgICJmcm9udGVuZCBmYiBzaXplICV6dSBsaW1pdGVkIHRv ICV6dVxuIiwKICAgICAgICAgICAgICAgICAgICAgICBmYl9sZW4sIGZiX2xlbl9saW0pOwogICAg ICAgICBmYl9sZW4gPSBmYl9sZW5fbGltOwogICAgIH0KICAgICBpZiAoZGVwdGggIT0gOCAmJiBk ZXB0aCAhPSAxNiAmJiBkZXB0aCAhPSAyNCAmJiBkZXB0aCAhPSAzMikgewotICAgICAgICB4ZW5f YmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsCisgICAgICAgIHhlbl9wdl9wcmludGYoJnhl bmZiLT5jLnhlbmRldiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAiY2FuJ3QgaGFuZGxlIGZy b250ZW5kIGZiIGRlcHRoICVkXG4iLAogICAgICAgICAgICAgICAgICAgICAgIGRlcHRoKTsKICAg ICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAocm93X3N0cmlkZSA8PSAwIHx8IHJvd19z dHJpZGUgPiBmYl9sZW4pIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2 LCAwLCAiaW52YWxpZCBmcm9udGVuZCBzdHJpZGUgJWRcbiIsCisgICAgICAgIHhlbl9wdl9wcmlu dGYoJnhlbmZiLT5jLnhlbmRldiwgMCwgImludmFsaWQgZnJvbnRlbmQgc3RyaWRlICVkXG4iLAog ICAgICAgICAgICAgICAgICAgICAgIHJvd19zdHJpZGUpOwogICAgICAgICByZXR1cm4gLTE7CiAg ICAgfQogICAgIG1heF93aWR0aCA9IHJvd19zdHJpZGUgLyAoZGVwdGggLyA4KTsKICAgICBpZiAo d2lkdGggPCAwIHx8IHdpZHRoID4gbWF4X3dpZHRoKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYo JnhlbmZiLT5jLnhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVu ZGV2LCAwLAogICAgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGZyb250ZW5kIHdpZHRoICVk IGxpbWl0ZWQgdG8gJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIG1heF93aWR0 aCk7CiAgICAgICAgIHdpZHRoID0gbWF4X3dpZHRoOwogICAgIH0KICAgICBpZiAob2Zmc2V0IDwg MCB8fCBvZmZzZXQgPj0gZmJfbGVuKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZiLT5j LnhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLAog ICAgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGZyb250ZW5kIG9mZnNldCAlZCAobWF4ICV6 dSlcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBmYl9sZW4gLSAxKTsKICAgICAg ICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBtYXhfaGVpZ2h0ID0gKGZiX2xlbiAtIG9mZnNldCkg LyByb3dfc3RyaWRlOwogICAgIGlmIChoZWlnaHQgPCAwIHx8IGhlaWdodCA+IG1heF9oZWlnaHQp IHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLAorICAgICAgICB4 ZW5fcHZfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAg ImludmFsaWQgZnJvbnRlbmQgaGVpZ2h0ICVkIGxpbWl0ZWQgdG8gJWRcbiIsCiAgICAgICAgICAg ICAgICAgICAgICAgaGVpZ2h0LCBtYXhfaGVpZ2h0KTsKICAgICAgICAgaGVpZ2h0ID0gbWF4X2hl aWdodDsKQEAgLTU2MSw3ICs1NjEsNyBAQCBzdGF0aWMgaW50IHhlbmZiX2NvbmZpZ3VyZV9mYihz dHJ1Y3QgWGVuRkIgKnhlbmZiLCBzaXplX3QgZmJfbGVuX2xpbSwKICAgICB4ZW5mYi0+b2Zmc2V0 ID0gb2Zmc2V0OwogICAgIHhlbmZiLT51cF9mdWxsc2NyZWVuID0gMTsKICAgICB4ZW5mYi0+ZG9f cmVzaXplID0gMTsKLSAgICB4ZW5fYmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsCisgICAg eGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAxLAogICAgICAgICAgICAgICAgICAgImZy YW1lYnVmZmVyICVkeCVkeCVkIG9mZnNldCAlZCBzdHJpZGUgJWRcbiIsCiAgICAgICAgICAgICAg ICAgICB3aWR0aCwgaGVpZ2h0LCBkZXB0aCwgb2Zmc2V0LCByb3dfc3RyaWRlKTsKICAgICByZXR1 cm4gMDsKQEAgLTY0MCw3ICs2NDAsNyBAQCBzdGF0aWMgdm9pZCB4ZW5mYl9ndWVzdF9jb3B5KHN0 cnVjdCBYZW5GQiAqeGVuZmIsIGludCB4LCBpbnQgeSwgaW50IHcsIGludCBoKQogCX0KICAgICB9 CiAgICAgaWYgKG9vcHMpIC8qIHNob3VsZCBub3QgaGFwcGVuICovCi0gICAgICAgIHhlbl9iZV9w cmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwgIiVzOiBvb3BzOiBjb252ZXJ0ICVkIC0+ICVkIGJw cD9cbiIsCisgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwgIiVzOiBv b3BzOiBjb252ZXJ0ICVkIC0+ICVkIGJwcD9cbiIsCiAgICAgICAgICAgICAgICAgICAgICAgX19G VU5DVElPTl9fLCB4ZW5mYi0+ZGVwdGgsIGJwcCk7CiAKICAgICBkcHlfZ2Z4X3VwZGF0ZSh4ZW5m Yi0+Yy5jb24sIHgsIHksIHcsIGgpOwpAQCAtNzMwLDcgKzczMCw3IEBAIHN0YXRpYyB2b2lkIHhl bmZiX3VwZGF0ZSh2b2lkICpvcGFxdWUpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog ICAgICAgICBkcHlfZ2Z4X3JlcGxhY2Vfc3VyZmFjZSh4ZW5mYi0+Yy5jb24sIHN1cmZhY2UpOwot ICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsCisgICAgICAgIHhlbl9w dl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMSwKICAgICAgICAgICAgICAgICAgICAgICAidXBk YXRlOiByZXNpemluZzogJWR4JWQgQCAlZCBicHAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAg ICB4ZW5mYi0+d2lkdGgsIHhlbmZiLT5oZWlnaHQsIHhlbmZiLT5kZXB0aCwKICAgICAgICAgICAg ICAgICAgICAgICBpc19idWZmZXJfc2hhcmVkKHN1cmZhY2UpID8gIiAoc2hhcmVkKSIgOiAiIik7 CkBAIC03MzksMTAgKzczOSwxMCBAQCBzdGF0aWMgdm9pZCB4ZW5mYl91cGRhdGUodm9pZCAqb3Bh cXVlKQogCiAgICAgLyogcnVuIHF1ZXVlZCB1cGRhdGVzICovCiAgICAgaWYgKHhlbmZiLT51cF9m dWxsc2NyZWVuKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMywg InVwZGF0ZTogZnVsbHNjcmVlblxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5j LnhlbmRldiwgMywgInVwZGF0ZTogZnVsbHNjcmVlblxuIik7CiAgICAgICAgIHhlbmZiX2d1ZXN0 X2NvcHkoeGVuZmIsIDAsIDAsIHhlbmZiLT53aWR0aCwgeGVuZmItPmhlaWdodCk7CiAgICAgfSBl bHNlIGlmICh4ZW5mYi0+dXBfY291bnQpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmIt PmMueGVuZGV2LCAzLCAidXBkYXRlOiAlZCByZWN0c1xuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50 ZigmeGVuZmItPmMueGVuZGV2LCAzLCAidXBkYXRlOiAlZCByZWN0c1xuIiwKICAgICAgICAgICAg ICAgICAgICAgICB4ZW5mYi0+dXBfY291bnQpOwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgeGVu ZmItPnVwX2NvdW50OyBpKyspCiAgICAgICAgICAgICB4ZW5mYl9ndWVzdF9jb3B5KHhlbmZiLApA QCAtNzUxLDcgKzc1MSw3IEBAIHN0YXRpYyB2b2lkIHhlbmZiX3VwZGF0ZSh2b2lkICpvcGFxdWUp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbmZiLT51cF9yZWN0c1tpXS53LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5mYi0+dXBfcmVjdHNbaV0uaCk7CiAgICAgfSBl bHNlIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAzLCAidXBkYXRl OiBub3RoaW5nXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAz LCAidXBkYXRlOiBub3RoaW5nXG4iKTsKICAgICB9CiAgICAgeGVuZmItPnVwX2NvdW50ID0gMDsK ICAgICB4ZW5mYi0+dXBfZnVsbHNjcmVlbiA9IDA7CkBAIC04MDUsMTQgKzgwNSwxNCBAQCBzdGF0 aWMgdm9pZCB4ZW5mYl9oYW5kbGVfZXZlbnRzKHN0cnVjdCBYZW5GQiAqeGVuZmIpCiAJICAgIHcg PSBNSU4oZXZlbnQtPnVwZGF0ZS53aWR0aCwgeGVuZmItPndpZHRoIC0geCk7CiAJICAgIGggPSBN SU4oZXZlbnQtPnVwZGF0ZS5oZWlnaHQsIHhlbmZiLT5oZWlnaHQgLSB5KTsKIAkgICAgaWYgKHcg PCAwIHx8IGggPCAwKSB7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVuZmItPmMu eGVuZGV2LCAxLCAiYm9ndXMgdXBkYXRlIGlnbm9yZWRcbiIpOworICAgICAgICAgICAgICAgIHhl bl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMSwgImJvZ3VzIHVwZGF0ZSBpZ25vcmVkXG4i KTsKIAkJYnJlYWs7CiAJICAgIH0KIAkgICAgaWYgKHggIT0gZXZlbnQtPnVwZGF0ZS54IHx8CiAg ICAgICAgICAgICAgICAgeSAhPSBldmVudC0+dXBkYXRlLnkgfHwKIAkJdyAhPSBldmVudC0+dXBk YXRlLndpZHRoIHx8CiAJCWggIT0gZXZlbnQtPnVwZGF0ZS5oZWlnaHQpIHsKLSAgICAgICAgICAg ICAgICB4ZW5fYmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsICJib2d1cyB1cGRhdGUgY2xp cHBlZFxuIik7CisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2 LCAxLCAiYm9ndXMgdXBkYXRlIGNsaXBwZWRcbiIpOwogCSAgICB9CiAJICAgIGlmICh3ID09IHhl bmZiLT53aWR0aCAmJiBoID4geGVuZmItPmhlaWdodCAvIDIpIHsKIAkJLyogc2Nyb2xsIGRldGVj dG9yOiB1cGRhdGVkIG1vcmUgdGhhbiA1MCUgb2YgdGhlIGxpbmVzLApAQCAtODk0LDcgKzg5NCw3 IEBAIHN0YXRpYyBpbnQgZmJfaW5pdGlhbGlzZShzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAg ICAgaWYgKGZiLT5mZWF0dXJlX3VwZGF0ZSkKIAl4ZW5zdG9yZV93cml0ZV9iZV9pbnQoeGVuZGV2 LCAicmVxdWVzdC11cGRhdGUiLCAxKTsKIAotICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAi ZmVhdHVyZS11cGRhdGU9JWQsIHZpZGVvcmFtPSVkXG4iLAorICAgIHhlbl9wdl9wcmludGYoeGVu ZGV2LCAxLCAiZmVhdHVyZS11cGRhdGU9JWQsIHZpZGVvcmFtPSVkXG4iLAogCQkgIGZiLT5mZWF0 dXJlX3VwZGF0ZSwgdmlkZW9yYW0pOwogICAgIHJldHVybiAwOwogfQpAQCAtOTEzLDcgKzkxMyw3 IEBAIHN0YXRpYyB2b2lkIGZiX2Rpc2Nvbm5lY3Qoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQog ICAgICAgICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQg fCBNQVBfQU5PTiwKICAgICAgICAgICAgICAgICAgICAgICAtMSwgMCk7CiAgICAgaWYgKGZiLT5w aXhlbHMgPT0gTUFQX0ZBSUxFRCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwK KyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgIkNvdWxk bid0IHJlcGxhY2UgdGhlIGZyYW1lYnVmZmVyIHdpdGggYW5vbnltb3VzIG1lbW9yeSBlcnJubz0l ZFxuIiwKICAgICAgICAgICAgICAgICBlcnJubyk7CiAgICAgfQpAQCAtOTM0LDcgKzkzNCw3IEBA IHN0YXRpYyB2b2lkIGZiX2Zyb250ZW5kX2NoYW5nZWQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2 LCBjb25zdCBjaGFyICpub2RlKQogICAgIGlmIChmYi0+YnVnX3RyaWdnZXIgPT0gMCAmJiBzdHJj bXAobm9kZSwgInN0YXRlIikgPT0gMCAmJgogICAgICAgICB4ZW5kZXYtPmZlX3N0YXRlID09IFhl bmJ1c1N0YXRlQ29ubmVjdGVkICYmCiAgICAgICAgIHhlbmRldi0+YmVfc3RhdGUgPT0gWGVuYnVz U3RhdGVDb25uZWN0ZWQpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJyZS10 cmlnZ2VyIGNvbm5lY3RlZCAoZnJvbnRlbmQgYnVnKVxuIik7CisgICAgICAgIHhlbl9wdl9wcmlu dGYoeGVuZGV2LCAyLCAicmUtdHJpZ2dlciBjb25uZWN0ZWQgKGZyb250ZW5kIGJ1ZylcbiIpOwog ICAgICAgICB4ZW5fYmVfc2V0X3N0YXRlKHhlbmRldiwgWGVuYnVzU3RhdGVDb25uZWN0ZWQpOwog ICAgICAgICBmYi0+YnVnX3RyaWdnZXIgPSAxOyAvKiBvbmx5IG9uY2UgKi8KICAgICB9CkBAIC05 OTUsNyArOTk1LDcgQEAgd2FpdF9tb3JlOgogICAgICAgICAgICAgdXNsZWVwKDEwMDAwKTsKICAg ICAgICAgICAgIGdvdG8gd2FpdF9tb3JlOwogICAgICAgICB9Ci0gICAgICAgIHhlbl9iZV9wcmlu dGYoTlVMTCwgMSwgImRpc3BsYXlzdGF0ZSBzZXR1cCBmYWlsZWRcbiIpOworICAgICAgICB4ZW5f cHZfcHJpbnRmKE5VTEwsIDEsICJkaXNwbGF5c3RhdGUgc2V0dXAgZmFpbGVkXG4iKTsKICAgICAg ICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvaHcvbmV0L3hlbl9uaWMuYyBiL2h3L25l dC94ZW5fbmljLmMKaW5kZXggZGJmM2E4OS4uMmQ2ZTAzMyAxMDA2NDQKLS0tIGEvaHcvbmV0L3hl bl9uaWMuYworKysgYi9ody9uZXQveGVuX25pYy5jCkBAIC0xMjgsMzEgKzEyOCwzMSBAQCBzdGF0 aWMgdm9pZCBuZXRfdHhfcGFja2V0cyhzdHJ1Y3QgWGVuTmV0RGV2ICpuZXRkZXYpCiAgICAgICAg ICAgICAvKiBzaG91bGQgbm90IGhhcHBlbiBpbiB0aGVvcnksIHdlIGRvbid0IGFubm91bmNlIHRo ZSAqCiAgICAgICAgICAgICAgKiBmZWF0dXJlLXtzZyxnc28sd2hhdGVsc2V9IGZsYWdzIGluIHhl bnN0b3JlICh5ZXQ/KSAqLwogICAgICAgICAgICAgaWYgKHR4cmVxLmZsYWdzICYgTkVUVFhGX2V4 dHJhX2luZm8pIHsKLSAgICAgICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZuZXRkZXYtPnhlbmRl diwgMCwgIkZJWE1FOiBleHRyYSBpbmZvIGZsYWdcbiIpOworICAgICAgICAgICAgICAgIHhlbl9w dl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiRklYTUU6IGV4dHJhIGluZm8gZmxhZ1xuIik7 CiAgICAgICAgICAgICAgICAgbmV0X3R4X2Vycm9yKG5ldGRldiwgJnR4cmVxLCByYyk7CiAgICAg ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodHhy ZXEuZmxhZ3MgJiBORVRUWEZfbW9yZV9kYXRhKSB7Ci0gICAgICAgICAgICAgICAgeGVuX2JlX3By aW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJGSVhNRTogbW9yZSBkYXRhIGZsYWdcbiIpOworICAg ICAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiRklYTUU6IG1v cmUgZGF0YSBmbGFnXG4iKTsKICAgICAgICAgICAgICAgICBuZXRfdHhfZXJyb3IobmV0ZGV2LCAm dHhyZXEsIHJjKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICNl bmRpZgogCiAgICAgICAgICAgICBpZiAodHhyZXEuc2l6ZSA8IDE0KSB7Ci0gICAgICAgICAgICAg ICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJiYWQgcGFja2V0IHNpemU6ICVk XG4iLAorICAgICAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAi YmFkIHBhY2tldCBzaXplOiAlZFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR4 cmVxLnNpemUpOwogICAgICAgICAgICAgICAgIG5ldF90eF9lcnJvcihuZXRkZXYsICZ0eHJlcSwg cmMpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogCiAgICAgICAg ICAgICBpZiAoKHR4cmVxLm9mZnNldCArIHR4cmVxLnNpemUpID4gWENfUEFHRV9TSVpFKSB7Ci0g ICAgICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJlcnJvcjog cGFnZSBjcm9zc2luZ1xuIik7CisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2 LT54ZW5kZXYsIDAsICJlcnJvcjogcGFnZSBjcm9zc2luZ1xuIik7CiAgICAgICAgICAgICAgICAg bmV0X3R4X2Vycm9yKG5ldGRldiwgJnR4cmVxLCByYyk7CiAgICAgICAgICAgICAgICAgY29udGlu dWU7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+ eGVuZGV2LCAzLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDMs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eCBwYWNrZXQgcmVmICVkLCBvZmYgJWQsIGxl biAlZCwgZmxhZ3MgMHgleCVzJXMlcyVzXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0 eHJlcS5ncmVmLCB0eHJlcS5vZmZzZXQsIHR4cmVxLnNpemUsIHR4cmVxLmZsYWdzLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAodHhyZXEuZmxhZ3MgJiBORVRUWEZfY3N1bV9ibGFuaykgICAg ID8gIiBjc3VtX2JsYW5rIiAgICAgOiAiIiwKQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0aWMgdm9p ZCBuZXRfdHhfcGFja2V0cyhzdHJ1Y3QgWGVuTmV0RGV2ICpuZXRkZXYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV0ZGV2LT54ZW5kZXYuZG9tLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR4cmVxLmdyZWYsIFBST1RfUkVB RCk7CiAgICAgICAgICAgICBpZiAocGFnZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgeGVu X2JlX3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsCisgICAgICAgICAgICAgICAgeGVuX3B2X3By aW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi ZXJyb3I6IHR4IGdyZWYgZGVyZWZlcmVuY2UgZmFpbGVkICglZClcbiIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHR4cmVxLmdyZWYpOwogICAgICAgICAgICAgICAgIG5ldF90eF9lcnJv cihuZXRkZXYsICZ0eHJlcSwgcmMpOwpAQCAtMjE0LDcgKzIxNCw3IEBAIHN0YXRpYyB2b2lkIG5l dF9yeF9yZXNwb25zZShzdHJ1Y3QgWGVuTmV0RGV2ICpuZXRkZXYsCiAgICAgICAgIHJlc3AtPnN0 YXR1cyA9IChpbnQxNl90KXN0OwogICAgIH0KIAotICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+ eGVuZGV2LCAzLAorICAgIHhlbl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAzLAogICAgICAg ICAgICAgICAgICAgInJ4IHJlc3BvbnNlOiBpZHggJWQsIHN0YXR1cyAlZCwgZmxhZ3MgMHgleFxu IiwKICAgICAgICAgICAgICAgICAgIGksIHJlc3AtPnN0YXR1cywgcmVzcC0+ZmxhZ3MpOwogCkBA IC0yNDYsNyArMjQ2LDcgQEAgc3RhdGljIHNzaXplX3QgbmV0X3J4X3BhY2tldChOZXRDbGllbnRT dGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUKICAgICAgICAgcmV0dXJu IDA7CiAgICAgfQogICAgIGlmIChzaXplID4gWENfUEFHRV9TSVpFIC0gTkVUX0lQX0FMSUdOKSB7 Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAicGFja2V0IHRvbyBi aWcgKCVsdSA+ICVsZCkiLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwg MCwgInBhY2tldCB0b28gYmlnICglbHUgPiAlbGQpIiwKICAgICAgICAgICAgICAgICAgICAgICAo dW5zaWduZWQgbG9uZylzaXplLCBYQ19QQUdFX1NJWkUgLSBORVRfSVBfQUxJR04pOwogICAgICAg ICByZXR1cm4gLTE7CiAgICAgfQpAQCAtMjU4LDcgKzI1OCw3IEBAIHN0YXRpYyBzc2l6ZV90IG5l dF9yeF9wYWNrZXQoTmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVf dCBzaXplCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldGRldi0+eGVuZGV2 LmRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnhyZXEuZ3JlZiwgUFJP VF9XUklURSk7CiAgICAgaWYgKHBhZ2UgPT0gTlVMTCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRm KCZuZXRkZXYtPnhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5k ZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgImVycm9yOiByeCBncmVmIGRlcmVmZXJlbmNl IGZhaWxlZCAoJWQpXG4iLAogICAgICAgICAgICAgICAgICAgICAgIHJ4cmVxLmdyZWYpOwogICAg ICAgICBuZXRfcnhfcmVzcG9uc2UobmV0ZGV2LCAmcnhyZXEsIE5FVElGX1JTUF9FUlJPUiwgMCwg MCwgMCk7CkBAIC0zMzMsNyArMzMzLDcgQEAgc3RhdGljIGludCBuZXRfY29ubmVjdChzdHJ1Y3Qg WGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgICAgIHJ4X2NvcHkgPSAwOwogICAgIH0KICAgICBpZiAo cnhfY29weSA9PSAwKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAw LAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwKICAgICAgICAgICAg ICAgICAgICAgICAiZnJvbnRlbmQgZG9lc24ndCBzdXBwb3J0IHJ4LWNvcHkuXG4iKTsKICAgICAg ICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTM1OSw3ICszNTksNyBAQCBzdGF0aWMgaW50IG5ldF9j b25uZWN0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKIAogICAgIHhlbl9iZV9iaW5kX2V2dGNo bigmbmV0ZGV2LT54ZW5kZXYpOwogCi0gICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYs IDEsICJvazogdHgtcmluZy1yZWYgJWQsIHJ4LXJpbmctcmVmICVkLCAiCisgICAgeGVuX3B2X3By aW50ZigmbmV0ZGV2LT54ZW5kZXYsIDEsICJvazogdHgtcmluZy1yZWYgJWQsIHJ4LXJpbmctcmVm ICVkLCAiCiAgICAgICAgICAgICAgICAgICAicmVtb3RlIHBvcnQgJWQsIGxvY2FsIHBvcnQgJWRc biIsCiAgICAgICAgICAgICAgICAgICBuZXRkZXYtPnR4X3JpbmdfcmVmLCBuZXRkZXYtPnJ4X3Jp bmdfcmVmLAogICAgICAgICAgICAgICAgICAgbmV0ZGV2LT54ZW5kZXYucmVtb3RlX3BvcnQsIG5l dGRldi0+eGVuZGV2LmxvY2FsX3BvcnQpOwpkaWZmIC0tZ2l0IGEvaHcvdXNiL3hlbi11c2IuYyBi L2h3L3VzYi94ZW4tdXNiLmMKaW5kZXggZGUyZWJkNi4uNmIwNmZkOCAxMDA2NDQKLS0tIGEvaHcv dXNiL3hlbi11c2IuYworKysgYi9ody91c2IveGVuLXVzYi5jCkBAIC00Nyw3ICs0Nyw3IEBACiAg ICAgICAgIHN0cnVjdCB0aW1ldmFsIHR2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBnZXR0aW1lb2ZkYXkoJnR2LCBOVUxM KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHhlbl9iZV9w cmludGYoeGVuZGV2LCBsdmwsICIlOGxkLiUwNmxkIHhlbi11c2IoJXMpOiIgZm10LCAgIFwKKyAg ICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIGx2bCwgIiU4bGQuJTA2bGQgeGVuLXVzYiglcyk6 IiBmbXQsICAgXAogICAgICAgICAgICAgICAgICAgICAgIHR2LnR2X3NlYywgdHYudHZfdXNlYywg X19mdW5jX18sICMjYXJncyk7ICAgICBcCiAgICAgfQogI2RlZmluZSBUUl9CVVMoeGVuZGV2LCBm bXQsIGFyZ3MuLi4pIFRSKHhlbmRldiwgMiwgZm10LCAjI2FyZ3MpCkBAIC0xNTMsNyArMTUzLDcg QEAgc3RhdGljIGludCB1c2JiYWNrX2dudHRhYl9tYXAoc3RydWN0IHVzYmJhY2tfcmVxICp1c2Ji YWNrX3JlcSkKICAgICB9CiAKICAgICBpZiAobnJfc2VncyA+IFVTQklGX01BWF9TRUdNRU5UU19Q RVJfUkVRVUVTVCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImJhZCBudW1i ZXIgb2Ygc2VnbWVudHMgaW4gcmVxdWVzdCAoJWQpXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRm KHhlbmRldiwgMCwgImJhZCBudW1iZXIgb2Ygc2VnbWVudHMgaW4gcmVxdWVzdCAoJWQpXG4iLAog ICAgICAgICAgICAgICAgICAgICAgIG5yX3NlZ3MpOwogICAgICAgICByZXR1cm4gLUVJTlZBTDsK ICAgICB9CkBAIC0xNjEsNyArMTYxLDcgQEAgc3RhdGljIGludCB1c2JiYWNrX2dudHRhYl9tYXAo c3RydWN0IHVzYmJhY2tfcmVxICp1c2JiYWNrX3JlcSkKICAgICBmb3IgKGkgPSAwOyBpIDwgbnJf c2VnczsgaSsrKSB7CiAgICAgICAgIGlmICgodW5zaWduZWQpdXNiYmFja19yZXEtPnJlcS5zZWdb aV0ub2Zmc2V0ICsKICAgICAgICAgICAgICh1bnNpZ25lZCl1c2JiYWNrX3JlcS0+cmVxLnNlZ1tp XS5sZW5ndGggPiBYQ19QQUdFX1NJWkUpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoeGVu ZGV2LCAwLCAic2VnbWVudCBjcm9zc2VzIHBhZ2UgYm91bmRhcnlcbiIpOworICAgICAgICAgICAg eGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJzZWdtZW50IGNyb3NzZXMgcGFnZSBib3VuZGFyeVxu Iik7CiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICAgICAgfQogICAgIH0KQEAgLTE5 OSw3ICsxOTksNyBAQCBzdGF0aWMgaW50IHVzYmJhY2tfZ250dGFiX21hcChzdHJ1Y3QgdXNiYmFj a19yZXEgKnVzYmJhY2tfcmVxKQogICAgICAqLwogCiAgICAgaWYgKCF1c2JiYWNrX3JlcS0+bnJf ZXh0cmFfc2VncykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImlzbyByZXF1 ZXN0IHdpdGhvdXQgZGVzY3JpcHRvciBzZWdtZW50c1xuIik7CisgICAgICAgIHhlbl9wdl9wcmlu dGYoeGVuZGV2LCAwLCAiaXNvIHJlcXVlc3Qgd2l0aG91dCBkZXNjcmlwdG9yIHNlZ21lbnRzXG4i KTsKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQogCkBAIC01NTEsMTQgKzU1MSwxNCBA QCBzdGF0aWMgdm9pZCB1c2JiYWNrX2Rpc3BhdGNoKHN0cnVjdCB1c2JiYWNrX3JlcSAqdXNiYmFj a19yZXEpCiAKICAgICByZXQgPSB1c2JiYWNrX2luaXRfcGFja2V0KHVzYmJhY2tfcmVxKTsKICAg ICBpZiAocmV0KSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJp bnZhbGlkIHJlcXVlc3RcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2 LCAwLCAiaW52YWxpZCByZXF1ZXN0XG4iKTsKICAgICAgICAgcmV0ID0gLUVTSFVURE9XTjsKICAg ICAgICAgZ290byBmYWlsX2ZyZWVfdXJiOwogICAgIH0KIAogICAgIHJldCA9IHVzYmJhY2tfZ250 dGFiX21hcCh1c2JiYWNrX3JlcSk7CiAgICAgaWYgKHJldCkgewotICAgICAgICB4ZW5fYmVfcHJp bnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAiaW52YWxpZCBidWZmZXIsIHJldD0lZFxuIiwgcmV0KTsK KyAgICAgICAgeGVuX3B2X3ByaW50ZigmdXNiaWYtPnhlbmRldiwgMCwgImludmFsaWQgYnVmZmVy LCByZXQ9JWRcbiIsIHJldCk7CiAgICAgICAgIHJldCA9IC1FU0hVVERPV047CiAgICAgICAgIGdv dG8gZmFpbF9mcmVlX3VyYjsKICAgICB9CkBAIC02NDYsNyArNjQ2LDcgQEAgc3RhdGljIHZvaWQg dXNiYmFja19iaCh2b2lkICpvcGFxdWUpCiAKICAgICBpZiAoUklOR19SRVFVRVNUX1BST0RfT1ZF UkZMT1codXJiX3JpbmcsIHJwKSkgewogICAgICAgICByYyA9IHVyYl9yaW5nLT5yc3BfcHJvZF9w dnQ7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJkb21VIHByb3Zp ZGVkIGJvZ3VzIHJpbmcgcmVxdWVzdHMgIgorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2JpZi0+ eGVuZGV2LCAwLCAiZG9tVSBwcm92aWRlZCBib2d1cyByaW5nIHJlcXVlc3RzICIKICAgICAgICAg ICAgICAgICAgICAgICAiKCUjeCAtICUjeCA9ICV1KS4gSGFsdGluZyByaW5nIHByb2Nlc3Npbmcu XG4iLAogICAgICAgICAgICAgICAgICAgICAgIHJwLCByYywgcnAgLSByYyk7CiAgICAgICAgIHVz YmlmLT5yaW5nX2Vycm9yID0gdHJ1ZTsKQEAgLTc0NCw3ICs3NDQsNyBAQCBzdGF0aWMgdm9pZCB1 c2JiYWNrX3BvcnRpZF9hZGQoc3RydWN0IHVzYmJhY2tfaW5mbyAqdXNiaWYsIHVuc2lnbmVkIHBv cnQsCiAKICAgICBwb3J0bmFtZSA9IHN0cmNocihidXNpZCwgJy0nKTsKICAgICBpZiAoIXBvcnRu YW1lKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJkZXZpY2Ug JXMgaWxsZWdhbCBzcGVjaWZpY2F0aW9uXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2Jp Zi0+eGVuZGV2LCAwLCAiZGV2aWNlICVzIGlsbGVnYWwgc3BlY2lmaWNhdGlvblxuIiwKICAgICAg ICAgICAgICAgICAgICAgICBidXNpZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03ODMs NyArNzgzLDcgQEAgc3RhdGljIHZvaWQgdXNiYmFja19wb3J0aWRfYWRkKHN0cnVjdCB1c2JiYWNr X2luZm8gKnVzYmlmLCB1bnNpZ25lZCBwb3J0LAogICAgICAgICBicmVhazsKICAgICB9CiAgICAg aWYgKHNwZWVkID09IFVTQklGX1NQRUVEX05PTkUpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zigm dXNiaWYtPnhlbmRldiwgMCwgImRldmljZSAlcyB3cm9uZyBzcGVlZFxuIiwgYnVzaWQpOworICAg ICAgICB4ZW5fcHZfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAiZGV2aWNlICVzIHdyb25nIHNw ZWVkXG4iLCBidXNpZCk7CiAgICAgICAgIG9iamVjdF91bnBhcmVudChPQkpFQ1QodXNiaWYtPnBv cnRzW3BvcnQgLSAxXS5kZXYpKTsKICAgICAgICAgdXNiaWYtPnBvcnRzW3BvcnQgLSAxXS5kZXYg PSBOVUxMOwogICAgICAgICByZXR1cm47CkBAIC04MDAsNyArODAwLDcgQEAgc3RhdGljIHZvaWQg dXNiYmFja19wb3J0aWRfYWRkKHN0cnVjdCB1c2JiYWNrX2luZm8gKnVzYmlmLCB1bnNpZ25lZCBw b3J0LAogZXJyOgogICAgIFFERUNSRUYocWRpY3QpOwogICAgIHNucHJpbnRmKHAtPnBhdGgsIHNp emVvZihwLT5wYXRoKSwgIiVkIiwgOTkpOwotICAgIHhlbl9iZV9wcmludGYoJnVzYmlmLT54ZW5k ZXYsIDAsICJkZXZpY2UgJXMgY291bGQgbm90IGJlIG9wZW5lZFxuIiwgYnVzaWQpOworICAgIHhl bl9wdl9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJkZXZpY2UgJXMgY291bGQgbm90IGJlIG9w ZW5lZFxuIiwgYnVzaWQpOwogfQogCiBzdGF0aWMgdm9pZCB1c2JiYWNrX3Byb2Nlc3NfcG9ydChz dHJ1Y3QgdXNiYmFja19pbmZvICp1c2JpZiwgdW5zaWduZWQgcG9ydCkKQEAgLTgxMSw3ICs4MTEs NyBAQCBzdGF0aWMgdm9pZCB1c2JiYWNrX3Byb2Nlc3NfcG9ydChzdHJ1Y3QgdXNiYmFja19pbmZv ICp1c2JpZiwgdW5zaWduZWQgcG9ydCkKICAgICBzbnByaW50Zihub2RlLCBzaXplb2Yobm9kZSks ICJwb3J0LyVkIiwgcG9ydCk7CiAgICAgYnVzaWQgPSB4ZW5zdG9yZV9yZWFkX2JlX3N0cigmdXNi aWYtPnhlbmRldiwgbm9kZSk7CiAgICAgaWYgKGJ1c2lkID09IE5VTEwpIHsKLSAgICAgICAgeGVu X2JlX3ByaW50ZigmdXNiaWYtPnhlbmRldiwgMCwgInhlbnN0b3JlX3JlYWQgJXMgZmFpbGVkXG4i LCBub2RlKTsKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmdXNiaWYtPnhlbmRldiwgMCwgInhlbnN0 b3JlX3JlYWQgJXMgZmFpbGVkXG4iLCBub2RlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA QCAtODY4LDE1ICs4NjgsMTUgQEAgc3RhdGljIGludCB1c2JiYWNrX2Nvbm5lY3Qoc3RydWN0IFhl bkRldmljZSAqeGVuZGV2KQogICAgIHVzYmlmID0gY29udGFpbmVyX29mKHhlbmRldiwgc3RydWN0 IHVzYmJhY2tfaW5mbywgeGVuZGV2KTsKIAogICAgIGlmICh4ZW5zdG9yZV9yZWFkX2ZlX2ludCh4 ZW5kZXYsICJ1cmItcmluZy1yZWYiLCAmdXJiX3JpbmdfcmVmKSkgewotICAgICAgICB4ZW5fYmVf cHJpbnRmKHhlbmRldiwgMCwgImVycm9yIHJlYWRpbmcgdXJiLXJpbmctcmVmXG4iKTsKKyAgICAg ICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvciByZWFkaW5nIHVyYi1yaW5nLXJlZlxu Iik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgaWYgKHhlbnN0b3JlX3JlYWRfZmVf aW50KHhlbmRldiwgImNvbm4tcmluZy1yZWYiLCAmY29ubl9yaW5nX3JlZikpIHsKLSAgICAgICAg eGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvciByZWFkaW5nIGNvbm4tcmluZy1yZWZcbiIp OworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImVycm9yIHJlYWRpbmcgY29ubi1y aW5nLXJlZlxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgaWYgKHhlbnN0b3Jl X3JlYWRfZmVfaW50KHhlbmRldiwgImV2ZW50LWNoYW5uZWwiLCAmeGVuZGV2LT5yZW1vdGVfcG9y dCkpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvciByZWFkaW5nIGV2 ZW50LWNoYW5uZWxcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImVycm9y IHJlYWRpbmcgZXZlbnQtY2hhbm5lbFxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAK QEAgLTg4Nyw3ICs4ODcsNyBAQCBzdGF0aWMgaW50IHVzYmJhY2tfY29ubmVjdChzdHJ1Y3QgWGVu RGV2aWNlICp4ZW5kZXYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25uX3JpbmdfcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7CiAgICAgaWYgKCF1c2JpZi0+ dXJiX3NyaW5nIHx8ICF1c2JpZi0+Y29ubl9zcmluZykgewotICAgICAgICB4ZW5fYmVfcHJpbnRm KHhlbmRldiwgMCwgImVycm9yIG1hcHBpbmcgcmluZ3NcbiIpOworICAgICAgICB4ZW5fcHZfcHJp bnRmKHhlbmRldiwgMCwgImVycm9yIG1hcHBpbmcgcmluZ3NcbiIpOwogICAgICAgICB1c2JiYWNr X2Rpc2Nvbm5lY3QoeGVuZGV2KTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTg5OSw3 ICs4OTksNyBAQCBzdGF0aWMgaW50IHVzYmJhY2tfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4 ZW5kZXYpCiAKICAgICB4ZW5fYmVfYmluZF9ldnRjaG4oeGVuZGV2KTsKIAotICAgIHhlbl9iZV9w cmludGYoeGVuZGV2LCAxLCAidXJiLXJpbmctcmVmICVkLCBjb25uLXJpbmctcmVmICVkLCAiCisg ICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEsICJ1cmItcmluZy1yZWYgJWQsIGNvbm4tcmluZy1y ZWYgJWQsICIKICAgICAgICAgICAgICAgICAgICJyZW1vdGUgcG9ydCAlZCwgbG9jYWwgcG9ydCAl ZFxuIiwgdXJiX3JpbmdfcmVmLAogICAgICAgICAgICAgICAgICAgY29ubl9yaW5nX3JlZiwgeGVu ZGV2LT5yZW1vdGVfcG9ydCwgeGVuZGV2LT5sb2NhbF9wb3J0KTsKIApAQCAtOTM1LDEyICs5MzUs MTIgQEAgc3RhdGljIGludCB1c2JiYWNrX2luaXQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQog CiAgICAgaWYgKHhlbnN0b3JlX3JlYWRfYmVfaW50KHhlbmRldiwgIm51bS1wb3J0cyIsICZ1c2Jp Zi0+bnVtX3BvcnRzKSB8fAogICAgICAgICB1c2JpZi0+bnVtX3BvcnRzIDwgMSB8fCB1c2JpZi0+ bnVtX3BvcnRzID4gVVNCQkFDS19NQVhQT1JUUykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhl bmRldiwgMCwgIm51bS1wb3J0cyBub3QgcmVhZGFibGUgb3Igb3V0IG9mIGJvdW5kc1xuIik7Cisg ICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAibnVtLXBvcnRzIG5vdCByZWFkYWJsZSBv ciBvdXQgb2YgYm91bmRzXG4iKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAo eGVuc3RvcmVfcmVhZF9iZV9pbnQoeGVuZGV2LCAidXNiLXZlciIsICZ1c2JpZi0+dXNiX3Zlcikg fHwKICAgICAgICAgKHVzYmlmLT51c2JfdmVyICE9IFVTQl9WRVJfVVNCMTEgJiYgdXNiaWYtPnVz Yl92ZXIgIT0gVVNCX1ZFUl9VU0IyMCkpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYs IDAsICJ1c2ItdmVyIG5vdCByZWFkYWJsZSBvciBvdXQgb2YgYm91bmRzXG4iKTsKKyAgICAgICAg eGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJ1c2ItdmVyIG5vdCByZWFkYWJsZSBvciBvdXQgb2Yg Ym91bmRzXG4iKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMTAyOCw3ICsxMDI4 LDcgQEAgc3RhdGljIHZvaWQgdXNiYmFja19hbGxvYyhzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYp CiAgICAgLyogbWF4X2dyYW50czogZm9yIGVhY2ggcmVxdWVzdCBhbmQgZm9yIHRoZSByaW5ncyAo cmVxdWVzdCBhbmQgY29ubmVjdCkuICovCiAgICAgbWF4X2dyYW50cyA9IFVTQklGX01BWF9TRUdN RU5UU19QRVJfUkVRVUVTVCAqIFVTQl9VUkJfUklOR19TSVpFICsgMjsKICAgICBpZiAoeGVuZ250 dGFiX3NldF9tYXhfZ3JhbnRzKHhlbmRldi0+Z250dGFiZGV2LCBtYXhfZ3JhbnRzKSA8IDApIHsK LSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJ4ZW5nbnR0YWJfc2V0X21heF9ncmFu dHMgZmFpbGVkOiAlc1xuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJ4ZW5n bnR0YWJfc2V0X21heF9ncmFudHMgZmFpbGVkOiAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAg ICBzdHJlcnJvcihlcnJubykpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL2h3L3hlbi94ZW5fYmFj a2VuZC5jIGIvaHcveGVuL3hlbl9iYWNrZW5kLmMKaW5kZXggMjE2MDcyZC4uZTk2MGRhZCAxMDA2 NDQKLS0tIGEvaHcveGVuL3hlbl9iYWNrZW5kLmMKKysrIGIvaHcveGVuL3hlbl9iYWNrZW5kLmMK QEAgLTEwMCw3ICsxMDAsNyBAQCBpbnQgeGVuX2JlX3NldF9zdGF0ZShzdHJ1Y3QgWGVuRGV2aWNl ICp4ZW5kZXYsIGVudW0geGVuYnVzX3N0YXRlIHN0YXRlKQogICAgIGlmIChyYyA8IDApIHsKICAg ICAgICAgcmV0dXJuIHJjOwogICAgIH0KLSAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwgImJh Y2tlbmQgc3RhdGU6ICVzIC0+ICVzXG4iLAorICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAi YmFja2VuZCBzdGF0ZTogJXMgLT4gJXNcbiIsCiAgICAgICAgICAgICAgICAgICB4ZW5idXNfc3Ry c3RhdGUoeGVuZGV2LT5iZV9zdGF0ZSksIHhlbmJ1c19zdHJzdGF0ZShzdGF0ZSkpOwogICAgIHhl bmRldi0+YmVfc3RhdGUgPSBzdGF0ZTsKICAgICByZXR1cm4gMDsKQEAgLTEzNiw3ICsxMzYsNyBA QCBzdGF0aWMgc3RydWN0IFhlbkRldmljZSAqeGVuX2JlX2dldF94ZW5kZXYoY29uc3QgY2hhciAq dHlwZSwgaW50IGRvbSwgaW50IGRldiwKIAogICAgIHhlbmRldi0+ZXZ0Y2huZGV2ID0geGVuZXZ0 Y2huX29wZW4oTlVMTCwgMCk7CiAgICAgaWYgKHhlbmRldi0+ZXZ0Y2huZGV2ID09IE5VTEwpIHsK LSAgICAgICAgeGVuX2JlX3ByaW50ZihOVUxMLCAwLCAiY2FuJ3Qgb3BlbiBldnRjaG4gZGV2aWNl XG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50ZihOVUxMLCAwLCAiY2FuJ3Qgb3BlbiBldnRjaG4g ZGV2aWNlXG4iKTsKICAgICAgICAgZ19mcmVlKHhlbmRldik7CiAgICAgICAgIHJldHVybiBOVUxM OwogICAgIH0KQEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgc3RydWN0IFhlbkRldmljZSAqeGVu X2JlX2dldF94ZW5kZXYoY29uc3QgY2hhciAqdHlwZSwgaW50IGRvbSwgaW50IGRldiwKICAgICBp ZiAob3BzLT5mbGFncyAmIERFVk9QU19GTEFHX05FRURfR05UREVWKSB7CiAgICAgICAgIHhlbmRl di0+Z250dGFiZGV2ID0geGVuZ250dGFiX29wZW4oTlVMTCwgMCk7CiAgICAgICAgIGlmICh4ZW5k ZXYtPmdudHRhYmRldiA9PSBOVUxMKSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKE5VTEws IDAsICJjYW4ndCBvcGVuIGdudHRhYiBkZXZpY2VcbiIpOworICAgICAgICAgICAgeGVuX3B2X3By aW50ZihOVUxMLCAwLCAiY2FuJ3Qgb3BlbiBnbnR0YWIgZGV2aWNlXG4iKTsKICAgICAgICAgICAg IHhlbmV2dGNobl9jbG9zZSh4ZW5kZXYtPmV2dGNobmRldik7CiAgICAgICAgICAgICBnX2ZyZWUo eGVuZGV2KTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTc4LDcgKzE3OCw3IEBAIHN0 YXRpYyB2b2lkIHhlbl9iZV9iYWNrZW5kX2NoYW5nZWQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2 LCBjb25zdCBjaGFyICpub2RlKQogICAgIH0KIAogICAgIGlmIChub2RlKSB7Ci0gICAgICAgIHhl bl9iZV9wcmludGYoeGVuZGV2LCAyLCAiYmFja2VuZCB1cGRhdGU6ICVzXG4iLCBub2RlKTsKKyAg ICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJiYWNrZW5kIHVwZGF0ZTogJXNcbiIsIG5v ZGUpOwogICAgICAgICBpZiAoeGVuZGV2LT5vcHMtPmJhY2tlbmRfY2hhbmdlZCkgewogICAgICAg ICAgICAgeGVuZGV2LT5vcHMtPmJhY2tlbmRfY2hhbmdlZCh4ZW5kZXYsIG5vZGUpOwogICAgICAg ICB9CkBAIC0xOTQsNyArMTk0LDcgQEAgc3RhdGljIHZvaWQgeGVuX2JlX2Zyb250ZW5kX2NoYW5n ZWQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCBjb25zdCBjaGFyICpub2RlKQogICAgICAgICAg ICAgZmVfc3RhdGUgPSBYZW5idXNTdGF0ZVVua25vd247CiAgICAgICAgIH0KICAgICAgICAgaWYg KHhlbmRldi0+ZmVfc3RhdGUgIT0gZmVfc3RhdGUpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmlu dGYoeGVuZGV2LCAxLCAiZnJvbnRlbmQgc3RhdGU6ICVzIC0+ICVzXG4iLAorICAgICAgICAgICAg eGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEsICJmcm9udGVuZCBzdGF0ZTogJXMgLT4gJXNcbiIsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHhlbmJ1c19zdHJzdGF0ZSh4ZW5kZXYtPmZlX3N0YXRl KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuYnVzX3N0cnN0YXRlKGZlX3N0YXRlKSk7 CiAgICAgICAgIH0KQEAgLTIwNCwxMyArMjA0LDEzIEBAIHN0YXRpYyB2b2lkIHhlbl9iZV9mcm9u dGVuZF9jaGFuZ2VkKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldiwgY29uc3QgY2hhciAqbm9kZSkK ICAgICAgICAgZ19mcmVlKHhlbmRldi0+cHJvdG9jb2wpOwogICAgICAgICB4ZW5kZXYtPnByb3Rv Y29sID0geGVuc3RvcmVfcmVhZF9mZV9zdHIoeGVuZGV2LCAicHJvdG9jb2wiKTsKICAgICAgICAg aWYgKHhlbmRldi0+cHJvdG9jb2wpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2 LCAxLCAiZnJvbnRlbmQgcHJvdG9jb2w6ICVzXG4iLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50 Zih4ZW5kZXYsIDEsICJmcm9udGVuZCBwcm90b2NvbDogJXNcbiIsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIHhlbmRldi0+cHJvdG9jb2wpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYg KG5vZGUpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCB1cGRh dGU6ICVzXG4iLCBub2RlKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJmcm9u dGVuZCB1cGRhdGU6ICVzXG4iLCBub2RlKTsKICAgICAgICAgaWYgKHhlbmRldi0+b3BzLT5mcm9u dGVuZF9jaGFuZ2VkKSB7CiAgICAgICAgICAgICB4ZW5kZXYtPm9wcy0+ZnJvbnRlbmRfY2hhbmdl ZCh4ZW5kZXYsIG5vZGUpOwogICAgICAgICB9CkBAIC0yMzQsMjYgKzIzNCwyNiBAQCBzdGF0aWMg aW50IHhlbl9iZV90cnlfc2V0dXAoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIGludCBi ZV9zdGF0ZTsKIAogICAgIGlmICh4ZW5zdG9yZV9yZWFkX2JlX2ludCh4ZW5kZXYsICJzdGF0ZSIs ICZiZV9zdGF0ZSkgPT0gLTEpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJy ZWFkaW5nIGJhY2tlbmQgc3RhdGUgZmFpbGVkXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4 ZW5kZXYsIDAsICJyZWFkaW5nIGJhY2tlbmQgc3RhdGUgZmFpbGVkXG4iKTsKICAgICAgICAgcmV0 dXJuIC0xOwogICAgIH0KIAogICAgIGlmIChiZV9zdGF0ZSAhPSBYZW5idXNTdGF0ZUluaXRpYWxp c2luZykgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImluaXRpYWwgYmFja2Vu ZCBzdGF0ZSBpcyB3cm9uZyAoJXMpXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwg MCwgImluaXRpYWwgYmFja2VuZCBzdGF0ZSBpcyB3cm9uZyAoJXMpXG4iLAogICAgICAgICAgICAg ICAgICAgICAgIHhlbmJ1c19zdHJzdGF0ZShiZV9zdGF0ZSkpOwogICAgICAgICByZXR1cm4gLTE7 CiAgICAgfQogCiAgICAgeGVuZGV2LT5mZSA9IHhlbnN0b3JlX3JlYWRfYmVfc3RyKHhlbmRldiwg ImZyb250ZW5kIik7CiAgICAgaWYgKHhlbmRldi0+ZmUgPT0gTlVMTCkgewotICAgICAgICB4ZW5f YmVfcHJpbnRmKHhlbmRldiwgMCwgInJlYWRpbmcgZnJvbnRlbmQgcGF0aCBmYWlsZWRcbiIpOwor ICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgInJlYWRpbmcgZnJvbnRlbmQgcGF0aCBm YWlsZWRcbiIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCiAgICAgLyogc2V0dXAgZnJv bnRlbmQgd2F0Y2ggKi8KICAgICBzbnByaW50Zih0b2tlbiwgc2l6ZW9mKHRva2VuKSwgImZlOiVw IiwgeGVuZGV2KTsKICAgICBpZiAoIXhzX3dhdGNoKHhlbnN0b3JlLCB4ZW5kZXYtPmZlLCB0b2tl bikpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJ3YXRjaGluZyBmcm9udGVu ZCBwYXRoICglcykgZmFpbGVkXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwg IndhdGNoaW5nIGZyb250ZW5kIHBhdGggKCVzKSBmYWlsZWRcbiIsCiAgICAgICAgICAgICAgICAg ICAgICAgeGVuZGV2LT5mZSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CkBAIC0yNzcsNyAr Mjc3LDcgQEAgc3RhdGljIGludCB4ZW5fYmVfdHJ5X2luaXQoc3RydWN0IFhlbkRldmljZSAqeGVu ZGV2KQogICAgIGludCByYyA9IDA7CiAKICAgICBpZiAoIXhlbmRldi0+b25saW5lKSB7Ci0gICAg ICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAibm90IG9ubGluZVxuIik7CisgICAgICAgIHhl bl9wdl9wcmludGYoeGVuZGV2LCAxLCAibm90IG9ubGluZVxuIik7CiAgICAgICAgIHJldHVybiAt MTsKICAgICB9CiAKQEAgLTI4NSw3ICsyODUsNyBAQCBzdGF0aWMgaW50IHhlbl9iZV90cnlfaW5p dChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgICAgIHJjID0geGVuZGV2LT5vcHMtPmlu aXQoeGVuZGV2KTsKICAgICB9CiAgICAgaWYgKHJjICE9IDApIHsKLSAgICAgICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDEsICJpbml0KCkgZmFpbGVkXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50 Zih4ZW5kZXYsIDEsICJpbml0KCkgZmFpbGVkXG4iKTsKICAgICAgICAgcmV0dXJuIHJjOwogICAg IH0KIApAQCAtMzA4LDkgKzMwOCw5IEBAIHN0YXRpYyBpbnQgeGVuX2JlX3RyeV9pbml0aWFsaXNl KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICBpZiAoeGVuZGV2LT5mZV9zdGF0ZSAhPSBY ZW5idXNTdGF0ZUluaXRpYWxpc2VkICAmJgogICAgICAgICB4ZW5kZXYtPmZlX3N0YXRlICE9IFhl bmJ1c1N0YXRlQ29ubmVjdGVkKSB7CiAgICAgICAgIGlmICh4ZW5kZXYtPm9wcy0+ZmxhZ3MgJiBE RVZPUFNfRkxBR19JR05PUkVfU1RBVEUpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoeGVu ZGV2LCAyLCAiZnJvbnRlbmQgbm90IHJlYWR5LCBpZ25vcmluZ1xuIik7CisgICAgICAgICAgICB4 ZW5fcHZfcHJpbnRmKHhlbmRldiwgMiwgImZyb250ZW5kIG5vdCByZWFkeSwgaWdub3JpbmdcbiIp OwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIs ICJmcm9udGVuZCBub3QgcmVhZHkgKHlldClcbiIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50 Zih4ZW5kZXYsIDIsICJmcm9udGVuZCBub3QgcmVhZHkgKHlldClcbiIpOwogICAgICAgICAgICAg cmV0dXJuIC0xOwogICAgICAgICB9CiAgICAgfQpAQCAtMzE5LDcgKzMxOSw3IEBAIHN0YXRpYyBp bnQgeGVuX2JlX3RyeV9pbml0aWFsaXNlKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAg ICAgcmMgPSB4ZW5kZXYtPm9wcy0+aW5pdGlhbGlzZSh4ZW5kZXYpOwogICAgIH0KICAgICBpZiAo cmMgIT0gMCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgImluaXRpYWxpc2Uo KSBmYWlsZWRcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImluaXRpYWxp c2UoKSBmYWlsZWRcbiIpOwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogCkBAIC0zNDAsOSAr MzQwLDkgQEAgc3RhdGljIHZvaWQgeGVuX2JlX3RyeV9jb25uZWN0ZWQoc3RydWN0IFhlbkRldmlj ZSAqeGVuZGV2KQogCiAgICAgaWYgKHhlbmRldi0+ZmVfc3RhdGUgIT0gWGVuYnVzU3RhdGVDb25u ZWN0ZWQpIHsKICAgICAgICAgaWYgKHhlbmRldi0+b3BzLT5mbGFncyAmIERFVk9QU19GTEFHX0lH Tk9SRV9TVEFURSkgewotICAgICAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJmcm9u dGVuZCBub3QgcmVhZHksIGlnbm9yaW5nXG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYo eGVuZGV2LCAyLCAiZnJvbnRlbmQgbm90IHJlYWR5LCBpZ25vcmluZ1xuIik7CiAgICAgICAgIH0g ZWxzZSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMiwgImZyb250ZW5kIG5v dCByZWFkeSAoeWV0KVxuIik7CisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMiwg ImZyb250ZW5kIG5vdCByZWFkeSAoeWV0KVxuIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg ICAgIH0KICAgICB9CkBAIC0zNzYsNyArMzc2LDcgQEAgc3RhdGljIGludCB4ZW5fYmVfdHJ5X3Jl c2V0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0K IAotICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAiZGV2aWNlIHJlc2V0IChmb3IgcmUtY29u bmVjdClcbiIpOworICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAiZGV2aWNlIHJlc2V0IChm b3IgcmUtY29ubmVjdClcbiIpOwogICAgIHhlbl9iZV9zZXRfc3RhdGUoeGVuZGV2LCBYZW5idXNT dGF0ZUluaXRpYWxpc2luZyk7CiAgICAgcmV0dXJuIDA7CiB9CkBAIC00MzcsNyArNDM3LDcgQEAg c3RhdGljIGludCB4ZW5zdG9yZV9zY2FuKGNvbnN0IGNoYXIgKnR5cGUsIGludCBkb20sIHN0cnVj dCBYZW5EZXZPcHMgKm9wcykKICAgICBzbnByaW50Zih0b2tlbiwgc2l6ZW9mKHRva2VuKSwgImJl OiVwOiVkOiVwIiwgdHlwZSwgZG9tLCBvcHMpOwogICAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihw YXRoKSwgImJhY2tlbmQvJXMvJWQiLCB0eXBlLCBkb20pOwogICAgIGlmICgheHNfd2F0Y2goeGVu c3RvcmUsIHBhdGgsIHRva2VuKSkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKE5VTEwsIDAsICJ4 ZW4gYmU6IHdhdGNoaW5nIGJhY2tlbmQgcGF0aCAoJXMpIGZhaWxlZFxuIiwKKyAgICAgICAgeGVu X3B2X3ByaW50ZihOVUxMLCAwLCAieGVuIGJlOiB3YXRjaGluZyBiYWNrZW5kIHBhdGggKCVzKSBm YWlsZWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgcGF0aCk7CiAgICAgICAgIHJldHVybiAt MTsKICAgICB9CkBAIC01MTUsNyArNTE1LDcgQEAgaW50IHhlbl9iZV9pbml0KHZvaWQpCiB7CiAg ICAgeGVuc3RvcmUgPSB4c19kYWVtb25fb3BlbigpOwogICAgIGlmICgheGVuc3RvcmUpIHsKLSAg ICAgICAgeGVuX2JlX3ByaW50ZihOVUxMLCAwLCAiY2FuJ3QgY29ubmVjdCB0byB4ZW5zdG9yZWRc biIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDAsICJjYW4ndCBjb25uZWN0IHRvIHhl bnN0b3JlZFxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTU3NiwxMCArNTc2 LDEwIEBAIGludCB4ZW5fYmVfYmluZF9ldnRjaG4oc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQog ICAgIHhlbmRldi0+bG9jYWxfcG9ydCA9IHhlbmV2dGNobl9iaW5kX2ludGVyZG9tYWluCiAgICAg ICAgICh4ZW5kZXYtPmV2dGNobmRldiwgeGVuZGV2LT5kb20sIHhlbmRldi0+cmVtb3RlX3BvcnQp OwogICAgIGlmICh4ZW5kZXYtPmxvY2FsX3BvcnQgPT0gLTEpIHsKLSAgICAgICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDAsICJ4ZW5ldnRjaG5fYmluZF9pbnRlcmRvbWFpbiBmYWlsZWRcbiIpOwor ICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgInhlbmV2dGNobl9iaW5kX2ludGVyZG9t YWluIGZhaWxlZFxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDIsICJiaW5kIGV2dGNobiBwb3J0ICVkXG4iLCB4ZW5kZXYtPmxvY2FsX3Bv cnQpOworICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAyLCAiYmluZCBldnRjaG4gcG9ydCAlZFxu IiwgeGVuZGV2LT5sb2NhbF9wb3J0KTsKICAgICBxZW11X3NldF9mZF9oYW5kbGVyKHhlbmV2dGNo bl9mZCh4ZW5kZXYtPmV2dGNobmRldiksCiAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fYmVf ZXZ0Y2huX2V2ZW50LCBOVUxMLCB4ZW5kZXYpOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEv aHcveGVuL3hlbl9kZXZjb25maWcuYyBiL2h3L3hlbi94ZW5fZGV2Y29uZmlnLmMKaW5kZXggYjdk MjkwZC4uYTgwZTc4YyAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9kZXZjb25maWcuYworKysgYi9o dy94ZW4veGVuX2RldmNvbmZpZy5jCkBAIC01NSw3ICs1NSw3IEBAIGludCB4ZW5fY29uZmlnX2Rl dl9ibGsoRHJpdmVJbmZvICpkaXNrKQogICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gcWVtdV9v cHRfZ2V0KGRpc2stPm9wdHMsICJmaWxlIik7CiAKICAgICBzbnByaW50ZihkZXZpY2VfbmFtZSwg c2l6ZW9mKGRldmljZV9uYW1lKSwgInh2ZCVjIiwgJ2EnICsgZGlzay0+dW5pdCk7Ci0gICAgeGVu X2JlX3ByaW50ZihOVUxMLCAxLCAiY29uZmlnIGRpc2sgJWQgWyVzXTogJXNcbiIsCisgICAgeGVu X3B2X3ByaW50ZihOVUxMLCAxLCAiY29uZmlnIGRpc2sgJWQgWyVzXTogJXNcbiIsCiAgICAgICAg ICAgICAgICAgICBkaXNrLT51bml0LCBkZXZpY2VfbmFtZSwgZmlsZW5hbWUpOwogICAgIHhlbl9j b25maWdfZGV2X2RpcnMoInZiZCIsICJxZGlzayIsIHZkZXYsIGZlLCBiZSwgc2l6ZW9mKGZlKSk7 CiAKQEAgLTgzLDcgKzgzLDcgQEAgaW50IHhlbl9jb25maWdfZGV2X25pYyhOSUNJbmZvICpuaWMp CiAgICAgc25wcmludGYobWFjLCBzaXplb2YobWFjKSwgIiUwMng6JTAyeDolMDJ4OiUwMng6JTAy eDolMDJ4IiwKICAgICAgICAgICAgICBuaWMtPm1hY2FkZHIuYVswXSwgbmljLT5tYWNhZGRyLmFb MV0sIG5pYy0+bWFjYWRkci5hWzJdLAogICAgICAgICAgICAgIG5pYy0+bWFjYWRkci5hWzNdLCBu aWMtPm1hY2FkZHIuYVs0XSwgbmljLT5tYWNhZGRyLmFbNV0pOwotICAgIHhlbl9iZV9wcmludGYo TlVMTCwgMSwgImNvbmZpZyBuaWMgJWQ6IG1hYz1cIiVzXCJcbiIsIHZsYW5faWQsIG1hYyk7Cisg ICAgeGVuX3B2X3ByaW50ZihOVUxMLCAxLCAiY29uZmlnIG5pYyAlZDogbWFjPVwiJXNcIlxuIiwg dmxhbl9pZCwgbWFjKTsKICAgICB4ZW5fY29uZmlnX2Rldl9kaXJzKCJ2aWYiLCAicW5pYyIsIHZs YW5faWQsIGZlLCBiZSwgc2l6ZW9mKGZlKSk7CiAKICAgICAvKiBmcm9udGVuZCAqLwpkaWZmIC0t Z2l0IGEvaHcveGVuL3hlbl9wdmRldi5jIGIvaHcveGVuL3hlbl9wdmRldi5jCmluZGV4IGU0MzJk MzAuLjY5MzhjMDkgMTAwNjQ0Ci0tLSBhL2h3L3hlbi94ZW5fcHZkZXYuYworKysgYi9ody94ZW4v eGVuX3B2ZGV2LmMKQEAgLTY4LDEzICs2OCwxMyBAQCBpbnQgeGVuc3RvcmVfbWtkaXIoY2hhciAq cGF0aCwgaW50IHApCiAgICAgfTsKIAogICAgIGlmICgheHNfbWtkaXIoeGVuc3RvcmUsIDAsIHBh dGgpKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoTlVMTCwgMCwgInhzX21rZGlyICVzOiBmYWls ZWRcbiIsIHBhdGgpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDAsICJ4c19ta2RpciAl czogZmFpbGVkXG4iLCBwYXRoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICB4ZW5z dG9yZV9jbGVhbnVwX2RpcihnX3N0cmR1cChwYXRoKSk7CiAKICAgICBpZiAoIXhzX3NldF9wZXJt aXNzaW9ucyh4ZW5zdG9yZSwgMCwgcGF0aCwgcGVybXMsIDIpKSB7Ci0gICAgICAgIHhlbl9iZV9w cmludGYoTlVMTCwgMCwgInhzX3NldF9wZXJtaXNzaW9ucyAlczogZmFpbGVkXG4iLCBwYXRoKTsK KyAgICAgICAgeGVuX3B2X3ByaW50ZihOVUxMLCAwLCAieHNfc2V0X3Blcm1pc3Npb25zICVzOiBm YWlsZWRcbiIsIHBhdGgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHJldHVybiAw OwpAQCAtMTk0LDcgKzE5NCw3IEBAIGNvbnN0IGNoYXIgKnhlbmJ1c19zdHJzdGF0ZShlbnVtIHhl bmJ1c19zdGF0ZSBzdGF0ZSkKICAqICAyID09IG5vaXN5IGRlYnVnIG1lc3NhZ2VzIChsb2dmaWxl IG9ubHkpLgogICogIDMgPT0gd2lsbCBmbG9vZCB5b3VyIGxvZyAobG9nZmlsZSBvbmx5KS4KICAq Lwotdm9pZCB4ZW5fYmVfcHJpbnRmKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldiwgaW50IG1zZ19s ZXZlbCwKK3ZvaWQgeGVuX3B2X3ByaW50ZihzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYsIGludCBt c2dfbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAg ICAgdmFfbGlzdCBhcmdzOwpAQCAtMjM0LDcgKzIzNCw3IEBAIHZvaWQgeGVuX2JlX2V2dGNobl9l dmVudCh2b2lkICpvcGFxdWUpCiAKICAgICBwb3J0ID0geGVuZXZ0Y2huX3BlbmRpbmcoeGVuZGV2 LT5ldnRjaG5kZXYpOwogICAgIGlmIChwb3J0ICE9IHhlbmRldi0+bG9jYWxfcG9ydCkgewotICAg ICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5k ZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgInhlbmV2dGNobl9wZW5kaW5nIHJldHVybmVk ICVkIChleHBlY3RlZCAlZClcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgcG9ydCwgeGVuZGV2 LT5sb2NhbF9wb3J0KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjUzLDcgKzI1Myw3IEBAIHZvaWQg eGVuX2JlX3VuYmluZF9ldnRjaG4oc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIH0KICAg ICBxZW11X3NldF9mZF9oYW5kbGVyKHhlbmV2dGNobl9mZCh4ZW5kZXYtPmV2dGNobmRldiksIE5V TEwsIE5VTEwsIE5VTEwpOwogICAgIHhlbmV2dGNobl91bmJpbmQoeGVuZGV2LT5ldnRjaG5kZXYs IHhlbmRldi0+bG9jYWxfcG9ydCk7Ci0gICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJ1bmJp bmQgZXZ0Y2huIHBvcnQgJWRcbiIsIHhlbmRldi0+bG9jYWxfcG9ydCk7CisgICAgeGVuX3B2X3By aW50Zih4ZW5kZXYsIDIsICJ1bmJpbmQgZXZ0Y2huIHBvcnQgJWRcbiIsIHhlbmRldi0+bG9jYWxf cG9ydCk7CiAgICAgeGVuZGV2LT5sb2NhbF9wb3J0ID0gLTE7CiB9CiAKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvaHcveGVuL3hlbl9wdmRldi5oIGIvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmgKaW5k ZXggNTE3NTM3YS4uN2FlZGM5MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2 LmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmgKQEAgLTcyLDcgKzcyLDcgQEAgc3Ry dWN0IFhlbkRldmljZSAqeGVuX2JlX2ZpbmRfeGVuZGV2KGNvbnN0IGNoYXIgKnR5cGUsIGludCBk b20sIGludCBkZXYpOwogdm9pZCB4ZW5fYmVfdW5iaW5kX2V2dGNobihzdHJ1Y3QgWGVuRGV2aWNl ICp4ZW5kZXYpOwogaW50IHhlbl9iZV9zZW5kX25vdGlmeShzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5k ZXYpOwogCi12b2lkIHhlbl9iZV9wcmludGYoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCBpbnQg bXNnX2xldmVsLAordm9pZCB4ZW5fcHZfcHJpbnRmKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldiwg aW50IG1zZ19sZXZlbCwKICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmbXQsIC4uLikg IEdDQ19GTVRfQVRUUigzLCA0KTsKIAogI2VuZGlmIC8qIFFFTVVfSFdfWEVOX1BWREVWX0ggKi8K ZGlmZiAtLWdpdCBhL3hlbi1jb21tb24uYyBiL3hlbi1jb21tb24uYwppbmRleCBlNjQxYWQxLi45 MDk5NzYwIDEwMDY0NAotLS0gYS94ZW4tY29tbW9uLmMKKysrIGIveGVuLWNvbW1vbi5jCkBAIC0x MTYsMTIgKzExNiwxMiBAQCBzdGF0aWMgaW50IHhlbl9pbml0KE1hY2hpbmVTdGF0ZSAqbXMpCiB7 CiAgICAgeGVuX3hjID0geGNfaW50ZXJmYWNlX29wZW4oMCwgMCwgMCk7CiAgICAgaWYgKHhlbl94 YyA9PSBOVUxMKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoTlVMTCwgMCwgImNhbid0IG9wZW4g eGVuIGludGVyZmFjZVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoTlVMTCwgMCwgImNhbid0 IG9wZW4geGVuIGludGVyZmFjZVxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAg eGVuX2ZtZW0gPSB4ZW5mb3JlaWdubWVtb3J5X29wZW4oMCwgMCk7CiAgICAgaWYgKHhlbl9mbWVt ID09IE5VTEwpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZihOVUxMLCAwLCAiY2FuJ3Qgb3BlbiB4 ZW4gZm1lbSBpbnRlcmZhY2VcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDAsICJj YW4ndCBvcGVuIHhlbiBmbWVtIGludGVyZmFjZVxuIik7CiAgICAgICAgIHhjX2ludGVyZmFjZV9j bG9zZSh4ZW5feGMpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotLSAKMS45LjEKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK