1
linux/ipc
KAMEZAWA Hiroyuki 8e36709d8c [PATCH] shmdt cannot detach not-alined shm segment cleanly.
sys_shmdt() can manage shm segments which are covered by multiple vmas.  (This
can happen when a user uses mprotect() after shmat().)

This works well if shm is aligned to PAGE_SIZE, but if not, the last
segment cannot be detached.  It is because a comparison in sys_shmdt()

	(vma->vm_end - addr) < size
		addr == return address of shmat()
		size == shmsize, argments to shmget()

size should be aligned to PAGE_SIZE before being compared with vma->vm_end,
which is aligned.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Acked-by: Hugh Dickins <hugh@veritas.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-10 08:13:12 -08:00
..
compat_mq.c
compat.c [PATCH] compat: be more consistent about [ug]id_t 2005-09-07 16:57:19 -07:00
Makefile
mqueue.c [NETLINK]: Fix a severe bug 2006-02-09 16:43:38 -08:00
msg.c correct email address of Manfred Spraul 2006-01-15 02:43:54 +01:00
msgutil.c
sem.c correct email address of Manfred Spraul 2006-01-15 02:43:54 +01:00
shm.c [PATCH] shmdt cannot detach not-alined shm segment cleanly. 2006-02-10 08:13:12 -08:00
util.c correct email address of Manfred Spraul 2006-01-15 02:43:54 +01:00
util.h correct email address of Manfred Spraul 2006-01-15 02:43:54 +01:00