From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:49735) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwUaO-0004lp-Fn for qemu-devel@nongnu.org; Wed, 20 Feb 2019 11:19:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwUa4-0004ja-L7 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 11:18:51 -0500 Received: from mail-qt1-f193.google.com ([209.85.160.193]:38733) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gwUa1-0004Kf-Vp for qemu-devel@nongnu.org; Wed, 20 Feb 2019 11:18:42 -0500 Received: by mail-qt1-f193.google.com with SMTP id s1so1657975qte.5 for ; Wed, 20 Feb 2019 08:18:14 -0800 (PST) MIME-Version: 1.0 References: <20190220010232.18731-1-philmd@redhat.com> <20190220010232.18731-25-philmd@redhat.com> In-Reply-To: <20190220010232.18731-25-philmd@redhat.com> From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Date: Wed, 20 Feb 2019 14:44:54 +0100 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v3 24/25] chardev: Let qemu_chr_fe_write[_all] use size_t type argument List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= Cc: qemu-devel , Prasad J Pandit , Paolo Bonzini , Jason Wang , Anthony Perard , qemu-ppc@nongnu.org, Stefan Berger , David Gibson , Gerd Hoffmann , Zhang Chen , xen-devel@lists.xenproject.org, Cornelia Huck , Samuel Thibault , Christian Borntraeger , Amit Shah , Li Zhijian , Corey Minyard , "Michael S. Tsirkin" , Paul Durrant , Halil Pasic , Stefano Stabellini , qemu-s390x@nongnu.org, Pavel Dovgalyuk On Wed, Feb 20, 2019 at 2:08 AM Philippe Mathieu-Daud=C3=A9 wrote: > > All caller have been audited and call these functions with > unsigned arguments. > > Most of them use a size_t argument, or directly pass sizeof(). > > One case is unclear: the mux_chr_write() call in chardev/char-mux.c. > There we add an assert (which will be removed in few patches) and > cast the parameter as size_t to make explicit this value is unsigned. mux_chr_write() is called indirectly from qemu_chr_fe_write(), so the same argument applies here. Fine with or without the assert(). > > Suggested-by: Paolo Bonzini > Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Marc-Andr=C3=A9 Lureau > --- > chardev/char-fe.c | 4 ++-- > chardev/char-mux.c | 3 ++- > include/chardev/char-fe.h | 4 ++-- > 3 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/chardev/char-fe.c b/chardev/char-fe.c > index f3530a90e6..ab2a01709d 100644 > --- a/chardev/char-fe.c > +++ b/chardev/char-fe.c > @@ -31,7 +31,7 @@ > #include "chardev/char-io.h" > #include "chardev/char-mux.h" > > -int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len) > +int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, size_t len) > { > Chardev *s =3D be->chr; > > @@ -42,7 +42,7 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *b= uf, int len) > return qemu_chr_write(s, buf, len, false); > } > > -int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len) > +int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, size_t le= n) > { > Chardev *s =3D be->chr; > > diff --git a/chardev/char-mux.c b/chardev/char-mux.c > index 23aa82125d..7a3ff21db4 100644 > --- a/chardev/char-mux.c > +++ b/chardev/char-mux.c > @@ -38,7 +38,8 @@ static int mux_chr_write(Chardev *chr, const uint8_t *b= uf, int len) > MuxChardev *d =3D MUX_CHARDEV(chr); > int ret; > if (!d->timestamps) { > - ret =3D qemu_chr_fe_write(&d->chr, buf, len); > + assert(len >=3D 0); > + ret =3D qemu_chr_fe_write(&d->chr, buf, (size_t)len); > } else { > int i; > > diff --git a/include/chardev/char-fe.h b/include/chardev/char-fe.h > index aa1b864ccd..5fb2c2e7ec 100644 > --- a/include/chardev/char-fe.h > +++ b/include/chardev/char-fe.h > @@ -203,7 +203,7 @@ guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondi= tion cond, > * > * Returns: the number of bytes consumed (0 if no associated Chardev) > */ > -int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len); > +int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, size_t len); > > /** > * qemu_chr_fe_write_all: > @@ -217,7 +217,7 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t = *buf, int len); > * > * Returns: the number of bytes consumed (0 if no associated Chardev) > */ > -int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len); > +int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, size_t le= n); > > /** > * qemu_chr_fe_read_all: > -- > 2.20.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Subject: Re: [PATCH v3 24/25] chardev: Let qemu_chr_fe_write[_all] use size_t type argument Date: Wed, 20 Feb 2019 14:44:54 +0100 Message-ID: References: <20190220010232.18731-1-philmd@redhat.com> <20190220010232.18731-25-philmd@redhat.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.89) (envelope-from ) id 1gwSBP-0002xN-Qq for xen-devel@lists.xenproject.org; Wed, 20 Feb 2019 13:45:07 +0000 Received: by mail-qt1-f196.google.com with SMTP id a48so27169850qtb.4 for ; Wed, 20 Feb 2019 05:45:06 -0800 (PST) In-Reply-To: <20190220010232.18731-25-philmd@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= Cc: Li Zhijian , "Michael S. Tsirkin" , Jason Wang , qemu-devel , Gerd Hoffmann , Stefano Stabellini , Samuel Thibault , Halil Pasic , Christian Borntraeger , Anthony Perard , xen-devel@lists.xenproject.org, Corey Minyard , Amit Shah , qemu-s390x@nongnu.org, Paul Durrant , Pavel Dovgalyuk , Zhang Chen , David Gibson , Prasad J Pandit , Cornelia Huck , qemu-ppc@nongnu.org, Paolo Bonzini , Stefan Berger List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBGZWIgMjAsIDIwMTkgYXQgMjowOCBBTSBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqQo8 cGhpbG1kQHJlZGhhdC5jb20+IHdyb3RlOgo+Cj4gQWxsIGNhbGxlciBoYXZlIGJlZW4gYXVkaXRl ZCBhbmQgY2FsbCB0aGVzZSBmdW5jdGlvbnMgd2l0aAo+IHVuc2lnbmVkIGFyZ3VtZW50cy4KPgo+ IE1vc3Qgb2YgdGhlbSB1c2UgYSBzaXplX3QgYXJndW1lbnQsIG9yIGRpcmVjdGx5IHBhc3Mgc2l6 ZW9mKCkuCj4KPiBPbmUgY2FzZSBpcyB1bmNsZWFyOiB0aGUgbXV4X2Nocl93cml0ZSgpIGNhbGwg aW4gY2hhcmRldi9jaGFyLW11eC5jLgo+IFRoZXJlIHdlIGFkZCBhbiBhc3NlcnQgKHdoaWNoIHdp bGwgYmUgcmVtb3ZlZCBpbiBmZXcgcGF0Y2hlcykgYW5kCj4gY2FzdCB0aGUgcGFyYW1ldGVyIGFz IHNpemVfdCB0byBtYWtlIGV4cGxpY2l0IHRoaXMgdmFsdWUgaXMgdW5zaWduZWQuCgptdXhfY2hy X3dyaXRlKCkgaXMgY2FsbGVkIGluZGlyZWN0bHkgZnJvbSBxZW11X2Nocl9mZV93cml0ZSgpLCBz byB0aGUKc2FtZSBhcmd1bWVudCBhcHBsaWVzIGhlcmUuIEZpbmUgd2l0aCBvciB3aXRob3V0IHRo ZSBhc3NlcnQoKS4KCj4KPiBTdWdnZXN0ZWQtYnk6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJl ZGhhdC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxt ZEByZWRoYXQuY29tPgoKUmV2aWV3ZWQtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJl Lmx1cmVhdUByZWRoYXQuY29tPgoKPiAtLS0KPiAgY2hhcmRldi9jaGFyLWZlLmMgICAgICAgICB8 IDQgKystLQo+ICBjaGFyZGV2L2NoYXItbXV4LmMgICAgICAgIHwgMyArKy0KPiAgaW5jbHVkZS9j aGFyZGV2L2NoYXItZmUuaCB8IDQgKystLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKSwgNSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9jaGFyZGV2L2NoYXItZmUuYyBi L2NoYXJkZXYvY2hhci1mZS5jCj4gaW5kZXggZjM1MzBhOTBlNi4uYWIyYTAxNzA5ZCAxMDA2NDQK PiAtLS0gYS9jaGFyZGV2L2NoYXItZmUuYwo+ICsrKyBiL2NoYXJkZXYvY2hhci1mZS5jCj4gQEAg LTMxLDcgKzMxLDcgQEAKPiAgI2luY2x1ZGUgImNoYXJkZXYvY2hhci1pby5oIgo+ICAjaW5jbHVk ZSAiY2hhcmRldi9jaGFyLW11eC5oIgo+Cj4gLWludCBxZW11X2Nocl9mZV93cml0ZShDaGFyQmFj a2VuZCAqYmUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGxlbikKPiAraW50IHFlbXVfY2hyX2Zl X3dyaXRlKENoYXJCYWNrZW5kICpiZSwgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QgbGVuKQo+ ICB7Cj4gICAgICBDaGFyZGV2ICpzID0gYmUtPmNocjsKPgo+IEBAIC00Miw3ICs0Miw3IEBAIGlu dCBxZW11X2Nocl9mZV93cml0ZShDaGFyQmFja2VuZCAqYmUsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwg aW50IGxlbikKPiAgICAgIHJldHVybiBxZW11X2Nocl93cml0ZShzLCBidWYsIGxlbiwgZmFsc2Up Owo+ICB9Cj4KPiAtaW50IHFlbXVfY2hyX2ZlX3dyaXRlX2FsbChDaGFyQmFja2VuZCAqYmUsIGNv bnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGxlbikKPiAraW50IHFlbXVfY2hyX2ZlX3dyaXRlX2FsbChD aGFyQmFja2VuZCAqYmUsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IGxlbikKPiAgewo+ICAg ICAgQ2hhcmRldiAqcyA9IGJlLT5jaHI7Cj4KPiBkaWZmIC0tZ2l0IGEvY2hhcmRldi9jaGFyLW11 eC5jIGIvY2hhcmRldi9jaGFyLW11eC5jCj4gaW5kZXggMjNhYTgyMTI1ZC4uN2EzZmYyMWRiNCAx MDA2NDQKPiAtLS0gYS9jaGFyZGV2L2NoYXItbXV4LmMKPiArKysgYi9jaGFyZGV2L2NoYXItbXV4 LmMKPiBAQCAtMzgsNyArMzgsOCBAQCBzdGF0aWMgaW50IG11eF9jaHJfd3JpdGUoQ2hhcmRldiAq Y2hyLCBjb25zdCB1aW50OF90ICpidWYsIGludCBsZW4pCj4gICAgICBNdXhDaGFyZGV2ICpkID0g TVVYX0NIQVJERVYoY2hyKTsKPiAgICAgIGludCByZXQ7Cj4gICAgICBpZiAoIWQtPnRpbWVzdGFt cHMpIHsKPiAtICAgICAgICByZXQgPSBxZW11X2Nocl9mZV93cml0ZSgmZC0+Y2hyLCBidWYsIGxl bik7Cj4gKyAgICAgICAgYXNzZXJ0KGxlbiA+PSAwKTsKPiArICAgICAgICByZXQgPSBxZW11X2No cl9mZV93cml0ZSgmZC0+Y2hyLCBidWYsIChzaXplX3QpbGVuKTsKPiAgICAgIH0gZWxzZSB7Cj4g ICAgICAgICAgaW50IGk7Cj4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jaGFyZGV2L2NoYXItZmUu aCBiL2luY2x1ZGUvY2hhcmRldi9jaGFyLWZlLmgKPiBpbmRleCBhYTFiODY0Y2NkLi41ZmIyYzJl N2VjIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvY2hhcmRldi9jaGFyLWZlLmgKPiArKysgYi9pbmNs dWRlL2NoYXJkZXYvY2hhci1mZS5oCj4gQEAgLTIwMyw3ICsyMDMsNyBAQCBndWludCBxZW11X2No cl9mZV9hZGRfd2F0Y2goQ2hhckJhY2tlbmQgKmJlLCBHSU9Db25kaXRpb24gY29uZCwKPiAgICoK PiAgICogUmV0dXJuczogdGhlIG51bWJlciBvZiBieXRlcyBjb25zdW1lZCAoMCBpZiBubyBhc3Nv Y2lhdGVkIENoYXJkZXYpCj4gICAqLwo+IC1pbnQgcWVtdV9jaHJfZmVfd3JpdGUoQ2hhckJhY2tl bmQgKmJlLCBjb25zdCB1aW50OF90ICpidWYsIGludCBsZW4pOwo+ICtpbnQgcWVtdV9jaHJfZmVf d3JpdGUoQ2hhckJhY2tlbmQgKmJlLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBsZW4pOwo+ Cj4gIC8qKgo+ICAgKiBxZW11X2Nocl9mZV93cml0ZV9hbGw6Cj4gQEAgLTIxNyw3ICsyMTcsNyBA QCBpbnQgcWVtdV9jaHJfZmVfd3JpdGUoQ2hhckJhY2tlbmQgKmJlLCBjb25zdCB1aW50OF90ICpi dWYsIGludCBsZW4pOwo+ICAgKgo+ICAgKiBSZXR1cm5zOiB0aGUgbnVtYmVyIG9mIGJ5dGVzIGNv bnN1bWVkICgwIGlmIG5vIGFzc29jaWF0ZWQgQ2hhcmRldikKPiAgICovCj4gLWludCBxZW11X2No cl9mZV93cml0ZV9hbGwoQ2hhckJhY2tlbmQgKmJlLCBjb25zdCB1aW50OF90ICpidWYsIGludCBs ZW4pOwo+ICtpbnQgcWVtdV9jaHJfZmVfd3JpdGVfYWxsKENoYXJCYWNrZW5kICpiZSwgY29uc3Qg dWludDhfdCAqYnVmLCBzaXplX3QgbGVuKTsKPgo+ICAvKioKPiAgICogcWVtdV9jaHJfZmVfcmVh ZF9hbGw6Cj4gLS0KPiAyLjIwLjEKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==