diff options
| author | sp92102 <none@none> | 2007-07-01 19:40:49 -0700 |
|---|---|---|
| committer | sp92102 <none@none> | 2007-07-01 19:40:49 -0700 |
| commit | c151b7fa492e1f62c5460a2f05ba0311a16e09aa (patch) | |
| tree | 320fcdbb57fee9a0c325d419a7f6855d9df3ed78 /usr/src/uts/common/io/dump.c | |
| parent | e7437265dc2a4920c197ed4337665539d358b22c (diff) | |
| download | illumos-joyent-c151b7fa492e1f62c5460a2f05ba0311a16e09aa.tar.gz | |
6573795 dumpadm should do sanity checking
Diffstat (limited to 'usr/src/uts/common/io/dump.c')
| -rw-r--r-- | usr/src/uts/common/io/dump.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/usr/src/uts/common/io/dump.c b/usr/src/uts/common/io/dump.c index 272fdcb36d..f2cfd9dfda 100644 --- a/usr/src/uts/common/io/dump.c +++ b/usr/src/uts/common/io/dump.c @@ -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 @@ dump_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *cred, int *rvalp) 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) |
