From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Condrea Subject: [PATCH 06/19] xen: Rename xen_be_printf to xen_pv_printf Date: Sun, 10 Jul 2016 14:47:37 +0300 Message-ID: <1468151270-12984-7-git-send-email-emilcondrea__27158.0337816433$1468151408$gmane$org@gmail.com> References: <1468151270-12984-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: <1468151270-12984-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: wei.liu2@citrix.com, stefanb@linux.vnet.ibm.com, stefano.stabellini@eu.citrix.com, xen-devel@lists.xen.org, quan.xu@intel.com, dgdegra@tycho.nsa.gov, eblake@redhat.com, emilcondrea@gmail.com List-Id: xen-devel@lists.xenproject.org UHJlcGFyZSB4ZW5fYmVfcHJpbnRmIHRvIGJlIHVzZWQgYnkgYm90aCBiYWNrZW5kIGFuZCBmcm9u dGVuZHM6CiAqIHhlbl9iZV9wcmludGYgLT4geGVuX3B2X3ByaW50ZgoKU2lnbmVkLW9mZi1ieTog RW1pbCBDb25kcmVhIDxlbWlsY29uZHJlYUBnbWFpbC5jb20+Ci0tLQogaHcvYmxvY2sveGVuX2Rp c2suYyAgICAgICAgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiBody9jaGFyL3hlbl9jb25zb2xlLmMgICAgICB8IDEwICsrKystLS0tLQogaHcvZGlz cGxheS94ZW5mYi5jICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tCiBody9uZXQveGVuX25pYy5jICAgICAgICAgICB8IDIyICsrKysrKysrKystLS0tLS0t LS0tCiBody91c2IveGVuLXVzYi5jICAgICAgICAgICB8IDM4ICsrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLQogaHcveGVuL3hlbl9iYWNrZW5kLmMgICAgICAgfCA0NCArKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGh3L3hlbi94ZW5fZGV2Y29uZmlnLmMgICAg IHwgIDQgKystLQogaHcveGVuL3hlbl9mcm9udGVuZC5jICAgICAgfCAgNiArKystLS0KIGh3L3hl bi94ZW5fcHZkZXYuYyAgICAgICAgIHwgIDYgKysrLS0tCiBpbmNsdWRlL2h3L3hlbi94ZW5fcHZk ZXYuaCB8ICAyICstCiB4ZW4tY29tbW9uLmMgICAgICAgICAgICAgICB8ICA0ICsrLS0KIDExIGZp bGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCAxMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvaHcvYmxvY2sveGVuX2Rpc2suYyBiL2h3L2Jsb2NrL3hlbl9kaXNrLmMKaW5kZXggMjhm YmYyNC4uYWQzZjUxOSAxMDA2NDQKLS0tIGEvaHcvYmxvY2sveGVuX2Rpc2suYworKysgYi9ody9i bG9jay94ZW5fZGlzay5jCkBAIC0xNjUsMTIgKzE2NSwxMiBAQCBzdGF0aWMgdm9pZCBkZXN0cm95 X2dyYW50KGdwb2ludGVyIHBnbnQpCiAgICAgeGVuZ250dGFiX2hhbmRsZSAqZ250ID0gZ3JhbnQt PmJsa2Rldi0+eGVuZGV2LmdudHRhYmRldjsKIAogICAgIGlmICh4ZW5nbnR0YWJfdW5tYXAoZ250 LCBncmFudC0+cGFnZSwgMSkgIT0gMCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZncmFudC0+ YmxrZGV2LT54ZW5kZXYsIDAsCisgICAgICAgIHhlbl9wdl9wcmludGYoJmdyYW50LT5ibGtkZXYt PnhlbmRldiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAieGVuZ250dGFiX3VubWFwIGZhaWxl ZDogJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKICAgICB9 CiAgICAgZ3JhbnQtPmJsa2Rldi0+cGVyc2lzdGVudF9nbnRfY291bnQtLTsKLSAgICB4ZW5fYmVf cHJpbnRmKCZncmFudC0+YmxrZGV2LT54ZW5kZXYsIDMsCisgICAgeGVuX3B2X3ByaW50ZigmZ3Jh bnQtPmJsa2Rldi0+eGVuZGV2LCAzLAogICAgICAgICAgICAgICAgICAgInVubWFwcGVkIGdyYW50 ICVwXG4iLCBncmFudC0+cGFnZSk7CiAgICAgZ19mcmVlKGdyYW50KTsKIH0KQEAgLTE4MiwxMSAr MTgyLDExIEBAIHN0YXRpYyB2b2lkIHJlbW92ZV9wZXJzaXN0ZW50X3JlZ2lvbihncG9pbnRlciBk YXRhLCBncG9pbnRlciBkZXYpCiAgICAgeGVuZ250dGFiX2hhbmRsZSAqZ250ID0gYmxrZGV2LT54 ZW5kZXYuZ250dGFiZGV2OwogCiAgICAgaWYgKHhlbmdudHRhYl91bm1hcChnbnQsIHJlZ2lvbi0+ YWRkciwgcmVnaW9uLT5udW0pICE9IDApIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2 LT54ZW5kZXYsIDAsCisgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLAog ICAgICAgICAgICAgICAgICAgICAgICJ4ZW5nbnR0YWJfdW5tYXAgcmVnaW9uICVwIGZhaWxlZDog JXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgcmVnaW9uLT5hZGRyLCBzdHJlcnJvcihlcnJu bykpOwogICAgIH0KLSAgICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMywKKyAgICB4 ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMywKICAgICAgICAgICAgICAgICAgICJ1bm1h cHBlZCBncmFudCByZWdpb24gJXAgd2l0aCAlZCBwYWdlc1xuIiwKICAgICAgICAgICAgICAgICAg IHJlZ2lvbi0+YWRkciwgcmVnaW9uLT5udW0pOwogICAgIGdfZnJlZShyZWdpb24pOwpAQCAtMjUz LDcgKzI1Myw3IEBAIHN0YXRpYyBpbnQgaW9yZXFfcGFyc2Uoc3RydWN0IGlvcmVxICppb3JlcSkK ICAgICBzaXplX3QgbGVuOwogICAgIGludCBpOwogCi0gICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2 LT54ZW5kZXYsIDMsCisgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDMsCiAgICAg ICAgICAgICAgICAgICAib3AgJWQsIG5yICVkLCBoYW5kbGUgJWQsIGlkICUiIFBSSWQ2NCAiLCBz ZWN0b3IgJSIgUFJJZDY0ICJcbiIsCiAgICAgICAgICAgICAgICAgICBpb3JlcS0+cmVxLm9wZXJh dGlvbiwgaW9yZXEtPnJlcS5ucl9zZWdtZW50cywKICAgICAgICAgICAgICAgICAgIGlvcmVxLT5y ZXEuaGFuZGxlLCBpb3JlcS0+cmVxLmlkLCBpb3JlcS0+cmVxLnNlY3Rvcl9udW1iZXIpOwpAQCAt MjczLDI4ICsyNzMsMjggQEAgc3RhdGljIGludCBpb3JlcV9wYXJzZShzdHJ1Y3QgaW9yZXEgKmlv cmVxKQogICAgIGNhc2UgQkxLSUZfT1BfRElTQ0FSRDoKICAgICAgICAgcmV0dXJuIDA7CiAgICAg ZGVmYXVsdDoKLSAgICAgICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJlcnJv cjogdW5rbm93biBvcGVyYXRpb24gKCVkKVxuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxr ZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogdW5rbm93biBvcGVyYXRpb24gKCVkKVxuIiwKICAgICAg ICAgICAgICAgICAgICAgICBpb3JlcS0+cmVxLm9wZXJhdGlvbik7CiAgICAgICAgIGdvdG8gZXJy OwogICAgIH07CiAKICAgICBpZiAoaW9yZXEtPnJlcS5vcGVyYXRpb24gIT0gQkxLSUZfT1BfUkVB RCAmJiBibGtkZXYtPm1vZGVbMF0gIT0gJ3cnKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJmJs a2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHdyaXRlIHJlcSBmb3Igcm8gZGV2aWNlXG4iKTsKKyAg ICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogd3JpdGUgcmVx IGZvciBybyBkZXZpY2VcbiIpOwogICAgICAgICBnb3RvIGVycjsKICAgICB9CiAKICAgICBpb3Jl cS0+c3RhcnQgPSBpb3JlcS0+cmVxLnNlY3Rvcl9udW1iZXIgKiBibGtkZXYtPmZpbGVfYmxrOwog ICAgIGZvciAoaSA9IDA7IGkgPCBpb3JlcS0+cmVxLm5yX3NlZ21lbnRzOyBpKyspIHsKICAgICAg ICAgaWYgKGkgPT0gQkxLSUZfTUFYX1NFR01FTlRTX1BFUl9SRVFVRVNUKSB7Ci0gICAgICAgICAg ICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiBucl9zZWdtZW50cyB0 b28gYmlnXG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAw LCAiZXJyb3I6IG5yX3NlZ21lbnRzIHRvbyBiaWdcbiIpOwogICAgICAgICAgICAgZ290byBlcnI7 CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3QgPiBp b3JlcS0+cmVxLnNlZ1tpXS5sYXN0X3NlY3QpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYo JmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IGZpcnN0ID4gbGFzdCBzZWN0b3JcbiIpOworICAg ICAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogZmlyc3Qg PiBsYXN0IHNlY3RvclxuIik7CiAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQogICAg ICAgICBpZiAoaW9yZXEtPnJlcS5zZWdbaV0ubGFzdF9zZWN0ICogQkxPQ0tfU0laRSA+PSBYQ19Q QUdFX1NJWkUpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAw LCAiZXJyb3I6IHBhZ2UgY3Jvc3NpbmdcbiIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50Zigm YmxrZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogcGFnZSBjcm9zc2luZ1xuIik7CiAgICAgICAgICAg ICBnb3RvIGVycjsKICAgICAgICAgfQogCkBAIC0zMDYsNyArMzA2LDcgQEAgc3RhdGljIGludCBp b3JlcV9wYXJzZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogICAgICAgICBxZW11X2lvdmVjX2FkZCgm aW9yZXEtPnYsICh2b2lkKiltZW0sIGxlbik7CiAgICAgfQogICAgIGlmIChpb3JlcS0+c3RhcnQg KyBpb3JlcS0+di5zaXplID4gYmxrZGV2LT5maWxlX3NpemUpIHsKLSAgICAgICAgeGVuX2JlX3By aW50ZigmYmxrZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogYWNjZXNzIGJleW9uZCBlbmQgb2YgZmls ZVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6 IGFjY2VzcyBiZXlvbmQgZW5kIG9mIGZpbGVcbiIpOwogICAgICAgICBnb3RvIGVycjsKICAgICB9 CiAgICAgcmV0dXJuIDA7CkBAIC0zMjksNyArMzI5LDcgQEAgc3RhdGljIHZvaWQgaW9yZXFfdW5t YXAoc3RydWN0IGlvcmVxICppb3JlcSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog ICAgICAgICBpZiAoeGVuZ250dGFiX3VubWFwKGdudCwgaW9yZXEtPnBhZ2VzLCBpb3JlcS0+bnVt X3VubWFwKSAhPSAwKSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2 LT54ZW5kZXYsIDAsCisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54 ZW5kZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4ZW5nbnR0YWJfdW5tYXAgZmFp bGVkOiAlc1xuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsK ICAgICAgICAgfQpAQCAtMzQxLDcgKzM0MSw3IEBAIHN0YXRpYyB2b2lkIGlvcmVxX3VubWFwKHN0 cnVjdCBpb3JlcSAqaW9yZXEpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAg ICB9CiAgICAgICAgICAgICBpZiAoeGVuZ250dGFiX3VubWFwKGdudCwgaW9yZXEtPnBhZ2VbaV0s IDEpICE9IDApIHsKLSAgICAgICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2 LT54ZW5kZXYsIDAsCisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rl di0+eGVuZGV2LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhlbmdudHRhYl91 bm1hcCBmYWlsZWQ6ICVzXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJy b3IoZXJybm8pKTsKICAgICAgICAgICAgIH0KQEAgLTM3OSw3ICszNzksNyBAQCBzdGF0aWMgaW50 IGlvcmVxX21hcChzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogCiAgICAgICAgICAgICBpZiAoZ3JhbnQg IT0gTlVMTCkgewogICAgICAgICAgICAgICAgIHBhZ2VbaV0gPSBncmFudC0+cGFnZTsKLSAgICAg ICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDMsCisgICAg ICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmaW9yZXEtPmJsa2Rldi0+eGVuZGV2LCAzLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzaW5nIHBlcnNpc3RlbnQtZ3JhbnQgJSIgUFJJ dTMyICJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3JlcS0+cmVmc1tpXSk7 CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtNDA4LDcgKzQwOCw3IEBAIHN0YXRpYyBpbnQgaW9y ZXFfbWFwKHN0cnVjdCBpb3JlcSAqaW9yZXEpCiAgICAgICAgIGlvcmVxLT5wYWdlcyA9IHhlbmdu dHRhYl9tYXBfZ3JhbnRfcmVmcwogICAgICAgICAgICAgKGdudCwgbmV3X21hcHMsIGRvbWlkcywg cmVmcywgaW9yZXEtPnByb3QpOwogICAgICAgICBpZiAoaW9yZXEtPnBhZ2VzID09IE5VTEwpIHsK LSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwKKyAg ICAgICAgICAgIHhlbl9wdl9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgImNhbid0IG1hcCAlZCBncmFudCByZWZzICglcywgJWQgbWFw cylcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19tYXBzLCBzdHJlcnJvcihlcnJu byksIGlvcmVxLT5ibGtkZXYtPmNudF9tYXApOwogICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAt NDI0LDcgKzQyNCw3IEBAIHN0YXRpYyBpbnQgaW9yZXFfbWFwKHN0cnVjdCBpb3JlcSAqaW9yZXEp CiAgICAgICAgICAgICBpb3JlcS0+cGFnZVtpXSA9IHhlbmdudHRhYl9tYXBfZ3JhbnRfcmVmCiAg ICAgICAgICAgICAgICAgKGdudCwgZG9taWRzW2ldLCByZWZzW2ldLCBpb3JlcS0+cHJvdCk7CiAg ICAgICAgICAgICBpZiAoaW9yZXEtPnBhZ2VbaV0gPT0gTlVMTCkgewotICAgICAgICAgICAgICAg IHhlbl9iZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwKKyAgICAgICAgICAgICAg ICB4ZW5fcHZfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiY2FuJ3QgbWFwIGdyYW50IHJlZiAlZCAoJXMsICVkIG1hcHMpXG4i LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmc1tpXSwgc3RyZXJyb3IoZXJybm8p LCBpb3JlcS0+YmxrZGV2LT5jbnRfbWFwKTsKICAgICAgICAgICAgICAgICBpb3JlcS0+bWFwcGVk ID0gMTsKQEAgLTQ3Miw3ICs0NzIsNyBAQCBzdGF0aWMgaW50IGlvcmVxX21hcChzdHJ1Y3QgaW9y ZXEgKmlvcmVxKQogICAgICAgICAgICAgICAgIGdyYW50LT5wYWdlID0gaW9yZXEtPnBhZ2VbbmV3 X21hcHNdOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZ3JhbnQtPmJsa2RldiA9IGlvcmVx LT5ibGtkZXY7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5k ZXYsIDMsCisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYs IDMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZGRpbmcgZ3JhbnQgJSIgUFJJdTMyICIg cGFnZTogJXBcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnNbbmV3X21hcHNdLCBn cmFudC0+cGFnZSk7CiAgICAgICAgICAgICBnX3RyZWVfaW5zZXJ0KGlvcmVxLT5ibGtkZXYtPnBl cnNpc3RlbnRfZ250cywKQEAgLTQ5Nyw3ICs0OTcsNyBAQCBzdGF0aWMgdm9pZCBxZW11X2Fpb19j b21wbGV0ZSh2b2lkICpvcGFxdWUsIGludCByZXQpCiAgICAgc3RydWN0IGlvcmVxICppb3JlcSA9 IG9wYXF1ZTsKIAogICAgIGlmIChyZXQgIT0gMCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZp b3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsICIlcyBJL08gZXJyb3JcbiIsCisgICAgICAgIHhlbl9w dl9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwgIiVzIEkvTyBlcnJvclxuIiwKICAg ICAgICAgICAgICAgICAgICAgICBpb3JlcS0+cmVxLm9wZXJhdGlvbiA9PSBCTEtJRl9PUF9SRUFE ID8gInJlYWQiIDogIndyaXRlIik7CiAgICAgICAgIGlvcmVxLT5haW9fZXJyb3JzKys7CiAgICAg fQpAQCAtNzczLDcgKzc3Myw3IEBAIHN0YXRpYyB2b2lkIGJsa19hbGxvYyhzdHJ1Y3QgWGVuRGV2 aWNlICp4ZW5kZXYpCiAgICAgfQogICAgIGlmICh4ZW5nbnR0YWJfc2V0X21heF9ncmFudHMoeGVu ZGV2LT5nbnR0YWJkZXYsCiAgICAgICAgICAgICBNQVhfR1JBTlRTKG1heF9yZXF1ZXN0cywgQkxL SUZfTUFYX1NFR01FTlRTX1BFUl9SRVFVRVNUKSkgPCAwKSB7Ci0gICAgICAgIHhlbl9iZV9wcmlu dGYoeGVuZGV2LCAwLCAieGVuZ250dGFiX3NldF9tYXhfZ3JhbnRzIGZhaWxlZDogJXNcbiIsCisg ICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAieGVuZ250dGFiX3NldF9tYXhfZ3JhbnRz IGZhaWxlZDogJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsK ICAgICB9CiB9CkBAIC05MTksMTEgKzkxOSwxMSBAQCBzdGF0aWMgaW50IGJsa19jb25uZWN0KHN0 cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgfQogCiAgICAgICAgIC8qIHNldHVwIHZp YSB4ZW5idXMgLT4gY3JlYXRlIG5ldyBibG9jayBkcml2ZXIgaW5zdGFuY2UgKi8KLSAgICAgICAg eGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDIsICJjcmVhdGUgbmV3IGJkcnYgKHhlbmJ1 cyBzZXR1cClcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMiwg ImNyZWF0ZSBuZXcgYmRydiAoeGVuYnVzIHNldHVwKVxuIik7CiAgICAgICAgIGJsa2Rldi0+Ymxr ID0gYmxrX25ld19vcGVuKGJsa2Rldi0+ZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFmbGFncywgJmxvY2FsX2Vycik7CiAgICAgICAg IGlmICghYmxrZGV2LT5ibGspIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+ eGVuZGV2LCAwLCAiZXJyb3I6ICVzXG4iLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxr ZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGVycm9yX2dldF9wcmV0dHkobG9jYWxfZXJyKSk7CiAgICAgICAgICAgICBlcnJvcl9mcmVlKGxv Y2FsX2Vycik7CiAgICAgICAgICAgICByZXR1cm4gLTE7CkBAIC05MzEsMTAgKzkzMSwxMCBAQCBz dGF0aWMgaW50IGJsa19jb25uZWN0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAg YmxrX3NldF9lbmFibGVfd3JpdGVfY2FjaGUoYmxrZGV2LT5ibGssICF3cml0ZXRocm91Z2gpOwog ICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIHNldHVwIHZpYSBxZW11IGNtZGxpbmUgLT4gYWxyZWFk eSBzZXR1cCBmb3IgdXMgKi8KLSAgICAgICAgeGVuX2JlX3ByaW50ZigmYmxrZGV2LT54ZW5kZXYs IDIsICJnZXQgY29uZmlndXJlZCBiZHJ2IChjbWRsaW5lIHNldHVwKVxuIik7CisgICAgICAgIHhl bl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAyLCAiZ2V0IGNvbmZpZ3VyZWQgYmRydiAoY21k bGluZSBzZXR1cClcbiIpOwogICAgICAgICBibGtkZXYtPmJsayA9IGJsa19ieV9sZWdhY3lfZGlu Zm8oYmxrZGV2LT5kaW5mbyk7CiAgICAgICAgIGlmIChibGtfaXNfcmVhZF9vbmx5KGJsa2Rldi0+ YmxrKSAmJiAhcmVhZG9ubHkpIHsKLSAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+ eGVuZGV2LCAwLCAiVW5leHBlY3RlZCByZWFkLW9ubHkgZHJpdmUiKTsKKyAgICAgICAgICAgIHhl bl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiVW5leHBlY3RlZCByZWFkLW9ubHkgZHJp dmUiKTsKICAgICAgICAgICAgIGJsa2Rldi0+YmxrID0gTlVMTDsKICAgICAgICAgICAgIHJldHVy biAtMTsKICAgICAgICAgfQpAQCAtOTQ3LDEzICs5NDcsMTMgQEAgc3RhdGljIGludCBibGtfY29u bmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgaWYgKGJsa2Rldi0+ZmlsZV9zaXpl IDwgMCkgewogICAgICAgICBCbG9ja0RyaXZlclN0YXRlICpicyA9IGJsa19icyhibGtkZXYtPmJs ayk7CiAgICAgICAgIGNvbnN0IGNoYXIgKmRydl9uYW1lID0gYnMgPyBiZHJ2X2dldF9mb3JtYXRf bmFtZShicykgOiBOVUxMOwotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwg MSwgImJsa19nZXRsZW5ndGg6ICVkICglcykgfCBkcnYgJXNcbiIsCisgICAgICAgIHhlbl9wdl9w cmludGYoJmJsa2Rldi0+eGVuZGV2LCAxLCAiYmxrX2dldGxlbmd0aDogJWQgKCVzKSB8IGRydiAl c1xuIiwKICAgICAgICAgICAgICAgICAgICAgICAoaW50KWJsa2Rldi0+ZmlsZV9zaXplLCBzdHJl cnJvcigtYmxrZGV2LT5maWxlX3NpemUpLAogICAgICAgICAgICAgICAgICAgICAgIGRydl9uYW1l ID86ICItIik7CiAgICAgICAgIGJsa2Rldi0+ZmlsZV9zaXplID0gMDsKICAgICB9CiAKLSAgICB4 ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwgInR5cGUgXCIlc1wiLCBmaWxlcHJvdG8gXCIlc1wiLCBm aWxlbmFtZSBcIiVzXCIsIgorICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAidHlwZSBcIiVz XCIsIGZpbGVwcm90byBcIiVzXCIsIGZpbGVuYW1lIFwiJXNcIiwiCiAgICAgICAgICAgICAgICAg ICAiIHNpemUgJSIgUFJJZDY0ICIgKCUiIFBSSWQ2NCAiIE1CKVxuIiwKICAgICAgICAgICAgICAg ICAgIGJsa2Rldi0+dHlwZSwgYmxrZGV2LT5maWxlcHJvdG8sIGJsa2Rldi0+ZmlsZW5hbWUsCiAg ICAgICAgICAgICAgICAgICBibGtkZXYtPmZpbGVfc2l6ZSwgYmxrZGV2LT5maWxlX3NpemUgPj4g MjApOwpAQCAtMTAzMiw3ICsxMDMyLDcgQEAgc3RhdGljIGludCBibGtfY29ubmVjdChzdHJ1Y3Qg WGVuRGV2aWNlICp4ZW5kZXYpCiAKICAgICB4ZW5fYmVfYmluZF9ldnRjaG4oJmJsa2Rldi0+eGVu ZGV2KTsKIAotICAgIHhlbl9iZV9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAxLCAib2s6IHByb3Rv ICVzLCByaW5nLXJlZiAlZCwgIgorICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAx LCAib2s6IHByb3RvICVzLCByaW5nLXJlZiAlZCwgIgogICAgICAgICAgICAgICAgICAgInJlbW90 ZSBwb3J0ICVkLCBsb2NhbCBwb3J0ICVkXG4iLAogICAgICAgICAgICAgICAgICAgYmxrZGV2LT54 ZW5kZXYucHJvdG9jb2wsIGJsa2Rldi0+cmluZ19yZWYsCiAgICAgICAgICAgICAgICAgICBibGtk ZXYtPnhlbmRldi5yZW1vdGVfcG9ydCwgYmxrZGV2LT54ZW5kZXYubG9jYWxfcG9ydCk7CmRpZmYg LS1naXQgYS9ody9jaGFyL3hlbl9jb25zb2xlLmMgYi9ody9jaGFyL3hlbl9jb25zb2xlLmMKaW5k ZXggODMxMDhiMC4uZTZiYWU2NyAxMDA2NDQKLS0tIGEvaHcvY2hhci94ZW5fY29uc29sZS5jCisr KyBiL2h3L2NoYXIveGVuX2NvbnNvbGUuYwpAQCAtMTU2LDEzICsxNTYsMTMgQEAgc3RhdGljIHZv aWQgeGVuY29uc19zZW5kKHN0cnVjdCBYZW5Db25zb2xlICpjb24pCiAgICAgaWYgKGxlbiA8IDEp IHsKIAlpZiAoIWNvbi0+YmFja2xvZykgewogCSAgICBjb24tPmJhY2tsb2cgPSAxOwotCSAgICB4 ZW5fYmVfcHJpbnRmKCZjb24tPnhlbmRldiwgMSwgImJhY2tsb2cgcGlsaW5nIHVwLCBub2JvZHkg bGlzdGVuaW5nP1xuIik7CisJICAgIHhlbl9wdl9wcmludGYoJmNvbi0+eGVuZGV2LCAxLCAiYmFj a2xvZyBwaWxpbmcgdXAsIG5vYm9keSBsaXN0ZW5pbmc/XG4iKTsKIAl9CiAgICAgfSBlbHNlIHsK IAlidWZmZXJfYWR2YW5jZSgmY29uLT5idWZmZXIsIGxlbik7CiAJaWYgKGNvbi0+YmFja2xvZyAm JiBsZW4gPT0gc2l6ZSkgewogCSAgICBjb24tPmJhY2tsb2cgPSAwOwotCSAgICB4ZW5fYmVfcHJp bnRmKCZjb24tPnhlbmRldiwgMSwgImJhY2tsb2cgaXMgZ29uZVxuIik7CisJICAgIHhlbl9wdl9w cmludGYoJmNvbi0+eGVuZGV2LCAxLCAiYmFja2xvZyBpcyBnb25lXG4iKTsKIAl9CiAgICAgfQog fQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHN0YXRpYyBpbnQgY29uX2luaXQoc3RydWN0IFhlbkRldmlj ZSAqeGVuZGV2KQogCiAgICAgdHlwZSA9IHhlbnN0b3JlX3JlYWRfc3RyKGNvbi0+Y29uc29sZSwg InR5cGUiKTsKICAgICBpZiAoIXR5cGUgfHwgc3RyY21wKHR5cGUsICJpb2VtdSIpICE9IDApIHsK LQl4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwgIm5vdCBmb3IgbWUgKHR5cGU9JXMpXG4iLCB0eXBl KTsKKwl4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwgIm5vdCBmb3IgbWUgKHR5cGU9JXMpXG4iLCB0 eXBlKTsKICAgICAgICAgcmV0ID0gLTE7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTI0 MCwxNCArMjQwLDE0IEBAIHN0YXRpYyBpbnQgY29uX2luaXRpYWxpc2Uoc3RydWN0IFhlbkRldmlj ZSAqeGVuZGV2KQogICAgICAgICAgICAgcWVtdV9jaHJfYWRkX2hhbmRsZXJzKGNvbi0+Y2hyLCB4 ZW5jb25zX2Nhbl9yZWNlaXZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhl bmNvbnNfcmVjZWl2ZSwgTlVMTCwgY29uKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg IHhlbl9iZV9wcmludGYoeGVuZGV2LCAwLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5k ZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4ZW5fY29uc29sZV9pbml0IGVycm9y IGNoYXJkZXYgJXMgYWxyZWFkeSB1c2VkXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBj b24tPmNoci0+bGFiZWwpOwogICAgICAgICAgICAgY29uLT5jaHIgPSBOVUxMOwogICAgICAgICB9 CiAgICAgfQogCi0gICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDEsICJyaW5nIG1mbiAlZCwgcmVt b3RlIHBvcnQgJWQsIGxvY2FsIHBvcnQgJWQsIGxpbWl0ICV6ZFxuIiwKKyAgICB4ZW5fcHZfcHJp bnRmKHhlbmRldiwgMSwgInJpbmcgbWZuICVkLCByZW1vdGUgcG9ydCAlZCwgbG9jYWwgcG9ydCAl ZCwgbGltaXQgJXpkXG4iLAogCQkgIGNvbi0+cmluZ19yZWYsCiAJCSAgY29uLT54ZW5kZXYucmVt b3RlX3BvcnQsCiAJCSAgY29uLT54ZW5kZXYubG9jYWxfcG9ydCwKZGlmZiAtLWdpdCBhL2h3L2Rp c3BsYXkveGVuZmIuYyBiL2h3L2Rpc3BsYXkveGVuZmIuYwppbmRleCA1NzUxMTEzLi5iMWU4YjNi IDEwMDY0NAotLS0gYS9ody9kaXNwbGF5L3hlbmZiLmMKKysrIGIvaHcvZGlzcGxheS94ZW5mYi5j CkBAIC0xMDQsNyArMTA0LDcgQEAgc3RhdGljIGludCBjb21tb25fYmluZChzdHJ1Y3QgY29tbW9u ICpjKQogCXJldHVybiAtMTsKIAogICAgIHhlbl9iZV9iaW5kX2V2dGNobigmYy0+eGVuZGV2KTsK LSAgICB4ZW5fYmVfcHJpbnRmKCZjLT54ZW5kZXYsIDEsICJyaW5nIG1mbiAlIlBSSV94ZW5fcGZu IiwgcmVtb3RlLXBvcnQgJWQsIGxvY2FsLXBvcnQgJWRcbiIsCisgICAgeGVuX3B2X3ByaW50Zigm Yy0+eGVuZGV2LCAxLCAicmluZyBtZm4gJSJQUklfeGVuX3BmbiIsIHJlbW90ZS1wb3J0ICVkLCBs b2NhbC1wb3J0ICVkXG4iLAogCQkgIG1mbiwgYy0+eGVuZGV2LnJlbW90ZV9wb3J0LCBjLT54ZW5k ZXYubG9jYWxfcG9ydCk7CiAKICAgICByZXR1cm4gMDsKQEAgLTM0Niw3ICszNDYsNyBAQCBzdGF0 aWMgaW50IGlucHV0X2luaXRpYWxpc2Uoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIGlu dCByYzsKIAogICAgIGlmICghaW4tPmMuY29uKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoeGVu ZGV2LCAxLCAiZHMgbm90IHNldCAoeWV0KVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVu ZGV2LCAxLCAiZHMgbm90IHNldCAoeWV0KVxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9 CiAKQEAgLTUxMSwzOCArNTExLDM4IEBAIHN0YXRpYyBpbnQgeGVuZmJfY29uZmlndXJlX2ZiKHN0 cnVjdCBYZW5GQiAqeGVuZmIsIHNpemVfdCBmYl9sZW5fbGltLAogICAgIGludCBtYXhfd2lkdGgs IG1heF9oZWlnaHQ7CiAKICAgICBpZiAoZmJfbGVuX2xpbSA+IGZiX2xlbl9tYXgpIHsKLQl4ZW5f YmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsICJmYiBzaXplIGxpbWl0ICV6dSBleGNlZWRz ICV6dSwgY29ycmVjdGVkXG4iLAorCXhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwg ImZiIHNpemUgbGltaXQgJXp1IGV4Y2VlZHMgJXp1LCBjb3JyZWN0ZWRcbiIsCiAJCSAgICAgIGZi X2xlbl9saW0sIGZiX2xlbl9tYXgpOwogCWZiX2xlbl9saW0gPSBmYl9sZW5fbWF4OwogICAgIH0K ICAgICBpZiAoZmJfbGVuX2xpbSAmJiBmYl9sZW4gPiBmYl9sZW5fbGltKSB7Ci0JeGVuX2JlX3By aW50ZigmeGVuZmItPmMueGVuZGV2LCAwLCAiZnJvbnRlbmQgZmIgc2l6ZSAlenUgbGltaXRlZCB0 byAlenVcbiIsCisJeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLCAiZnJvbnRlbmQg ZmIgc2l6ZSAlenUgbGltaXRlZCB0byAlenVcbiIsCiAJCSAgICAgIGZiX2xlbiwgZmJfbGVuX2xp bSk7CiAJZmJfbGVuID0gZmJfbGVuX2xpbTsKICAgICB9CiAgICAgaWYgKGRlcHRoICE9IDggJiYg ZGVwdGggIT0gMTYgJiYgZGVwdGggIT0gMjQgJiYgZGVwdGggIT0gMzIpIHsKLQl4ZW5fYmVfcHJp bnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsICJjYW4ndCBoYW5kbGUgZnJvbnRlbmQgZmIgZGVwdGgg JWRcbiIsCisJeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLCAiY2FuJ3QgaGFuZGxl IGZyb250ZW5kIGZiIGRlcHRoICVkXG4iLAogCQkgICAgICBkZXB0aCk7CiAJcmV0dXJuIC0xOwog ICAgIH0KICAgICBpZiAocm93X3N0cmlkZSA8PSAwIHx8IHJvd19zdHJpZGUgPiBmYl9sZW4pIHsK LQl4ZW5fYmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsICJpbnZhbGlkIGZyb250ZW5kIHN0 cmlkZSAlZFxuIiwgcm93X3N0cmlkZSk7CisJeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2 LCAwLCAiaW52YWxpZCBmcm9udGVuZCBzdHJpZGUgJWRcbiIsIHJvd19zdHJpZGUpOwogCXJldHVy biAtMTsKICAgICB9CiAgICAgbWF4X3dpZHRoID0gcm93X3N0cmlkZSAvIChkZXB0aCAvIDgpOwog ICAgIGlmICh3aWR0aCA8IDAgfHwgd2lkdGggPiBtYXhfd2lkdGgpIHsKLQl4ZW5fYmVfcHJpbnRm KCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsICJpbnZhbGlkIGZyb250ZW5kIHdpZHRoICVkIGxpbWl0ZWQg dG8gJWRcbiIsCisJeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLCAiaW52YWxpZCBm cm9udGVuZCB3aWR0aCAlZCBsaW1pdGVkIHRvICVkXG4iLAogCQkgICAgICB3aWR0aCwgbWF4X3dp ZHRoKTsKIAl3aWR0aCA9IG1heF93aWR0aDsKICAgICB9CiAgICAgaWYgKG9mZnNldCA8IDAgfHwg b2Zmc2V0ID49IGZiX2xlbikgewotCXhlbl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwg ImludmFsaWQgZnJvbnRlbmQgb2Zmc2V0ICVkIChtYXggJXp1KVxuIiwKKwl4ZW5fcHZfcHJpbnRm KCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsICJpbnZhbGlkIGZyb250ZW5kIG9mZnNldCAlZCAobWF4ICV6 dSlcbiIsCiAJCSAgICAgIG9mZnNldCwgZmJfbGVuIC0gMSk7CiAJcmV0dXJuIC0xOwogICAgIH0K ICAgICBtYXhfaGVpZ2h0ID0gKGZiX2xlbiAtIG9mZnNldCkgLyByb3dfc3RyaWRlOwogICAgIGlm IChoZWlnaHQgPCAwIHx8IGhlaWdodCA+IG1heF9oZWlnaHQpIHsKLQl4ZW5fYmVfcHJpbnRmKCZ4 ZW5mYi0+Yy54ZW5kZXYsIDAsICJpbnZhbGlkIGZyb250ZW5kIGhlaWdodCAlZCBsaW1pdGVkIHRv ICVkXG4iLAorCXhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMCwgImludmFsaWQgZnJv bnRlbmQgaGVpZ2h0ICVkIGxpbWl0ZWQgdG8gJWRcbiIsCiAJCSAgICAgIGhlaWdodCwgbWF4X2hl aWdodCk7CiAJaGVpZ2h0ID0gbWF4X2hlaWdodDsKICAgICB9CkBAIC01NTQsNyArNTU0LDcgQEAg c3RhdGljIGludCB4ZW5mYl9jb25maWd1cmVfZmIoc3RydWN0IFhlbkZCICp4ZW5mYiwgc2l6ZV90 IGZiX2xlbl9saW0sCiAgICAgeGVuZmItPm9mZnNldCA9IG9mZnNldDsKICAgICB4ZW5mYi0+dXBf ZnVsbHNjcmVlbiA9IDE7CiAgICAgeGVuZmItPmRvX3Jlc2l6ZSA9IDE7Ci0gICAgeGVuX2JlX3By aW50ZigmeGVuZmItPmMueGVuZGV2LCAxLCAiZnJhbWVidWZmZXIgJWR4JWR4JWQgb2Zmc2V0ICVk IHN0cmlkZSAlZFxuIiwKKyAgICB4ZW5fcHZfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsICJm cmFtZWJ1ZmZlciAlZHglZHglZCBvZmZzZXQgJWQgc3RyaWRlICVkXG4iLAogCQkgIHdpZHRoLCBo ZWlnaHQsIGRlcHRoLCBvZmZzZXQsIHJvd19zdHJpZGUpOwogICAgIHJldHVybiAwOwogfQpAQCAt NjMyLDcgKzYzMiw3IEBAIHN0YXRpYyB2b2lkIHhlbmZiX2d1ZXN0X2NvcHkoc3RydWN0IFhlbkZC ICp4ZW5mYiwgaW50IHgsIGludCB5LCBpbnQgdywgaW50IGgpCiAJfQogICAgIH0KICAgICBpZiAo b29wcykgLyogc2hvdWxkIG5vdCBoYXBwZW4gKi8KLSAgICAgICAgeGVuX2JlX3ByaW50ZigmeGVu ZmItPmMueGVuZGV2LCAwLCAiJXM6IG9vcHM6IGNvbnZlcnQgJWQgLT4gJWQgYnBwP1xuIiwKKyAg ICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLCAiJXM6IG9vcHM6IGNvbnZl cnQgJWQgLT4gJWQgYnBwP1xuIiwKICAgICAgICAgICAgICAgICAgICAgICBfX0ZVTkNUSU9OX18s IHhlbmZiLT5kZXB0aCwgYnBwKTsKIAogICAgIGRweV9nZnhfdXBkYXRlKHhlbmZiLT5jLmNvbiwg eCwgeSwgdywgaCk7CkBAIC03MjIsNyArNzIyLDcgQEAgc3RhdGljIHZvaWQgeGVuZmJfdXBkYXRl KHZvaWQgKm9wYXF1ZSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGRw eV9nZnhfcmVwbGFjZV9zdXJmYWNlKHhlbmZiLT5jLmNvbiwgc3VyZmFjZSk7Ci0gICAgICAgIHhl bl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMSwgInVwZGF0ZTogcmVzaXppbmc6ICVkeCVk IEAgJWQgYnBwJXNcbiIsCisgICAgICAgIHhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwg MSwgInVwZGF0ZTogcmVzaXppbmc6ICVkeCVkIEAgJWQgYnBwJXNcbiIsCiAgICAgICAgICAgICAg ICAgICAgICAgeGVuZmItPndpZHRoLCB4ZW5mYi0+aGVpZ2h0LCB4ZW5mYi0+ZGVwdGgsCiAgICAg ICAgICAgICAgICAgICAgICAgaXNfYnVmZmVyX3NoYXJlZChzdXJmYWNlKSA/ICIgKHNoYXJlZCki IDogIiIpOwogICAgICAgICB4ZW5mYi0+dXBfZnVsbHNjcmVlbiA9IDE7CkBAIC03MzAsMTAgKzcz MCwxMCBAQCBzdGF0aWMgdm9pZCB4ZW5mYl91cGRhdGUodm9pZCAqb3BhcXVlKQogCiAgICAgLyog cnVuIHF1ZXVlZCB1cGRhdGVzICovCiAgICAgaWYgKHhlbmZiLT51cF9mdWxsc2NyZWVuKSB7Ci0J eGVuX2JlX3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAzLCAidXBkYXRlOiBmdWxsc2NyZWVuXG4i KTsKKwl4ZW5fcHZfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDMsICJ1cGRhdGU6IGZ1bGxzY3Jl ZW5cbiIpOwogCXhlbmZiX2d1ZXN0X2NvcHkoeGVuZmIsIDAsIDAsIHhlbmZiLT53aWR0aCwgeGVu ZmItPmhlaWdodCk7CiAgICAgfSBlbHNlIGlmICh4ZW5mYi0+dXBfY291bnQpIHsKLQl4ZW5fYmVf cHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDMsICJ1cGRhdGU6ICVkIHJlY3RzXG4iLCB4ZW5mYi0+ dXBfY291bnQpOworCXhlbl9wdl9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwgMywgInVwZGF0ZTog JWQgcmVjdHNcbiIsIHhlbmZiLT51cF9jb3VudCk7CiAJZm9yIChpID0gMDsgaSA8IHhlbmZiLT51 cF9jb3VudDsgaSsrKQogCSAgICB4ZW5mYl9ndWVzdF9jb3B5KHhlbmZiLAogCQkJICAgICB4ZW5m Yi0+dXBfcmVjdHNbaV0ueCwKQEAgLTc0MSw3ICs3NDEsNyBAQCBzdGF0aWMgdm9pZCB4ZW5mYl91 cGRhdGUodm9pZCAqb3BhcXVlKQogCQkJICAgICB4ZW5mYi0+dXBfcmVjdHNbaV0udywKIAkJCSAg ICAgeGVuZmItPnVwX3JlY3RzW2ldLmgpOwogICAgIH0gZWxzZSB7Ci0JeGVuX2JlX3ByaW50Zigm eGVuZmItPmMueGVuZGV2LCAzLCAidXBkYXRlOiBub3RoaW5nXG4iKTsKKwl4ZW5fcHZfcHJpbnRm KCZ4ZW5mYi0+Yy54ZW5kZXYsIDMsICJ1cGRhdGU6IG5vdGhpbmdcbiIpOwogICAgIH0KICAgICB4 ZW5mYi0+dXBfY291bnQgPSAwOwogICAgIHhlbmZiLT51cF9mdWxsc2NyZWVuID0gMDsKQEAgLTc5 NSwxNCArNzk1LDE0IEBAIHN0YXRpYyB2b2lkIHhlbmZiX2hhbmRsZV9ldmVudHMoc3RydWN0IFhl bkZCICp4ZW5mYikKIAkgICAgdyA9IE1JTihldmVudC0+dXBkYXRlLndpZHRoLCB4ZW5mYi0+d2lk dGggLSB4KTsKIAkgICAgaCA9IE1JTihldmVudC0+dXBkYXRlLmhlaWdodCwgeGVuZmItPmhlaWdo dCAtIHkpOwogCSAgICBpZiAodyA8IDAgfHwgaCA8IDApIHsKLSAgICAgICAgICAgICAgICB4ZW5f YmVfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsICJib2d1cyB1cGRhdGUgaWdub3JlZFxuIik7 CisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAxLCAiYm9n dXMgdXBkYXRlIGlnbm9yZWRcbiIpOwogCQlicmVhazsKIAkgICAgfQogCSAgICBpZiAoeCAhPSBl dmVudC0+dXBkYXRlLnggfHwKICAgICAgICAgICAgICAgICB5ICE9IGV2ZW50LT51cGRhdGUueSB8 fAogCQl3ICE9IGV2ZW50LT51cGRhdGUud2lkdGggfHwKIAkJaCAhPSBldmVudC0+dXBkYXRlLmhl aWdodCkgewotICAgICAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJnhlbmZiLT5jLnhlbmRldiwg MSwgImJvZ3VzIHVwZGF0ZSBjbGlwcGVkXG4iKTsKKyAgICAgICAgICAgICAgICB4ZW5fcHZfcHJp bnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsICJib2d1cyB1cGRhdGUgY2xpcHBlZFxuIik7CiAJICAg IH0KIAkgICAgaWYgKHcgPT0geGVuZmItPndpZHRoICYmIGggPiB4ZW5mYi0+aGVpZ2h0IC8gMikg ewogCQkvKiBzY3JvbGwgZGV0ZWN0b3I6IHVwZGF0ZWQgbW9yZSB0aGFuIDUwJSBvZiB0aGUgbGlu ZXMsCkBAIC04ODQsNyArODg0LDcgQEAgc3RhdGljIGludCBmYl9pbml0aWFsaXNlKHN0cnVjdCBY ZW5EZXZpY2UgKnhlbmRldikKICAgICBpZiAoZmItPmZlYXR1cmVfdXBkYXRlKQogCXhlbnN0b3Jl X3dyaXRlX2JlX2ludCh4ZW5kZXYsICJyZXF1ZXN0LXVwZGF0ZSIsIDEpOwogCi0gICAgeGVuX2Jl X3ByaW50Zih4ZW5kZXYsIDEsICJmZWF0dXJlLXVwZGF0ZT0lZCwgdmlkZW9yYW09JWRcbiIsCisg ICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEsICJmZWF0dXJlLXVwZGF0ZT0lZCwgdmlkZW9yYW09 JWRcbiIsCiAJCSAgZmItPmZlYXR1cmVfdXBkYXRlLCB2aWRlb3JhbSk7CiAgICAgcmV0dXJuIDA7 CiB9CkBAIC05MDMsNyArOTAzLDcgQEAgc3RhdGljIHZvaWQgZmJfZGlzY29ubmVjdChzdHJ1Y3Qg WGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgICAgICAgICAgICAgICAgICAgUFJPVF9SRUFEIHwgUFJP VF9XUklURSwgTUFQX1NIQVJFRCB8IE1BUF9BTk9OLAogICAgICAgICAgICAgICAgICAgICAgIC0x LCAwKTsKICAgICBpZiAoZmItPnBpeGVscyA9PSBNQVBfRkFJTEVEKSB7Ci0gICAgICAgIHhlbl9i ZV9wcmludGYoeGVuZGV2LCAwLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwKICAg ICAgICAgICAgICAgICAiQ291bGRuJ3QgcmVwbGFjZSB0aGUgZnJhbWVidWZmZXIgd2l0aCBhbm9u eW1vdXMgbWVtb3J5IGVycm5vPSVkXG4iLAogICAgICAgICAgICAgICAgIGVycm5vKTsKICAgICB9 CkBAIC05MjQsNyArOTI0LDcgQEAgc3RhdGljIHZvaWQgZmJfZnJvbnRlbmRfY2hhbmdlZChzdHJ1 Y3QgWGVuRGV2aWNlICp4ZW5kZXYsIGNvbnN0IGNoYXIgKm5vZGUpCiAgICAgaWYgKGZiLT5idWdf dHJpZ2dlciA9PSAwICYmIHN0cmNtcChub2RlLCAic3RhdGUiKSA9PSAwICYmCiAgICAgICAgIHhl bmRldi0+ZmVfc3RhdGUgPT0gWGVuYnVzU3RhdGVDb25uZWN0ZWQgJiYKICAgICAgICAgeGVuZGV2 LT5iZV9zdGF0ZSA9PSBYZW5idXNTdGF0ZUNvbm5lY3RlZCkgewotICAgICAgICB4ZW5fYmVfcHJp bnRmKHhlbmRldiwgMiwgInJlLXRyaWdnZXIgY29ubmVjdGVkIChmcm9udGVuZCBidWcpXG4iKTsK KyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJyZS10cmlnZ2VyIGNvbm5lY3RlZCAo ZnJvbnRlbmQgYnVnKVxuIik7CiAgICAgICAgIHhlbl9iZV9zZXRfc3RhdGUoeGVuZGV2LCBYZW5i dXNTdGF0ZUNvbm5lY3RlZCk7CiAgICAgICAgIGZiLT5idWdfdHJpZ2dlciA9IDE7IC8qIG9ubHkg b25jZSAqLwogICAgIH0KQEAgLTk4NSw3ICs5ODUsNyBAQCB3YWl0X21vcmU6CiAgICAgICAgICAg ICB1c2xlZXAoMTAwMDApOwogICAgICAgICAgICAgZ290byB3YWl0X21vcmU7CiAgICAgICAgIH0K LSAgICAgICAgeGVuX2JlX3ByaW50ZihOVUxMLCAxLCAiZGlzcGxheXN0YXRlIHNldHVwIGZhaWxl ZFxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoTlVMTCwgMSwgImRpc3BsYXlzdGF0ZSBzZXR1 cCBmYWlsZWRcbiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9ody9u ZXQveGVuX25pYy5jIGIvaHcvbmV0L3hlbl9uaWMuYwppbmRleCBiZGZhNzg5Li45MTEyNmI1IDEw MDY0NAotLS0gYS9ody9uZXQveGVuX25pYy5jCisrKyBiL2h3L25ldC94ZW5fbmljLmMKQEAgLTEy OSwzMCArMTI5LDMwIEBAIHN0YXRpYyB2b2lkIG5ldF90eF9wYWNrZXRzKHN0cnVjdCBYZW5OZXRE ZXYgKm5ldGRldikKICAgICAgICAgICAgIC8qIHNob3VsZCBub3QgaGFwcGVuIGluIHRoZW9yeSwg d2UgZG9uJ3QgYW5ub3VuY2UgdGhlICoKICAgICAgICAgICAgICAqIGZlYXR1cmUte3NnLGdzbyx3 aGF0ZWxzZX0gZmxhZ3MgaW4geGVuc3RvcmUgKHlldD8pICovCiAgICAgICAgICAgICBpZiAodHhy ZXEuZmxhZ3MgJiBORVRUWEZfZXh0cmFfaW5mbykgewotICAgICAgICAgICAgICAgIHhlbl9iZV9w cmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiRklYTUU6IGV4dHJhIGluZm8gZmxhZ1xuIik7Cisg ICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJGSVhNRTog ZXh0cmEgaW5mbyBmbGFnXG4iKTsKICAgICAgICAgICAgICAgICBuZXRfdHhfZXJyb3IobmV0ZGV2 LCAmdHhyZXEsIHJjKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0K ICAgICAgICAgICAgIGlmICh0eHJlcS5mbGFncyAmIE5FVFRYRl9tb3JlX2RhdGEpIHsKLSAgICAg ICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwgIkZJWE1FOiBtb3Jl IGRhdGEgZmxhZ1xuIik7CisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54 ZW5kZXYsIDAsICJGSVhNRTogbW9yZSBkYXRhIGZsYWdcbiIpOwogICAgICAgICAgICAgICAgIG5l dF90eF9lcnJvcihuZXRkZXYsICZ0eHJlcSwgcmMpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVl OwogICAgICAgICAgICAgfQogI2VuZGlmCiAKICAgICAgICAgICAgIGlmICh0eHJlcS5zaXplIDwg MTQpIHsKLSAgICAgICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwg ImJhZCBwYWNrZXQgc2l6ZTogJWRcbiIsIHR4cmVxLnNpemUpOworICAgICAgICAgICAgICAgIHhl bl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiYmFkIHBhY2tldCBzaXplOiAlZFxuIiwg dHhyZXEuc2l6ZSk7CiAgICAgICAgICAgICAgICAgbmV0X3R4X2Vycm9yKG5ldGRldiwgJnR4cmVx LCByYyk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAKICAgICAg ICAgICAgIGlmICgodHhyZXEub2Zmc2V0ICsgdHhyZXEuc2l6ZSkgPiBYQ19QQUdFX1NJWkUpIHsK LSAgICAgICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwgImVycm9y OiBwYWdlIGNyb3NzaW5nXG4iKTsKKyAgICAgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKCZuZXRk ZXYtPnhlbmRldiwgMCwgImVycm9yOiBwYWdlIGNyb3NzaW5nXG4iKTsKICAgICAgICAgICAgICAg ICBuZXRfdHhfZXJyb3IobmV0ZGV2LCAmdHhyZXEsIHJjKTsKICAgICAgICAgICAgICAgICBjb250 aW51ZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgeGVuX2JlX3ByaW50ZigmbmV0ZGV2 LT54ZW5kZXYsIDMsICJ0eCBwYWNrZXQgcmVmICVkLCBvZmYgJWQsIGxlbiAlZCwgZmxhZ3MgMHgl eCVzJXMlcyVzXG4iLAorICAgICAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYs IDMsICJ0eCBwYWNrZXQgcmVmICVkLCBvZmYgJWQsIGxlbiAlZCwgZmxhZ3MgMHgleCVzJXMlcyVz XG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0eHJlcS5ncmVmLCB0eHJlcS5vZmZzZXQs IHR4cmVxLnNpemUsIHR4cmVxLmZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAodHhy ZXEuZmxhZ3MgJiBORVRUWEZfY3N1bV9ibGFuaykgICAgID8gIiBjc3VtX2JsYW5rIiAgICAgOiAi IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgKHR4cmVxLmZsYWdzICYgTkVUVFhGX2RhdGFf dmFsaWRhdGVkKSA/ICIgZGF0YV92YWxpZGF0ZWQiIDogIiIsCkBAIC0xNjMsNyArMTYzLDcgQEAg c3RhdGljIHZvaWQgbmV0X3R4X3BhY2tldHMoc3RydWN0IFhlbk5ldERldiAqbmV0ZGV2KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldGRldi0+eGVuZGV2LmRv bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eHJlcS5ncmVm LCBQUk9UX1JFQUQpOwogICAgICAgICAgICAgaWYgKHBhZ2UgPT0gTlVMTCkgewotICAgICAgICAg ICAgICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHR4IGdyZWYg ZGVyZWZlcmVuY2UgZmFpbGVkICglZClcbiIsCisgICAgICAgICAgICAgICAgeGVuX3B2X3ByaW50 ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogdHggZ3JlZiBkZXJlZmVyZW5jZSBmYWlsZWQg KCVkKVxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR4cmVxLmdyZWYpOwogICAg ICAgICAgICAgICAgIG5ldF90eF9lcnJvcihuZXRkZXYsICZ0eHJlcSwgcmMpOwogICAgICAgICAg ICAgICAgIGNvbnRpbnVlOwpAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyB2b2lkIG5ldF9yeF9y ZXNwb25zZShzdHJ1Y3QgWGVuTmV0RGV2ICpuZXRkZXYsCiAgICAgICAgIHJlc3AtPnN0YXR1cyA9 IChpbnQxNl90KXN0OwogICAgIH0KIAotICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2 LCAzLCAicnggcmVzcG9uc2U6IGlkeCAlZCwgc3RhdHVzICVkLCBmbGFncyAweCV4XG4iLAorICAg IHhlbl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAzLCAicnggcmVzcG9uc2U6IGlkeCAlZCwg c3RhdHVzICVkLCBmbGFncyAweCV4XG4iLAogICAgICAgICAgICAgICAgICAgaSwgcmVzcC0+c3Rh dHVzLCByZXNwLT5mbGFncyk7CiAKICAgICBuZXRkZXYtPnJ4X3JpbmcucnNwX3Byb2RfcHZ0ID0g KytpOwpAQCAtMjQzLDcgKzI0Myw3IEBAIHN0YXRpYyBzc2l6ZV90IG5ldF9yeF9wYWNrZXQoTmV0 Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplCiAgICAgICAg IHJldHVybiAwOwogICAgIH0KICAgICBpZiAoc2l6ZSA+IFhDX1BBR0VfU0laRSAtIE5FVF9JUF9B TElHTikgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZuZXRkZXYtPnhlbmRldiwgMCwgInBhY2tl dCB0b28gYmlnICglbHUgPiAlbGQpIiwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54 ZW5kZXYsIDAsICJwYWNrZXQgdG9vIGJpZyAoJWx1ID4gJWxkKSIsCiAgICAgICAgICAgICAgICAg ICAgICAgKHVuc2lnbmVkIGxvbmcpc2l6ZSwgWENfUEFHRV9TSVpFIC0gTkVUX0lQX0FMSUdOKTsK ICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTI1NSw3ICsyNTUsNyBAQCBzdGF0aWMgc3Np emVfdCBuZXRfcnhfcGFja2V0KE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVm LCBzaXplX3Qgc2l6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXRkZXYt PnhlbmRldi5kb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4cmVxLmdy ZWYsIFBST1RfV1JJVEUpOwogICAgIGlmIChwYWdlID09IE5VTEwpIHsKLSAgICAgICAgeGVuX2Jl X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAsICJlcnJvcjogcnggZ3JlZiBkZXJlZmVyZW5jZSBm YWlsZWQgKCVkKVxuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmbmV0ZGV2LT54ZW5kZXYsIDAs ICJlcnJvcjogcnggZ3JlZiBkZXJlZmVyZW5jZSBmYWlsZWQgKCVkKVxuIiwKICAgICAgICAgICAg ICAgICAgICAgICByeHJlcS5ncmVmKTsKICAgICAgICAgbmV0X3J4X3Jlc3BvbnNlKG5ldGRldiwg JnJ4cmVxLCBORVRJRl9SU1BfRVJST1IsIDAsIDAsIDApOwogICAgICAgICByZXR1cm4gLTE7CkBA IC0zMjksNyArMzI5LDcgQEAgc3RhdGljIGludCBuZXRfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNl ICp4ZW5kZXYpCiAgICAgICAgIHJ4X2NvcHkgPSAwOwogICAgIH0KICAgICBpZiAocnhfY29weSA9 PSAwKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAwLCAiZnJvbnRl bmQgZG9lc24ndCBzdXBwb3J0IHJ4LWNvcHkuXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zigm bmV0ZGV2LT54ZW5kZXYsIDAsICJmcm9udGVuZCBkb2Vzbid0IHN1cHBvcnQgcngtY29weS5cbiIp OwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC0zNTQsNyArMzU0LDcgQEAgc3RhdGlj IGludCBuZXRfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAKICAgICB4ZW5fYmVf YmluZF9ldnRjaG4oJm5ldGRldi0+eGVuZGV2KTsKIAotICAgIHhlbl9iZV9wcmludGYoJm5ldGRl di0+eGVuZGV2LCAxLCAib2s6IHR4LXJpbmctcmVmICVkLCByeC1yaW5nLXJlZiAlZCwgIgorICAg IHhlbl9wdl9wcmludGYoJm5ldGRldi0+eGVuZGV2LCAxLCAib2s6IHR4LXJpbmctcmVmICVkLCBy eC1yaW5nLXJlZiAlZCwgIgogICAgICAgICAgICAgICAgICAgInJlbW90ZSBwb3J0ICVkLCBsb2Nh bCBwb3J0ICVkXG4iLAogICAgICAgICAgICAgICAgICAgbmV0ZGV2LT50eF9yaW5nX3JlZiwgbmV0 ZGV2LT5yeF9yaW5nX3JlZiwKICAgICAgICAgICAgICAgICAgIG5ldGRldi0+eGVuZGV2LnJlbW90 ZV9wb3J0LCBuZXRkZXYtPnhlbmRldi5sb2NhbF9wb3J0KTsKZGlmZiAtLWdpdCBhL2h3L3VzYi94 ZW4tdXNiLmMgYi9ody91c2IveGVuLXVzYi5jCmluZGV4IDBmZDM0YzYuLmJjZjVjMmUgMTAwNjQ0 Ci0tLSBhL2h3L3VzYi94ZW4tdXNiLmMKKysrIGIvaHcvdXNiL3hlbi11c2IuYwpAQCAtNDcsNyAr NDcsNyBAQAogICAgICAgICBzdHJ1Y3QgdGltZXZhbCB0djsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgZ2V0dGltZW9mZGF5 KCZ0diwgTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg ICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgbHZsLCAiJThsZC4lMDZsZCB4ZW4tdXNiKCVzKToiIGZt dCwgICBcCisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCBsdmwsICIlOGxkLiUwNmxkIHhl bi11c2IoJXMpOiIgZm10LCAgIFwKICAgICAgICAgICAgICAgICAgICAgICB0di50dl9zZWMsIHR2 LnR2X3VzZWMsIF9fZnVuY19fLCAjI2FyZ3MpOyAgICAgXAogICAgIH0KICNkZWZpbmUgVFJfQlVT KHhlbmRldiwgZm10LCBhcmdzLi4uKSBUUih4ZW5kZXYsIDIsIGZtdCwgIyNhcmdzKQpAQCAtMTUx LDcgKzE1MSw3IEBAIHN0YXRpYyBpbnQgdXNiYmFja19nbnR0YWJfbWFwKHN0cnVjdCB1c2JiYWNr X3JlcSAqdXNiYmFja19yZXEpCiAgICAgfQogCiAgICAgaWYgKG5yX3NlZ3MgPiBVU0JJRl9NQVhf U0VHTUVOVFNfUEVSX1JFUVVFU1QpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAs ICJiYWQgbnVtYmVyIG9mIHNlZ21lbnRzIGluIHJlcXVlc3QgKCVkKVxuIiwKKyAgICAgICAgeGVu X3B2X3ByaW50Zih4ZW5kZXYsIDAsICJiYWQgbnVtYmVyIG9mIHNlZ21lbnRzIGluIHJlcXVlc3Qg KCVkKVxuIiwKICAgICAgICAgICAgICAgICAgICAgICBucl9zZWdzKTsKICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CiAgICAgfQpAQCAtMTU5LDcgKzE1OSw3IEBAIHN0YXRpYyBpbnQgdXNiYmFja19n bnR0YWJfbWFwKHN0cnVjdCB1c2JiYWNrX3JlcSAqdXNiYmFja19yZXEpCiAgICAgZm9yIChpID0g MDsgaSA8IG5yX3NlZ3M7IGkrKykgewogICAgICAgICBpZiAoKHVuc2lnbmVkKXVzYmJhY2tfcmVx LT5yZXEuc2VnW2ldLm9mZnNldCArCiAgICAgICAgICAgICAodW5zaWduZWQpdXNiYmFja19yZXEt PnJlcS5zZWdbaV0ubGVuZ3RoID4gUEFHRV9TSVpFKSB7Ci0gICAgICAgICAgICB4ZW5fYmVfcHJp bnRmKHhlbmRldiwgMCwgInNlZ21lbnQgY3Jvc3NlcyBwYWdlIGJvdW5kYXJ5XG4iKTsKKyAgICAg ICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAic2VnbWVudCBjcm9zc2VzIHBhZ2UgYm91 bmRhcnlcbiIpOwogICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgICAgIH0KICAgICB9 CkBAIC0xOTcsNyArMTk3LDcgQEAgc3RhdGljIGludCB1c2JiYWNrX2dudHRhYl9tYXAoc3RydWN0 IHVzYmJhY2tfcmVxICp1c2JiYWNrX3JlcSkKICAgICAgKi8KIAogICAgIGlmICghdXNiYmFja19y ZXEtPm5yX2V4dHJhX3NlZ3MpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJp c28gcmVxdWVzdCB3aXRob3V0IGRlc2NyaXB0b3Igc2VnbWVudHNcbiIpOworICAgICAgICB4ZW5f cHZfcHJpbnRmKHhlbmRldiwgMCwgImlzbyByZXF1ZXN0IHdpdGhvdXQgZGVzY3JpcHRvciBzZWdt ZW50c1xuIik7CiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIApAQCAtNTQ4LDE0ICs1 NDgsMTQgQEAgc3RhdGljIHZvaWQgdXNiYmFja19kaXNwYXRjaChzdHJ1Y3QgdXNiYmFja19yZXEg KnVzYmJhY2tfcmVxKQogCiAgICAgcmV0ID0gdXNiYmFja19pbml0X3BhY2tldCh1c2JiYWNrX3Jl cSk7CiAgICAgaWYgKHJldCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2 LCAwLCAiaW52YWxpZCByZXF1ZXN0XG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmdXNiaWYt PnhlbmRldiwgMCwgImludmFsaWQgcmVxdWVzdFxuIik7CiAgICAgICAgIHJldCA9IC1FU0hVVERP V047CiAgICAgICAgIGdvdG8gZmFpbF9mcmVlX3VyYjsKICAgICB9CiAKICAgICByZXQgPSB1c2Ji YWNrX2dudHRhYl9tYXAodXNiYmFja19yZXEpOwogICAgIGlmIChyZXQpIHsKLSAgICAgICAgeGVu X2JlX3ByaW50ZigmdXNiaWYtPnhlbmRldiwgMCwgImludmFsaWQgYnVmZmVyLCByZXQ9JWRcbiIs IHJldCk7CisgICAgICAgIHhlbl9wdl9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJpbnZhbGlk IGJ1ZmZlciwgcmV0PSVkXG4iLCByZXQpOwogICAgICAgICByZXQgPSAtRVNIVVRET1dOOwogICAg ICAgICBnb3RvIGZhaWxfZnJlZV91cmI7CiAgICAgfQpAQCAtNjQzLDcgKzY0Myw3IEBAIHN0YXRp YyB2b2lkIHVzYmJhY2tfYmgodm9pZCAqb3BhcXVlKQogCiAgICAgaWYgKFJJTkdfUkVRVUVTVF9Q Uk9EX09WRVJGTE9XKHVyYl9yaW5nLCBycCkpIHsKICAgICAgICAgcmMgPSB1cmJfcmluZy0+cnNw X3Byb2RfcHZ0OwotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAiZG9t VSBwcm92aWRlZCBib2d1cyByaW5nIHJlcXVlc3RzICIKKyAgICAgICAgeGVuX3B2X3ByaW50Zigm dXNiaWYtPnhlbmRldiwgMCwgImRvbVUgcHJvdmlkZWQgYm9ndXMgcmluZyByZXF1ZXN0cyAiCiAg ICAgICAgICAgICAgICAgICAgICAgIiglI3ggLSAlI3ggPSAldSkuIEhhbHRpbmcgcmluZyBwcm9j ZXNzaW5nLlxuIiwKICAgICAgICAgICAgICAgICAgICAgICBycCwgcmMsIHJwIC0gcmMpOwogICAg ICAgICB1c2JpZi0+cmluZ19lcnJvciA9IHRydWU7CkBAIC03MTYsNyArNzE2LDcgQEAgc3RhdGlj IHZvaWQgdXNiYmFja19wb3J0aWRfYWRkKHN0cnVjdCB1c2JiYWNrX2luZm8gKnVzYmlmLCB1bnNp Z25lZCBwb3J0LAogCiAgICAgcG9ydG5hbWUgPSBzdHJjaHIoYnVzaWQsICctJyk7CiAgICAgaWYg KCFwb3J0bmFtZSkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAi ZGV2aWNlICVzIGlsbGVnYWwgc3BlY2lmaWNhdGlvblxuIiwKKyAgICAgICAgeGVuX3B2X3ByaW50 ZigmdXNiaWYtPnhlbmRldiwgMCwgImRldmljZSAlcyBpbGxlZ2FsIHNwZWNpZmljYXRpb25cbiIs CiAgICAgICAgICAgICAgICAgICAgICAgYnVzaWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQpA QCAtNzU1LDcgKzc1NSw3IEBAIHN0YXRpYyB2b2lkIHVzYmJhY2tfcG9ydGlkX2FkZChzdHJ1Y3Qg dXNiYmFja19pbmZvICp1c2JpZiwgdW5zaWduZWQgcG9ydCwKICAgICAgICAgYnJlYWs7CiAgICAg fQogICAgIGlmIChzcGVlZCA9PSBVU0JJRl9TUEVFRF9OT05FKSB7Ci0gICAgICAgIHhlbl9iZV9w cmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJkZXZpY2UgJXMgd3Jvbmcgc3BlZWRcbiIsIGJ1c2lk KTsKKyAgICAgICAgeGVuX3B2X3ByaW50ZigmdXNiaWYtPnhlbmRldiwgMCwgImRldmljZSAlcyB3 cm9uZyBzcGVlZFxuIiwgYnVzaWQpOwogICAgICAgICBvYmplY3RfdW5wYXJlbnQoT0JKRUNUKHVz YmlmLT5wb3J0c1twb3J0IC0gMV0uZGV2KSk7CiAgICAgICAgIHVzYmlmLT5wb3J0c1twb3J0IC0g MV0uZGV2ID0gTlVMTDsKICAgICAgICAgcmV0dXJuOwpAQCAtNzcyLDcgKzc3Miw3IEBAIHN0YXRp YyB2b2lkIHVzYmJhY2tfcG9ydGlkX2FkZChzdHJ1Y3QgdXNiYmFja19pbmZvICp1c2JpZiwgdW5z aWduZWQgcG9ydCwKIGVycjoKICAgICBRREVDUkVGKHFkaWN0KTsKICAgICBzbnByaW50ZihwLT5w YXRoLCBzaXplb2YocC0+cGF0aCksICIlZCIsIDk5KTsKLSAgICB4ZW5fYmVfcHJpbnRmKCZ1c2Jp Zi0+eGVuZGV2LCAwLCAiZGV2aWNlICVzIGNvdWxkIG5vdCBiZSBvcGVuZWRcbiIsIGJ1c2lkKTsK KyAgICB4ZW5fcHZfcHJpbnRmKCZ1c2JpZi0+eGVuZGV2LCAwLCAiZGV2aWNlICVzIGNvdWxkIG5v dCBiZSBvcGVuZWRcbiIsIGJ1c2lkKTsKIH0KIAogc3RhdGljIHZvaWQgdXNiYmFja19wcm9jZXNz X3BvcnQoc3RydWN0IHVzYmJhY2tfaW5mbyAqdXNiaWYsIHVuc2lnbmVkIHBvcnQpCkBAIC03ODMs NyArNzgzLDcgQEAgc3RhdGljIHZvaWQgdXNiYmFja19wcm9jZXNzX3BvcnQoc3RydWN0IHVzYmJh Y2tfaW5mbyAqdXNiaWYsIHVuc2lnbmVkIHBvcnQpCiAgICAgc25wcmludGYobm9kZSwgc2l6ZW9m KG5vZGUpLCAicG9ydC8lZCIsIHBvcnQpOwogICAgIGJ1c2lkID0geGVuc3RvcmVfcmVhZF9iZV9z dHIoJnVzYmlmLT54ZW5kZXYsIG5vZGUpOwogICAgIGlmIChidXNpZCA9PSBOVUxMKSB7Ci0gICAg ICAgIHhlbl9iZV9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAsICJ4ZW5zdG9yZV9yZWFkICVzIGZh aWxlZFxuIiwgbm9kZSk7CisgICAgICAgIHhlbl9wdl9wcmludGYoJnVzYmlmLT54ZW5kZXYsIDAs ICJ4ZW5zdG9yZV9yZWFkICVzIGZhaWxlZFxuIiwgbm9kZSk7CiAgICAgICAgIHJldHVybjsKICAg ICB9CiAKQEAgLTg0NCwxNSArODQ0LDE1IEBAIHN0YXRpYyBpbnQgdXNiYmFja19jb25uZWN0KHN0 cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICB1c2JpZiA9IGNvbnRhaW5lcl9vZih4ZW5kZXYs IHN0cnVjdCB1c2JiYWNrX2luZm8sIHhlbmRldik7CiAKICAgICBpZiAoeGVuc3RvcmVfcmVhZF9m ZV9pbnQoeGVuZGV2LCAidXJiLXJpbmctcmVmIiwgJnVyYl9yaW5nX3JlZikpIHsKLSAgICAgICAg eGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvciByZWFkaW5nIHVyYi1yaW5nLXJlZlxuIik7 CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAiZXJyb3IgcmVhZGluZyB1cmItcmlu Zy1yZWZcbiIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGlmICh4ZW5zdG9yZV9y ZWFkX2ZlX2ludCh4ZW5kZXYsICJjb25uLXJpbmctcmVmIiwgJmNvbm5fcmluZ19yZWYpKSB7Ci0g ICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAwLCAiZXJyb3IgcmVhZGluZyBjb25uLXJpbmct cmVmXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvciByZWFkaW5n IGNvbm4tcmluZy1yZWZcbiIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGlmICh4 ZW5zdG9yZV9yZWFkX2ZlX2ludCh4ZW5kZXYsICJldmVudC1jaGFubmVsIiwgJnhlbmRldi0+cmVt b3RlX3BvcnQpKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAwLCAiZXJyb3IgcmVh ZGluZyBldmVudC1jaGFubmVsXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAs ICJlcnJvciByZWFkaW5nIGV2ZW50LWNoYW5uZWxcbiIpOwogICAgICAgICByZXR1cm4gLTE7CiAg ICAgfQogCkBAIC04NjMsNyArODYzLDcgQEAgc3RhdGljIGludCB1c2JiYWNrX2Nvbm5lY3Qoc3Ry dWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29ubl9yaW5nX3JlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOwogICAgIGlmICgh dXNiaWYtPnVyYl9zcmluZyB8fCAhdXNiaWYtPmNvbm5fc3JpbmcpIHsKLSAgICAgICAgeGVuX2Jl X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvciBtYXBwaW5nIHJpbmdzXG4iKTsKKyAgICAgICAgeGVu X3B2X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvciBtYXBwaW5nIHJpbmdzXG4iKTsKICAgICAgICAg dXNiYmFja19kaXNjb25uZWN0KHhlbmRldik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CkBA IC04NzUsNyArODc1LDcgQEAgc3RhdGljIGludCB1c2JiYWNrX2Nvbm5lY3Qoc3RydWN0IFhlbkRl dmljZSAqeGVuZGV2KQogCiAgICAgeGVuX2JlX2JpbmRfZXZ0Y2huKHhlbmRldik7CiAKLSAgICB4 ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwgInVyYi1yaW5nLXJlZiAlZCwgY29ubi1yaW5nLXJlZiAl ZCwgIgorICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAidXJiLXJpbmctcmVmICVkLCBjb25u LXJpbmctcmVmICVkLCAiCiAgICAgICAgICAgICAgICAgICAicmVtb3RlIHBvcnQgJWQsIGxvY2Fs IHBvcnQgJWRcbiIsIHVyYl9yaW5nX3JlZiwKICAgICAgICAgICAgICAgICAgIGNvbm5fcmluZ19y ZWYsIHhlbmRldi0+cmVtb3RlX3BvcnQsIHhlbmRldi0+bG9jYWxfcG9ydCk7CiAKQEAgLTkxMSwx MiArOTExLDEyIEBAIHN0YXRpYyBpbnQgdXNiYmFja19pbml0KHN0cnVjdCBYZW5EZXZpY2UgKnhl bmRldikKIAogICAgIGlmICh4ZW5zdG9yZV9yZWFkX2JlX2ludCh4ZW5kZXYsICJudW0tcG9ydHMi LCAmdXNiaWYtPm51bV9wb3J0cykgfHwKICAgICAgICAgdXNiaWYtPm51bV9wb3J0cyA8IDEgfHwg dXNiaWYtPm51bV9wb3J0cyA+IFVTQkJBQ0tfTUFYUE9SVFMpIHsKLSAgICAgICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDAsICJudW0tcG9ydHMgbm90IHJlYWRhYmxlIG9yIG91dCBvZiBib3VuZHNc biIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgIm51bS1wb3J0cyBub3QgcmVh ZGFibGUgb3Igb3V0IG9mIGJvdW5kc1xuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAg ICAgaWYgKHhlbnN0b3JlX3JlYWRfYmVfaW50KHhlbmRldiwgInVzYi12ZXIiLCAmdXNiaWYtPnVz Yl92ZXIpIHx8CiAgICAgICAgICh1c2JpZi0+dXNiX3ZlciAhPSBVU0JfVkVSX1VTQjExICYmIHVz YmlmLT51c2JfdmVyICE9IFVTQl9WRVJfVVNCMjApKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYo eGVuZGV2LCAwLCAidXNiLXZlciBub3QgcmVhZGFibGUgb3Igb3V0IG9mIGJvdW5kc1xuIik7Cisg ICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAidXNiLXZlciBub3QgcmVhZGFibGUgb3Ig b3V0IG9mIGJvdW5kc1xuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTk5OCw3 ICs5OTgsNyBAQCBzdGF0aWMgdm9pZCB1c2JiYWNrX2FsbG9jKHN0cnVjdCBYZW5EZXZpY2UgKnhl bmRldikKICAgICAvKiBtYXhfZ3JhbnRzOiBmb3IgZWFjaCByZXF1ZXN0IGFuZCBmb3IgdGhlIHJp bmdzIChyZXF1ZXN0IGFuZCBjb25uZWN0KS4gKi8KICAgICBtYXhfZ3JhbnRzID0gVVNCSUZfTUFY X1NFR01FTlRTX1BFUl9SRVFVRVNUICogVVNCX1VSQl9SSU5HX1NJWkUgKyAyOwogICAgIGlmICh4 ZW5nbnR0YWJfc2V0X21heF9ncmFudHMoeGVuZGV2LT5nbnR0YWJkZXYsIG1heF9ncmFudHMpIDwg MCkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgInhlbmdudHRhYl9zZXRfbWF4 X2dyYW50cyBmYWlsZWQ6ICVzXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwg InhlbmdudHRhYl9zZXRfbWF4X2dyYW50cyBmYWlsZWQ6ICVzXG4iLAogICAgICAgICAgICAgICAg ICAgICAgIHN0cmVycm9yKGVycm5vKSk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvaHcveGVuL3hl bl9iYWNrZW5kLmMgYi9ody94ZW4veGVuX2JhY2tlbmQuYwppbmRleCAyZjdmMWE2Li40NmUxOTQ0 IDEwMDY0NAotLS0gYS9ody94ZW4veGVuX2JhY2tlbmQuYworKysgYi9ody94ZW4veGVuX2JhY2tl bmQuYwpAQCAtODcsMTMgKzg3LDEzIEBAIGludCB4ZW5zdG9yZV9ta2RpcihjaGFyICpwYXRoLCBp bnQgcCkKICAgICB9OwogCiAgICAgaWYgKCF4c19ta2Rpcih4ZW5zdG9yZSwgMCwgcGF0aCkpIHsK LSAgICAgICAgeGVuX2JlX3ByaW50ZihOVUxMLCAwLCAieHNfbWtkaXIgJXM6IGZhaWxlZFxuIiwg cGF0aCk7CisgICAgICAgIHhlbl9wdl9wcmludGYoTlVMTCwgMCwgInhzX21rZGlyICVzOiBmYWls ZWRcbiIsIHBhdGgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHhlbnN0b3JlX2Ns ZWFudXBfZGlyKGdfc3RyZHVwKHBhdGgpKTsKIAogICAgIGlmICgheHNfc2V0X3Blcm1pc3Npb25z KHhlbnN0b3JlLCAwLCBwYXRoLCBwZXJtcywgMikpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZihO VUxMLCAwLCAieHNfc2V0X3Blcm1pc3Npb25zICVzOiBmYWlsZWRcbiIsIHBhdGgpOworICAgICAg ICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDAsICJ4c19zZXRfcGVybWlzc2lvbnMgJXM6IGZhaWxlZFxu IiwgcGF0aCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgcmV0dXJuIDA7CkBAIC0x MzQsNyArMTM0LDcgQEAgaW50IHhlbl9iZV9zZXRfc3RhdGUoc3RydWN0IFhlbkRldmljZSAqeGVu ZGV2LCBlbnVtIHhlbmJ1c19zdGF0ZSBzdGF0ZSkKICAgICBpZiAocmMgPCAwKSB7CiAgICAgICAg IHJldHVybiByYzsKICAgICB9Ci0gICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDEsICJiYWNrZW5k IHN0YXRlOiAlcyAtPiAlc1xuIiwKKyAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwgImJhY2tl bmQgc3RhdGU6ICVzIC0+ICVzXG4iLAogICAgICAgICAgICAgICAgICAgeGVuYnVzX3N0cnN0YXRl KHhlbmRldi0+YmVfc3RhdGUpLCB4ZW5idXNfc3Ryc3RhdGUoc3RhdGUpKTsKICAgICB4ZW5kZXYt PmJlX3N0YXRlID0gc3RhdGU7CiAgICAgcmV0dXJuIDA7CkBAIC0xNzAsNyArMTcwLDcgQEAgc3Rh dGljIHN0cnVjdCBYZW5EZXZpY2UgKnhlbl9iZV9nZXRfeGVuZGV2KGNvbnN0IGNoYXIgKnR5cGUs IGludCBkb20sIGludCBkZXYsCiAKICAgICB4ZW5kZXYtPmV2dGNobmRldiA9IHhlbmV2dGNobl9v cGVuKE5VTEwsIDApOwogICAgIGlmICh4ZW5kZXYtPmV2dGNobmRldiA9PSBOVUxMKSB7Ci0gICAg ICAgIHhlbl9iZV9wcmludGYoTlVMTCwgMCwgImNhbid0IG9wZW4gZXZ0Y2huIGRldmljZVxuIik7 CisgICAgICAgIHhlbl9wdl9wcmludGYoTlVMTCwgMCwgImNhbid0IG9wZW4gZXZ0Y2huIGRldmlj ZVxuIik7CiAgICAgICAgIGdfZnJlZSh4ZW5kZXYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAg ICB9CkBAIC0xNzksNyArMTc5LDcgQEAgc3RhdGljIHN0cnVjdCBYZW5EZXZpY2UgKnhlbl9iZV9n ZXRfeGVuZGV2KGNvbnN0IGNoYXIgKnR5cGUsIGludCBkb20sIGludCBkZXYsCiAgICAgaWYgKG9w cy0+ZmxhZ3MgJiBERVZPUFNfRkxBR19ORUVEX0dOVERFVikgewogICAgICAgICB4ZW5kZXYtPmdu dHRhYmRldiA9IHhlbmdudHRhYl9vcGVuKE5VTEwsIDApOwogICAgICAgICBpZiAoeGVuZGV2LT5n bnR0YWJkZXYgPT0gTlVMTCkgewotICAgICAgICAgICAgeGVuX2JlX3ByaW50ZihOVUxMLCAwLCAi Y2FuJ3Qgb3BlbiBnbnR0YWIgZGV2aWNlXG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYo TlVMTCwgMCwgImNhbid0IG9wZW4gZ250dGFiIGRldmljZVxuIik7CiAgICAgICAgICAgICB4ZW5l dnRjaG5fY2xvc2UoeGVuZGV2LT5ldnRjaG5kZXYpOwogICAgICAgICAgICAgZ19mcmVlKHhlbmRl dik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTIxMiw3ICsyMTIsNyBAQCBzdGF0aWMg dm9pZCB4ZW5fYmVfYmFja2VuZF9jaGFuZ2VkKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldiwgY29u c3QgY2hhciAqbm9kZSkKICAgICB9CiAKICAgICBpZiAobm9kZSkgewotICAgICAgICB4ZW5fYmVf cHJpbnRmKHhlbmRldiwgMiwgImJhY2tlbmQgdXBkYXRlOiAlc1xuIiwgbm9kZSk7CisgICAgICAg IHhlbl9wdl9wcmludGYoeGVuZGV2LCAyLCAiYmFja2VuZCB1cGRhdGU6ICVzXG4iLCBub2RlKTsK ICAgICAgICAgaWYgKHhlbmRldi0+b3BzLT5iYWNrZW5kX2NoYW5nZWQpIHsKICAgICAgICAgICAg IHhlbmRldi0+b3BzLT5iYWNrZW5kX2NoYW5nZWQoeGVuZGV2LCBub2RlKTsKICAgICAgICAgfQpA QCAtMjM2LDI2ICsyMzYsMjYgQEAgc3RhdGljIGludCB4ZW5fYmVfdHJ5X3NldHVwKHN0cnVjdCBY ZW5EZXZpY2UgKnhlbmRldikKICAgICBpbnQgYmVfc3RhdGU7CiAKICAgICBpZiAoeGVuc3RvcmVf cmVhZF9iZV9pbnQoeGVuZGV2LCAic3RhdGUiLCAmYmVfc3RhdGUpID09IC0xKSB7Ci0gICAgICAg IHhlbl9iZV9wcmludGYoeGVuZGV2LCAwLCAicmVhZGluZyBiYWNrZW5kIHN0YXRlIGZhaWxlZFxu Iik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAicmVhZGluZyBiYWNrZW5kIHN0 YXRlIGZhaWxlZFxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKICAgICBpZiAoYmVf c3RhdGUgIT0gWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50 Zih4ZW5kZXYsIDAsICJpbml0aWFsIGJhY2tlbmQgc3RhdGUgaXMgd3JvbmcgKCVzKVxuIiwKKyAg ICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJpbml0aWFsIGJhY2tlbmQgc3RhdGUgaXMg d3JvbmcgKCVzKVxuIiwKICAgICAgICAgICAgICAgICAgICAgICB4ZW5idXNfc3Ryc3RhdGUoYmVf c3RhdGUpKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAogICAgIHhlbmRldi0+ZmUgPSB4 ZW5zdG9yZV9yZWFkX2JlX3N0cih4ZW5kZXYsICJmcm9udGVuZCIpOwogICAgIGlmICh4ZW5kZXYt PmZlID09IE5VTEwpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDAsICJyZWFkaW5n IGZyb250ZW5kIHBhdGggZmFpbGVkXG4iKTsKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYs IDAsICJyZWFkaW5nIGZyb250ZW5kIHBhdGggZmFpbGVkXG4iKTsKICAgICAgICAgcmV0dXJuIC0x OwogICAgIH0KIAogICAgIC8qIHNldHVwIGZyb250ZW5kIHdhdGNoICovCiAgICAgc25wcmludGYo dG9rZW4sIHNpemVvZih0b2tlbiksICJmZTolcCIsIHhlbmRldik7CiAgICAgaWYgKCF4c193YXRj aCh4ZW5zdG9yZSwgeGVuZGV2LT5mZSwgdG9rZW4pKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYo eGVuZGV2LCAwLCAid2F0Y2hpbmcgZnJvbnRlbmQgcGF0aCAoJXMpIGZhaWxlZFxuIiwKKyAgICAg ICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJ3YXRjaGluZyBmcm9udGVuZCBwYXRoICglcykg ZmFpbGVkXG4iLAogICAgICAgICAgICAgICAgICAgICAgIHhlbmRldi0+ZmUpOwogICAgICAgICBy ZXR1cm4gLTE7CiAgICAgfQpAQCAtMjc5LDcgKzI3OSw3IEBAIHN0YXRpYyBpbnQgeGVuX2JlX3Ry eV9pbml0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICBpbnQgcmMgPSAwOwogCiAgICAg aWYgKCF4ZW5kZXYtPm9ubGluZSkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwg Im5vdCBvbmxpbmVcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwgIm5vdCBv bmxpbmVcbiIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC0yODcsNyArMjg3LDcg QEAgc3RhdGljIGludCB4ZW5fYmVfdHJ5X2luaXQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQog ICAgICAgICByYyA9IHhlbmRldi0+b3BzLT5pbml0KHhlbmRldik7CiAgICAgfQogICAgIGlmIChy YyAhPSAwKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAxLCAiaW5pdCgpIGZhaWxl ZFxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAiaW5pdCgpIGZhaWxlZFxu Iik7CiAgICAgICAgIHJldHVybiByYzsKICAgICB9CiAKQEAgLTMxMCw5ICszMTAsOSBAQCBzdGF0 aWMgaW50IHhlbl9iZV90cnlfaW5pdGlhbGlzZShzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAg ICAgaWYgKHhlbmRldi0+ZmVfc3RhdGUgIT0gWGVuYnVzU3RhdGVJbml0aWFsaXNlZCAgJiYKICAg ICAgICAgeGVuZGV2LT5mZV9zdGF0ZSAhPSBYZW5idXNTdGF0ZUNvbm5lY3RlZCkgewogICAgICAg ICBpZiAoeGVuZGV2LT5vcHMtPmZsYWdzICYgREVWT1BTX0ZMQUdfSUdOT1JFX1NUQVRFKSB7Ci0g ICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMiwgImZyb250ZW5kIG5vdCByZWFkeSwg aWdub3JpbmdcbiIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJmcm9u dGVuZCBub3QgcmVhZHksIGlnbm9yaW5nXG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg ICAgIHhlbl9iZV9wcmludGYoeGVuZGV2LCAyLCAiZnJvbnRlbmQgbm90IHJlYWR5ICh5ZXQpXG4i KTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAyLCAiZnJvbnRlbmQgbm90IHJl YWR5ICh5ZXQpXG4iKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgIH0K QEAgLTMyMSw3ICszMjEsNyBAQCBzdGF0aWMgaW50IHhlbl9iZV90cnlfaW5pdGlhbGlzZShzdHJ1 Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAgICAgIHJjID0geGVuZGV2LT5vcHMtPmluaXRpYWxp c2UoeGVuZGV2KTsKICAgICB9CiAgICAgaWYgKHJjICE9IDApIHsKLSAgICAgICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDAsICJpbml0aWFsaXNlKCkgZmFpbGVkXG4iKTsKKyAgICAgICAgeGVuX3B2 X3ByaW50Zih4ZW5kZXYsIDAsICJpbml0aWFsaXNlKCkgZmFpbGVkXG4iKTsKICAgICAgICAgcmV0 dXJuIHJjOwogICAgIH0KIApAQCAtMzQyLDkgKzM0Miw5IEBAIHN0YXRpYyB2b2lkIHhlbl9iZV90 cnlfY29ubmVjdGVkKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKIAogICAgIGlmICh4ZW5kZXYt PmZlX3N0YXRlICE9IFhlbmJ1c1N0YXRlQ29ubmVjdGVkKSB7CiAgICAgICAgIGlmICh4ZW5kZXYt Pm9wcy0+ZmxhZ3MgJiBERVZPUFNfRkxBR19JR05PUkVfU1RBVEUpIHsKLSAgICAgICAgICAgIHhl bl9iZV9wcmludGYoeGVuZGV2LCAyLCAiZnJvbnRlbmQgbm90IHJlYWR5LCBpZ25vcmluZ1xuIik7 CisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMiwgImZyb250ZW5kIG5vdCByZWFk eSwgaWdub3JpbmdcbiIpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgeGVuX2JlX3By aW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCBub3QgcmVhZHkgKHlldClcbiIpOworICAgICAgICAg ICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJmcm9udGVuZCBub3QgcmVhZHkgKHlldClcbiIp OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtMzc4LDcgKzM3OCw3 IEBAIHN0YXRpYyBpbnQgeGVuX2JlX3RyeV9yZXNldChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYp CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwg MSwgImRldmljZSByZXNldCAoZm9yIHJlLWNvbm5lY3QpXG4iKTsKKyAgICB4ZW5fcHZfcHJpbnRm KHhlbmRldiwgMSwgImRldmljZSByZXNldCAoZm9yIHJlLWNvbm5lY3QpXG4iKTsKICAgICB4ZW5f YmVfc2V0X3N0YXRlKHhlbmRldiwgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpOwogICAgIHJldHVy biAwOwogfQpAQCAtNDM5LDcgKzQzOSw3IEBAIHN0YXRpYyBpbnQgeGVuc3RvcmVfc2Nhbihjb25z dCBjaGFyICp0eXBlLCBpbnQgZG9tLCBzdHJ1Y3QgWGVuRGV2T3BzICpvcHMpCiAgICAgc25wcmlu dGYodG9rZW4sIHNpemVvZih0b2tlbiksICJiZTolcDolZDolcCIsIHR5cGUsIGRvbSwgb3BzKTsK ICAgICBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICJiYWNrZW5kLyVzLyVkIiwgdHlwZSwg ZG9tKTsKICAgICBpZiAoIXhzX3dhdGNoKHhlbnN0b3JlLCBwYXRoLCB0b2tlbikpIHsKLSAgICAg ICAgeGVuX2JlX3ByaW50ZihOVUxMLCAwLCAieGVuIGJlOiB3YXRjaGluZyBiYWNrZW5kIHBhdGgg KCVzKSBmYWlsZWRcbiIsIHBhdGgpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDAsICJ4 ZW4gYmU6IHdhdGNoaW5nIGJhY2tlbmQgcGF0aCAoJXMpIGZhaWxlZFxuIiwgcGF0aCk7CiAgICAg ICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTQ5OSw3ICs0OTksNyBAQCBpbnQgeGVuX2JlX2lu aXQodm9pZCkKIHsKICAgICB4ZW5zdG9yZSA9IHhzX2RhZW1vbl9vcGVuKCk7CiAgICAgaWYgKCF4 ZW5zdG9yZSkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKE5VTEwsIDAsICJjYW4ndCBjb25uZWN0 IHRvIHhlbnN0b3JlZFxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoTlVMTCwgMCwgImNhbid0 IGNvbm5lY3QgdG8geGVuc3RvcmVkXG4iKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApA QCAtNTUwLDEwICs1NTAsMTAgQEAgaW50IHhlbl9iZV9iaW5kX2V2dGNobihzdHJ1Y3QgWGVuRGV2 aWNlICp4ZW5kZXYpCiAgICAgeGVuZGV2LT5sb2NhbF9wb3J0ID0geGVuZXZ0Y2huX2JpbmRfaW50 ZXJkb21haW4KICAgICAgICAgKHhlbmRldi0+ZXZ0Y2huZGV2LCB4ZW5kZXYtPmRvbSwgeGVuZGV2 LT5yZW1vdGVfcG9ydCk7CiAgICAgaWYgKHhlbmRldi0+bG9jYWxfcG9ydCA9PSAtMSkgewotICAg ICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwgInhlbmV2dGNobl9iaW5kX2ludGVyZG9tYWlu IGZhaWxlZFxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAieGVuZXZ0Y2hu X2JpbmRfaW50ZXJkb21haW4gZmFpbGVkXG4iKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0K LSAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMiwgImJpbmQgZXZ0Y2huIHBvcnQgJWRcbiIsIHhl bmRldi0+bG9jYWxfcG9ydCk7CisgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDIsICJiaW5kIGV2 dGNobiBwb3J0ICVkXG4iLCB4ZW5kZXYtPmxvY2FsX3BvcnQpOwogICAgIHFlbXVfc2V0X2ZkX2hh bmRsZXIoeGVuZXZ0Y2huX2ZkKHhlbmRldi0+ZXZ0Y2huZGV2KSwKICAgICAgICAgICAgICAgICAg ICAgICAgIHhlbl9iZV9ldnRjaG5fZXZlbnQsIE5VTEwsIHhlbmRldik7CiAgICAgcmV0dXJuIDA7 CmRpZmYgLS1naXQgYS9ody94ZW4veGVuX2RldmNvbmZpZy5jIGIvaHcveGVuL3hlbl9kZXZjb25m aWcuYwppbmRleCBiN2QyOTBkLi5hODBlNzhjIDEwMDY0NAotLS0gYS9ody94ZW4veGVuX2RldmNv bmZpZy5jCisrKyBiL2h3L3hlbi94ZW5fZGV2Y29uZmlnLmMKQEAgLTU1LDcgKzU1LDcgQEAgaW50 IHhlbl9jb25maWdfZGV2X2JsayhEcml2ZUluZm8gKmRpc2spCiAgICAgY29uc3QgY2hhciAqZmls ZW5hbWUgPSBxZW11X29wdF9nZXQoZGlzay0+b3B0cywgImZpbGUiKTsKIAogICAgIHNucHJpbnRm KGRldmljZV9uYW1lLCBzaXplb2YoZGV2aWNlX25hbWUpLCAieHZkJWMiLCAnYScgKyBkaXNrLT51 bml0KTsKLSAgICB4ZW5fYmVfcHJpbnRmKE5VTEwsIDEsICJjb25maWcgZGlzayAlZCBbJXNdOiAl c1xuIiwKKyAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDEsICJjb25maWcgZGlzayAlZCBbJXNdOiAl c1xuIiwKICAgICAgICAgICAgICAgICAgIGRpc2stPnVuaXQsIGRldmljZV9uYW1lLCBmaWxlbmFt ZSk7CiAgICAgeGVuX2NvbmZpZ19kZXZfZGlycygidmJkIiwgInFkaXNrIiwgdmRldiwgZmUsIGJl LCBzaXplb2YoZmUpKTsKIApAQCAtODMsNyArODMsNyBAQCBpbnQgeGVuX2NvbmZpZ19kZXZfbmlj KE5JQ0luZm8gKm5pYykKICAgICBzbnByaW50ZihtYWMsIHNpemVvZihtYWMpLCAiJTAyeDolMDJ4 OiUwMng6JTAyeDolMDJ4OiUwMngiLAogICAgICAgICAgICAgIG5pYy0+bWFjYWRkci5hWzBdLCBu aWMtPm1hY2FkZHIuYVsxXSwgbmljLT5tYWNhZGRyLmFbMl0sCiAgICAgICAgICAgICAgbmljLT5t YWNhZGRyLmFbM10sIG5pYy0+bWFjYWRkci5hWzRdLCBuaWMtPm1hY2FkZHIuYVs1XSk7Ci0gICAg eGVuX2JlX3ByaW50ZihOVUxMLCAxLCAiY29uZmlnIG5pYyAlZDogbWFjPVwiJXNcIlxuIiwgdmxh bl9pZCwgbWFjKTsKKyAgICB4ZW5fcHZfcHJpbnRmKE5VTEwsIDEsICJjb25maWcgbmljICVkOiBt YWM9XCIlc1wiXG4iLCB2bGFuX2lkLCBtYWMpOwogICAgIHhlbl9jb25maWdfZGV2X2RpcnMoInZp ZiIsICJxbmljIiwgdmxhbl9pZCwgZmUsIGJlLCBzaXplb2YoZmUpKTsKIAogICAgIC8qIGZyb250 ZW5kICovCmRpZmYgLS1naXQgYS9ody94ZW4veGVuX2Zyb250ZW5kLmMgYi9ody94ZW4veGVuX2Zy b250ZW5kLmMKaW5kZXggNGUwMTE2OS4uNDc0Yzc0YSAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9m cm9udGVuZC5jCisrKyBiL2h3L3hlbi94ZW5fZnJvbnRlbmQuYwpAQCAtNDcsNyArNDcsNyBAQCB2 b2lkIHhlbl9iZV9mcm9udGVuZF9jaGFuZ2VkKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldiwgY29u c3QgY2hhciAqbm9kZSkKICAgICAgICAgICAgIGZlX3N0YXRlID0gWGVuYnVzU3RhdGVVbmtub3du OwogICAgICAgICB9CiAgICAgICAgIGlmICh4ZW5kZXYtPmZlX3N0YXRlICE9IGZlX3N0YXRlKSB7 Ci0gICAgICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMSwgImZyb250ZW5kIHN0YXRlOiAl cyAtPiAlc1xuIiwKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAiZnJvbnRl bmQgc3RhdGU6ICVzIC0+ICVzXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5idXNf c3Ryc3RhdGUoeGVuZGV2LT5mZV9zdGF0ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhl bmJ1c19zdHJzdGF0ZShmZV9zdGF0ZSkpOwogICAgICAgICB9CkBAIC01NywxMiArNTcsMTIgQEAg dm9pZCB4ZW5fYmVfZnJvbnRlbmRfY2hhbmdlZChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYsIGNv bnN0IGNoYXIgKm5vZGUpCiAgICAgICAgIGdfZnJlZSh4ZW5kZXYtPnByb3RvY29sKTsKICAgICAg ICAgeGVuZGV2LT5wcm90b2NvbCA9IHhlbnN0b3JlX3JlYWRfZmVfc3RyKHhlbmRldiwgInByb3Rv Y29sIik7CiAgICAgICAgIGlmICh4ZW5kZXYtPnByb3RvY29sKSB7Ci0gICAgICAgICAgICB4ZW5f YmVfcHJpbnRmKHhlbmRldiwgMSwgImZyb250ZW5kIHByb3RvY29sOiAlc1xuIiwgeGVuZGV2LT5w cm90b2NvbCk7CisgICAgICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwgImZyb250ZW5k IHByb3RvY29sOiAlc1xuIiwgeGVuZGV2LT5wcm90b2NvbCk7CiAgICAgICAgIH0KICAgICB9CiAK ICAgICBpZiAobm9kZSkgewotICAgICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMiwgImZyb250 ZW5kIHVwZGF0ZTogJXNcbiIsIG5vZGUpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwg MiwgImZyb250ZW5kIHVwZGF0ZTogJXNcbiIsIG5vZGUpOwogICAgICAgICBpZiAoeGVuZGV2LT5v cHMtPmZyb250ZW5kX2NoYW5nZWQpIHsKICAgICAgICAgICAgIHhlbmRldi0+b3BzLT5mcm9udGVu ZF9jaGFuZ2VkKHhlbmRldiwgbm9kZSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL2h3L3hlbi94 ZW5fcHZkZXYuYyBiL2h3L3hlbi94ZW5fcHZkZXYuYwppbmRleCAwNDJhZGViLi43Mzc1YjQzIDEw MDY0NAotLS0gYS9ody94ZW4veGVuX3B2ZGV2LmMKKysrIGIvaHcveGVuL3hlbl9wdmRldi5jCkBA IC0xNDIsNyArMTQyLDcgQEAgY29uc3QgY2hhciAqeGVuYnVzX3N0cnN0YXRlKGVudW0geGVuYnVz X3N0YXRlIHN0YXRlKQogICogIDIgPT0gbm9pc3kgZGVidWcgbWVzc2FnZXMgKGxvZ2ZpbGUgb25s eSkuCiAgKiAgMyA9PSB3aWxsIGZsb29kIHlvdXIgbG9nIChsb2dmaWxlIG9ubHkpLgogICovCi12 b2lkIHhlbl9iZV9wcmludGYoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCBpbnQgbXNnX2xldmVs LCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgeGVuX3B2X3ByaW50ZihzdHJ1Y3QgWGVuRGV2 aWNlICp4ZW5kZXYsIGludCBtc2dfbGV2ZWwsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogICAg IHZhX2xpc3QgYXJnczsKIApAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgeGVuX2JlX2V2dGNobl9l dmVudCh2b2lkICpvcGFxdWUpCiAKICAgICBwb3J0ID0geGVuZXZ0Y2huX3BlbmRpbmcoeGVuZGV2 LT5ldnRjaG5kZXYpOwogICAgIGlmIChwb3J0ICE9IHhlbmRldi0+bG9jYWxfcG9ydCkgewotICAg ICAgICB4ZW5fYmVfcHJpbnRmKHhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5k ZXYsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgInhlbmV2dGNobl9wZW5kaW5nIHJldHVybmVk ICVkIChleHBlY3RlZCAlZClcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgcG9ydCwgeGVuZGV2 LT5sb2NhbF9wb3J0KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjAwLDcgKzIwMCw3IEBAIHZvaWQg eGVuX2JlX3VuYmluZF9ldnRjaG4oc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIH0KICAg ICBxZW11X3NldF9mZF9oYW5kbGVyKHhlbmV2dGNobl9mZCh4ZW5kZXYtPmV2dGNobmRldiksIE5V TEwsIE5VTEwsIE5VTEwpOwogICAgIHhlbmV2dGNobl91bmJpbmQoeGVuZGV2LT5ldnRjaG5kZXYs IHhlbmRldi0+bG9jYWxfcG9ydCk7Ci0gICAgeGVuX2JlX3ByaW50Zih4ZW5kZXYsIDIsICJ1bmJp bmQgZXZ0Y2huIHBvcnQgJWRcbiIsIHhlbmRldi0+bG9jYWxfcG9ydCk7CisgICAgeGVuX3B2X3By aW50Zih4ZW5kZXYsIDIsICJ1bmJpbmQgZXZ0Y2huIHBvcnQgJWRcbiIsIHhlbmRldi0+bG9jYWxf cG9ydCk7CiAgICAgeGVuZGV2LT5sb2NhbF9wb3J0ID0gLTE7CiB9CiAKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvaHcveGVuL3hlbl9wdmRldi5oIGIvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmgKaW5k ZXggMjM0ZTExMS4uM2UyZGZkOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2 LmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmgKQEAgLTc0LDcgKzc0LDcgQEAgc3Ry dWN0IFhlbkRldmljZSAqeGVuX2JlX2ZpbmRfeGVuZGV2KGNvbnN0IGNoYXIgKnR5cGUsIGludCBk b20sIGludCBkZXYpOwogdm9pZCB4ZW5fYmVfdW5iaW5kX2V2dGNobihzdHJ1Y3QgWGVuRGV2aWNl ICp4ZW5kZXYpOwogaW50IHhlbl9iZV9zZW5kX25vdGlmeShzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5k ZXYpOwogCi12b2lkIHhlbl9iZV9wcmludGYoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2LCBpbnQg bXNnX2xldmVsLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgeGVuX3B2X3ByaW50ZihzdHJ1 Y3QgWGVuRGV2aWNlICp4ZW5kZXYsIGludCBtc2dfbGV2ZWwsIGNvbnN0IGNoYXIgKmZtdCwgLi4u KQogICAgIEdDQ19GTVRfQVRUUigzLCA0KTsKIAogI2VuZGlmIC8qIFFFTVVfSFdfWEVOX1BWREVW X0ggKi8KZGlmZiAtLWdpdCBhL3hlbi1jb21tb24uYyBiL3hlbi1jb21tb24uYwppbmRleCBlNjQx YWQxLi45MDk5NzYwIDEwMDY0NAotLS0gYS94ZW4tY29tbW9uLmMKKysrIGIveGVuLWNvbW1vbi5j CkBAIC0xMTYsMTIgKzExNiwxMiBAQCBzdGF0aWMgaW50IHhlbl9pbml0KE1hY2hpbmVTdGF0ZSAq bXMpCiB7CiAgICAgeGVuX3hjID0geGNfaW50ZXJmYWNlX29wZW4oMCwgMCwgMCk7CiAgICAgaWYg KHhlbl94YyA9PSBOVUxMKSB7Ci0gICAgICAgIHhlbl9iZV9wcmludGYoTlVMTCwgMCwgImNhbid0 IG9wZW4geGVuIGludGVyZmFjZVxuIik7CisgICAgICAgIHhlbl9wdl9wcmludGYoTlVMTCwgMCwg ImNhbid0IG9wZW4geGVuIGludGVyZmFjZVxuIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9 CiAgICAgeGVuX2ZtZW0gPSB4ZW5mb3JlaWdubWVtb3J5X29wZW4oMCwgMCk7CiAgICAgaWYgKHhl bl9mbWVtID09IE5VTEwpIHsKLSAgICAgICAgeGVuX2JlX3ByaW50ZihOVUxMLCAwLCAiY2FuJ3Qg b3BlbiB4ZW4gZm1lbSBpbnRlcmZhY2VcbiIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKE5VTEws IDAsICJjYW4ndCBvcGVuIHhlbiBmbWVtIGludGVyZmFjZVxuIik7CiAgICAgICAgIHhjX2ludGVy ZmFjZV9jbG9zZSh4ZW5feGMpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotLSAKMS45LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK