Deleted Added
full compact
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 ---