From mboxrd@z Thu Jan 1 00:00:00 1970 From: ebiederm@xmission.com (Eric W. Biederman) Subject: Re: [PATCH] Fix proc_file_write missing ppos update Date: Fri, 07 Aug 2009 23:59:12 -0700 Message-ID: References: <1249676830.27640.16.camel@wall-e> <20090807135806.ffd068e9.akpm@linux-foundation.org> <1249681387.17422.10.camel@wall-e> <20090807151657.d577dd2d.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Stefani Seibold , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org To: Andrew Morton Return-path: Received: from out02.mta.xmission.com ([166.70.13.232]:40556 "EHLO out02.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753051AbZHHG7S (ORCPT ); Sat, 8 Aug 2009 02:59:18 -0400 In-Reply-To: <20090807151657.d577dd2d.akpm@linux-foundation.org> (Andrew Morton's message of "Fri\, 7 Aug 2009 15\:16\:57 -0700") Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Andrew Morton writes: > On Fri, 07 Aug 2009 23:43:07 +0200 > Stefani Seibold wrote: > >> So what is your suggestion? Should we drop this patch or should we >> analyze the users and fix it? > > Well. > > We could review all implementations of ->write_proc. There only seem > to be twenty or so. > > If any of them will have their behaviour altered by this patch then > let's look at those on a case-by-case basis and decide whether making > this change will have an acceptable risk. > > If we _do_ find one for which we simply cannot make this behavioural > change then.. ugh. We could perhaps add a new `bool > proc_dir_entry.implement_old_broken_behaviour' and set that flag for > the offending driver(s) and test it within proc_write_file(). > > Or we could do > > if (pde->write_proc_new) { > rv = pde->write_proc_new(file, buffer, count, pde->data); > *ppos += rv; > } else { > rv = pde->write_proc(file, buffer, count, pde->data); > } > > which is really the same thing and isn't obviously better ;) > >> My opinion is to fix it, because it is wrong and it limits the usage of >> the proc_write operation. Many embedded developers like me count on proc >> support, because it is much simpler to use than the seqfile thing. The simple and portable answer is to implement your own file_operations. It is unlikely that implementing a new totally unstructured proc file is a good idea. I'm not quite up to speed on write_proc but I believe we have been spraying read_proc and write_proc because of problems with the interface. Eric