summaryrefslogtreecommitdiffstats
path: root/sys/compat/linux/linux_ipc.c
diff options
context:
space:
mode:
authorfjoe <fjoe@FreeBSD.org>2003-11-05 01:53:10 +0000
committerfjoe <fjoe@FreeBSD.org>2003-11-05 01:53:10 +0000
commit160f13825c77e0a8eb8370ae72eab3622174cb60 (patch)
tree13633d0f8603d472f72de0c33cea5d7cd406e7e2 /sys/compat/linux/linux_ipc.c
parent039b0cb0daac4bfacb0c1e95792c29e9df4300d6 (diff)
downloadFreeBSD-src-160f13825c77e0a8eb8370ae72eab3622174cb60.zip
FreeBSD-src-160f13825c77e0a8eb8370ae72eab3622174cb60.tar.gz
Back out the following revisions:
1.36 +73 -60 src/sys/compat/linux/linux_ipc.c 1.83 +102 -48 src/sys/kern/sysv_shm.c 1.8 +4 -0 src/sys/sys/syscallsubr.h That change was intended to support vmware3, but wantrem parameter is useless because vmware3 uses SYSV shared memory to talk with X server and X server is native application. The patch worked because check for wantrem was not valid (wantrem and SHMSEG_REMOVED was never checked for SHMSEG_ALLOCATED segments). Add kern.ipc.shm_allow_removed (integer, rw) sysctl (default 0) which when set to 1 allows to return removed segments in shm_find_segment_by_shmid() and shm_find_segment_by_shmidx(). MFC after: 1 week
Diffstat (limited to 'sys/compat/linux/linux_ipc.c')
-rw-r--r--sys/compat/linux/linux_ipc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/compat/linux/linux_ipc.c b/sys/compat/linux/linux_ipc.c
index 2799229..71b6d60 100644
--- a/sys/compat/linux/linux_ipc.c
+++ b/sys/compat/linux/linux_ipc.c
@@ -716,7 +716,7 @@ linux_shmctl(struct thread *td, struct linux_shmctl_args *args)
/* Perform shmctl wanting removed segments lookup */
error = kern_shmctl(td, args->shmid, IPC_INFO,
- (void *)&bsd_shminfo, &bufsz, 1);
+ (void *)&bsd_shminfo, &bufsz);
if (error)
return error;
@@ -731,7 +731,7 @@ linux_shmctl(struct thread *td, struct linux_shmctl_args *args)
/* Perform shmctl wanting removed segments lookup */
error = kern_shmctl(td, args->shmid, SHM_INFO,
- (void *)&bsd_shm_info, &bufsz, 1);
+ (void *)&bsd_shm_info, &bufsz);
if (error)
return error;
@@ -744,7 +744,7 @@ linux_shmctl(struct thread *td, struct linux_shmctl_args *args)
case LINUX_IPC_STAT:
/* Perform shmctl wanting removed segments lookup */
error = kern_shmctl(td, args->shmid, IPC_STAT,
- (void *)&bsd_shmid, &bufsz, 1);
+ (void *)&bsd_shmid, &bufsz);
if (error)
return error;
@@ -756,7 +756,7 @@ linux_shmctl(struct thread *td, struct linux_shmctl_args *args)
case LINUX_SHM_STAT:
/* Perform shmctl wanting removed segments lookup */
error = kern_shmctl(td, args->shmid, IPC_STAT,
- (void *)&bsd_shmid, &bufsz, 1);
+ (void *)&bsd_shmid, &bufsz);
if (error)
return error;
@@ -775,7 +775,7 @@ linux_shmctl(struct thread *td, struct linux_shmctl_args *args)
/* Perform shmctl wanting removed segments lookup */
return kern_shmctl(td, args->shmid, IPC_SET,
- (void *)&bsd_shmid, &bufsz, 1);
+ (void *)&bsd_shmid, &bufsz);
case LINUX_IPC_RMID: {
void *buf;
@@ -790,7 +790,7 @@ linux_shmctl(struct thread *td, struct linux_shmctl_args *args)
linux_to_bsd_shmid_ds(&linux_shmid, &bsd_shmid);
buf = (void *)&bsd_shmid;
}
- return kern_shmctl(td, args->shmid, IPC_RMID, buf, &bufsz, 1);
+ return kern_shmctl(td, args->shmid, IPC_RMID, buf, &bufsz);
}
case LINUX_SHM_LOCK:
OpenPOWER on IntegriCloud