From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH] xen/cmdline: Fix buggy strncmp(s, LITERAL, ss - s) construct Date: Fri, 4 Jan 2019 15:55:36 +0000 Message-ID: References: <1546277721-20234-1-git-send-email-andrew.cooper3@citrix.com> <5C2F7C8D020000780020A422@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5C2F7C8D020000780020A422@prv1-mh.provo.novell.com> Content-Language: en-GB List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich Cc: Julien Grall , Stefano Stabellini , Wei Liu , Xen-devel , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org T24gMDQvMDEvMjAxOSAxNTozMiwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMzEuMTIuMTgg YXQgMTg6MzUsIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPiB3cm90ZToKPj4gLS0tIGEveGVu L2FyY2gveDg2L2NwdS92cG11LmMKPj4gKysrIGIveGVuL2FyY2gveDg2L2NwdS92cG11LmMKPj4g QEAgLTYxLDQyICs2MSwzMSBAQCBzdGF0aWMgdW5zaWduZWQgdnBtdV9jb3VudDsKPj4gIAo+PiAg c3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB2Y3B1ICosIGxhc3RfdmNwdSk7Cj4+ICAKPj4g LXN0YXRpYyBpbnQgcGFyc2VfdnBtdV9wYXJhbShjb25zdCBjaGFyICpzLCB1bnNpZ25lZCBpbnQg bGVuKQo+PiAtewo+PiAtICAgIGlmICggISpzIHx8ICFsZW4gKQo+PiAtICAgICAgICByZXR1cm4g MDsKPj4gLSAgICBpZiAoICFzdHJuY21wKHMsICJidHMiLCBsZW4pICkKPj4gLSAgICAgICAgdnBt dV9mZWF0dXJlcyB8PSBYRU5QTVVfRkVBVFVSRV9JTlRFTF9CVFM7Cj4+IC0gICAgZWxzZSBpZiAo ICFzdHJuY21wKHMsICJpcGMiLCBsZW4pICkKPj4gLSAgICAgICAgdnBtdV9mZWF0dXJlcyB8PSBY RU5QTVVfRkVBVFVSRV9JUENfT05MWTsKPj4gLSAgICBlbHNlIGlmICggIXN0cm5jbXAocywgImFy Y2giLCBsZW4pICkKPj4gLSAgICAgICAgdnBtdV9mZWF0dXJlcyB8PSBYRU5QTVVfRkVBVFVSRV9B UkNIX09OTFk7Cj4+IC0gICAgZWxzZQo+PiAtICAgICAgICByZXR1cm4gMTsKPj4gLSAgICByZXR1 cm4gMDsKPj4gLX0KPj4gLQo+PiAgc3RhdGljIGludCBfX2luaXQgcGFyc2VfdnBtdV9wYXJhbXMo Y29uc3QgY2hhciAqcykKPj4gIHsKPj4gLSAgICBjb25zdCBjaGFyICpzZXAsICpwID0gczsKPj4g KyAgICBjb25zdCBjaGFyICpzczsKPj4gIAo+PiAgICAgIHN3aXRjaCAoIHBhcnNlX2Jvb2wocywg TlVMTCkgKQo+PiAgICAgIHsKPj4gICAgICBjYXNlIDA6Cj4+ICAgICAgICAgIGJyZWFrOwo+PiAg ICAgIGRlZmF1bHQ6Cj4+IC0gICAgICAgIGZvciAoIDsgOyApCj4+IC0gICAgICAgIHsKPj4gLSAg ICAgICAgICAgIHNlcCA9IHN0cmNocihwLCAnLCcpOwo+PiAtICAgICAgICAgICAgaWYgKCBzZXAg PT0gTlVMTCApCj4+IC0gICAgICAgICAgICAgICAgc2VwID0gc3RyY2hyKHAsIDApOwo+PiAtICAg ICAgICAgICAgaWYgKCBwYXJzZV92cG11X3BhcmFtKHAsIHNlcCAtIHApICkKPj4gLSAgICAgICAg ICAgICAgICBnb3RvIGVycm9yOwo+PiAtICAgICAgICAgICAgaWYgKCAhKnNlcCApCj4+IC0gICAg ICAgICAgICAgICAgLyogcmVhY2hlZCBlbmQgb2YgZmxhZ3MgKi8KPj4gLSAgICAgICAgICAgICAg ICBicmVhazsKPj4gLSAgICAgICAgICAgIHAgPSBzZXAgKyAxOwo+PiAtICAgICAgICB9Cj4+ICsg ICAgICAgIGRvIHsKPj4gKyAgICAgICAgICAgIHNzID0gc3RyY2hyKHMsICcsJyk7Cj4+ICsgICAg ICAgICAgICBpZiAoICFzcyApCj4+ICsgICAgICAgICAgICAgICAgc3MgPSBzdHJjaHIocywgJ1ww Jyk7Cj4+ICsKPj4gKyAgICAgICAgICAgIGlmICggIWNtZGxpbmVfc3RyY21wKHMsICJidHMiKSAp Cj4+ICsgICAgICAgICAgICAgICAgdnBtdV9mZWF0dXJlcyB8PSBYRU5QTVVfRkVBVFVSRV9JTlRF TF9CVFM7Cj4+ICsgICAgICAgICAgICBlbHNlIGlmICggIWNtZGxpbmVfc3RyY21wKHMsICJpcGMi KSApCj4+ICsgICAgICAgICAgICAgICAgdnBtdV9mZWF0dXJlcyB8PSBYRU5QTVVfRkVBVFVSRV9J UENfT05MWTsKPj4gKyAgICAgICAgICAgIGVsc2UgaWYgKCAhY21kbGluZV9zdHJjbXAocywgImFy Y2giKSApCj4+ICsgICAgICAgICAgICAgICAgdnBtdV9mZWF0dXJlcyB8PSBYRU5QTVVfRkVBVFVS RV9BUkNIX09OTFk7Cj4+ICsgICAgICAgICAgICBlbHNlCj4+ICsgICAgICAgICAgICAgICAgcmV0 dXJuIC1FSU5WQUw7Cj4+ICsKPj4gKyAgICAgICAgICAgIHMgPSBzcyArIDE7Cj4+ICsgICAgICAg IH0gd2hpbGUgKCAqc3MgKTsKPiBXaGlsZSBwcmVzdW1hYmx5IGFsc28gYXBwbGljYWJsZSBlbHNl d2hlcmUsIHRoZSBpc3N1ZSBpcyBtb3JlCj4gbm90aWNlYWJsZSBoZXJlIGJlY2F1c2UgeW91IGlu dHJvZHVjZSAic3MiIGFuZXc6CgpJIGRvbid0IGludHJvZHVjZSBpdC7CoCBJdCB3YXMgcHJldmlv dXNseSBuYW1lZCAic2VwIiwgd2hpY2ggSSByZW5hbWVkCmZvciBjb25zaXN0ZW5jeS7CoCBJdCBp cyBhbHNvIHN1YnRseSBkaXNndWlzZWQgd2l0aCBhIDAgaW5zdGVhZCBvZiAnXDAnCmFuZCBhIHJl ZHVuZGFudCBsb2NhbCB2YXJpYWJsZSBuYW1lZCBwLgoKPiBJdCBpcyBub3cKPiB1bmhlbHBmdWwg KGluIHRlcm1zIG9mIGdlbmVyYXRlZCBjb2RlKSB0byBjYWxjdWxhdGUgc3MgYmVmb3JlCj4gdGhl IHZhcmlvdXMgY21kbGluZV9zdHJjbXAoKSBjYWxscywgYXMgdGhlIGNvbXBpbGVyIGNhbid0IGtu b3cKPiAoZGVzcGl0ZSB0aGUgY29uc3QpIHRoYXQgd2hhdCBzIHBvaW50cyB0byB3b24ndCBjaGFu Z2UgYWNyb3NzCj4gdGhvc2UgY2FsbHMsIGFuZCBoZW5jZSBoYXMgdG8gY2FsY3VsYXRlIHNzIGVh cmx5IChhbmQgcHV0IGl0IGludG8KPiBhIGNhbGxlZSBzYXZlZCByZWdpc3RlciBvciBvbiB0aGUg c3RhY2spLCBhcyB3cml0dGVuLiBJZiB0aGUKPiBjYWxjdWxhdGlvbiB3YXMgcHVsbGVkIGRvd24s IG9ubHkgc2NyYXRjaCByZWdpc3RlcnMgd291bGQKPiBzdWZmaWNlIGZvciB0aGUgY29tcGlsZXIg dG8gY2Fycnkgb3V0IHRoZSBjYWxjdWxhdGlvbi4KPgo+IFRoYXQgc2FpZCAtIGFsbCBvZiB0aGlz IGlzIGJvb3QgdGltZSBvbmx5IGNvZGUsIHNvIG5vdCByZWFsbHkKPiBwZXJmb3JtYW5jZSBjcml0 aWNhbC4gSXQncyBqdXN0IHRoYXQgdGhpcyBnZW5lcmFsIHN0cnVjdHVyZSB3aWxsCj4gdGhlbiBm dXJ0aGVyIHByb2xpZmVyYXRlLCBhbmQgdGhlIG92ZXJhbGwgYmluYXJ5IHNpemUgaXMgbGlrZWx5 Cj4gZ29pbmcgdG8gYmUgKHNsaWdodGx5KSBsYXJnZXIgdGhpcyB3YXkuCgpUQkgsIEknbSBub3Qg Y29uY2VybmVkIGZhciBtb3JlIHdpdGggY29kZSBjb25zaXN0ZW5jeSB0aGFuIGVmZmljaWVuY3ks CmdpdmVuIGhvdyBvZnRlbiB3ZSBtYW5hZ2UgdG8gc3VidGx5IGJyZWFrIHRoZSBjb21tYW5kIGxp bmUgcGFyc2luZy4KCklmIHdlIGRvIHdhbnQgdG8gY29tZSB1cCB3aXRoIGEgbW9yZSBlZmZpY2ll bnQgd2F5IG9mIGRvaW5nIHRoaXMsIHdlIGNhbgpkbyBhIGJsYW5rZXQgY2hhbmdlIHRvIG91ciBw cmV2YWlsaW5nIHN0eWxlLgoKPgo+PiAtLS0gYS94ZW4vY29tbW9uL2tlcm5lbC5jCj4+ICsrKyBi L3hlbi9jb21tb24va2VybmVsLmMKPj4gQEAgLTIyNywxOSArMjI3LDQ5IEBAIGludCBwYXJzZV9i b29sKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKmUpCj4+ICAgICAgaWYgKCAhbGVuICkKPj4g ICAgICAgICAgcmV0dXJuIC0xOwo+PiAgCj4+IC0gICAgaWYgKCAhc3RybmNtcCgibm8iLCBzLCBs ZW4pIHx8Cj4+IC0gICAgICAgICAhc3RybmNtcCgib2ZmIiwgcywgbGVuKSB8fAo+PiAtICAgICAg ICAgIXN0cm5jbXAoImZhbHNlIiwgcywgbGVuKSB8fAo+PiAtICAgICAgICAgIXN0cm5jbXAoImRp c2FibGUiLCBzLCBsZW4pIHx8Cj4+IC0gICAgICAgICAhc3RybmNtcCgiMCIsIHMsIGxlbikgKQo+ PiAtICAgICAgICByZXR1cm4gMDsKPj4gKyAgICBzd2l0Y2ggKCBsZW4gKQo+PiArICAgIHsKPj4g KyAgICBjYXNlIDE6Cj4+ICsgICAgICAgIGlmICggKnMgPT0gJzEnICkKPj4gKyAgICAgICAgICAg IHJldHVybiAxOwo+PiArICAgICAgICBlbHNlIGlmICggKnMgPT0gJzAnICkKPiBUaGUgImVsc2Ui IGhlcmUgaXMgcG9pbnRsZXNzIChhbHNvIGZ1cnRoZXIgZG93bikuCgpTbyB0aGV5IGFyZS7CoCBJ J2xsIGRyb3AuCgo+Cj4+IEBAIC0yNzEsNiArMzAxLDI5IEBAIGludCBwYXJzZV9ib29sZWFuKGNv bnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKmUpCj4+ICAgICAgcmV0 dXJuIC0xOwo+PiAgfQo+PiAgCj4+ICtpbnQgY21kbGluZV9zdHJjbXAoY29uc3QgY2hhciAqZnJh ZywgY29uc3QgY2hhciAqbmFtZSkKPj4gK3sKPj4gKyAgICB3aGlsZSAoIDEgKQo+IENvdWxkIEkg dGFsayB5b3UgaW50byB1c2luZyAiZm9yICggOyA7ICkiIGluc3RlYWQgKGFuZCB0aGVuIHBlcmhh cHMKPiBtb3ZpbmcgdGhlIHR3byBpbmNyZW1lbnRzIHVwIGhlcmUpPyBJIGtub3cgZ2NjIGRvZXNu J3QgZG8gdGhpcywKPiBidXQgaW4gdGhlIGdlbmVyYWwgY2FzZSBhIGNvbXBpbGVyIHdhcm5pbmcg YWJvdXQgc3VjaCBjb25zdGFudAo+IGNvbmRpdGlvbmFscyBpcyBub3QgYW4gZW50aXJlbHkgYmFk IG9yIHdyb25nIHRoaW5nLCBzbyBJIHByZWZlciB0bwo+IHNlZSBzdWNoIGNvbnN0cnVjdHMgYXZv aWRlZCB3aGVyZSB3ZSByZWFzb25hYmx5IGNhbi4KCk9rLgoKPgo+PiArICAgIHsKPj4gKyAgICAg ICAgaW50IHJlcyA9ICgqZnJhZyAtICpuYW1lKTsKPiBXaXRoIHRoZSByZXN1bHQgb2YgdGhpcyBi ZWluZyBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIChkdWUgdG8gcGxhaW4KPiBjaGFyJ3MgaW1wbGVt ZW50YXRpb24gZGVmaW5lZCAtIG9mdGVuIGNvbW1hbmQgbGluZSBjb250cm9sbGVkCj4gd2l0aCBh biBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGRlZmF1bHQgLSBzaWduZWRuZXNzKSBJIHdvbmRlciBp Zgo+IHRoaXMgZnVuY3Rpb24gY2FuIHJlYWxseSB1c2VmdWxseSByZXR1cm4gImludCIgcmF0aGVy IHRoYW4gImJvb2wiLgoKTXkgQ1BVSUQgY29tbWFuZCBsaW5lIHBhcnNpbmcgbmVlZHMgdGhpcyB0 byB3b3JrIHByb3Blcmx5IGFzIGludCwgZm9yCmJpc2VjdGluZyBhY3Jvc3MgYSBzb3J0ZWQgbGlz dC4KCkknbGwgYWRkIGFuIGV4cGxpY2l0IGNhc3QgdG8gc2lnbmVkIGNoYXIuwqAgSSdsbCBhbHNv IGZpeCBvdXQgbG9jYWwgbGliYwpmdW5jdGlvbnMsIHdoaWNoIGFyZSBzaW1pbGFybHkgYnVnZ3ku Cgo+Cj4+ICsgICAgICAgIGlmICggcmVzIHx8ICpuYW1lID09ICdcMCcgKQo+PiArICAgICAgICB7 Cj4+ICsgICAgICAgICAgICAvKgo+PiArICAgICAgICAgICAgICogTlVMIGluICduYW1lJyBtYXRj aGluZyBhIGNvbW1hIG9yIGNvbG9uIGluICdmcmFnJyBpbXBsaWVzCj4+ICsgICAgICAgICAgICAg KiBzdWNjZXNzLgo+PiArICAgICAgICAgICAgICovCj4+ICsgICAgICAgICAgICBpZiAoICpuYW1l ID09ICdcMCcgJiYgKCpmcmFnID09ICcsJyB8fCAqZnJhZyA9PSAnOicpICkKPiBUaGVyZSdzIG9u bHkgYSBzaW5nbGUgKHVucmVsYXRlZCkgdXNlIG9mIDsgYXMgYSBzZXBhcmF0b3IgcmlnaHQKPiBu b3cgKGFmYWljcyksIGJ1dCBhZGRpbmcgaXQgaGVyZSB3b3VsZCBzZWVtIHF1aXRlIGRlc2lyYWJs ZSB0bwo+IG1lLgoKV2hlcmUgaXMgOyB1c2VkLCBvdXQgb2YgaW50ZXJlc3Q/wqAgSSdtIGhhcHB5 IHRvIGFkZCBpdCwgYnV0IEkgZGlkbid0CnNwb3QgaXQgb24gbXkgYXVkaXQuCgo+IEFsc28sIHNw ZWFraW5nIG9mICh0aGUgbGFjayBvZikgdG9rZW5pemF0aW9uIG9mIHRoZSBjb21tYW5kIGxpbmUK PiBpbiB0aGUgY2FsbGVyLCB3b3VsZG4ndCBpdCBtYWtlIHNlbnNlIHRvIGFjY2VwdCB3aGl0ZSBz cGFjZSBhcwo+IHNlcGFyYXRvcnMgaGVyZSB0b28/CgpJJ20gbm90IHN1cmUgaWYgdGhhdCBpcyB3 aXNlIG9yIG5vdC7CoCBJIGNhbid0IHRoaW5rIG9mIGEgc2l0dWF0aW9uIHdoZXJlCnlvdSB3b3Vs ZCB3YW50IHRoYXQgYmVoYXZpb3VyLCByYXRoZXIgdGhhbiBmaW5kaW5nIHlvdXJzZWxmIHdpdGgg YQpwYXJzaW5nIGJ1ZyBhbmQgaGF2aW5nIHRvIGZpeCBhIGJ1ZyBlbHNld2hlcmUuCgp+QW5kcmV3 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs