Re: [PATCH] ext4: fix #11321: create /proc/ext4/*/stats et al more carefully

Christoph Hellwig
2008-09-09T11:51:12Z

On Sat, Sep 06, 2008 at 01:06:52AM +0400, Alexey Dobriyan wrote:
> Ralf, please confirm.
>
>
>
> [PATCH] ext4: fix #11321: create /proc/ext4/*/stats more carefully
>
> ext4 creates per-suberblock directory in /proc/ext4/ . Name used as
> basis is taken from bdevname, which, surprise, can contain slash.
>
> However, proc while allowing to use proc_create("a/b", parent) form of
> PDE creation, assumes that parent/a was already created.
>
> bdevname in question is 'cciss/c0d0p9', directory is not created and all
> this stuff goes directly into /proc (which is real bug).
>
> Warning comes when _second_ partition is mounted.

Two issues with this. First filesystems should never call
bdevname(sb->s_bdev, ...), but alwasy us s->s_id which has this
pre-calculated and avoids the big on-stack array. Second this
conversion really isn't extN specific, so I'd rather do it in
get_sb_bdev so one places takes care of all uses, instead of
re-inventing it in lots of places.