Re: [PATCH 0/25] Sysfs cleanups & tagged directory support

From: Eric W. Biederman
Date: Wed Aug 08 2007 - 11:55:15 EST


Tejun Heo <teheo@xxxxxxx> writes:

> Tejun Heo wrote:
>> Eric W. Biederman wrote:
>>> Tejun Heo <htejun@xxxxxxxxx> writes:
>>>
>>>> Cornelia Huck wrote:
>>>>> On Wed, 08 Aug 2007 23:35:36 +0900,
>>>>> Tejun Heo <htejun@xxxxxxxxx> wrote:
>>>>>
>>>>>> Does the attached patch happen to fix the problem?
>>>>> Indeed it does; thanks!
>>>> Yeah, you seem to have 32bit off_t. UINT_MAX overflows, so...
>>> Weird. And we have it opening the directory O_LARGEFILE.
>>>
>>> I have no problems with the fix though.
>>
>> It's probably because of struct dirent definition used by readdir().
>
> 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.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/