From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [PATCH] vixen: transmit NUL characters received from guest serial port Date: Fri, 12 Jan 2018 15:59:14 -0800 Message-ID: References: <1515800340-5205-1-git-send-email-srn@prgmr.com> 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.84_2) (envelope-from ) id 1ea9EG-0008Cy-4E for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 23:59:20 +0000 Received: by mail-lf0-x243.google.com with SMTP id y71so7609213lfd.12 for ; Fri, 12 Jan 2018 15:59:16 -0800 (PST) In-Reply-To: <1515800340-5205-1-git-send-email-srn@prgmr.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Sarah Newman Cc: xen-devel , sergey.dyasli@citrix.com List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBKYW4gMTIsIDIwMTggYXQgMzozOSBQTSwgU2FyYWggTmV3bWFuIDxzcm5AcHJnbXIu Y29tPiB3cm90ZToKPiBDZXJ0YWluIHByb2dyYW1zLCBzdWNoIGFzIHRoZSBOZXRCU0QgaW5zdGFs bGVyLCBpbmNsdWRlIE5VTCBjaGFyYWN0ZXJzCj4gaW4gdGhlaXIgb3V0cHV0LiBVc2luZyBudWxs LXRlcm1pbmF0ZWQgc3RyaW5ncyBmb3IgdHJhbnNtaXR0aW5nIGRhdGEKPiBmcm9tIHRoZSBndWVz dCB0byB0aGUgTDAgaHlwZXJ2aXNvciBtZWFudCB0aGUgb3V0cHV0IHdhcyBiZWluZyBjb3JydXB0 ZWQuCj4KPiBUaGlzIG1ha2VzIG9ubHkgdGhlIHJlcXVpcmVkIGNoYW5nZXMgZm9yIHZpeGVuIHRv IHdvcmsgcHJvcGVybHkuCj4gRnV0dXJlIHdvcmsgY291bGQgaW5jbHVkZSBnZW5lcmFsbHkgc3dp dGNoaW5nIGF3YXkgZnJvbSBudWxsLXRlcm1pbmF0ZWQKPiBzdHJpbmdzIHdpdGhpbiB0aGUgeGVu IGNvbnNvbGUgY29kZS4KPgo+IFNpZ25lZC1vZmYtYnk6IFNhcmFoIE5ld21hbiA8c3JuQHByZ21y LmNvbT4KPiAtLS0KPiAgeGVuL2FyY2gveDg2L2d1ZXN0L3ZpeGVuLmMgfCAgNCArKy0tCj4gIHhl bi9kcml2ZXJzL2NoYXIvY29uc29sZS5jIHwgMTQgKysrKysrKysrKystLS0KPiAgeGVuL2RyaXZl cnMvY2hhci9zZXJpYWwuYyAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kwo+ICB4ZW4vaW5jbHVkZS94ZW4vbGliLmggICAgICB8ICAyICstCj4gIHhlbi9pbmNsdWRlL3hl bi9zZXJpYWwuaCAgIHwgIDMgKysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZ3Vlc3Qvdml4 ZW4uYyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC92aXhlbi5jCj4gaW5kZXggOWNiMWE4MC4uMWIxZDJl MCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvZ3Vlc3Qvdml4ZW4uYwo+ICsrKyBiL3hlbi9h cmNoL3g4Ni9ndWVzdC92aXhlbi5jCj4gQEAgLTMwNCw3ICszMDQsNyBAQCBib29sIHZpeGVuX3Jp bmdfcHJvY2Vzcyh1aW50MTZfdCBwb3J0KQo+ICAgICAgICAgIGNoYXIgY2ggPSByLT5vdXRbTUFT S19YRU5DT05TX0lEWChyLT5vdXRfY29ucywgci0+b3V0KV07Cj4gICAgICAgICAgaWYgKG4gPT0g c2l6ZW9mKGJ1ZmZlcikgLSAxKSB7Cj4gICAgICAgICAgICAgIGJ1ZmZlcltuXSA9IDA7Cj4gLSAg ICAgICAgICAgIGd1ZXN0X3B1dHMoaGFyZHdhcmVfZG9tYWluLCBidWZmZXIpOwo+ICsgICAgICAg ICAgICBndWVzdF9wdXRzbihoYXJkd2FyZV9kb21haW4sIGJ1ZmZlciwgbik7Cj4gICAgICAgICAg ICAgIG4gPSAwOwo+ICAgICAgICAgIH0KPiAgICAgICAgICBidWZmZXJbbisrXSA9IGNoOwo+IEBA IC0zMTQsNyArMzE0LDcgQEAgYm9vbCB2aXhlbl9yaW5nX3Byb2Nlc3ModWludDE2X3QgcG9ydCkK Pgo+ICAgICAgaWYgKG4pIHsKPiAgICAgICAgICBidWZmZXJbbl0gPSAwOwo+IC0gICAgICAgIGd1 ZXN0X3B1dHMoaGFyZHdhcmVfZG9tYWluLCBidWZmZXIpOwo+ICsgICAgICAgIGd1ZXN0X3B1dHNu KGhhcmR3YXJlX2RvbWFpbiwgYnVmZmVyLCBuKTsKPiAgICAgIH0KPgo+ICAgICAgc3Bpbl91bmxv Y2soJnZpeGVuX3hlbmNvbnNfbG9jayk7Cj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL2NoYXIv Y29uc29sZS5jIGIveGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMKPiBpbmRleCAzOGE1ZDY3Li5i YTIyY2RmIDEwMDY0NAo+IC0tLSBhL3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jCj4gKysrIGIv eGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMKPiBAQCAtMzQxLDYgKzM0MSwxNCBAQCBzdGF0aWMg dm9pZCBzZXJjb25fcHV0cyhjb25zdCBjaGFyICpzKQo+ICAgICAgICAgIHNlcmlhbF9wdXRzKHNl cmNvbl9oYW5kbGUsIHMpOwo+ICB9Cj4KPiArc3RhdGljIHZvaWQgc2VyY29uX3B1dHNuKGNvbnN0 IGNoYXIgKnMsIHVuc2lnbmVkIGludCBjb3VudCkKPiArewo+ICsgICAgaWYgKCBzZXJpYWxfc3Rl YWxfZm4gIT0gTlVMTCApCj4gKyAgICAgICAgKCpzZXJpYWxfc3RlYWxfZm4pKHMpOwo+ICsgICAg ZWxzZQo+ICsgICAgICAgIHNlcmlhbF9wdXRzbihzZXJjb25faGFuZGxlLCBzLCBjb3VudCk7Cj4g K30KPiArCj4gIHN0YXRpYyB2b2lkIGR1bXBfY29uc29sZV9yaW5nX2tleSh1bnNpZ25lZCBjaGFy IGtleSkKPiAgewo+ICAgICAgdWludDMyX3QgaWR4LCBsZW4sIHNvZmFyLCBjOwo+IEBAIC00NjEs NyArNDY5LDcgQEAgc3RhdGljIGxvbmcgZ3Vlc3RfY29uc29sZV93cml0ZShYRU5fR1VFU1RfSEFO RExFX1BBUkFNKGNoYXIpIGJ1ZmZlciwgaW50IGNvdW50KQo+ICAgICAgICAgICAgICAvKiBVc2Ug ZGlyZWN0IGNvbnNvbGUgb3V0cHV0IGFzIGl0IGNvdWxkIGJlIGludGVyYWN0aXZlICovCj4gICAg ICAgICAgICAgIHNwaW5fbG9ja19pcnEoJmNvbnNvbGVfbG9jayk7Cj4KPiAtICAgICAgICAgICAg c2VyY29uX3B1dHMoa2J1Zik7Cj4gKyAgICAgICAgICAgIHNlcmNvbl9wdXRzbihrYnVmLCBjb3Vu dCk7Cj4gICAgICAgICAgICAgIHZpZGVvX3B1dHMoa2J1Zik7Cj4KPiAgICAgICAgICAgICAgaWYg KCBvcHRfY29uc29sZV90b19yaW5nICkKPiBAQCAtNzYxLDExICs3NjksMTEgQEAgdm9pZCBndWVz dF9wcmludGsoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZm10LCAuLi4pCj4g ICAgICB2YV9lbmQoYXJncyk7Cj4gIH0KPgo+IC12b2lkIGd1ZXN0X3B1dHMoY29uc3Qgc3RydWN0 IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqa2J1ZikKPiArdm9pZCBndWVzdF9wdXRzbihjb25zdCBz dHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFyICprYnVmLCB1bnNpZ25lZCBpbnQgY291bnQpCj4g IHsKPiAgICAgIHNwaW5fbG9ja19pcnEoJmNvbnNvbGVfbG9jayk7Cj4KPiAtICAgIHNlcmNvbl9w dXRzKGtidWYpOwo+ICsgICAgc2VyY29uX3B1dHNuKGtidWYsIGNvdW50KTsKPiAgICAgIHZpZGVv X3B1dHMoa2J1Zik7Cj4KPiAgICAgIGlmICggb3B0X2NvbnNvbGVfdG9fcmluZyApCj4gZGlmZiAt LWdpdCBhL3hlbi9kcml2ZXJzL2NoYXIvc2VyaWFsLmMgYi94ZW4vZHJpdmVycy9jaGFyL3Nlcmlh bC5jCj4gaW5kZXggMDlhMjBhYy4uZTkwMzc4YSAxMDA2NDQKPiAtLS0gYS94ZW4vZHJpdmVycy9j aGFyL3NlcmlhbC5jCj4gKysrIGIveGVuL2RyaXZlcnMvY2hhci9zZXJpYWwuYwo+IEBAIC0yMjMs NiArMjIzLDQxIEBAIHZvaWQgc2VyaWFsX3B1dGMoaW50IGhhbmRsZSwgY2hhciBjKQo+ICAgICAg c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+dHhfbG9jaywgZmxhZ3MpOwo+ICB9Cj4KPiAr dm9pZCBzZXJpYWxfcHV0c24oaW50IGhhbmRsZSwgY29uc3QgY2hhciAqcywgdW5zaWduZWQgaW50 IGNvdW50KQo+ICt7Cj4gKyAgICBzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQ7Cj4gKyAgICB1bnNp Z25lZCBsb25nIGZsYWdzOwo+ICsgICAgY2hhciBjOwo+ICsKPiArICAgIGlmICggaGFuZGxlID09 IC0xICkKPiArICAgICAgICByZXR1cm47Cj4gKwo+ICsgICAgcG9ydCA9ICZjb21baGFuZGxlICYg U0VSSE5EX0lEWF07Cj4gKyAgICBpZiAoICFwb3J0LT5kcml2ZXIgfHwgIXBvcnQtPmRyaXZlci0+ cHV0YyApCj4gKyAgICAgICAgcmV0dXJuOwo+ICsKPiArICAgIHNwaW5fbG9ja19pcnFzYXZlKCZw b3J0LT50eF9sb2NrLCBmbGFncyk7Cj4gKwo+ICsgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7 IGkgPCBjb3VudDsgaSsrKQo+ICsgICAgewo+ICsgICAgICAgIGMgPSAqcysrOwo+ICsgICAgICAg IGlmICggKGMgPT0gJ1xuJykgJiYgKGhhbmRsZSAmIFNFUkhORF9DT09LRUQpICkKPiArICAgICAg ICAgICAgX19zZXJpYWxfcHV0Yyhwb3J0LCAnXHInIHwgKChoYW5kbGUgJiBTRVJITkRfSEkpID8g MHg4MCA6IDB4MDApKTsKPiArCj4gKyAgICAgICAgaWYgKCBoYW5kbGUgJiBTRVJITkRfSEkgKQo+ ICsgICAgICAgICAgICBjIHw9IDB4ODA7Cj4gKyAgICAgICAgZWxzZSBpZiAoIGhhbmRsZSAmIFNF UkhORF9MTyApCj4gKyAgICAgICAgICAgIGMgJj0gMHg3ZjsKPiArCj4gKyAgICAgICAgX19zZXJp YWxfcHV0Yyhwb3J0LCBjKTsKPiArICAgIH0KPiArCj4gKyAgICBpZiAoIHBvcnQtPmRyaXZlci0+ Zmx1c2ggKQo+ICsgICAgICAgIHBvcnQtPmRyaXZlci0+Zmx1c2gocG9ydCk7Cj4gKwo+ICsgICAg c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+dHhfbG9jaywgZmxhZ3MpOwo+ICt9Cj4gKwoK SXQgbG9va3MgbGlrZSB5b3UgYXJlIGR1cGxpY2F0aW5nIHNlcmlhbF9wdXRzKCkgbW9yZSBvciBs ZXNzLgoKSSB3b3VsZCBhbHNvIGNoYW5nZSBzZXJpYWxfcHV0cygpIHRvIGNhbGwgc2VyaWFsX3B1 dHNuKCkgd2l0aCBzdHJsZW4oKQphcyBhIHBhcmFtZXRlciB0byBhdm9pZCB0aGUgZHVwbGljYXRp b24uCgpSZWdhcmRzLAoKQW50aG9ueSBMaWd1b3JpCgo+ICB2b2lkIHNlcmlhbF9wdXRzKGludCBo YW5kbGUsIGNvbnN0IGNoYXIgKnMpCj4gIHsKPiAgICAgIHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9y dDsKPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2xpYi5oIGIveGVuL2luY2x1ZGUveGVu L2xpYi5oCj4gaW5kZXggNTM1OWZhNC4uYmFjY2FlMCAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVk ZS94ZW4vbGliLmgKPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vbGliLmgKPiBAQCAtOTEsNyArOTEs NyBAQCBleHRlcm4gdm9pZCBwcmludGsoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCj4gICAgICBf X2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Cj4gIGV4dGVybiB2b2lkIGd1 ZXN0X3ByaW50ayhjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFyICpmb3JtYXQsIC4u LikKPiAgICAgIF9fYXR0cmlidXRlX18gKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKPiAtZXh0 ZXJuIHZvaWQgZ3Vlc3RfcHV0cyhjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFyICpt ZXNzYWdlKTsKPiArZXh0ZXJuIHZvaWQgZ3Vlc3RfcHV0c24oY29uc3Qgc3RydWN0IGRvbWFpbiAq ZCwgY29uc3QgY2hhciAqbWVzc2FnZSwgdW5zaWduZWQgaW50IGNvdW50KTsKPiAgZXh0ZXJuIHZv aWQgbm9yZXR1cm4gcGFuaWMoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCj4gICAgICBfX2F0dHJp YnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Cj4gIGV4dGVybiBsb25nIHZtX2Fzc2lz dChzdHJ1Y3QgZG9tYWluICosIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGludCB0eXBlLAo+ IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vc2VyaWFsLmggYi94ZW4vaW5jbHVkZS94ZW4v c2VyaWFsLmgKPiBpbmRleCAxMjEyYTEyLi44N2RiZGNmIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNs dWRlL3hlbi9zZXJpYWwuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9zZXJpYWwuaAo+IEBAIC0x MTUsNiArMTE1LDkgQEAgdm9pZCBzZXJpYWxfcHV0YyhpbnQgaGFuZGxlLCBjaGFyIGMpOwo+ICAv KiBUcmFuc21pdCBhIE5VTEwtdGVybWluYXRlZCBzdHJpbmcgdmlhIHRoZSBzcGVjaWZpZWQgQ09N IHBvcnQuICovCj4gIHZvaWQgc2VyaWFsX3B1dHMoaW50IGhhbmRsZSwgY29uc3QgY2hhciAqcyk7 Cj4KPiArLyogVHJhbnNtaXQgImNvdW50IiBjaGFyYWN0ZXJzIHZpYSB0aGUgc3BlY2lmaWVkIENP TSBwb3J0LiAqLwo+ICt2b2lkIHNlcmlhbF9wdXRzbihpbnQgaGFuZGxlLCBjb25zdCBjaGFyICpz LCB1bnNpZ25lZCBpbnQgY291bnQpOwo+ICsKPiAgLyoKPiAgICogQW4gYWx0ZXJuYXRpdmUgdG8g cmVnaXN0ZXJpbmcgYSBjaGFyYWN0ZXItcmVjZWl2ZSBob29rLiBUaGlzIGZ1bmN0aW9uCj4gICAq IHdpbGwgbm90IHJldHVybiB1bnRpbCBhIGNoYXJhY3RlciBpcyBhdmFpbGFibGUuIEl0IGNhbiBz YWZlbHkgYmUKPiAtLQo+IDEuOS4xCj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=