From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: [PATCH 0/25] Sysfs cleanups & tagged directory support Date: Thu, 09 Aug 2007 01:03:20 +0900 Message-ID: <46B9E948.8080605@suse.de> References: <11860582832964-git-send-email-htejun@gmail.com> <20070808093815.0935a18e@gondolin.boeblingen.de.ibm.com> <20070808095432.4a520735@gondolin.boeblingen.de.ibm.com> <20070808103759.0850383c@gondolin.boeblingen.de.ibm.com> <20070808161631.1ccf27fd@gondolin.boeblingen.de.ibm.com> <46B9D4B8.4050201@gmail.com> <20070808165027.29af40b5@gondolin.boeblingen.de.ibm.com> <46B9D961.4000902@gmail.com> <46B9DDA1.1080704@gmail.com> <46B9DE5E.7050406@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: "Eric W. Biederman" Cc: Cornelia Huck , Greg KH , linux-kernel@vger.kernel.org, satyam@infradead.org, stern@rowland.harvard.edu, Linux Containers , gregkh@suse.de List-Id: containers.vger.kernel.org Hello, Eric W. Biederman wrote: >> More specifically, d_off field. It's a bit twisted. For the last >> entry, filp->f_pos gets written into the field and gets wrapped while >> being copied out to userland or in glibc. > > That could do it, and glibc is crunching it. Oh well, it is > easy enough to avoid as long as our inode numbers are small which > the idr allocator seems to ensure. Yeah, now I think about it. glibc throws out entries which don't fit in the data structure specified by the called API, so it probably threw out the last entry which has UINT_MAX in d_off which doesn't fit in the readdir() return structure. Using INT_MAX should be just fine as IDA always allocates the first empty slot. We can add paranoia check in ino allocation path. -- tejun