Bug 121404 - CONFIG_DEBUG_SLAB causes PPC32 SIGFPE
Summary: CONFIG_DEBUG_SLAB causes PPC32 SIGFPE
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 2
Hardware: powerpc
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks: fedora-ppc
TreeView+ depends on / blocked
 
Reported: 2004-04-21 06:28 UTC by David Woodhouse
Modified: 2007-11-30 22:10 UTC (History)
0 users

Fixed In Version: 2.6.5-1.344
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-04-30 16:14:55 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch to initialise tsk->thread.fpexc_mode (341 bytes, text/plain)
2004-04-21 22:10 UTC, David Woodhouse
no flags Details
Patch to set ARCH_MIN_TASKALIGN (321 bytes, text/plain)
2004-04-22 02:11 UTC, David Woodhouse
no flags Details

Description David Woodhouse 2004-04-21 06:28:55 UTC
CONFIG_DEBUG_SLAB causes random SIGFPE to occur in FP-using processes.

Comment 1 David Woodhouse 2004-04-21 21:34:06 UTC
Some debugging (in ProgramCheckException()) gives:

SIGFPE fpscr ea0a420b code 30006 ip eac37f0 msr 10d032
SIGFPE fpscr ea0a420b code 30006 ip f351718 msr 10d032
SIGFPE fpscr ee0a460f code 30006 ip e79e2bc msr 210d032
SIGFPE fpscr ea0a420b code 30006 ip f47b578 msr 210d032
SIGFPE fpscr ee0a460f code 30006 ip f51fc50 msr 210d032
SIGFPE fpscr ea0a420b code 30006 ip eed2474 msr 10d032

In each case, we take a SIGFPE with code FPE_FLTRES, because the
FPSCR_XX bit is set and unmasked. Looks like fpscr isn't being
initialised correctly?

Comment 2 David Woodhouse 2004-04-21 22:10:33 UTC
Created attachment 99614 [details]
Patch to initialise tsk->thread.fpexc_mode

This fixes it but is probably the wrong thing to do since we won't now inherit
from our parent. Instead, we should set it correctly for the init task at boot
time.

Comment 3 David Woodhouse 2004-04-21 22:39:34 UTC
That patch seems to just work around the problem by disabling
exceptions. There's still other strangeness.

Comment 4 David Woodhouse 2004-04-22 02:11:06 UTC
Created attachment 99623 [details]
Patch to set ARCH_MIN_TASKALIGN

This is the real fix -- ensure the task_struct remains aligned to 16 bytes even
when redzoning is enabled.


Note You need to log in before you can comment on or make changes to this bug.