Date: Fri, 13 May 2016 11:18:28 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r299658 - head/sys/dev/pci Message-ID: <201605131118.u4DBISar015693@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605131118.u4DBISar015693>