Re: [PATCH] Fix 'flush_old_exec()/setup_new_exec()' split

From: Ben Hutchings
Date: Wed Feb 03 2010 - 23:03:12 EST


On Thu, 2010-02-04 at 01:10 +0000, Ben Hutchings wrote:
> Commit 7ab02af428c2d312c0cf8fb0b01cc1eb21131a3d upstream fixes a
> regression caused by 221af7f87b97431e3ee21ce4b0e77d5411cf1549.

Having said that, it doesn't really fix it for me.

I'm using Debian i386 (i.e. 32-bit userland) with a 64-bit kernel.
After applying commit 221af7f to Debian's kernel source (approximately
equivalent to 2.6.32.7), the kernel fails to exec init. After commit
7ab02af it can exec init but that immediately segfaults:

[ 0.684493] init[1]: segfault at 6d241850 ip 000000006d241850 sp 00000000403fca30 error 14
[ 0.686204] Kernel panic - not syncing: Attempted to kill init!
[ 0.687081] Pid: 1, comm: init Not tainted 2.6.32-2-amd64 #1
[ 0.687968] Call Trace:
[ 0.688716] [<ffffffff812e8c21>] ? panic+0x86/0x141
[ 0.689540] [<ffffffff8104a63a>] ? __cond_resched+0x1d/0x26
[ 0.690390] [<ffffffff81056aed>] ? exit_ptrace+0x30/0x126
[ 0.692344] [<ffffffff81050cd3>] ? do_exit+0x72/0x6b5
[ 0.693261] [<ffffffff8105138c>] ? do_group_exit+0x76/0x9d
[ 0.694203] [<ffffffff8105da4c>] ? get_signal_to_deliver+0x310/0x33c
[ 0.695719] [<ffffffff8101000f>] ? do_notify_resume+0x87/0x73f
[ 0.696754] [<ffffffff81188de8>] ? __down_read_trylock+0x3e/0x44
[ 0.697717] [<ffffffff81188f75>] ? __up_read+0x13/0x8e
[ 0.698748] [<ffffffff8101159c>] ? retint_signal+0x48/0x8c

Ben.

--
Ben Hutchings
friends: People who know you well, but like you anyway.

Attachment: signature.asc
Description: This is a digitally signed message part