<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/compat/linux/linux_ipc.c, branch releng/7.3</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC r198945:</title>
<updated>2009-11-12T14:27:09+00:00</updated>
<author>
<name>Alexander Leidinger</name>
<email>netchild@FreeBSD.org</email>
</author>
<published>2009-11-12T14:27:09+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ba811935912bcc4dbfa64ca400fe63d3f5b171b1'/>
<id>ba811935912bcc4dbfa64ca400fe63d3f5b171b1</id>
<content type='text'>
  Fix typo in kernel message. The fix is based upon the patch in the PR.

  PR:		kern/140279
  Submitted by:	Alexander Best &lt;alexbestms@math.uni-muenster.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Fix typo in kernel message. The fix is based upon the patch in the PR.

  PR:		kern/140279
  Submitted by:	Alexander Best &lt;alexbestms@math.uni-muenster.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC: Change the ABI of some of the structures used by the SYSV IPC API:</title>
<updated>2009-07-31T20:32:55+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2009-07-31T20:32:55+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8da54652091fcad3e830641d8816ae3a597bf018'/>
<id>8da54652091fcad3e830641d8816ae3a597bf018</id>
<content type='text'>
- Various members of struct ipc_perm use appropriate types instead of
  unsigned short.
- The shm_segsz member of struct shmid_ds is now a size_t instead of an
  int which should allow for complete support of SYSV SHM regions &gt;= 2GB.
- The shm_nattch member of struct shmid_ds is now an int instead of a
  short.
- The existing versions of the __semctl(), msgctl(), and shmctl() system
  calls have been renamed to freebsd7_*() and implement the old ABI. New
  versions of these system calls provide the new ABI.  The new system
  calls also use newer symbol versions in libc so old and new binaries
  will both work under new kernels.
- Specific to 7.x: the kern_msgctl(), kern_semctl(), and kern_shmctl()
  functions now use ABI shims that transparently "rename" the functions
  to kern_new_*() for all new modules.  Existing compat functions under
  the old names remain to provide compatibility for older kernel modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Various members of struct ipc_perm use appropriate types instead of
  unsigned short.
- The shm_segsz member of struct shmid_ds is now a size_t instead of an
  int which should allow for complete support of SYSV SHM regions &gt;= 2GB.
- The shm_nattch member of struct shmid_ds is now an int instead of a
  short.
- The existing versions of the __semctl(), msgctl(), and shmctl() system
  calls have been renamed to freebsd7_*() and implement the old ABI. New
  versions of these system calls provide the new ABI.  The new system
  calls also use newer symbol versions in libc so old and new binaries
  will both work under new kernels.
- Specific to 7.x: the kern_msgctl(), kern_semctl(), and kern_shmctl()
  functions now use ABI shims that transparently "rename" the functions
  to kern_new_*() for all new modules.  Existing compat functions under
  the old names remain to provide compatibility for older kernel modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFp4 (112379):</title>
<updated>2007-01-14T16:34:43+00:00</updated>
<author>
<name>Alexander Leidinger</name>
<email>netchild@FreeBSD.org</email>
</author>
<published>2007-01-14T16:34:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=17011df1e1d3842b27d08463666c95a17f5f206c'/>
<id>17011df1e1d3842b27d08463666c95a17f5f206c</id>
<content type='text'>
Implement SETALL/GETALL IPC primitives. This fixes some LTP testcases and
LabView is able to proceed a little bit further.

Submitted by:	rdivacky
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement SETALL/GETALL IPC primitives. This fixes some LTP testcases and
LabView is able to proceed a little bit further.

