From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2101650418043679519==" MIME-Version: 1.0 From: Sergey Senozhatsky To: lkp@lists.01.org Subject: [printk] fix double printing with earlycon Date: Tue, 11 Apr 2017 16:55:22 +0900 Message-ID: <20170411075522.GA765@jagdpanzerIV.localdomain> List-Id: --===============2101650418043679519== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hello Fengguang, Xiaolong I've noticed that the serial output you sometimes provide has repeating lines (double lines). Is this intentional? we are about to push a patch set to the linux-next that fixes "double printing" issue and I'm wondering will it break anything on your side. Can you please test it? 1/3 https://marc.info/?l=3Dlinux-kernel&m=3D148957402019729&w=3D2 2/3 https://marc.info/?l=3Dlinux-kernel&m=3D148957403319736&w=3D2 3/3 https://marc.info/?l=3Dlinux-kernel&m=3D149142366508431&w=3D2 I've also attached the patches. -ss --===============2101650418043679519== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-printk-fix-name-type-scope-of-preferred_console-var.patch" PkZyb20gNjhhNDMyZDBmNDgyNDNlYWIxNGYxOWFlZmE5M2IxYTYxOTQxMjFkNSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogQWxla3NleSBNYWthcm92IDxhbGVrc2V5Lm1ha2Fyb3ZAbGlu YXJvLm9yZz4KRGF0ZTogV2VkLCAxNSBNYXIgMjAxNyAxMzoyODo1MCArMDMwMApTdWJqZWN0OiBb UEFUQ0ggMS8zXSBwcmludGs6IGZpeCBuYW1lL3R5cGUvc2NvcGUgb2YgcHJlZmVycmVkX2NvbnNv bGUgdmFyCgpUaGUgdmFyaWFibGUgcHJlZmVycmVkX2NvbnNvbGUgaXMgdXNlZCBvbmx5IGluc2lk ZSByZWdpc3Rlcl9jb25zb2xlKCkKYW5kIGl0cyBzZW1hbnRpY3MgaXMgYm9vbGVhbi4gIEl0IGlz IG5lZ2F0aXZlIHdoZW4gbm8gY29uc29sZSBoYXMgYmVlbgptYWRlIHByZWZlcnJlZC4KCk1ha2Ug aXQgc3RhdGljIGJvb2wgYW5kIHJlbmFtZSB0byBoYXNfcHJlZmVycmVkLgoKUmVuYW1pbmcgd2Fz IHN1Z2dlc3RlZCBieSBQZXRlciBIdXJsZXkKCkFja2VkLWJ5OiBQZXRyIE1sYWRlayA8cG1sYWRl a0BzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZXZlbiBSb3N0ZWR0IChWTXdhcmUpIDxyb3N0ZWR0 QGdvb2RtaXMub3JnPgpSZXZpZXdlZC1ieTogU2VyZ2V5IFNlbm96aGF0c2t5IDxzZXJnZXkuc2Vu b3poYXRza3lAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGVrc2V5IE1ha2Fyb3YgPGFsZWtz ZXkubWFrYXJvdkBsaW5hcm8ub3JnPgotLS0KIGtlcm5lbC9wcmludGsvcHJpbnRrLmMgfCAxMiAr KysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEva2VybmVsL3ByaW50ay9wcmludGsuYyBiL2tlcm5lbC9wcmludGsv cHJpbnRrLmMKaW5kZXggMjk4NGZiMGYwMjU3Li44MGJjMWI3MmQwM2QgMTAwNjQ0Ci0tLSBhL2tl cm5lbC9wcmludGsvcHJpbnRrLmMKKysrIGIva2VybmVsL3ByaW50ay9wcmludGsuYwpAQCAtMjcx LDcgKzI3MSw2IEBAIHN0YXRpYyBzdHJ1Y3QgY29uc29sZSAqZXhjbHVzaXZlX2NvbnNvbGU7CiBz dGF0aWMgc3RydWN0IGNvbnNvbGVfY21kbGluZSBjb25zb2xlX2NtZGxpbmVbTUFYX0NNRExJTkVD T05TT0xFU107CiAKIHN0YXRpYyBpbnQgc2VsZWN0ZWRfY29uc29sZSA9IC0xOwotc3RhdGljIGlu dCBwcmVmZXJyZWRfY29uc29sZSA9IC0xOwogaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CiBF WFBPUlRfU1lNQk9MKGNvbnNvbGVfc2V0X29uX2NtZGxpbmUpOwogCkBAIC0yNDA5LDYgKzI0MDgs NyBAQCB2b2lkIHJlZ2lzdGVyX2NvbnNvbGUoc3RydWN0IGNvbnNvbGUgKm5ld2NvbikKIAl1bnNp Z25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBjb25zb2xlICpiY29uID0gTlVMTDsKIAlzdHJ1Y3Qg Y29uc29sZV9jbWRsaW5lICpjOworCXN0YXRpYyBib29sIGhhc19wcmVmZXJyZWQ7CiAKIAlpZiAo Y29uc29sZV9kcml2ZXJzKQogCQlmb3JfZWFjaF9jb25zb2xlKGJjb24pCkBAIC0yNDM1LDE1ICsy NDM1LDE1IEBAIHZvaWQgcmVnaXN0ZXJfY29uc29sZShzdHJ1Y3QgY29uc29sZSAqbmV3Y29uKQog CWlmIChjb25zb2xlX2RyaXZlcnMgJiYgY29uc29sZV9kcml2ZXJzLT5mbGFncyAmIENPTl9CT09U KQogCQliY29uID0gY29uc29sZV9kcml2ZXJzOwogCi0JaWYgKHByZWZlcnJlZF9jb25zb2xlIDwg MCB8fCBiY29uIHx8ICFjb25zb2xlX2RyaXZlcnMpCi0JCXByZWZlcnJlZF9jb25zb2xlID0gc2Vs ZWN0ZWRfY29uc29sZTsKKwlpZiAoIWhhc19wcmVmZXJyZWQgfHwgYmNvbiB8fCAhY29uc29sZV9k cml2ZXJzKQorCQloYXNfcHJlZmVycmVkID0gc2VsZWN0ZWRfY29uc29sZSA+PSAwOwogCiAJLyoK IAkgKglTZWUgaWYgd2Ugd2FudCB0byB1c2UgdGhpcyBjb25zb2xlIGRyaXZlci4gSWYgd2UKIAkg KglkaWRuJ3Qgc2VsZWN0IGEgY29uc29sZSB3ZSB0YWtlIHRoZSBmaXJzdCBvbmUKIAkgKgl0aGF0 IHJlZ2lzdGVycyBoZXJlLgogCSAqLwotCWlmIChwcmVmZXJyZWRfY29uc29sZSA8IDApIHsKKwlp ZiAoIWhhc19wcmVmZXJyZWQpIHsKIAkJaWYgKG5ld2Nvbi0+aW5kZXggPCAwKQogCQkJbmV3Y29u LT5pbmRleCA9IDA7CiAJCWlmIChuZXdjb24tPnNldHVwID09IE5VTEwgfHwKQEAgLTI0NTEsNyAr MjQ1MSw3IEBAIHZvaWQgcmVnaXN0ZXJfY29uc29sZShzdHJ1Y3QgY29uc29sZSAqbmV3Y29uKQog CQkJbmV3Y29uLT5mbGFncyB8PSBDT05fRU5BQkxFRDsKIAkJCWlmIChuZXdjb24tPmRldmljZSkg ewogCQkJCW5ld2Nvbi0+ZmxhZ3MgfD0gQ09OX0NPTlNERVY7Ci0JCQkJcHJlZmVycmVkX2NvbnNv bGUgPSAwOworCQkJCWhhc19wcmVmZXJyZWQgPSB0cnVlOwogCQkJfQogCQl9CiAJfQpAQCAtMjQ4 Niw3ICsyNDg2LDcgQEAgdm9pZCByZWdpc3Rlcl9jb25zb2xlKHN0cnVjdCBjb25zb2xlICpuZXdj b24pCiAJCW5ld2Nvbi0+ZmxhZ3MgfD0gQ09OX0VOQUJMRUQ7CiAJCWlmIChpID09IHNlbGVjdGVk X2NvbnNvbGUpIHsKIAkJCW5ld2Nvbi0+ZmxhZ3MgfD0gQ09OX0NPTlNERVY7Ci0JCQlwcmVmZXJy ZWRfY29uc29sZSA9IHNlbGVjdGVkX2NvbnNvbGU7CisJCQloYXNfcHJlZmVycmVkID0gdHJ1ZTsK IAkJfQogCQlicmVhazsKIAl9Ci0tIAoyLjEyLjIKCg== --===============2101650418043679519== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-printk-rename-selected_console-preferred_console.patch" PkZyb20gZDJhNTliNTJkZDFlMjE2NzIxOWExMGQwZDFlODUwZGE3MmQ1ZTdjZiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogQWxla3NleSBNYWthcm92IDxhbGVrc2V5Lm1ha2Fyb3ZAbGlu YXJvLm9yZz4KRGF0ZTogV2VkLCAxNSBNYXIgMjAxNyAxMzoyODo1MSArMDMwMApTdWJqZWN0OiBb UEFUQ0ggMi8zXSBwcmludGs6IHJlbmFtZSBzZWxlY3RlZF9jb25zb2xlIC0+IHByZWZlcnJlZF9j b25zb2xlCgpUaGUgdmFyaWFibGUgc2VsZWN0ZWRfY29uc29sZSBpcyBzZXQgaW4gX19hZGRfcHJl ZmVycmVkX2NvbnNvbGUoKQp0byBwb2ludCB0byB0aGUgbGFzdCBjb25zb2xlIHBhcmFtZXRlciB0 aGF0IHdhcyBhZGRlZCB0byB0aGUKY29uc29sZV9jbWRsaW5lIGFycmF5LgoKUmVuYW1lIGl0IHRv IHByZWZlcnJlZF9jb25zb2xlIHNvIHRoYXQgdGhlIG5hbWUgcmVmbGVjdHMgdGhlIHVzYWdlLgoK UGV0ciBNbGFkZWs6CiJbLi5dIHRoZSBzZWxlY3RlZF9jb25zb2xlL3ByZWZlcnJlZF9jb25zb2xl CnZhbHVlIGlzIHVzZWQgdG8ga2VlcCB0aGUgY29uc29sZSBmaXJzdCBpbiB0aGUgY29uc29sZV9k cml2ZXJzIGxpc3QuCklNSE8sIHRoZSBtYWluIGVmZmVjdCBpcyB0aGF0IGVhY2ggbGluZSB3aWxs IGZpcnN0IGFwcGVhciBvbiB0aGlzCmNvbnNvbGUsIHNlZSBjYWxsX2NvbnNvbGVfZHJpdmVycygp LiBCdXQgdGhlIG1lc3NhZ2Ugd2lsbCBzdGlsbAphcHBlYXIgYWxzbyBvbiBhbGwgb3RoZXIgZW5h YmxlZCBjb25zb2xlcy4gRnJvbSB0aGlzIHBvaW50LAp0aGUgbmFtZSAicHJlZmVycmVkIiBzb3Vu ZHMgYmV0dGVyIHRvIG1lLiBNb3JlIGNvbnNvbGVzCmFyZSBzZWxlY3RlZCAoZW5hYmxlZCkgYW5k IG9ubHkgb25lIGlzIHByZWZlcnJlZCAoZmlyc3QpLiIKCkFja2VkLWJ5OiBTdGV2ZW4gUm9zdGVk dCAoVk13YXJlKSA8cm9zdGVkdEBnb29kbWlzLm9yZz4KQWNrZWQtYnk6IFBldHIgTWxhZGVrIDxw bWxhZGVrQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogU2VyZ2V5IFNlbm96aGF0c2t5IDxzZXJnZXku c2Vub3poYXRza3lAZ21haWwuY29tPgpTdWdnZXN0ZWQtYnk6IFBldGVyIEh1cmxleSA8cGV0ZXJA aHVybGV5c29mdHdhcmUuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGVrc2V5IE1ha2Fyb3YgPGFsZWtz ZXkubWFrYXJvdkBsaW5hcm8ub3JnPgotLS0KIGtlcm5lbC9wcmludGsvcHJpbnRrLmMgfCAxMCAr KysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2tlcm5lbC9wcmludGsvcHJpbnRrLmMgYi9rZXJuZWwvcHJpbnRrL3By aW50ay5jCmluZGV4IDgwYmMxYjcyZDAzZC4uZmQ3NTJmMGM4ZWYxIDEwMDY0NAotLS0gYS9rZXJu ZWwvcHJpbnRrL3ByaW50ay5jCisrKyBiL2tlcm5lbC9wcmludGsvcHJpbnRrLmMKQEAgLTI3MCw3 ICsyNzAsNyBAQCBzdGF0aWMgc3RydWN0IGNvbnNvbGUgKmV4Y2x1c2l2ZV9jb25zb2xlOwogCiBz dGF0aWMgc3RydWN0IGNvbnNvbGVfY21kbGluZSBjb25zb2xlX2NtZGxpbmVbTUFYX0NNRExJTkVD T05TT0xFU107CiAKLXN0YXRpYyBpbnQgc2VsZWN0ZWRfY29uc29sZSA9IC0xOworc3RhdGljIGlu dCBwcmVmZXJyZWRfY29uc29sZSA9IC0xOwogaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CiBF WFBPUlRfU1lNQk9MKGNvbnNvbGVfc2V0X29uX2NtZGxpbmUpOwogCkBAIC0xOTEwLDE0ICsxOTEw LDE0IEBAIHN0YXRpYyBpbnQgX19hZGRfcHJlZmVycmVkX2NvbnNvbGUoY2hhciAqbmFtZSwgaW50 IGlkeCwgY2hhciAqb3B0aW9ucywKIAkgICAgIGkrKywgYysrKSB7CiAJCWlmIChzdHJjbXAoYy0+ bmFtZSwgbmFtZSkgPT0gMCAmJiBjLT5pbmRleCA9PSBpZHgpIHsKIAkJCWlmICghYnJsX29wdGlv bnMpCi0JCQkJc2VsZWN0ZWRfY29uc29sZSA9IGk7CisJCQkJcHJlZmVycmVkX2NvbnNvbGUgPSBp OwogCQkJcmV0dXJuIDA7CiAJCX0KIAl9CiAJaWYgKGkgPT0gTUFYX0NNRExJTkVDT05TT0xFUykK IAkJcmV0dXJuIC1FMkJJRzsKIAlpZiAoIWJybF9vcHRpb25zKQotCQlzZWxlY3RlZF9jb25zb2xl ID0gaTsKKwkJcHJlZmVycmVkX2NvbnNvbGUgPSBpOwogCXN0cmxjcHkoYy0+bmFtZSwgbmFtZSwg c2l6ZW9mKGMtPm5hbWUpKTsKIAljLT5vcHRpb25zID0gb3B0aW9uczsKIAlicmFpbGxlX3NldF9v cHRpb25zKGMsIGJybF9vcHRpb25zKTsKQEAgLTI0MzYsNyArMjQzNiw3IEBAIHZvaWQgcmVnaXN0 ZXJfY29uc29sZShzdHJ1Y3QgY29uc29sZSAqbmV3Y29uKQogCQliY29uID0gY29uc29sZV9kcml2 ZXJzOwogCiAJaWYgKCFoYXNfcHJlZmVycmVkIHx8IGJjb24gfHwgIWNvbnNvbGVfZHJpdmVycykK LQkJaGFzX3ByZWZlcnJlZCA9IHNlbGVjdGVkX2NvbnNvbGUgPj0gMDsKKwkJaGFzX3ByZWZlcnJl ZCA9IHByZWZlcnJlZF9jb25zb2xlID49IDA7CiAKIAkvKgogCSAqCVNlZSBpZiB3ZSB3YW50IHRv IHVzZSB0aGlzIGNvbnNvbGUgZHJpdmVyLiBJZiB3ZQpAQCAtMjQ4NCw3ICsyNDg0LDcgQEAgdm9p ZCByZWdpc3Rlcl9jb25zb2xlKHN0cnVjdCBjb25zb2xlICpuZXdjb24pCiAJCX0KIAogCQluZXdj b24tPmZsYWdzIHw9IENPTl9FTkFCTEVEOwotCQlpZiAoaSA9PSBzZWxlY3RlZF9jb25zb2xlKSB7 CisJCWlmIChpID09IHByZWZlcnJlZF9jb25zb2xlKSB7CiAJCQluZXdjb24tPmZsYWdzIHw9IENP Tl9DT05TREVWOwogCQkJaGFzX3ByZWZlcnJlZCA9IHRydWU7CiAJCX0KLS0gCjIuMTIuMgoK --===============2101650418043679519== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-printk-fix-double-printing-with-earlycon.patch" PkZyb20gZDJhMGRmZmJmZmExOGYwMDIyNTQ0MTMyNjM3NTUyZTViYzY5ZThlMSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogQWxla3NleSBNYWthcm92IDxhbGVrc2V5Lm1ha2Fyb3ZAbGlu YXJvLm9yZz4KRGF0ZTogV2VkLCA1IEFwciAyMDE3IDIzOjIwOjAwICswMzAwClN1YmplY3Q6IFtQ QVRDSCAzLzNdIHByaW50azogZml4IGRvdWJsZSBwcmludGluZyB3aXRoIGVhcmx5Y29uCgpJZiBh IGNvbnNvbGUgd2FzIHNwZWNpZmllZCBieSBBQ1BJIFNQQ1IgdGFibGUgX2FuZF8gY29tbWFuZCBs aW5lCnBhcmFtZXRlcnMgbGlrZSAiY29uc29sZT10dHlBTUEwIiBfYW5kXyAiZWFybHljb24iIHdl cmUgc3BlY2lmaWVkLAp0aGVuIGxvZyBtZXNzYWdlcyBhcHBlYXIgdHdpY2UuCgpUaGUgcm9vdCBj YXVzZSBpcyB0aGF0IHRoZSBjb2RlIHRyYXZlcnNlcyB0aGUgbGlzdCBvZiBzcGVjaWZpZWQKY29u c29sZXMgKHRoZSBgY29uc29sZV9jbWRsaW5lYCBhcnJheSkgYW5kIHN0b3BzIGF0IHRoZSBmaXJz dCBtYXRjaC4KQnV0IGl0IG1heSBoYXBwZW4gdGhhdCB0aGUgc2FtZSBjb25zb2xlIGlzIHJlZmVy cmVkIGJ5IHRoZSBlbGVtZW50cwpvZiB0aGlzIGFycmF5IHR3aWNlOgoKCXBsMDExLG1taW8sMHg4 N2UwMjQwMDAwMDAsMTE1MjAwIC0tIGZyb20gU1BDUgoJdHR5QU1BMCAtLSBmcm9tIGNvbW1hbmQg bGluZQoKYnV0IGluIHRoaXMgY2FzZSBgcHJlZmVycmVkX2NvbnNvbGVgIHBvaW50cyB0byB0aGUg c2Vjb25kIGVudHJ5IGFuZAp0aGUgZmxhZyBDT05fQ09OU0RFViBpcyBub3Qgc2V0LCBzbyBib290 Y29uc29sZSBpcyBub3QgZGVyZWdpc3RlcmVkLgoKVG8gZml4IHRoYXQsIGludHJvZHVjZSBhbiBp bnZhcmlhbnQgIlRoZSBsYXN0IG5vbi1icmFpbGxlIGNvbnNvbGUKaXMgYWx3YXlzIHRoZSBwcmVm ZXJyZWQgb25lIiBvbiB0aGUgZW50cmllcyBvZiB0aGUgY29uc29sZV9jbWRsaW5lCmFycmF5LiAg VGhlbiB0cmF2ZXJzZSBpdCBpbiByZXZlcnNlIG9yZGVyIHRvIGJlIHN1cmUgdGhhdCBpZgp0aGUg Y29uc29sZSBpcyBwcmVmZXJyZWQgdGhlbiBpdCB3aWxsIGJlIHRoZSBmaXJzdCBtYXRjaGluZyBl bnRyeS4KSW50cm9kdWNlIHZhcmlhYmxlIGNvbnNvbGVfY21kbGluZV9jbnQgdGhhdCBrZWVwcyB0 aGUgbnVtYmVyCm9mIGVsZW1lbnRzIG9mIHRoZSBjb25zb2xlX2NtZGxpbmUgYXJyYXkgKFBldHIg TWxhZGVrKS4gIEl0IGhlbHBzCnRvIGdldCByaWQgb2YgdGhlIGxvb3AgdGhhdCBzZWFyY2hlcyBm b3IgdGhlIGVuZCBvZiB0aGlzIGFycmF5LgoKUmVwb3J0ZWQtYnk6IFN1ZGVlcCBIb2xsYSA8c3Vk ZWVwLmhvbGxhQGFybS5jb20+ClNpZ25lZC1vZmYtYnk6IEFsZWtzZXkgTWFrYXJvdiA8YWxla3Nl eS5tYWthcm92QGxpbmFyby5vcmc+Ci0tLQoga2VybmVsL3ByaW50ay9wcmludGsuYyB8IDQ4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2tl cm5lbC9wcmludGsvcHJpbnRrLmMgYi9rZXJuZWwvcHJpbnRrL3ByaW50ay5jCmluZGV4IGZkNzUy ZjBjOGVmMS4uYmU2NTdhZjQ1NzU4IDEwMDY0NAotLS0gYS9rZXJuZWwvcHJpbnRrL3ByaW50ay5j CisrKyBiL2tlcm5lbC9wcmludGsvcHJpbnRrLmMKQEAgLTI2OSw2ICsyNjksNyBAQCBzdGF0aWMg c3RydWN0IGNvbnNvbGUgKmV4Y2x1c2l2ZV9jb25zb2xlOwogI2RlZmluZSBNQVhfQ01ETElORUNP TlNPTEVTIDgKIAogc3RhdGljIHN0cnVjdCBjb25zb2xlX2NtZGxpbmUgY29uc29sZV9jbWRsaW5l W01BWF9DTURMSU5FQ09OU09MRVNdOworc3RhdGljIGludCBjb25zb2xlX2NtZGxpbmVfY250Owog CiBzdGF0aWMgaW50IHByZWZlcnJlZF9jb25zb2xlID0gLTE7CiBpbnQgY29uc29sZV9zZXRfb25f Y21kbGluZTsKQEAgLTE5MDUsMTIgKzE5MDYsMjYgQEAgc3RhdGljIGludCBfX2FkZF9wcmVmZXJy ZWRfY29uc29sZShjaGFyICpuYW1lLCBpbnQgaWR4LCBjaGFyICpvcHRpb25zLAogCSAqCVNlZSBp ZiB0aGlzIHR0eSBpcyBub3QgeWV0IHJlZ2lzdGVyZWQsIGFuZAogCSAqCWlmIHdlIGhhdmUgYSBz bG90IGZyZWUuCiAJICovCi0JZm9yIChpID0gMCwgYyA9IGNvbnNvbGVfY21kbGluZTsKLQkgICAg IGkgPCBNQVhfQ01ETElORUNPTlNPTEVTICYmIGMtPm5hbWVbMF07Ci0JICAgICBpKyssIGMrKykg eworCWZvciAoaSA9IDAsIGMgPSBjb25zb2xlX2NtZGxpbmU7IGkgPCBjb25zb2xlX2NtZGxpbmVf Y250OyBpKyssIGMrKykgewogCQlpZiAoc3RyY21wKGMtPm5hbWUsIG5hbWUpID09IDAgJiYgYy0+ aW5kZXggPT0gaWR4KSB7Ci0JCQlpZiAoIWJybF9vcHRpb25zKQotCQkJCXByZWZlcnJlZF9jb25z b2xlID0gaTsKKworCQkJaWYgKGJybF9vcHRpb25zKQorCQkJCXJldHVybiAwOworCisJCQkvKgor CQkJICogTWFpbnRhaW4gYW4gaW52YXJpYW50IHRoYXQgd2lsbCBoZWxwIHRvIGZpbmQgaWYKKwkJ CSAqIHRoZSBtYXRjaGluZyBjb25zb2xlIGlzIHByZWZlcnJlZCwgc2VlCisJCQkgKiByZWdpc3Rl cl9jb25zb2xlKCk6CisJCQkgKgorCQkJICogVGhlIGxhc3Qgbm9uLWJyYWlsbGUgY29uc29sZSBp cyBhbHdheXMKKwkJCSAqIHRoZSBwcmVmZXJyZWQgb25lLgorCQkJICovCisJCQlpZiAoaSAhPSBj b25zb2xlX2NtZGxpbmVfY250IC0gMSkKKwkJCQlzd2FwKGNvbnNvbGVfY21kbGluZVtpXSwKKwkJ CQkgICAgIGNvbnNvbGVfY21kbGluZVtjb25zb2xlX2NtZGxpbmVfY250IC0gMV0pOworCisJCQlw cmVmZXJyZWRfY29uc29sZSA9IGNvbnNvbGVfY21kbGluZV9jbnQgLSAxOworCiAJCQlyZXR1cm4g MDsKIAkJfQogCX0KQEAgLTE5MjMsNiArMTkzOCw3IEBAIHN0YXRpYyBpbnQgX19hZGRfcHJlZmVy cmVkX2NvbnNvbGUoY2hhciAqbmFtZSwgaW50IGlkeCwgY2hhciAqb3B0aW9ucywKIAlicmFpbGxl X3NldF9vcHRpb25zKGMsIGJybF9vcHRpb25zKTsKIAogCWMtPmluZGV4ID0gaWR4OworCWNvbnNv bGVfY21kbGluZV9jbnQrKzsKIAlyZXR1cm4gMDsKIH0KIC8qCkBAIC0yNDU3LDEyICsyNDczLDI0 IEBAIHZvaWQgcmVnaXN0ZXJfY29uc29sZShzdHJ1Y3QgY29uc29sZSAqbmV3Y29uKQogCX0KIAog CS8qCi0JICoJU2VlIGlmIHRoaXMgY29uc29sZSBtYXRjaGVzIG9uZSB3ZSBzZWxlY3RlZCBvbgot CSAqCXRoZSBjb21tYW5kIGxpbmUuCisJICogU2VlIGlmIHRoaXMgY29uc29sZSBtYXRjaGVzIG9u ZSB3ZSBzZWxlY3RlZCBvbiB0aGUgY29tbWFuZCBsaW5lLgorCSAqCisJICogVGhlcmUgbWF5IGJl IHNldmVyYWwgZW50cmllcyBpbiB0aGUgY29uc29sZV9jbWRsaW5lIGFycmF5IG1hdGNoaW5nCisJ ICogd2l0aCB0aGUgc2FtZSBjb25zb2xlLCBvbmUgd2l0aCBuZXdjb24tPm1hdGNoKCksIGFub3Ro ZXIgYnkKKwkgKiBuYW1lL2luZGV4OgorCSAqCisJICoJcGwwMTEsbW1pbywweDg3ZTAyNDAwMDAw MCwxMTUyMDAgLS0gYWRkZWQgZnJvbSBTUENSCisJICoJdHR5QU1BMCAtLSBhZGRlZCBmcm9tIGNv bW1hbmQgbGluZQorCSAqCisJICogVHJhdmVyc2UgdGhlIGNvbnNvbGVfY21kbGluZSBhcnJheSBp biByZXZlcnNlIG9yZGVyIHRvIGJlCisJICogc3VyZSB0aGF0IGlmIHRoaXMgY29uc29sZSBpcyBw cmVmZXJyZWQgdGhlbiBpdCB3aWxsIGJlIHRoZSBmaXJzdAorCSAqIG1hdGNoaW5nIGVudHJ5LiAg V2UgdXNlIHRoZSBpbnZhcmlhbnQgdGhhdCBpcyBtYWludGFpbmVkIGluCisJICogX19hZGRfcHJl ZmVycmVkX2NvbnNvbGUoKS4KIAkgKi8KLQlmb3IgKGkgPSAwLCBjID0gY29uc29sZV9jbWRsaW5l OwotCSAgICAgaSA8IE1BWF9DTURMSU5FQ09OU09MRVMgJiYgYy0+bmFtZVswXTsKLQkgICAgIGkr KywgYysrKSB7CisJZm9yIChpID0gY29uc29sZV9jbWRsaW5lX2NudCAtIDE7IGkgPj0gMDsgaS0t KSB7CisKKwkJYyA9IGNvbnNvbGVfY21kbGluZSArIGk7CisKIAkJaWYgKCFuZXdjb24tPm1hdGNo IHx8CiAJCSAgICBuZXdjb24tPm1hdGNoKG5ld2NvbiwgYy0+bmFtZSwgYy0+aW5kZXgsIGMtPm9w dGlvbnMpICE9IDApIHsKIAkJCS8qIGRlZmF1bHQgbWF0Y2hpbmcgKi8KLS0gCjIuMTIuMgoK --===============2101650418043679519==--