From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL v2 15/15] xen_disk: be consistent with use of xendev and blkdev->xendev Date: Tue, 22 May 2018 11:46:42 -0700 Message-ID: <1527014802-11289-15-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fLCJ9-00005H-20 for xen-devel@lists.xenproject.org; Tue, 22 May 2018 18:46:51 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: peter.maydell@linaro.org, stefanha@gmail.com Cc: sstabellini@kernel.org, qemu-devel@nongnu.org, Paul Durrant , stefanha@redhat.com, anthony.perard@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RnJvbTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KCkNlcnRhaW4gZnVu Y3Rpb25zIGluIHhlbl9kaXNrIGFyZSBjYWxsZWQgd2l0aCBhIHBvaW50ZXIgdG8geGVuZGV2Cihz dHJ1Y3QgWGVuRGV2aWNlICopLiBUaGV5IHRoZW4gdXNlIGNvbnRhaW5lcl9vZigpIHRvIGFjY2Vz IHRoZSBzdXJyb3VuZGluZwpibGtkZXYgKHN0cnVjdCBYZW5CbGtEZXYpIGJ1dCB0aGVuIGluIHZh cmlvdXMgcGxhY2VzIHVzZSAmYmxrZGV2LT54ZW5kZXYKd2hlbiB1c2Ugb2YgdGhlIG9yaWdpbmFs IHhlbmRldiBwb2ludGVyIGlzIHNob3J0ZXIgdG8gZXhwcmVzcyBhbmQgY2xlYXJseQplcXVpdmFs ZW50LgoKVGhpcyBwYXRjaCBpcyBhIHB1cmVseSBjb3NtZXRpYyBwYXRjaCB3aGljaCBtYWtlcyBz dXJlIHRoZXJlIGlzIGEgeGVuZGV2CnBvaW50ZXIgb24gc3RhY2sgZm9yIGFueSBmdW5jdGlvbiB3 aGVyZSB0aGUgcG9pbnRlciBpcyBuZWVkIG9uIG11bHRpcGxlCm9jY2FzaW9ucyBtb2RpZmllZCB0 aG9zZSBmdW5jdGlvbnMgdG8gdXNlIGl0IGNvbnNpc3RlbnRseS4KClNpZ25lZC1vZmYtYnk6IFBh dWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbnRob255IFBF UkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIGh3L2Jsb2NrL3hlbl9kaXNr LmMgfCA5MCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMgYi9ody9ibG9jay94ZW5fZGlzay5jCmlu ZGV4IDI4NjUxYzUuLjlmYmMwY2QgMTAwNjQ0Ci0tLSBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMKKysr IGIvaHcvYmxvY2sveGVuX2Rpc2suYwpAQCAtMTc4LDEwICsxNzgsMTEgQEAgc3RhdGljIHZvaWQg aW9yZXFfcmVsZWFzZShzdHJ1Y3QgaW9yZXEgKmlvcmVxLCBib29sIGZpbmlzaCkKIHN0YXRpYyBp bnQgaW9yZXFfcGFyc2Uoc3RydWN0IGlvcmVxICppb3JlcSkKIHsKICAgICBzdHJ1Y3QgWGVuQmxr RGV2ICpibGtkZXYgPSBpb3JlcS0+YmxrZGV2OworICAgIHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRl diA9ICZibGtkZXYtPnhlbmRldjsKICAgICBzaXplX3QgbGVuOwogICAgIGludCBpOwogCi0gICAg eGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDMsCisgICAgeGVuX3B2X3ByaW50Zih4ZW5k ZXYsIDMsCiAgICAgICAgICAgICAgICAgICAib3AgJWQsIG5yICVkLCBoYW5kbGUgJWQsIGlkICUi IFBSSWQ2NCAiLCBzZWN0b3IgJSIgUFJJZDY0ICJcbiIsCiAgICAgICAgICAgICAgICAgICBpb3Jl cS0+cmVxLm9wZXJhdGlvbiwgaW9yZXEtPnJlcS5ucl9zZWdtZW50cywKICAgICAgICAgICAgICAg ICAgIGlvcmVxLT5yZXEuaGFuZGxlLCBpb3JlcS0+cmVxLmlkLCBpb3JlcS0+cmVxLnNlY3Rvcl9u dW1iZXIpOwpAQCAtMTk5LDI4ICsyMDAsMjggQEAgc3RhdGljIGludCBpb3JlcV9wYXJzZShzdHJ1 Y3QgaW9yZXEgKmlvcmVxKQogICAgIGNhc2UgQkxLSUZfT1BfRElTQ0FSRDoKICAgICAgICAgcmV0 dXJuIDA7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgeGVuX3B2X3ByaW50ZigmYmxrZGV2LT54ZW5k ZXYsIDAsICJlcnJvcjogdW5rbm93biBvcGVyYXRpb24gKCVkKVxuIiwKKyAgICAgICAgeGVuX3B2 X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvcjogdW5rbm93biBvcGVyYXRpb24gKCVkKVxuIiwKICAg ICAgICAgICAgICAgICAgICAgICBpb3JlcS0+cmVxLm9wZXJhdGlvbik7CiAgICAgICAgIGdvdG8g ZXJyOwogICAgIH07CiAKICAgICBpZiAoaW9yZXEtPnJlcS5vcGVyYXRpb24gIT0gQkxLSUZfT1Bf UkVBRCAmJiBibGtkZXYtPm1vZGVbMF0gIT0gJ3cnKSB7Ci0gICAgICAgIHhlbl9wdl9wcmludGYo JmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHdyaXRlIHJlcSBmb3Igcm8gZGV2aWNlXG4iKTsK KyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvcjogd3JpdGUgcmVxIGZvciBy byBkZXZpY2VcbiIpOwogICAgICAgICBnb3RvIGVycjsKICAgICB9CiAKICAgICBpb3JlcS0+c3Rh cnQgPSBpb3JlcS0+cmVxLnNlY3Rvcl9udW1iZXIgKiBibGtkZXYtPmZpbGVfYmxrOwogICAgIGZv ciAoaSA9IDA7IGkgPCBpb3JlcS0+cmVxLm5yX3NlZ21lbnRzOyBpKyspIHsKICAgICAgICAgaWYg KGkgPT0gQkxLSUZfTUFYX1NFR01FTlRTX1BFUl9SRVFVRVNUKSB7Ci0gICAgICAgICAgICB4ZW5f cHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiBucl9zZWdtZW50cyB0b28gYmln XG4iKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAiZXJyb3I6IG5yX3Nl Z21lbnRzIHRvbyBiaWdcbiIpOwogICAgICAgICAgICAgZ290byBlcnI7CiAgICAgICAgIH0KICAg ICAgICAgaWYgKGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3QgPiBpb3JlcS0+cmVxLnNlZ1tp XS5sYXN0X3NlY3QpIHsKLSAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2 LCAwLCAiZXJyb3I6IGZpcnN0ID4gbGFzdCBzZWN0b3JcbiIpOworICAgICAgICAgICAgeGVuX3B2 X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvcjogZmlyc3QgPiBsYXN0IHNlY3RvclxuIik7CiAgICAg ICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQogICAgICAgICBpZiAoaW9yZXEtPnJlcS5zZWdb aV0ubGFzdF9zZWN0ICogQkxPQ0tfU0laRSA+PSBYQ19QQUdFX1NJWkUpIHsKLSAgICAgICAgICAg IHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IHBhZ2UgY3Jvc3Npbmdc biIpOworICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDAsICJlcnJvcjogcGFnZSBj cm9zc2luZ1xuIik7CiAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQogCkBAIC0yMjgs NyArMjI5LDcgQEAgc3RhdGljIGludCBpb3JlcV9wYXJzZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQog ICAgICAgICBpb3JlcS0+c2l6ZSArPSBsZW47CiAgICAgfQogICAgIGlmIChpb3JlcS0+c3RhcnQg KyBpb3JlcS0+c2l6ZSA+IGJsa2Rldi0+ZmlsZV9zaXplKSB7Ci0gICAgICAgIHhlbl9wdl9wcmlu dGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiZXJyb3I6IGFjY2VzcyBiZXlvbmQgZW5kIG9mIGZpbGVc biIpOworICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMCwgImVycm9yOiBhY2Nlc3MgYmV5 b25kIGVuZCBvZiBmaWxlXG4iKTsKICAgICAgICAgZ290byBlcnI7CiAgICAgfQogICAgIHJldHVy biAwOwpAQCAtMjQ0LDcgKzI0NSw3IEBAIHN0YXRpYyBpbnQgaW9yZXFfZ3JhbnRfY29weShzdHJ1 Y3QgaW9yZXEgKmlvcmVxKQogICAgIHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldiA9ICZibGtkZXYt PnhlbmRldjsKICAgICBYZW5HcmFudENvcHlTZWdtZW50IHNlZ3NbQkxLSUZfTUFYX1NFR01FTlRT X1BFUl9SRVFVRVNUXTsKICAgICBpbnQgaSwgY291bnQsIHJjOwotICAgIGludDY0X3QgZmlsZV9i bGsgPSBpb3JlcS0+YmxrZGV2LT5maWxlX2JsazsKKyAgICBpbnQ2NF90IGZpbGVfYmxrID0gYmxr ZGV2LT5maWxlX2JsazsKICAgICBib29sIHRvX2RvbWFpbiA9IChpb3JlcS0+cmVxLm9wZXJhdGlv biA9PSBCTEtJRl9PUF9SRUFEKTsKICAgICB2b2lkICp2aXJ0ID0gaW9yZXEtPmJ1ZjsKIApAQCAt MjcyLDcgKzI3Myw3IEBAIHN0YXRpYyBpbnQgaW9yZXFfZ3JhbnRfY29weShzdHJ1Y3QgaW9yZXEg KmlvcmVxKQogICAgIHJjID0geGVuX2JlX2NvcHlfZ3JhbnRfcmVmcyh4ZW5kZXYsIHRvX2RvbWFp biwgc2VncywgY291bnQpOwogCiAgICAgaWYgKHJjKSB7Ci0gICAgICAgIHhlbl9wdl9wcmludGYo JmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwKKyAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYs IDAsCiAgICAgICAgICAgICAgICAgICAgICAgImZhaWxlZCB0byBjb3B5IGRhdGEgJWRcbiIsIHJj KTsKICAgICAgICAgaW9yZXEtPmFpb19lcnJvcnMrKzsKICAgICAgICAgcmV0dXJuIC0xOwpAQCAt Mjg3LDExICsyODgsMTIgQEAgc3RhdGljIHZvaWQgcWVtdV9haW9fY29tcGxldGUodm9pZCAqb3Bh cXVlLCBpbnQgcmV0KQogewogICAgIHN0cnVjdCBpb3JlcSAqaW9yZXEgPSBvcGFxdWU7CiAgICAg c3RydWN0IFhlbkJsa0RldiAqYmxrZGV2ID0gaW9yZXEtPmJsa2RldjsKKyAgICBzdHJ1Y3QgWGVu RGV2aWNlICp4ZW5kZXYgPSAmYmxrZGV2LT54ZW5kZXY7CiAKICAgICBhaW9fY29udGV4dF9hY3F1 aXJlKGJsa2Rldi0+Y3R4KTsKIAogICAgIGlmIChyZXQgIT0gMCkgewotICAgICAgICB4ZW5fcHZf cHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgIiVzIEkvTyBlcnJvclxuIiwKKyAgICAgICAgeGVu X3B2X3ByaW50Zih4ZW5kZXYsIDAsICIlcyBJL08gZXJyb3JcbiIsCiAgICAgICAgICAgICAgICAg ICAgICAgaW9yZXEtPnJlcS5vcGVyYXRpb24gPT0gQkxLSUZfT1BfUkVBRCA/ICJyZWFkIiA6ICJ3 cml0ZSIpOwogICAgICAgICBpb3JlcS0+YWlvX2Vycm9ycysrOwogICAgIH0KQEAgLTYyNSwxNiAr NjI3LDE3IEBAIHN0YXRpYyB2b2lkIGJsa19hbGxvYyhzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYp CiAKIHN0YXRpYyB2b2lkIGJsa19wYXJzZV9kaXNjYXJkKHN0cnVjdCBYZW5CbGtEZXYgKmJsa2Rl dikKIHsKKyAgICBzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYgPSAmYmxrZGV2LT54ZW5kZXY7CiAg ICAgaW50IGVuYWJsZTsKIAogICAgIGJsa2Rldi0+ZmVhdHVyZV9kaXNjYXJkID0gdHJ1ZTsKIAot ICAgIGlmICh4ZW5zdG9yZV9yZWFkX2JlX2ludCgmYmxrZGV2LT54ZW5kZXYsICJkaXNjYXJkLWVu YWJsZSIsICZlbmFibGUpID09IDApIHsKKyAgICBpZiAoeGVuc3RvcmVfcmVhZF9iZV9pbnQoeGVu ZGV2LCAiZGlzY2FyZC1lbmFibGUiLCAmZW5hYmxlKSA9PSAwKSB7CiAgICAgICAgIGJsa2Rldi0+ ZmVhdHVyZV9kaXNjYXJkID0gISFlbmFibGU7CiAgICAgfQogCiAgICAgaWYgKGJsa2Rldi0+ZmVh dHVyZV9kaXNjYXJkKSB7Ci0gICAgICAgIHhlbnN0b3JlX3dyaXRlX2JlX2ludCgmYmxrZGV2LT54 ZW5kZXYsICJmZWF0dXJlLWRpc2NhcmQiLCAxKTsKKyAgICAgICAgeGVuc3RvcmVfd3JpdGVfYmVf aW50KHhlbmRldiwgImZlYXR1cmUtZGlzY2FyZCIsIDEpOwogICAgIH0KIH0KIApAQCAtNjQ5LDcg KzY1Miw3IEBAIHN0YXRpYyBpbnQgYmxrX2luaXQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQog ICAgIC8qIHJlYWQgeGVuc3RvcmUgZW50cmllcyAqLwogICAgIGlmIChibGtkZXYtPnBhcmFtcyA9 PSBOVUxMKSB7CiAgICAgICAgIGNoYXIgKmggPSBOVUxMOwotICAgICAgICBibGtkZXYtPnBhcmFt cyA9IHhlbnN0b3JlX3JlYWRfYmVfc3RyKCZibGtkZXYtPnhlbmRldiwgInBhcmFtcyIpOworICAg ICAgICBibGtkZXYtPnBhcmFtcyA9IHhlbnN0b3JlX3JlYWRfYmVfc3RyKHhlbmRldiwgInBhcmFt cyIpOwogICAgICAgICBpZiAoYmxrZGV2LT5wYXJhbXMgIT0gTlVMTCkgewogICAgICAgICAgICAg aCA9IHN0cmNocihibGtkZXYtPnBhcmFtcywgJzonKTsKICAgICAgICAgfQpAQCAtNjY5LDE4ICs2 NzIsMTggQEAgc3RhdGljIGludCBibGtfaW5pdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAg ICAgICAgIGJsa2Rldi0+ZmlsZXByb3RvID0gInZwYyI7CiAgICAgfQogICAgIGlmIChibGtkZXYt Pm1vZGUgPT0gTlVMTCkgewotICAgICAgICBibGtkZXYtPm1vZGUgPSB4ZW5zdG9yZV9yZWFkX2Jl X3N0cigmYmxrZGV2LT54ZW5kZXYsICJtb2RlIik7CisgICAgICAgIGJsa2Rldi0+bW9kZSA9IHhl bnN0b3JlX3JlYWRfYmVfc3RyKHhlbmRldiwgIm1vZGUiKTsKICAgICB9CiAgICAgaWYgKGJsa2Rl di0+dHlwZSA9PSBOVUxMKSB7Ci0gICAgICAgIGJsa2Rldi0+dHlwZSA9IHhlbnN0b3JlX3JlYWRf YmVfc3RyKCZibGtkZXYtPnhlbmRldiwgInR5cGUiKTsKKyAgICAgICAgYmxrZGV2LT50eXBlID0g eGVuc3RvcmVfcmVhZF9iZV9zdHIoeGVuZGV2LCAidHlwZSIpOwogICAgIH0KICAgICBpZiAoYmxr ZGV2LT5kZXYgPT0gTlVMTCkgewotICAgICAgICBibGtkZXYtPmRldiA9IHhlbnN0b3JlX3JlYWRf YmVfc3RyKCZibGtkZXYtPnhlbmRldiwgImRldiIpOworICAgICAgICBibGtkZXYtPmRldiA9IHhl bnN0b3JlX3JlYWRfYmVfc3RyKHhlbmRldiwgImRldiIpOwogICAgIH0KICAgICBpZiAoYmxrZGV2 LT5kZXZ0eXBlID09IE5VTEwpIHsKLSAgICAgICAgYmxrZGV2LT5kZXZ0eXBlID0geGVuc3RvcmVf cmVhZF9iZV9zdHIoJmJsa2Rldi0+eGVuZGV2LCAiZGV2aWNlLXR5cGUiKTsKKyAgICAgICAgYmxr ZGV2LT5kZXZ0eXBlID0geGVuc3RvcmVfcmVhZF9iZV9zdHIoeGVuZGV2LCAiZGV2aWNlLXR5cGUi KTsKICAgICB9Ci0gICAgZGlyZWN0aW9zYWZlID0geGVuc3RvcmVfcmVhZF9iZV9zdHIoJmJsa2Rl di0+eGVuZGV2LCAiZGlyZWN0LWlvLXNhZmUiKTsKKyAgICBkaXJlY3Rpb3NhZmUgPSB4ZW5zdG9y ZV9yZWFkX2JlX3N0cih4ZW5kZXYsICJkaXJlY3QtaW8tc2FmZSIpOwogICAgIGJsa2Rldi0+ZGly ZWN0aW9zYWZlID0gKGRpcmVjdGlvc2FmZSAmJiBhdG9pKGRpcmVjdGlvc2FmZSkpOwogCiAgICAg LyogZG8gd2UgaGF2ZSBhbGwgd2UgbmVlZD8gKi8KQEAgLTcwNiwxMCArNzA5LDEwIEBAIHN0YXRp YyBpbnQgYmxrX2luaXQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIC8qIGZpbGwgaW5m bwogICAgICAqIGJsa19jb25uZWN0IHN1cHBsaWVzIHNlY3Rvci1zaXplIGFuZCBzZWN0b3JzCiAg ICAgICovCi0gICAgeGVuc3RvcmVfd3JpdGVfYmVfaW50KCZibGtkZXYtPnhlbmRldiwgImZlYXR1 cmUtZmx1c2gtY2FjaGUiLCAxKTsKLSAgICB4ZW5zdG9yZV93cml0ZV9iZV9pbnQoJmJsa2Rldi0+ eGVuZGV2LCAiaW5mbyIsIGluZm8pOworICAgIHhlbnN0b3JlX3dyaXRlX2JlX2ludCh4ZW5kZXYs ICJmZWF0dXJlLWZsdXNoLWNhY2hlIiwgMSk7CisgICAgeGVuc3RvcmVfd3JpdGVfYmVfaW50KHhl bmRldiwgImluZm8iLCBpbmZvKTsKIAotICAgIHhlbnN0b3JlX3dyaXRlX2JlX2ludCgmYmxrZGV2 LT54ZW5kZXYsICJtYXgtcmluZy1wYWdlLW9yZGVyIiwKKyAgICB4ZW5zdG9yZV93cml0ZV9iZV9p bnQoeGVuZGV2LCAibWF4LXJpbmctcGFnZS1vcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIE1BWF9SSU5HX1BBR0VfT1JERVIpOwogCiAgICAgYmxrX3BhcnNlX2Rpc2NhcmQoYmxrZGV2 KTsKQEAgLTc2MSw3ICs3NjQsNyBAQCBzdGF0aWMgaW50IGJsa19jb25uZWN0KHN0cnVjdCBYZW5E ZXZpY2UgKnhlbmRldikKICAgICB9CiAKICAgICAvKiBpbml0IHFlbXUgYmxvY2sgZHJpdmVyICov Ci0gICAgaW5kZXggPSAoYmxrZGV2LT54ZW5kZXYuZGV2IC0gMjAyICogMjU2KSAvIDE2OworICAg IGluZGV4ID0gKHhlbmRldi0+ZGV2IC0gMjAyICogMjU2KSAvIDE2OwogICAgIGJsa2Rldi0+ZGlu Zm8gPSBkcml2ZV9nZXQoSUZfWEVOLCAwLCBpbmRleCk7CiAgICAgaWYgKCFibGtkZXYtPmRpbmZv KSB7CiAgICAgICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOwpAQCAtNzczLDExICs3NzYsMTEg QEAgc3RhdGljIGludCBibGtfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAgICAg ICAgIH0KIAogICAgICAgICAvKiBzZXR1cCB2aWEgeGVuYnVzIC0+IGNyZWF0ZSBuZXcgYmxvY2sg ZHJpdmVyIGluc3RhbmNlICovCi0gICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2 LCAyLCAiY3JlYXRlIG5ldyBiZHJ2ICh4ZW5idXMgc2V0dXApXG4iKTsKKyAgICAgICAgeGVuX3B2 X3ByaW50Zih4ZW5kZXYsIDIsICJjcmVhdGUgbmV3IGJkcnYgKHhlbmJ1cyBzZXR1cClcbiIpOwog ICAgICAgICBibGtkZXYtPmJsayA9IGJsa19uZXdfb3BlbihibGtkZXYtPmZpbGVuYW1lLCBOVUxM LCBvcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxZmxhZ3MsICZs b2NhbF9lcnIpOwogICAgICAgICBpZiAoIWJsa2Rldi0+YmxrKSB7Ci0gICAgICAgICAgICB4ZW5f cHZfcHJpbnRmKCZibGtkZXYtPnhlbmRldiwgMCwgImVycm9yOiAlc1xuIiwKKyAgICAgICAgICAg IHhlbl9wdl9wcmludGYoeGVuZGV2LCAwLCAiZXJyb3I6ICVzXG4iLAogICAgICAgICAgICAgICAg ICAgICAgICAgICBlcnJvcl9nZXRfcHJldHR5KGxvY2FsX2VycikpOwogICAgICAgICAgICAgZXJy b3JfZnJlZShsb2NhbF9lcnIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAtNzg1LDExICs3 ODgsMTEgQEAgc3RhdGljIGludCBibGtfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYp CiAgICAgICAgIGJsa19zZXRfZW5hYmxlX3dyaXRlX2NhY2hlKGJsa2Rldi0+YmxrLCAhd3JpdGV0 aHJvdWdoKTsKICAgICB9IGVsc2UgewogICAgICAgICAvKiBzZXR1cCB2aWEgcWVtdSBjbWRsaW5l IC0+IGFscmVhZHkgc2V0dXAgZm9yIHVzICovCi0gICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rl di0+eGVuZGV2LCAyLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMiwKICAgICAgICAg ICAgICAgICAgICAgICAiZ2V0IGNvbmZpZ3VyZWQgYmRydiAoY21kbGluZSBzZXR1cClcbiIpOwog ICAgICAgICBibGtkZXYtPmJsayA9IGJsa19ieV9sZWdhY3lfZGluZm8oYmxrZGV2LT5kaW5mbyk7 CiAgICAgICAgIGlmIChibGtfaXNfcmVhZF9vbmx5KGJsa2Rldi0+YmxrKSAmJiAhcmVhZG9ubHkp IHsKLSAgICAgICAgICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAwLCAiVW5leHBl Y3RlZCByZWFkLW9ubHkgZHJpdmUiKTsKKyAgICAgICAgICAgIHhlbl9wdl9wcmludGYoeGVuZGV2 LCAwLCAiVW5leHBlY3RlZCByZWFkLW9ubHkgZHJpdmUiKTsKICAgICAgICAgICAgIGJsa2Rldi0+ YmxrID0gTlVMTDsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQpAQCAtODAyLDcg KzgwNSw3IEBAIHN0YXRpYyBpbnQgYmxrX2Nvbm5lY3Qoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2 KQogICAgIGlmIChibGtkZXYtPmZpbGVfc2l6ZSA8IDApIHsKICAgICAgICAgQmxvY2tEcml2ZXJT dGF0ZSAqYnMgPSBibGtfYnMoYmxrZGV2LT5ibGspOwogICAgICAgICBjb25zdCBjaGFyICpkcnZf bmFtZSA9IGJzID8gYmRydl9nZXRfZm9ybWF0X25hbWUoYnMpIDogTlVMTDsKLSAgICAgICAgeGVu X3B2X3ByaW50ZigmYmxrZGV2LT54ZW5kZXYsIDEsICJibGtfZ2V0bGVuZ3RoOiAlZCAoJXMpIHwg ZHJ2ICVzXG4iLAorICAgICAgICB4ZW5fcHZfcHJpbnRmKHhlbmRldiwgMSwgImJsa19nZXRsZW5n dGg6ICVkICglcykgfCBkcnYgJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgKGludClibGtk ZXYtPmZpbGVfc2l6ZSwgc3RyZXJyb3IoLWJsa2Rldi0+ZmlsZV9zaXplKSwKICAgICAgICAgICAg ICAgICAgICAgICBkcnZfbmFtZSA/OiAiLSIpOwogICAgICAgICBibGtkZXYtPmZpbGVfc2l6ZSA9 IDA7CkBAIC04MTQsMTUgKzgxNywxNSBAQCBzdGF0aWMgaW50IGJsa19jb25uZWN0KHN0cnVjdCBY ZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgICAgICAgICAgIGJsa2Rldi0+ZmlsZV9zaXplLCBi bGtkZXYtPmZpbGVfc2l6ZSA+PiAyMCk7CiAKICAgICAvKiBGaWxsIGluIG51bWJlciBvZiBzZWN0 b3Igc2l6ZSBhbmQgbnVtYmVyIG9mIHNlY3RvcnMgKi8KLSAgICB4ZW5zdG9yZV93cml0ZV9iZV9p bnQoJmJsa2Rldi0+eGVuZGV2LCAic2VjdG9yLXNpemUiLCBibGtkZXYtPmZpbGVfYmxrKTsKLSAg ICB4ZW5zdG9yZV93cml0ZV9iZV9pbnQ2NCgmYmxrZGV2LT54ZW5kZXYsICJzZWN0b3JzIiwKKyAg ICB4ZW5zdG9yZV93cml0ZV9iZV9pbnQoeGVuZGV2LCAic2VjdG9yLXNpemUiLCBibGtkZXYtPmZp bGVfYmxrKTsKKyAgICB4ZW5zdG9yZV93cml0ZV9iZV9pbnQ2NCh4ZW5kZXYsICJzZWN0b3JzIiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGtkZXYtPmZpbGVfc2l6ZSAvIGJsa2Rldi0+ ZmlsZV9ibGspOwogCi0gICAgaWYgKHhlbnN0b3JlX3JlYWRfZmVfaW50KCZibGtkZXYtPnhlbmRl diwgInJpbmctcGFnZS1vcmRlciIsCisgICAgaWYgKHhlbnN0b3JlX3JlYWRfZmVfaW50KHhlbmRl diwgInJpbmctcGFnZS1vcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvcmRl cikgPT0gLTEpIHsKICAgICAgICAgYmxrZGV2LT5ucl9yaW5nX3JlZiA9IDE7CiAKLSAgICAgICAg aWYgKHhlbnN0b3JlX3JlYWRfZmVfaW50KCZibGtkZXYtPnhlbmRldiwgInJpbmctcmVmIiwKKyAg ICAgICAgaWYgKHhlbnN0b3JlX3JlYWRfZmVfaW50KHhlbmRldiwgInJpbmctcmVmIiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyaW5nX3JlZikgPT0gLTEpIHsKICAgICAgICAg ICAgIHJldHVybiAtMTsKICAgICAgICAgfQpAQCAtODM5LDcgKzg0Miw3IEBAIHN0YXRpYyBpbnQg YmxrX2Nvbm5lY3Qoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgICAgICAgICAgICAgIHJl dHVybiAtMTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKHhlbnN0b3JlX3JlYWRf ZmVfaW50KCZibGtkZXYtPnhlbmRldiwga2V5LAorICAgICAgICAgICAgaWYgKHhlbnN0b3JlX3Jl YWRfZmVfaW50KHhlbmRldiwga2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZyaW5nX3JlZikgPT0gLTEpIHsKICAgICAgICAgICAgICAgICBnX2ZyZWUoa2V5KTsKICAg ICAgICAgICAgICAgICByZXR1cm4gLTE7CkBAIC04NTQsMTggKzg1NywxOCBAQCBzdGF0aWMgaW50 IGJsa19jb25uZWN0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgcmV0dXJuIC0x OwogICAgIH0KIAotICAgIGlmICh4ZW5zdG9yZV9yZWFkX2ZlX2ludCgmYmxrZGV2LT54ZW5kZXYs ICJldmVudC1jaGFubmVsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJsa2Rldi0+ eGVuZGV2LnJlbW90ZV9wb3J0KSA9PSAtMSkgeworICAgIGlmICh4ZW5zdG9yZV9yZWFkX2ZlX2lu dCh4ZW5kZXYsICJldmVudC1jaGFubmVsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnhlbmRldi0+cmVtb3RlX3BvcnQpID09IC0xKSB7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9 CiAKLSAgICBpZiAoIWJsa2Rldi0+eGVuZGV2LnByb3RvY29sKSB7CisgICAgaWYgKCF4ZW5kZXYt PnByb3RvY29sKSB7CiAgICAgICAgIGJsa2Rldi0+cHJvdG9jb2wgPSBCTEtJRl9QUk9UT0NPTF9O QVRJVkU7Ci0gICAgfSBlbHNlIGlmIChzdHJjbXAoYmxrZGV2LT54ZW5kZXYucHJvdG9jb2wsIFhF Tl9JT19QUk9UT19BQklfTkFUSVZFKSA9PSAwKSB7CisgICAgfSBlbHNlIGlmIChzdHJjbXAoeGVu ZGV2LT5wcm90b2NvbCwgWEVOX0lPX1BST1RPX0FCSV9OQVRJVkUpID09IDApIHsKICAgICAgICAg YmxrZGV2LT5wcm90b2NvbCA9IEJMS0lGX1BST1RPQ09MX05BVElWRTsKLSAgICB9IGVsc2UgaWYg KHN0cmNtcChibGtkZXYtPnhlbmRldi5wcm90b2NvbCwgWEVOX0lPX1BST1RPX0FCSV9YODZfMzIp ID09IDApIHsKKyAgICB9IGVsc2UgaWYgKHN0cmNtcCh4ZW5kZXYtPnByb3RvY29sLCBYRU5fSU9f UFJPVE9fQUJJX1g4Nl8zMikgPT0gMCkgewogICAgICAgICBibGtkZXYtPnByb3RvY29sID0gQkxL SUZfUFJPVE9DT0xfWDg2XzMyOwotICAgIH0gZWxzZSBpZiAoc3RyY21wKGJsa2Rldi0+eGVuZGV2 LnByb3RvY29sLCBYRU5fSU9fUFJPVE9fQUJJX1g4Nl82NCkgPT0gMCkgeworICAgIH0gZWxzZSBp ZiAoc3RyY21wKHhlbmRldi0+cHJvdG9jb2wsIFhFTl9JT19QUk9UT19BQklfWDg2XzY0KSA9PSAw KSB7CiAgICAgICAgIGJsa2Rldi0+cHJvdG9jb2wgPSBCTEtJRl9QUk9UT0NPTF9YODZfNjQ7CiAg ICAgfSBlbHNlIHsKICAgICAgICAgYmxrZGV2LT5wcm90b2NvbCA9IEJMS0lGX1BST1RPQ09MX05B VElWRTsKQEAgLTg5Niw3ICs4OTksNiBAQCBzdGF0aWMgaW50IGJsa19jb25uZWN0KHN0cnVjdCBY ZW5EZXZpY2UgKnhlbmRldikKICAgICBtYXhfZ3JhbnRzID0gYmxrZGV2LT5ucl9yaW5nX3JlZjsK IAogICAgIHhlbl9iZV9zZXRfbWF4X2dyYW50X3JlZnMoeGVuZGV2LCBtYXhfZ3JhbnRzKTsKLQog ICAgIGJsa2Rldi0+c3JpbmcgPSB4ZW5fYmVfbWFwX2dyYW50X3JlZnMoeGVuZGV2LCBibGtkZXYt PnJpbmdfcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxr ZGV2LT5ucl9yaW5nX3JlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOwpAQCAtOTI5LDEyICs5MzEsMTIgQEAgc3RhdGlj IGludCBibGtfY29ubmVjdChzdHJ1Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiAKICAgICBibGtfc2V0 X2Fpb19jb250ZXh0KGJsa2Rldi0+YmxrLCBibGtkZXYtPmN0eCk7CiAKLSAgICB4ZW5fYmVfYmlu ZF9ldnRjaG4oJmJsa2Rldi0+eGVuZGV2KTsKKyAgICB4ZW5fYmVfYmluZF9ldnRjaG4oeGVuZGV2 KTsKIAotICAgIHhlbl9wdl9wcmludGYoJmJsa2Rldi0+eGVuZGV2LCAxLCAib2s6IHByb3RvICVz LCBuci1yaW5nLXJlZiAldSwgIgorICAgIHhlbl9wdl9wcmludGYoeGVuZGV2LCAxLCAib2s6IHBy b3RvICVzLCBuci1yaW5nLXJlZiAldSwgIgogICAgICAgICAgICAgICAgICAgInJlbW90ZSBwb3J0 ICVkLCBsb2NhbCBwb3J0ICVkXG4iLAotICAgICAgICAgICAgICAgICAgYmxrZGV2LT54ZW5kZXYu cHJvdG9jb2wsIGJsa2Rldi0+bnJfcmluZ19yZWYsCi0gICAgICAgICAgICAgICAgICBibGtkZXYt PnhlbmRldi5yZW1vdGVfcG9ydCwgYmxrZGV2LT54ZW5kZXYubG9jYWxfcG9ydCk7CisgICAgICAg ICAgICAgICAgICB4ZW5kZXYtPnByb3RvY29sLCBibGtkZXYtPm5yX3JpbmdfcmVmLAorICAgICAg ICAgICAgICAgICAgeGVuZGV2LT5yZW1vdGVfcG9ydCwgeGVuZGV2LT5sb2NhbF9wb3J0KTsKICAg ICByZXR1cm4gMDsKIH0KIApAQCAtOTUyLDcgKzk1NCw3IEBAIHN0YXRpYyB2b2lkIGJsa19kaXNj b25uZWN0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKICAgICAgICAgYmxrX3VucmVmKGJsa2Rl di0+YmxrKTsKICAgICAgICAgYmxrZGV2LT5ibGsgPSBOVUxMOwogICAgIH0KLSAgICB4ZW5fcHZf dW5iaW5kX2V2dGNobigmYmxrZGV2LT54ZW5kZXYpOworICAgIHhlbl9wdl91bmJpbmRfZXZ0Y2hu KHhlbmRldik7CiAKICAgICBhaW9fY29udGV4dF9yZWxlYXNlKGJsa2Rldi0+Y3R4KTsKIAotLSAK MS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs