Deleted Added
full compact
svr4_misc.c (101924) svr4_misc.c (102630)
1/*
2 * Copyright (c) 1998 Mark Newton
3 * Copyright (c) 1994 Christos Zoulas
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
1/*
2 * Copyright (c) 1998 Mark Newton
3 * Copyright (c) 1994 Christos Zoulas
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/compat/svr4/svr4_misc.c 101924 2002-08-15 15:46:10Z rwatson $
28 * $FreeBSD: head/sys/compat/svr4/svr4_misc.c 102630 2002-08-30 18:09:46Z dillon $
29 */
30
31/*
32 * SVR4 compatibility module.
33 *
34 * SVR4 system calls that are implemented differently in BSD are
35 * handled here.
36 */

--- 804 unchanged lines hidden (view full) ---

841 */
842 return EINVAL;
843 }
844
845 old = base + ctob(vm->vm_dsize);
846
847 if (new > old) {
848 vm_size_t diff;
29 */
30
31/*
32 * SVR4 compatibility module.
33 *
34 * SVR4 system calls that are implemented differently in BSD are
35 * handled here.
36 */

--- 804 unchanged lines hidden (view full) ---

841 */
842 return EINVAL;
843 }
844
845 old = base + ctob(vm->vm_dsize);
846
847 if (new > old) {
848 vm_size_t diff;
849 if (swap_pager_full) {
850 return (ENOMEM);
851 }
852 diff = new - old;
849 diff = new - old;
850 if (vm->vm_map.size + diff > p->p_rlimit[RLIMIT_VMEM].rlim_cur)
851 return(ENOMEM);
853 rv = vm_map_find(&vm->vm_map, NULL, 0, &old, diff, FALSE,
854 VM_PROT_ALL, VM_PROT_ALL, 0);
855 if (rv != KERN_SUCCESS) {
856 return (ENOMEM);
857 }
858 vm->vm_dsize += btoc(diff);
859 } else if (new < old) {
860 rv = vm_map_remove(&vm->vm_map, new, old);

--- 900 unchanged lines hidden ---
852 rv = vm_map_find(&vm->vm_map, NULL, 0, &old, diff, FALSE,
853 VM_PROT_ALL, VM_PROT_ALL, 0);
854 if (rv != KERN_SUCCESS) {
855 return (ENOMEM);
856 }
857 vm->vm_dsize += btoc(diff);
858 } else if (new < old) {
859 rv = vm_map_remove(&vm->vm_map, new, old);

--- 900 unchanged lines hidden ---