[lkml]   [2013]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2/4] ipc,shm: prevent race with rmid in shmat(2)
Hi Manfred,

On Fri, 2013-09-27 at 07:45 +0200, Manfred Spraul wrote:
> Hi Davidlohr,
> On 09/16/2013 05:04 AM, Davidlohr Bueso wrote:
> > This fixes a race in shmat() between finding the msq and
> > actually attaching the segment, as another thread can delete shmid
> > underneath us if we are preempted before acquiring the kern_ipc_perm.lock.
> According the the man page, Linux supports attaching to deleted shm
> segments:
> >
> > On Linux, it is possible to attach a shared memory segment even if it
> > is already marked to be deleted. However, POSIX.1-2001 does not
> > specify this behavior and many other implementations do not support it.
> >

Good catch!

> Does your patch change that?

Yes, it should and furthermore it affects the following property:

shm_nattch is decremented by one. If it becomes 0 and the segment is
marked for deletion, the segment is deleted.

> Unfortunately, I have neither any experience with ipc/shm nor any test
> cases.
> And:
> As far as I can see it's not a problem if we are attaching to a deleted
> segment: shm_close cleans up everything.

Agreed, please disregard this patch.


 \ /
  Last update: 2013-09-28 02:01    [W:0.102 / U:44.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site