freebsd-nq/sys
Edward Tomasz Napierala 92001b9497 Change the default setting of kern.ipc.shm_allow_removed from 0 to 1.
This removes the need for manually changing this flag for Google Chrome
users. It also improves compatibility with Linux applications running under
Linuxulator compatibility layer, and possibly also helps in porting software
from Linux.

Generally speaking, the flag allows applications to create the shared memory
segment, attach it, remove it, and then continue to use it and to reattach it
later. This means that the kernel will automatically "clean up" after the
application exits.

It could be argued that it's against POSIX. However, SUSv3 says this
about IPC_RMID: "Remove the shared memory identifier specified by shmid from
the system and destroy the shared memory segment and shmid_ds data structure
associated with it." From my reading, we break it in any case by deferring
removal of the segment until it's detached; we won't break it any more
by also deferring removal of the identifier.

This is the behaviour exhibited by Linux since... probably always, and
also by OpenBSD since the following commit:

revision 1.54
date: 2011/10/27 07:56:28; author: robert; state: Exp; lines: +3 -8;
Allow segments to be used even after they were marked for deletion with
the IPC_RMID flag.
This is permitted as an extension beyond the standards and this is similar
to what other operating systems like linux do.

MFC after:	1 month
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3603
2015-10-10 09:29:47 +00:00
..
amd64 linux: fix handling of out-of-bounds syscall attempts 2015-10-08 21:08:35 +00:00
arm Use IIC_EBUSBSY and IIC_BUSERR status values consistantly across all drivers. 2015-10-09 22:49:50 +00:00
arm64 Build changes that allow the modules on arm64. 2015-10-08 17:42:08 +00:00
boot Change gptldr from relocating 0xfff1 bytes of boot2 to relocating 0x20000 2015-10-08 15:38:34 +00:00
bsm
cam Add missing vnode lock in case of file modify request. 2015-10-08 07:34:30 +00:00
cddl
compat Properly format pointer size independent CloudABI system calls. 2015-10-08 05:27:45 +00:00
conf Build changes that allow the modules on arm64. 2015-10-08 17:42:08 +00:00
contrib Flip on fast frames support for AR5416 and AR9300 series NICs. 2015-10-10 00:13:45 +00:00
crypto
ddb
dev drm/i915: Remove "Attempting to unbind pinned buffer" message 2015-10-10 07:43:02 +00:00
fs
gdb
geom Make geom_nop(4) collect statistics on all types of BIOs, not just 2015-10-10 09:03:31 +00:00
gnu
i386 Fix missing semi-colon from r289055. 2015-10-08 23:27:45 +00:00
isa
kern Change the default setting of kern.ipc.shm_allow_removed from 0 to 1. 2015-10-10 09:29:47 +00:00
kgssapi
libkern Add the __aeabi_memclr8 symbol, clang 3.7 uses this. 2015-09-21 18:35:32 +00:00
mips Update the AP135 reference design flash layout to be more useful. 2015-10-10 05:00:18 +00:00
modules Disable syscons and vpo modules for arm64. 2015-10-08 17:32:45 +00:00
net Fix a bug that caused reinitialization failure of MAC addresses on 2015-10-07 06:32:34 +00:00
net80211
netgraph
netinet Fix regression from r287779, that bite me. If we call m_pullup() 2015-10-07 13:10:26 +00:00
netinet6
netipsec
netnatm
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto
pc98
powerpc Use IIC_EBUSBSY and IIC_BUSERR status values consistantly across all drivers. 2015-10-09 22:49:50 +00:00
rpc
security
sparc64
sys Add .gnu.versym VERSYM_HIDDEN flag and related mask 2015-10-09 17:33:05 +00:00
teken
tools
ufs In softdep_setup_freeblocks(): 2015-10-07 12:36:28 +00:00
vm Exploit r288122 to avoid pointlessly enqueueing a page that is about to be 2015-10-09 03:38:58 +00:00
x86
xdr
xen xen/console: Introduce a new console driver for Xen guest 2015-10-08 16:39:43 +00:00
Makefile