svn commit: r212988 - user/weongyo/usb/sys/dev/usb
Weongyo Jeong
weongyo at FreeBSD.org
Wed Sep 22 01:39:55 UTC 2010
Author: weongyo
Date: Wed Sep 22 01:39:55 2010
New Revision: 212988
URL: http://svn.freebsd.org/changeset/base/212988
Log:
Adds two assertion to check invalid usages of DMA pages.
Modified:
user/weongyo/usb/sys/dev/usb/usb_busdma.c
Modified: user/weongyo/usb/sys/dev/usb/usb_busdma.c
==============================================================================
--- user/weongyo/usb/sys/dev/usb/usb_busdma.c Wed Sep 22 01:20:05 2010 (r212987)
+++ user/weongyo/usb/sys/dev/usb/usb_busdma.c Wed Sep 22 01:39:55 2010 (r212988)
@@ -86,6 +86,8 @@ usbd_get_page(struct usb_page_cache *pc,
#if USB_HAVE_BUSDMA
if (pc->pages != NULL) {
+ USB_ASSERT(pc->npages > 0,
+ ("wrong numbers of pages (%d)", pc->npages));
/* Case 1 - something has been loaded into DMA */
if (pc->buffer) {
/* Case 1a - Kernel Virtual Address */
@@ -97,6 +99,9 @@ usbd_get_page(struct usb_page_cache *pc,
index = 0;
if (pc->ismultiseg) {
index += (offset / USB_PAGE_SIZE);
+ USB_ASSERT(index < pc->npages,
+ ("invalid index number (%d / %d)", index,
+ pc->npages));
offset %= USB_PAGE_SIZE;
res->length = USB_PAGE_SIZE - offset;
res->physaddr = page[index].physaddr + offset;
More information about the svn-src-user
mailing list