Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753268Ab0HTIul (ORCPT ); Fri, 20 Aug 2010 04:50:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:18150 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752351Ab0HTIuZ (ORCPT ); Fri, 20 Aug 2010 04:50:25 -0400 Organization: Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 From: David Howells In-Reply-To: <20100820084820.5FDB.A69D9226@jp.fujitsu.com> References: <20100820084820.5FDB.A69D9226@jp.fujitsu.com> <20100819220338.5FD5.A69D9226@jp.fujitsu.com> <7682.1282230394@redhat.com> To: KOSAKI Motohiro Cc: dhowells@redhat.com, "Paul E. McKenney" , LKML , linux-mm , Andrew Morton , David Rientjes , KAMEZAWA Hiroyuki Subject: Re: oom: __task_cred() need rcu_read_lock() Date: Fri, 20 Aug 2010 09:50:02 +0100 Message-ID: <30014.1282294202@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1302 Lines: 31 KOSAKI Motohiro wrote: > > KOSAKI Motohiro wrote: > > > > > dump_tasks() can call __task_cred() safely because we are holding > > > tasklist_lock. but rcu lock validator don't have enough knowledge and > > > it makes following annoying warning. > > > > No, it can't. The tasklist_lock is not protection against the creds > > changing on another CPU. > > Thank you for correction. > > I suppose you mean I missed CONFIG_TREE_PREEMPT_RCU, right? > As far as my grepping, other rcu implementation and spinlock use > preempt_disable(). In other word, Can I assume usual distro user > don't hit this issue? No. The paths by which a process changes its credentials don't normally take tasklist_lock, so holding tasklist_lock doesn't prevent the process you're looking at from replacing its cred and discarding the ones you're looking at. Further, unless you're holding the RCU read lock, there's nothing theoretically stopping the system from deleting the discarded credentials. David -- 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/