From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-co1nam03on0095.outbound.protection.outlook.com ([104.47.40.95]:16809 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1032081AbeCAP2E (ORCPT ); Thu, 1 Mar 2018 10:28:04 -0500 From: Sasha Levin To: "stable@vger.kernel.org" , "stable-commits@vger.kernel.org" CC: Tom Lendacky , Ingo Molnar , Sasha Levin Subject: [added to the 4.1 stable tree] x86/boot: Add early cmdline parsing for options with arguments Date: Thu, 1 Mar 2018 15:23:33 +0000 Message-ID: <20180301152116.1486-104-alexander.levin@microsoft.com> References: <20180301152116.1486-1-alexander.levin@microsoft.com> In-Reply-To: <20180301152116.1486-1-alexander.levin@microsoft.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <2FAE4F6327073C4E86AD9AD6FCA146BA@namprd21.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: RnJvbTogVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCg0KVGhpcyBwYXRj aCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgNC4xIHN0YWJsZSB0cmVlLiBJZiB5b3UgaGF2ZSBhbnkN Cm9iamVjdGlvbnMsIHBsZWFzZSBsZXQgdXMga25vdy4NCg0KPT09PT09PT09PT09PT09DQoNClsg VXBzdHJlYW0gY29tbWl0IGU1MDUzNzFkZDgzOTYzY2FhZTFhMzdlYWQ5NTI0ZThkOTk3MzQxYmUg XQ0KDQpBZGQgYSBjbWRsaW5lX2ZpbmRfb3B0aW9uKCkgZnVuY3Rpb24gdG8gbG9vayBmb3IgY21k bGluZSBvcHRpb25zIHRoYXQNCnRha2UgYXJndW1lbnRzLiBUaGUgYXJndW1lbnQgaXMgcmV0dXJu ZWQgaW4gYSBzdXBwbGllZCBidWZmZXIgYW5kIHRoZQ0KYXJndW1lbnQgbGVuZ3RoIChyZWdhcmRs ZXNzIG9mIHdoZXRoZXIgaXQgZml0cyBpbiB0aGUgc3VwcGxpZWQgYnVmZmVyKQ0KaXMgcmV0dXJu ZWQsIHdpdGggLTEgaW5kaWNhdGluZyBub3QgZm91bmQuDQoNClNpZ25lZC1vZmYtYnk6IFRvbSBM ZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+DQpSZXZpZXdlZC1ieTogVGhvbWFzIEds ZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+DQpDYzogQWxleGFuZGVyIFBvdGFwZW5rbyA8Z2xp ZGVyQGdvb2dsZS5jb20+DQpDYzogQW5kcmV5IFJ5YWJpbmluIDxhcnlhYmluaW5AdmlydHVvenpv LmNvbT4NCkNjOiBBbmR5IEx1dG9taXJza2kgPGx1dG9Aa2VybmVsLm9yZz4NCkNjOiBBcm5kIEJl cmdtYW5uIDxhcm5kQGFybmRiLmRlPg0KQ2M6IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44LmRl Pg0KQ2M6IEJyaWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT4NCkNjOiBEYXZlIFlv dW5nIDxkeW91bmdAcmVkaGF0LmNvbT4NCkNjOiBEbWl0cnkgVnl1a292IDxkdnl1a292QGdvb2ds ZS5jb20+DQpDYzogSm9uYXRoYW4gQ29yYmV0IDxjb3JiZXRAbHduLm5ldD4NCkNjOiBLb25yYWQg Unplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+DQpDYzogTGFycnkgV29vZG1h biA8bHdvb2RtYW5AcmVkaGF0LmNvbT4NCkNjOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGlu dXgtZm91bmRhdGlvbi5vcmc+DQpDYzogTWF0dCBGbGVtaW5nIDxtYXR0QGNvZGVibHVlcHJpbnQu Y28udWs+DQpDYzogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4NCkNjOiBQYW9s byBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPg0KQ2M6IFBldGVyIFppamxzdHJhIDxwZXRl cnpAaW5mcmFkZWFkLm9yZz4NCkNjOiBSYWRpbSBLcsSNbcOhxZkgPHJrcmNtYXJAcmVkaGF0LmNv bT4NCkNjOiBSaWsgdmFuIFJpZWwgPHJpZWxAcmVkaGF0LmNvbT4NCkNjOiBUb3NoaW1pdHN1IEth bmkgPHRvc2hpLmthbmlAaHBlLmNvbT4NCkNjOiBrYXNhbi1kZXZAZ29vZ2xlZ3JvdXBzLmNvbQ0K Q2M6IGt2bUB2Z2VyLmtlcm5lbC5vcmcNCkNjOiBsaW51eC1hcmNoQHZnZXIua2VybmVsLm9yZw0K Q2M6IGxpbnV4LWRvY0B2Z2VyLmtlcm5lbC5vcmcNCkNjOiBsaW51eC1lZmlAdmdlci5rZXJuZWwu b3JnDQpDYzogbGludXgtbW1Aa3ZhY2sub3JnDQpMaW5rOiBodHRwOi8vbGttbC5rZXJuZWwub3Jn L3IvMzZiNWY5NzQ5MmE5NzQ1ZGNlMjc2ODIzMDVmOTkwZmMyMGU1Y2Y4YS4xNTAwMzE5MjE2Lmdp dC50aG9tYXMubGVuZGFja3lAYW1kLmNvbQ0KU2lnbmVkLW9mZi1ieTogSW5nbyBNb2xuYXIgPG1p bmdvQGtlcm5lbC5vcmc+DQpTaWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8YWxleGFuZGVyLmxl dmluQG1pY3Jvc29mdC5jb20+DQotLS0NCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9jbWRsaW5lLmgg fCAgIDIgKw0KIGFyY2gveDg2L2xpYi9jbWRsaW5lLmMgICAgICAgICB8IDEwNSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIDIgZmlsZXMgY2hhbmdlZCwgMTA3IGlu c2VydGlvbnMoKykNCg0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2NtZGxpbmUu aCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2NtZGxpbmUuaA0KaW5kZXggZTAxZjdmN2NjYjBjLi44 NGFlMTcwYmMzZDAgMTAwNjQ0DQotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9jbWRsaW5lLmgN CisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2NtZGxpbmUuaA0KQEAgLTIsNSArMiw3IEBADQog I2RlZmluZSBfQVNNX1g4Nl9DTURMSU5FX0gNCiANCiBpbnQgY21kbGluZV9maW5kX29wdGlvbl9i b29sKGNvbnN0IGNoYXIgKmNtZGxpbmVfcHRyLCBjb25zdCBjaGFyICpvcHRpb24pOw0KK2ludCBj bWRsaW5lX2ZpbmRfb3B0aW9uKGNvbnN0IGNoYXIgKmNtZGxpbmVfcHRyLCBjb25zdCBjaGFyICpv cHRpb24sDQorCQkJY2hhciAqYnVmZmVyLCBpbnQgYnVmc2l6ZSk7DQogDQogI2VuZGlmIC8qIF9B U01fWDg2X0NNRExJTkVfSCAqLw0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9jbWRsaW5lLmMg Yi9hcmNoL3g4Ni9saWIvY21kbGluZS5jDQppbmRleCA0MjJkYjAwMGQ3MjcuLmE3NDQ1MDY4NTZi MSAxMDA2NDQNCi0tLSBhL2FyY2gveDg2L2xpYi9jbWRsaW5lLmMNCisrKyBiL2FyY2gveDg2L2xp Yi9jbWRsaW5lLmMNCkBAIC04MiwzICs4MiwxMDggQEAgaW50IGNtZGxpbmVfZmluZF9vcHRpb25f Ym9vbChjb25zdCBjaGFyICpjbWRsaW5lLCBjb25zdCBjaGFyICpvcHRpb24pDQogDQogCXJldHVy biAwOwkvKiBCdWZmZXIgb3ZlcnJ1biAqLw0KIH0NCisNCisvKg0KKyAqIEZpbmQgYSBub24tYm9v bGVhbiBvcHRpb24gKGkuZS4gb3B0aW9uPWFyZ3VtZW50KS4gSW4gYWNjb3JkYW5jZSB3aXRoDQor ICogc3RhbmRhcmQgTGludXggcHJhY3RpY2UsIGlmIHRoaXMgb3B0aW9uIGlzIHJlcGVhdGVkLCB0 aGlzIHJldHVybnMgdGhlDQorICogbGFzdCBpbnN0YW5jZSBvbiB0aGUgY29tbWFuZCBsaW5lLg0K KyAqDQorICogQGNtZGxpbmU6IHRoZSBjbWRsaW5lIHN0cmluZw0KKyAqIEBtYXhfY21kbGluZV9z aXplOiB0aGUgbWF4aW11bSBzaXplIG9mIGNtZGxpbmUNCisgKiBAb3B0aW9uOiBvcHRpb24gc3Ry aW5nIHRvIGxvb2sgZm9yDQorICogQGJ1ZmZlcjogbWVtb3J5IGJ1ZmZlciB0byByZXR1cm4gdGhl IG9wdGlvbiBhcmd1bWVudA0KKyAqIEBidWZzaXplOiBzaXplIG9mIHRoZSBzdXBwbGllZCBtZW1v cnkgYnVmZmVyDQorICoNCisgKiBSZXR1cm5zIHRoZSBsZW5ndGggb2YgdGhlIGFyZ3VtZW50IChy ZWdhcmRsZXNzIG9mIGlmIGl0IHdhcw0KKyAqIHRydW5jYXRlZCB0byBmaXQgaW4gdGhlIGJ1ZmZl ciksIG9yIC0xIG9uIG5vdCBmb3VuZC4NCisgKi8NCitzdGF0aWMgaW50DQorX19jbWRsaW5lX2Zp bmRfb3B0aW9uKGNvbnN0IGNoYXIgKmNtZGxpbmUsIGludCBtYXhfY21kbGluZV9zaXplLA0KKwkJ ICAgICAgY29uc3QgY2hhciAqb3B0aW9uLCBjaGFyICpidWZmZXIsIGludCBidWZzaXplKQ0KK3sN CisJY2hhciBjOw0KKwlpbnQgcG9zID0gMCwgbGVuID0gLTE7DQorCWNvbnN0IGNoYXIgKm9wcHRy ID0gTlVMTDsNCisJY2hhciAqYnVmcHRyID0gYnVmZmVyOw0KKwllbnVtIHsNCisJCXN0X3dvcmRz dGFydCA9IDAsCS8qIFN0YXJ0IG9mIHdvcmQvYWZ0ZXIgd2hpdGVzcGFjZSAqLw0KKwkJc3Rfd29y ZGNtcCwJLyogQ29tcGFyaW5nIHRoaXMgd29yZCAqLw0KKwkJc3Rfd29yZHNraXAsCS8qIE1pc2Nv bXBhcmUsIHNraXAgKi8NCisJCXN0X2J1ZmNweSwJLyogQ29weWluZyB0aGlzIHRvIGJ1ZmZlciAq Lw0KKwl9IHN0YXRlID0gc3Rfd29yZHN0YXJ0Ow0KKw0KKwlpZiAoIWNtZGxpbmUpDQorCQlyZXR1 cm4gLTE7ICAgICAgLyogTm8gY29tbWFuZCBsaW5lICovDQorDQorCS8qDQorCSAqIFRoaXMgJ3Bv cycgY2hlY2sgZW5zdXJlcyB3ZSBkbyBub3Qgb3ZlcnJ1bg0KKwkgKiBhIG5vbi1OVUxMLXRlcm1p bmF0ZWQgJ2NtZGxpbmUnDQorCSAqLw0KKwl3aGlsZSAocG9zKysgPCBtYXhfY21kbGluZV9zaXpl KSB7DQorCQljID0gKihjaGFyICopY21kbGluZSsrOw0KKwkJaWYgKCFjKQ0KKwkJCWJyZWFrOw0K Kw0KKwkJc3dpdGNoIChzdGF0ZSkgew0KKwkJY2FzZSBzdF93b3Jkc3RhcnQ6DQorCQkJaWYgKG15 aXNzcGFjZShjKSkNCisJCQkJYnJlYWs7DQorDQorCQkJc3RhdGUgPSBzdF93b3JkY21wOw0KKwkJ CW9wcHRyID0gb3B0aW9uOw0KKwkJCS8qIGZhbGwgdGhyb3VnaCAqLw0KKw0KKwkJY2FzZSBzdF93 b3JkY21wOg0KKwkJCWlmICgoYyA9PSAnPScpICYmICEqb3BwdHIpIHsNCisJCQkJLyoNCisJCQkJ ICogV2UgbWF0Y2hlZCBhbGwgdGhlIHdheSB0byB0aGUgZW5kIG9mIHRoZQ0KKwkJCQkgKiBvcHRp b24gd2Ugd2VyZSBsb29raW5nIGZvciwgcHJlcGFyZSB0bw0KKwkJCQkgKiBjb3B5IHRoZSBhcmd1 bWVudC4NCisJCQkJICovDQorCQkJCWxlbiA9IDA7DQorCQkJCWJ1ZnB0ciA9IGJ1ZmZlcjsNCisJ CQkJc3RhdGUgPSBzdF9idWZjcHk7DQorCQkJCWJyZWFrOw0KKwkJCX0gZWxzZSBpZiAoYyA9PSAq b3BwdHIrKykgew0KKwkJCQkvKg0KKwkJCQkgKiBXZSBhcmUgY3VycmVudGx5IG1hdGNoaW5nLCBz byBjb250aW51ZQ0KKwkJCQkgKiB0byB0aGUgbmV4dCBjaGFyYWN0ZXIgb24gdGhlIGNtZGxpbmUu DQorCQkJCSAqLw0KKwkJCQlicmVhazsNCisJCQl9DQorCQkJc3RhdGUgPSBzdF93b3Jkc2tpcDsN CisJCQkvKiBmYWxsIHRocm91Z2ggKi8NCisNCisJCWNhc2Ugc3Rfd29yZHNraXA6DQorCQkJaWYg KG15aXNzcGFjZShjKSkNCisJCQkJc3RhdGUgPSBzdF93b3Jkc3RhcnQ7DQorCQkJYnJlYWs7DQor DQorCQljYXNlIHN0X2J1ZmNweToNCisJCQlpZiAobXlpc3NwYWNlKGMpKSB7DQorCQkJCXN0YXRl ID0gc3Rfd29yZHN0YXJ0Ow0KKwkJCX0gZWxzZSB7DQorCQkJCS8qDQorCQkJCSAqIEluY3JlbWVu dCBsZW4sIGJ1dCBkb24ndCBvdmVycnVuIHRoZQ0KKwkJCQkgKiBzdXBwbGllZCBidWZmZXIgYW5k IGxlYXZlIHJvb20gZm9yIHRoZQ0KKwkJCQkgKiBOVUxMIHRlcm1pbmF0b3IuDQorCQkJCSAqLw0K KwkJCQlpZiAoKytsZW4gPCBidWZzaXplKQ0KKwkJCQkJKmJ1ZnB0cisrID0gYzsNCisJCQl9DQor CQkJYnJlYWs7DQorCQl9DQorCX0NCisNCisJaWYgKGJ1ZnNpemUpDQorCQkqYnVmcHRyID0gJ1ww JzsNCisNCisJcmV0dXJuIGxlbjsNCit9DQorDQoraW50IGNtZGxpbmVfZmluZF9vcHRpb24oY29u c3QgY2hhciAqY21kbGluZSwgY29uc3QgY2hhciAqb3B0aW9uLCBjaGFyICpidWZmZXIsDQorCQkJ aW50IGJ1ZnNpemUpDQorew0KKwlyZXR1cm4gX19jbWRsaW5lX2ZpbmRfb3B0aW9uKGNtZGxpbmUs IENPTU1BTkRfTElORV9TSVpFLCBvcHRpb24sDQorCQkJCSAgICAgYnVmZmVyLCBidWZzaXplKTsN Cit9DQotLSANCjIuMTQuMQ0K