From: Jan Sembera Date: Thu, 9 Sep 2010 23:37:54 +0000 (-0700) Subject: binfmt_misc: fix binfmt_misc priority X-Git-Tag: v2.6.34.8~191 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b1f9216a7b13b63c26573e8c31b2df700db1faaf;p=thirdparty%2Fkernel%2Fstable.git binfmt_misc: fix binfmt_misc priority commit ee3aebdd8f5f8eac41c25c80ceee3d728f920f3b upstream. Commit 74641f584da ("alpha: binfmt_aout fix") (May 2009) 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 Cc: Ivan Kokshaysky Cc: Al Viro Cc: Richard Henderson Signed-off-by: Linus Torvalds Signed-off-by: Paul Gortmaker --- diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index c4e83537ead77..42b60b04ea061 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c @@ -723,7 +723,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); }