Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 23 Mar 2001 17:24:36 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 23 Mar 2001 17:24:27 -0500 Received: from leibniz.math.psu.edu ([146.186.130.2]:47844 "EHLO math.psu.edu") by vger.kernel.org with ESMTP id ; Fri, 23 Mar 2001 17:24:14 -0500 Date: Fri, 23 Mar 2001 17:23:29 -0500 (EST) From: Alexander Viro To: Alan Cox cc: Linus Torvalds , "Stephen C. Tweedie" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Ben LaHaise , Christoph Rohland Subject: Re: [PATCH] Fix races in 2.4.2-ac22 SysV shared memory In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 23 Mar 2001, Alan Cox wrote: > > On Fri, 23 Mar 2001, Stephen C. Tweedie wrote: > > > > > > The patch below is for two races in sysV shared memory. > > > > + spin_lock (&info->lock); > > + > > + /* The shmem_swp_entry() call may have blocked, and > > + * shmem_writepage may have been moving a page between the page > > + * cache and swap cache. We need to recheck the page cache > > + * under the protection of the info->lock spinlock. */ > > + > > + page = find_lock_page(mapping, idx); > > > > Ehh.. Sleeping with the spin-lock held? Sounds like a truly bad idea. > > Umm find_lock_page doesnt sleep does it ? It certainly does. find_lock_page() -> __find_lock_page() -> lock_page() -> -> __lock_page() -> schedule(). - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/