From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751690AbbE1HAO (ORCPT ); Thu, 28 May 2015 03:00:14 -0400 Received: from mail-lb0-f176.google.com ([209.85.217.176]:33893 "EHLO mail-lb0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751372AbbE1HAH (ORCPT ); Thu, 28 May 2015 03:00:07 -0400 Date: Thu, 28 May 2015 09:59:57 +0300 From: Cyrill Gorcunov To: Alexey Dobriyan Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, jarod@redhat.com, jstancek@redhat.com Subject: Re: [PATCH 2/2] proc: fix PAGE_SIZE limit of /proc/$PID/cmdline Message-ID: <20150528065957.GJ17625@uranus.sw.swsoft.com> References: <20150527214757.GA12863@p183.telecom.by> <20150527214953.GB12863@p183.telecom.by> <20150527221435.GG17625@uranus.sw.swsoft.com> <20150527222941.GA28699@p183.telecom.by> <20150527224825.GI17625@uranus.sw.swsoft.com> <20150527231207.GA29641@p183.telecom.by> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150527231207.GA29641@p183.telecom.by> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 28, 2015 at 02:12:07AM +0300, Alexey Dobriyan wrote: > > > > > > > > Could you please explain why this down/up is needed? > > > > > > Code is written this way to get constistent snapshot of data. > > > > it does not. you fetch data into local variables which is the > > same as simply read them locklessly in general (because later > > you refer to local vars). > > It is snapshot w.r.t getting both pairs not snapshot w.r.t atomicity or > something (unsigned long access is atomic after all). Once down_write() > is used in the other place, it even becomes obviously correct code! Not at all. It is correct if and only if you're operating under lock taken, once you fetch the pair and left the lock it simply local copies of values the descriptor had when lock was taken. Cyrill