diff options
Diffstat (limited to 'usr/src/uts/common/syscall/memcntl.c')
-rw-r--r-- | usr/src/uts/common/syscall/memcntl.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/usr/src/uts/common/syscall/memcntl.c b/usr/src/uts/common/syscall/memcntl.c index 85f54e9944..6bdf5a1cc2 100644 --- a/usr/src/uts/common/syscall/memcntl.c +++ b/usr/src/uts/common/syscall/memcntl.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 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -340,6 +339,9 @@ memcntl(caddr_t addr, size_t len, int cmd, caddr_t arg, int attr, int mask) } return (error); case MC_ADVISE: + if ((uintptr_t)arg == MADV_FREE) { + len &= PAGEMASK; + } switch ((uintptr_t)arg) { case MADV_WILLNEED: fc = as_faulta(as, addr, len); |