sysv_shm.c (329739) | sysv_shm.c (331922) |
---|---|
1/* $NetBSD: sysv_shm.c,v 1.23 1994/07/04 23:25:12 glass Exp $ */ 2/*- 3 * Copyright (c) 1994 Adam Glass and Charles Hannum. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 46 unchanged lines hidden (view full) --- 55 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 56 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 57 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 58 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 59 * SUCH DAMAGE. 60 */ 61 62#include <sys/cdefs.h> | 1/* $NetBSD: sysv_shm.c,v 1.23 1994/07/04 23:25:12 glass Exp $ */ 2/*- 3 * Copyright (c) 1994 Adam Glass and Charles Hannum. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 46 unchanged lines hidden (view full) --- 55 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 56 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 57 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 58 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 59 * SUCH DAMAGE. 60 */ 61 62#include <sys/cdefs.h> |
63__FBSDID("$FreeBSD: stable/11/sys/kern/sysv_shm.c 329739 2018-02-21 18:31:21Z brooks $"); | 63__FBSDID("$FreeBSD: stable/11/sys/kern/sysv_shm.c 331922 2018-04-03 09:40:52Z kib $"); |
64 65#include "opt_compat.h" 66#include "opt_sysvipc.h" 67 68#include <sys/param.h> 69#include <sys/systm.h> 70#include <sys/kernel.h> 71#include <sys/limits.h> --- 1370 unchanged lines hidden (view full) --- 1442 CP(u.shm_info, u32.shm_info32, shm_swp); 1443 CP(u.shm_info, u32.shm_info32, swap_attempts); 1444 CP(u.shm_info, u32.shm_info32, swap_successes); 1445 error = copyout(&u32.shm_info32, uap->buf, 1446 sizeof(u32.shm_info32)); 1447 break; 1448 case SHM_STAT: 1449 case IPC_STAT: | 64 65#include "opt_compat.h" 66#include "opt_sysvipc.h" 67 68#include <sys/param.h> 69#include <sys/systm.h> 70#include <sys/kernel.h> 71#include <sys/limits.h> --- 1370 unchanged lines hidden (view full) --- 1442 CP(u.shm_info, u32.shm_info32, shm_swp); 1443 CP(u.shm_info, u32.shm_info32, swap_attempts); 1444 CP(u.shm_info, u32.shm_info32, swap_successes); 1445 error = copyout(&u32.shm_info32, uap->buf, 1446 sizeof(u32.shm_info32)); 1447 break; 1448 case SHM_STAT: 1449 case IPC_STAT: |
1450 memset(&u32.shmid_ds32, 0, sizeof(u32.shmid_ds32)); |
|
1450 freebsd32_ipcperm_old_out(&u.shmid_ds.shm_perm, 1451 &u32.shmid_ds32.shm_perm); 1452 if (u.shmid_ds.shm_segsz > INT32_MAX) 1453 u32.shmid_ds32.shm_segsz = INT32_MAX; 1454 else 1455 CP(u.shmid_ds, u32.shmid_ds32, shm_segsz); 1456 CP(u.shmid_ds, u32.shmid_ds32, shm_lpid); 1457 CP(u.shmid_ds, u32.shmid_ds32, shm_cpid); --- 147 unchanged lines hidden (view full) --- 1605 1606 error = kern_shmctl(td, uap->shmid, uap->cmd, (void *)&buf, &bufsz); 1607 if (error) 1608 goto done; 1609 1610 /* Cases in which we need to copyout */ 1611 switch (uap->cmd) { 1612 case IPC_STAT: | 1451 freebsd32_ipcperm_old_out(&u.shmid_ds.shm_perm, 1452 &u32.shmid_ds32.shm_perm); 1453 if (u.shmid_ds.shm_segsz > INT32_MAX) 1454 u32.shmid_ds32.shm_segsz = INT32_MAX; 1455 else 1456 CP(u.shmid_ds, u32.shmid_ds32, shm_segsz); 1457 CP(u.shmid_ds, u32.shmid_ds32, shm_lpid); 1458 CP(u.shmid_ds, u32.shmid_ds32, shm_cpid); --- 147 unchanged lines hidden (view full) --- 1606 1607 error = kern_shmctl(td, uap->shmid, uap->cmd, (void *)&buf, &bufsz); 1608 if (error) 1609 goto done; 1610 1611 /* Cases in which we need to copyout */ 1612 switch (uap->cmd) { 1613 case IPC_STAT: |
1614 memset(&old, 0, sizeof(old)); |
|
1613 ipcperm_new2old(&buf.shm_perm, &old.shm_perm); 1614 if (buf.shm_segsz > INT_MAX) 1615 old.shm_segsz = INT_MAX; 1616 else 1617 CP(buf, old, shm_segsz); 1618 CP(buf, old, shm_lpid); 1619 CP(buf, old, shm_cpid); 1620 if (buf.shm_nattch > SHRT_MAX) --- 53 unchanged lines hidden --- | 1615 ipcperm_new2old(&buf.shm_perm, &old.shm_perm); 1616 if (buf.shm_segsz > INT_MAX) 1617 old.shm_segsz = INT_MAX; 1618 else 1619 CP(buf, old, shm_segsz); 1620 CP(buf, old, shm_lpid); 1621 CP(buf, old, shm_cpid); 1622 if (buf.shm_nattch > SHRT_MAX) --- 53 unchanged lines hidden --- |