usr/src/uts/common/io/dump.c
changeset 4578 74187781106e
parent 0 68f95e015346
child 6423 437422a29d3a
--- a/usr/src/uts/common/io/dump.c	Fri Jun 29 16:23:19 2007 -0700
+++ b/usr/src/uts/common/io/dump.c	Sun Jul 01 19:40:49 2007 -0700
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
  *
  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  * or http://www.opensolaris.org/os/licensing.
@@ -20,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2002 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -125,6 +124,12 @@
 						pages_claimed -
 						pages_useclaim);
 
+			/*
+			 * Protect against vm vagaries.
+			 */
+			if (dumpsize_in_pages > (uint64_t)physmem)
+				dumpsize_in_pages = (uint64_t)physmem;
+
 			size = ptob(dumpsize_in_pages) / DUMP_COMPRESS_RATIO;
 		}
 		if (copyout(&size, (void *)arg, sizeof (size)) < 0)