Re: [PATCH -vfs] proc: don't maintain sizeof(struct proc_dir_entry)

From: Alexey Dobriyan
Date: Fri May 18 2018 - 15:54:12 EST


On Fri, May 18, 2018 at 09:23:15PM +0100, Al Viro wrote:
> On Fri, May 18, 2018 at 11:02:13PM +0300, Alexey Dobriyan wrote:
> > Automatically cap sizeof(struct proc_dir_entry) at 192/128 bytes or
> > 256/192 bytes if spinlock debugging/lockdep is enabled.
>
> > --- a/fs/proc/internal.h
> > +++ b/fs/proc/internal.h
> > @@ -61,13 +61,15 @@ struct proc_dir_entry {
> > char *name;
> > umode_t mode;
> > u8 namelen;
> > + char inline_name[];
> > +} __randomize_layout;
> > +
>
> Hmm... proc_root initialization relies upon a gccism after that...

Yeah well.

> Speaking of which, why the hell do we even bother with proc_root.name?

printk("%s/%s", pde->parent->name, pde->name) is nice and doesn't cost
anything (OK, it may cost 5 bytes).