From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: Potentially unbounded allocations in seq_read? Date: Thu, 12 Dec 2013 13:49:56 +0000 Message-ID: <20131212134956.GC10323@ZenIV.linux.org.uk> References: <1386781481.6066.55.camel@tursulin-linux.isw.intel.com> <20131211174909.GW10323@ZenIV.linux.org.uk> <1386784797.6066.63.camel@tursulin-linux.isw.intel.com> <20131211180703.GY10323@ZenIV.linux.org.uk> <1386855640.6066.73.camel@tursulin-linux.isw.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Andrew Morton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Tvrtko Ursulin Return-path: Content-Disposition: inline In-Reply-To: <1386855640.6066.73.camel@tursulin-linux.isw.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Thu, Dec 12, 2013 at 01:40:40PM +0000, Tvrtko Ursulin wrote: > So this is the story... task_mmu.c:show_map_vma() calls seq_path. There > we have a d_path call which returns -ENAMETOOLONG and keeps doing so > even though the buffer grows to huge proportions. It is something on > tmpfs, don't know what. > > But in the meantime, shouldn't seq_path be a bit more considerate on > this particular error and not mark the state as "could not fit" forever? > Perhaps it would make sense to limit it a bit? > > Or even more so, on errors _other_ than -ENAMETOOLONG it will at the > moment mark the result as "need more space". That also sounds broken to > me. a) *what* errors other than -ENAMETOOLONG? b) d_path() not fitting into 2Mb is definitely a bug. If you really have managed to get a dentry tree 1 million levels deep, you have much worse problems. c) which kernel version it is?