Re: [PATCH] binfmt_misc: Fix binfmt_misc priority

From: Jan Sembera
Date: Tue Sep 07 2010 - 06:16:54 EST


On Fri, Sep 03, 2010 at 02:20:03PM -0700, Andrew Morton wrote:
> (cc stable@xxxxxxxxxx and the ia64 d00ds)

Note that this isn't actually ia64 specific, ia32el is just where we
(actually our customer) noticed this first. It happens on any architectures,
if by any chance you would need to match something with binfmt_misc that
would be accepted by another binfmt...

> > Commit 74641f584da introduced a regression - binfmt_misc is now consulted
> > after binfmt_elf, which will unfortunately break ia32el. ia32 ELF binaries
> > on ia64 used to be matched using binfmt_misc and executed using wrapper. As
> > 32bit binaries are now matched by binfmt_elf before bindmt_misc kicks in,
> > the wrapper is ignored.
> >
> > The fix increases precedence of binfmt_misc to the original state.
> >
> > Signed-off-by: Jan Sembera <jsembera@xxxxxxx>
> > ---
> > fs/binfmt_misc.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
> > index a7528b9..fd0cc0b 100644
> > --- a/fs/binfmt_misc.c
> > +++ b/fs/binfmt_misc.c
> > @@ -724,7 +724,7 @@ static int __init init_misc_binfmt(void)
> > {
> > int err = register_filesystem(&bm_fs_type);
> > if (!err) {
> > - err = register_binfmt(&misc_format);
> > + err = insert_binfmt(&misc_format);
> > if (err)
> > unregister_filesystem(&bm_fs_type);
> > }
>
> Yikes, 74641f584da was merged in May 2009. I wonder why this problem
> wasn't noticed before now?

Not sure, probably not very common use case and it slipped through our
testing before release.

Thanks,

Jan
--
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/