svn commit: r299658 - head/sys/dev/pci

Bjoern A. Zeeb bz at FreeBSD.org
Fri May 13 11:18:29 UTC 2016


Author: bz
Date: Fri May 13 11:18:27 2016
New Revision: 299658
URL: https://svnweb.freebsd.org/changeset/base/299658

Log:
  When using IOPORT with pci_host_generic we are missing setting the rman_end()
  which leads to end being before start and thus a signed extended very large
  number of size later on, which kva_alloc() will fail upon and we will panic.
  Add the missing call.
  
  Debugged with:	andrew
  Reviewed by:	br, andrew
  Sponsored by:	DARPA/AFRL
  Found:		while using virtio with gem5
  MFC after:	2 weeks
  Differential Revision:	https://reviews.freebsd.org/D6337

Modified:
  head/sys/dev/pci/pci_host_generic.c

Modified: head/sys/dev/pci/pci_host_generic.c
==============================================================================
--- head/sys/dev/pci/pci_host_generic.c	Fri May 13 11:15:33 2016	(r299657)
+++ head/sys/dev/pci/pci_host_generic.c	Fri May 13 11:18:27 2016	(r299658)
@@ -613,6 +613,7 @@ generic_pcie_activate_resource(device_t 
 		}
 		if (found) {
 			rman_set_start(r, rman_get_start(r) + phys_base);
+			rman_set_end(r, rman_get_end(r) + phys_base);
 			BUS_ACTIVATE_RESOURCE(device_get_parent(dev), child,
 						type, rid, r);
 		} else {


More information about the svn-src-head mailing list