Submitted by:	rdivacky
</pre>
</div>
</content>
</entry>
<entry>
<title>MFP4: 110179</title>
<updated>2006-12-20T20:08:45+00:00</updated>
<author>
<name>Jung-uk Kim</name>
<email>jkim@FreeBSD.org</email>
</author>
<published>2006-12-20T20:08:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=34ec45fe0d43481a9d73bf11d717f1444ad2f666'/>
<id>34ec45fe0d43481a9d73bf11d717f1444ad2f666</id>
<content type='text'>
Add rudimentary IPC_INFO/MSG_INFO command support for linux_msgctl()
to pacify Linux ipcs(1).  While I am here, add more bound checks
for linux_msgsnd() and linux_msgrcv().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add rudimentary IPC_INFO/MSG_INFO command support for linux_msgctl()
to pacify Linux ipcs(1).  While I am here, add more bound checks
for linux_msgsnd() and linux_msgrcv().
</pre>
</div>
</content>
</entry>
<entry>
<title>MFP4: (part of) 110058</title>
<updated>2006-12-20T19:30:52+00:00</updated>
<author>
<name>Jung-uk Kim</name>
<email>jkim@FreeBSD.org</email>
</author>
<published>2006-12-20T19:30:52+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f61480ecf52a6eedfff88ecaef543c2b1eade11d'/>
<id>f61480ecf52a6eedfff88ecaef543c2b1eade11d</id>
<content type='text'>
Use new kern_msgsnd()/kern_msgrcv() to fix linux32 emulation on amd64.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use new kern_msgsnd()/kern_msgrcv() to fix linux32 emulation on amd64.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't pass unused bufsz to kern_shmctl().</title>
<updated>2006-10-10T22:46:50+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2006-10-10T22:46:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8528552b0de4766765d7ed09518a4b66f6d80e20'/>
<id>8528552b0de4766765d7ed09518a4b66f6d80e20</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Only try to copyin a msqid for the IPC_SET command to msgctl().  Other</title>
<updated>2006-10-10T22:46:22+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2006-10-10T22:46:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f3ea244ea9ba4674d3f08539b7a3abdc52abbcdd'/>
<id>f3ea244ea9ba4674d3f08539b7a3abdc52abbcdd</id>
<content type='text'>
commands (such as IPC_RMID) were bogusly failing with EFAULT.

Tested by:	jkim
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commands (such as IPC_RMID) were bogusly failing with EFAULT.

Tested by:	jkim
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unnecessary casts before PTRIN().</title>
<updated>2006-10-10T22:44:59+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2006-10-10T22:44:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7f4c1dd0d6165a6d15c7064d004759dc69d738ec'/>
<id>7f4c1dd0d6165a6d15c7064d004759dc69d738ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework kern_semctl a bit to always assume the UIO_SYSSPACE case.  This</title>
<updated>2006-07-08T19:51:38+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2006-07-08T19:51:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b1ee5b654da9f12c4a1dcf6e4f39b8ebb6f615e9'/>
<id>b1ee5b654da9f12c4a1dcf6e4f39b8ebb6f615e9</id>
<content type='text'>
mostly consists of pushing a few copyin's and copyout's up into
__semctl() as all the other callers were already doing the UIO_SYSSPACE
case.  This also changes kern_semctl() to set the return value in a passed
in pointer to a register_t rather than td-&gt;td_retval[0] directly so that
callers can only set td-&gt;td_retval[0] if all the various copyout's succeed.

As a result of these changes, kern_semctl() no longer does copyin/copyout
(except for GETALL/SETALL) so simplify the locking to acquire the semakptr
mutex before the MAC check and hold it all the way until the end of the
big switch statement.  The GETALL/SETALL cases have to temporarily drop it
while they do copyin/malloc and copyout.  Also, simplify the SETALL case to
remove handling for a non-existent race condition.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
mostly consists of pushing a few copyin's and copyout's up into
__semctl() as all the other callers were already doing the UIO_SYSSPACE
case.  This also changes kern_semctl() to set the return value in a passed
in pointer to a register_t rather than td-&gt;td_retval[0] directly so that
callers can only set td-&gt;td_retval[0] if all the various copyout's succeed.

As a result of these changes, kern_semctl() no longer does copyin/copyout
(except for GETALL/SETALL) so simplify the locking to acquire the semakptr
mutex before the MAC check and hold it all the way until the end of the
big switch statement.  The GETALL/SETALL cases have to temporarily drop it
while they do copyin/malloc and copyout.  Also, simplify the SETALL case to
remove handling for a non-existent race condition.
</pre>
</div>
</content>
</entry>
<entry>
<title>- Add a kern_semctl() helper function for __semctl().  It accepts a pointer</title>
<updated>2006-06-27T18:28:50+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2006-06-27T18:28:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=49d409a108d2065d4b6b0859c0e022b8665c4cf7'/>
<id>49d409a108d2065d4b6b0859c0e022b8665c4cf7</id>
<content type='text'>
  to a copied-in copy of the 'union semun' and a uioseg to indicate which
  memory space the 'buf' pointer of the union points to.  This is then used
  in linux_semctl() and svr4_sys_semctl() to eliminate use of the stackgap.
- Mark linux_ipc() and svr4_sys_semsys() MPSAFE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  to a copied-in copy of the 'union semun' and a uioseg to indicate which
  memory space the 'buf' pointer of the union points to.  This is then used
  in linux_semctl() and svr4_sys_semctl() to eliminate use of the stackgap.
- Mark linux_ipc() and svr4_sys_semsys() MPSAFE.
</pre>
</div>
</content>
</entry>
</feed>
