From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>,
Liam Merwick <liam.merwick@oracle.com>
Subject: [Qemu-devel] [PULL 2/9] xhci: add asserts to help with static code analysis
Date: Wed, 20 Feb 2019 12:13:39 +0100 [thread overview]
Message-ID: <20190220111346.13669-3-kraxel@redhat.com> (raw)
In-Reply-To: <20190220111346.13669-1-kraxel@redhat.com>
From: Liam Merwick <liam.merwick@oracle.com>
Most callers of xhci_port_update() and xhci_wakeup() pass in a pointer
to an array entry and can never be NULL but add two defensive asserts
to protect against future changes (e.g. adding a new port speed, etc.)
adding a path through xhci_lookup_port() that could result in the
return of a NULL XHCIPort.
Signed-off-by: Liam Merwick <liam.merwick@oracle.com>
Message-id: 1549460216-25808-3-git-send-email-liam.merwick@oracle.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb/hcd-xhci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
index 19c64f7ff4..99b83aaa9e 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -2607,6 +2607,7 @@ static void xhci_port_update(XHCIPort *port, int is_detach)
{
uint32_t pls = PLS_RX_DETECT;
+ assert(port);
port->portsc = PORTSC_PP;
if (!is_detach && xhci_port_have_device(port)) {
port->portsc |= PORTSC_CCS;
@@ -3215,6 +3216,7 @@ static void xhci_wakeup(USBPort *usbport)
XHCIState *xhci = usbport->opaque;
XHCIPort *port = xhci_lookup_port(xhci, usbport);
+ assert(port);
if (get_field(port->portsc, PORTSC_PLS) != PLS_U3) {
return;
}
--
2.9.3
next prev parent reply other threads:[~2019-02-20 11:14 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-20 11:13 [Qemu-devel] [PULL 0/9] Usb 20190220 patches Gerd Hoffmann
2019-02-20 11:13 ` [Qemu-devel] [PULL 1/9] usb: rearrange usb_ep_get() Gerd Hoffmann
2019-02-20 11:13 ` Gerd Hoffmann [this message]
2019-02-20 11:13 ` [Qemu-devel] [PULL 3/9] xhci: check device is not NULL before calling usb_ep_get() Gerd Hoffmann
2019-02-20 11:13 ` [Qemu-devel] [PULL 4/9] ehci: " Gerd Hoffmann
2019-02-20 11:13 ` [Qemu-devel] [PULL 5/9] ohci: " Gerd Hoffmann
2019-02-20 11:13 ` [Qemu-devel] [PULL 6/9] uhci: " Gerd Hoffmann
2019-02-20 11:13 ` [Qemu-devel] [PULL 7/9] usb: " Gerd Hoffmann
2019-02-20 11:13 ` [Qemu-devel] [PULL 8/9] usb: add device checks before redirector calls to usb_ep_get() Gerd Hoffmann
2019-02-20 11:24 ` Yuval Shaia
2019-02-22 0:17 ` Liam Merwick
2019-02-20 11:13 ` [Qemu-devel] [PULL 9/9] usb: remove unnecessary NULL device check from usb_ep_get() Gerd Hoffmann
2019-02-21 13:09 ` [Qemu-devel] [PULL 0/9] Usb 20190220 patches Peter Maydell
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=20190220111346.13669-3-kraxel@redhat.com \
--to=kraxel@redhat.com \
--cc=liam.merwick@oracle.com \
--cc=qemu-devel@nongnu.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).