From: "Philippe Mathieu-Daudé" <philmd@redhat.com> To: qemu-devel@nongnu.org, "Prasad J Pandit" <pjp@fedoraproject.org>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Paolo Bonzini" <pbonzini@redhat.com> Cc: "Jason Wang" <jasowang@redhat.com>, "Anthony Perard" <anthony.perard@citrix.com>, qemu-ppc@nongnu.org, "Stefan Berger" <stefanb@linux.ibm.com>, "David Gibson" <david@gibson.dropbear.id.au>, "Gerd Hoffmann" <kraxel@redhat.com>, "Zhang Chen" <zhangckid@gmail.com>, xen-devel@lists.xenproject.org, "Cornelia Huck" <cohuck@redhat.com>, "Samuel Thibault" <samuel.thibault@ens-lyon.org>, "Christian Borntraeger" <borntraeger@de.ibm.com>, "Amit Shah" <amit@kernel.org>, "Li Zhijian" <lizhijian@cn.fujitsu.com>, "Corey Minyard" <minyard@acm.org>, "Michael S. Tsirkin" <mst@redhat.com>, "Paul Durrant" <paul.durrant@citrix.com>, "Halil Pasic" <pasic@linux.ibm.com>, "Stefano Stabellini" <sstabellini@kernel.org>, qemu-s390x@nongnu.org, "Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>, "Philippe Mathieu-Daudé" <philmd@redhat.com> Subject: [Qemu-devel] [PATCH v3 24/25] chardev: Let qemu_chr_fe_write[_all] use size_t type argument Date: Wed, 20 Feb 2019 02:02:31 +0100 [thread overview] Message-ID: <20190220010232.18731-25-philmd@redhat.com> (raw) In-Reply-To: <20190220010232.18731-1-philmd@redhat.com> 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. Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- 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 = be->chr; @@ -42,7 +42,7 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, 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 len) { Chardev *s = 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 *buf, int len) MuxChardev *d = MUX_CHARDEV(chr); int ret; if (!d->timestamps) { - ret = qemu_chr_fe_write(&d->chr, buf, len); + assert(len >= 0); + ret = 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, GIOCondition 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 len); /** * qemu_chr_fe_read_all: -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: "Philippe Mathieu-Daudé" <philmd@redhat.com> To: qemu-devel@nongnu.org, "Prasad J Pandit" <pjp@fedoraproject.org>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Paolo Bonzini" <pbonzini@redhat.com> Cc: "Corey Minyard" <minyard@acm.org>, "Stefano Stabellini" <sstabellini@kernel.org>, "Samuel Thibault" <samuel.thibault@ens-lyon.org>, "Li Zhijian" <lizhijian@cn.fujitsu.com>, "Amit Shah" <amit@kernel.org>, "Michael S. Tsirkin" <mst@redhat.com>, "Jason Wang" <jasowang@redhat.com>, "Cornelia Huck" <cohuck@redhat.com>, "Halil Pasic" <pasic@linux.ibm.com>, "Christian Borntraeger" <borntraeger@de.ibm.com>, qemu-s390x@nongnu.org, "Paul Durrant" <paul.durrant@citrix.com>, qemu-ppc@nongnu.org, "Gerd Hoffmann" <kraxel@redhat.com>, "Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>, "Zhang Chen" <zhangckid@gmail.com>, "Anthony Perard" <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, "Stefan Berger" <stefanb@linux.ibm.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, "David Gibson" <david@gibson.dropbear.id.au> Subject: [PATCH v3 24/25] chardev: Let qemu_chr_fe_write[_all] use size_t type argument Date: Wed, 20 Feb 2019 02:02:31 +0100 [thread overview] Message-ID: <20190220010232.18731-25-philmd@redhat.com> (raw) In-Reply-To: <20190220010232.18731-1-philmd@redhat.com> 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. Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- 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 = be->chr; @@ -42,7 +42,7 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, 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 len) { Chardev *s = 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 *buf, int len) MuxChardev *d = MUX_CHARDEV(chr); int ret; if (!d->timestamps) { - ret = qemu_chr_fe_write(&d->chr, buf, len); + assert(len >= 0); + ret = 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, GIOCondition 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 len); /** * qemu_chr_fe_read_all: -- 2.20.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-02-20 1:18 UTC|newest] Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-02-20 1:02 [Qemu-devel] [PATCH v3 00/25] chardev: Convert qemu_chr_write() to take a size_t argument Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 01/25] chardev: Simplify IOWatchPoll::fd_can_read as a GSourceFunc Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 9:45 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 9:45 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 02/25] chardev: Assert IOCanReadHandler can not be negative Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:03 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:13 ` Philippe Mathieu-Daudé 2019-02-20 11:13 ` Philippe Mathieu-Daudé 2019-02-22 0:39 ` [Qemu-devel] " Philippe Mathieu-Daudé 2019-02-22 0:39 ` Philippe Mathieu-Daudé 2019-02-20 10:03 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 03/25] chardev/wctablet: Use unsigned type to hold unsigned value Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 7:32 ` [Qemu-devel] " Gerd Hoffmann 2019-02-20 7:32 ` Gerd Hoffmann 2019-02-20 10:17 ` Marc-André Lureau 2019-02-20 10:17 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 04/25] chardev: Let qemu_chr_be_can_write() return a size_t types Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:40 ` Marc-André Lureau 2019-02-20 10:40 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:26 ` Philippe Mathieu-Daudé 2019-02-20 11:26 ` Philippe Mathieu-Daudé 2019-02-20 13:28 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 13:28 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 05/25] gdbstub: Use size_t for strlen() return value Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:57 ` Marc-André Lureau 2019-02-20 10:57 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 06/25] gdbstub: Use size_t to hold GDBState::last_packet_len Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:59 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 10:59 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 07/25] gdbstub: Let put_buffer() use size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 11:02 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:02 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 08/25] ui/gtk: Remove pointless cast Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 7:32 ` [Qemu-devel] " Gerd Hoffmann 2019-02-20 7:32 ` Gerd Hoffmann 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 09/25] vhost-user: Express sizeof with size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 11:06 ` Marc-André Lureau 2019-02-20 11:06 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 10/25] usb-redir: Verify usbredirparser_write get called with positive count Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 7:32 ` [Qemu-devel] " Gerd Hoffmann 2019-02-20 7:32 ` Gerd Hoffmann 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 11/25] xen: Let xencons_send() take a 'size' argument Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 11:07 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:07 ` Marc-André Lureau 2019-02-21 9:34 ` [Qemu-devel] " Paul Durrant 2019-02-21 9:34 ` Paul Durrant 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 12/25] xen: Let buffer_append() return the size consumed Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 11:13 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:13 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [RFC PATCH v3 13/25] xen: Let buffer_append() return a size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-21 9:54 ` [Qemu-devel] " Paul Durrant 2019-02-21 9:54 ` Paul Durrant 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 14/25] virtio-serial: Let VirtIOSerialPortClass::have_data() use size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 11:21 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:21 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 15/25] spapr-vty: Let vty_putchars() " Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 1:39 ` [Qemu-devel] " David Gibson 2019-02-20 1:39 ` David Gibson 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 16/25] tpm: Use size_t to hold sizes Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 11:22 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:22 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 17/25] net/filter-mirror: Use size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 11:23 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 11:23 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 18/25] s390x/3270: Let insert_IAC_escape_char() use size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 9:37 ` [Qemu-devel] " Cornelia Huck 2019-02-20 9:37 ` Cornelia Huck 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 19/25] s390/ebcdic: Use size_t to iterate over arrays Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 9:40 ` [Qemu-devel] " Cornelia Huck 2019-02-20 9:40 ` Cornelia Huck 2019-02-20 11:37 ` [Qemu-devel] " Philippe Mathieu-Daudé 2019-02-20 11:37 ` Philippe Mathieu-Daudé 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 20/25] s390x/sclp: Use a const variable to improve readability Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:53 ` [Qemu-devel] " Cornelia Huck 2019-02-20 10:53 ` Cornelia Huck 2019-03-08 19:12 ` [Qemu-devel] " Philippe Mathieu-Daudé 2019-03-08 19:12 ` Philippe Mathieu-Daudé 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 21/25] s390x/sclp: Use size_t in process_mdb() Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:53 ` [Qemu-devel] " Cornelia Huck 2019-02-20 10:53 ` Cornelia Huck 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 22/25] s390x/sclp: Let write_console_data() take a size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:54 ` [Qemu-devel] " Cornelia Huck 2019-02-20 10:54 ` Cornelia Huck 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 23/25] hw/ipmi: Assert outlen > outpos Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 13:36 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 13:36 ` Marc-André Lureau 2019-02-20 13:36 ` [Qemu-devel] " Corey Minyard 2019-02-20 13:36 ` Corey Minyard 2019-02-20 1:02 ` Philippe Mathieu-Daudé [this message] 2019-02-20 1:02 ` [PATCH v3 24/25] chardev: Let qemu_chr_fe_write[_all] use size_t type argument Philippe Mathieu-Daudé 2019-02-20 13:44 ` [Qemu-devel] " Marc-André Lureau 2019-02-20 13:44 ` Marc-André Lureau 2019-02-20 1:02 ` [Qemu-devel] [PATCH v3 25/25] chardev: Let qemu_chr_write[_all] use size_t Philippe Mathieu-Daudé 2019-02-20 1:02 ` Philippe Mathieu-Daudé 2019-02-20 10:38 ` [Qemu-devel] " Daniel P. Berrangé 2019-02-20 10:42 ` Marc-André Lureau 2019-02-20 10:42 ` Marc-André Lureau 2019-02-20 11:31 ` Philippe Mathieu-Daudé 2019-02-20 11:31 ` Philippe Mathieu-Daudé 2019-02-20 10:38 ` Daniel P. Berrangé 2019-02-20 10:53 ` [Qemu-devel] [PATCH v3 00/25] chardev: Convert qemu_chr_write() to take a size_t argument Marc-André Lureau 2019-02-20 10:53 ` Marc-André Lureau 2019-02-20 10:57 ` [Qemu-devel] " Cornelia Huck 2019-02-20 10:57 ` Cornelia Huck 2019-02-20 11:30 ` [Qemu-devel] " Daniel P. Berrangé 2019-02-20 11:30 ` Daniel P. Berrangé 2019-02-20 14:20 ` Eric Blake 2019-02-20 14:20 ` Eric Blake
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190220010232.18731-25-philmd@redhat.com \ --to=philmd@redhat.com \ --cc=amit@kernel.org \ --cc=anthony.perard@citrix.com \ --cc=borntraeger@de.ibm.com \ --cc=cohuck@redhat.com \ --cc=david@gibson.dropbear.id.au \ --cc=jasowang@redhat.com \ --cc=kraxel@redhat.com \ --cc=lizhijian@cn.fujitsu.com \ --cc=marcandre.lureau@redhat.com \ --cc=minyard@acm.org \ --cc=mst@redhat.com \ --cc=pasic@linux.ibm.com \ --cc=paul.durrant@citrix.com \ --cc=pavel.dovgaluk@ispras.ru \ --cc=pbonzini@redhat.com \ --cc=pjp@fedoraproject.org \ --cc=qemu-devel@nongnu.org \ --cc=qemu-ppc@nongnu.org \ --cc=qemu-s390x@nongnu.org \ --cc=samuel.thibault@ens-lyon.org \ --cc=sstabellini@kernel.org \ --cc=stefanb@linux.ibm.com \ --cc=xen-devel@lists.xenproject.org \ --cc=zhangckid@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.