diff options
author | danfe <danfe@FreeBSD.org> | 2005-02-24 13:28:21 +0800 |
---|---|---|
committer | danfe <danfe@FreeBSD.org> | 2005-02-24 13:28:21 +0800 |
commit | 89790cd276b9c062da24281602120c77e6c4ddbc (patch) | |
tree | 48e0e09c0cf1d2b033bfe23425967440f79c8e28 | |
parent | aa701479b1a9235e28fd1a74e9f37f6c12344a97 (diff) | |
download | freebsd-ports-gnome-89790cd276b9c062da24281602120c77e6c4ddbc.tar.gz freebsd-ports-gnome-89790cd276b9c062da24281602120c77e6c4ddbc.tar.zst freebsd-ports-gnome-89790cd276b9c062da24281602120c77e6c4ddbc.zip |
It turns out there's a call to vm_page_wakeup() that does not hold the
object lock across the call. It shows up with INVARIANTS turned on.
PR: ports/77750
Submitted by: Frank Mayhar <frank(at)exit.com>
-rw-r--r-- | x11/nvidia-driver/Makefile | 4 | ||||
-rw-r--r-- | x11/nvidia-driver/files/patch-src::nvidia_subr.c | 18 |
2 files changed, 20 insertions, 2 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile index f3f208ff8180..b0c5ae93d9e8 100644 --- a/x11/nvidia-driver/Makefile +++ b/x11/nvidia-driver/Makefile @@ -7,7 +7,7 @@ PORTNAME= nvidia-driver PORTVERSION= 1.0.${NVVERSION} -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= x11 MASTER_SITES= http://download.nvidia.com/freebsd/1.0-${NVVERSION}/ \ ftp://download.nvidia.com/freebsd/1.0-${NVVERSION}/ \ @@ -66,7 +66,7 @@ pre-everything:: @${ECHO_MSG} "Define WITH_VM86_INT10CALL to use VM86 interface for INT10 calls (video BIOS)" .endif .if !defined(WITH_ACPI) - @${ECHO_MSG} "Define WITH_ACPI to enable support for ACPI Power Management (5.X only!)" + @${ECHO_MSG} "Define WITH_ACPI to enable support for ACPI Power Management (5.x/6.x only!)" .endif .if !defined(WITHOUT_LINUX) @${ECHO_MSG} "Define WITHOUT_LINUX to build without support for Linux compatibility" diff --git a/x11/nvidia-driver/files/patch-src::nvidia_subr.c b/x11/nvidia-driver/files/patch-src::nvidia_subr.c new file mode 100644 index 000000000000..7432e9861e6b --- /dev/null +++ b/x11/nvidia-driver/files/patch-src::nvidia_subr.c @@ -0,0 +1,18 @@ +--- src/nvidia_subr.c.orig Sat Feb 19 13:19:54 2005 ++++ src/nvidia_subr.c Sat Feb 19 13:22:47 2005 +@@ -1115,10 +1115,15 @@ + + #if __FreeBSD_version < 500000 + vm_page_wire(m); ++#else ++ VM_OBJECT_LOCK(m->object); + #endif + vm_page_lock_queues(); + vm_page_wakeup(m); + vm_page_unlock_queues(); ++#if __FreeBSD_version >= 500000 ++ VM_OBJECT_UNLOCK(m->object); ++#endif + } + + at->object = object; |