Re: [PATCH] close race condition in shared memory mapping/unmapping

From: Chris Wright
Date: Mon Sep 13 2004 - 16:03:05 EST


* Neil Horman (nhorman@xxxxxxxxxx) wrote:
> Hey all-
> Found this the other day poking through the ipc code. There appears to
> be a race condition in the counter that records how many processes are
> accessing a given shared memory segment. In most places the shm_nattch
> variable is protected by the shm_ids.sem semaphore, but there are a few
> openings which appear to be able to allow a corruption of this variable
> when run on SMP systems. I've attached a patch to 2.6.9-rc2 for review.
> The locking may be a little over-aggressive (I was following examples
> from other points in this file), but I figure better safe than sorry :).

Are you sure you've got this right? I thought that the shmid_kernel
struct protects shm_nattch with a local (per structure) lock which is
embedded in kern_ipc_perm. Did you find shm_nattch changes w/out
shm_lock/shm_unlock around it? I believe shm_ids.sem is protecting the
id allocation, not per object data such as shm_nattch.

thanks,
-chris
--
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/