According to the following manual:

Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System 
Programming Guide, Part 1
"""
The IF flag can disable the servicing of maskable hardware interrupts received 
on the processor’s INTR pin or through the local APIC. When the IF flag is 
clear, the processor inhibits interrupts delivered to the INTR pin or through 
the local APIC from generating an internal interrupt request; when the IF flag 
is set, interrupts delivered to the INTR or through the local APIC pin are 
processed as normal external interrupts.
...
The IF flag can be set or cleared with the STI (set interrupt-enable flag) and 
CLI (clear interrupt-enable flag) instructions, respectively. These 
instructions may be executed only if the CPL is equal to or less than the IOPL. 
A general-protection exception (#GP) is generated if they are executed when the 
CPL is greater than the IOPL.
"""

Checking if CPL (Current Privilege Level) is equal or less then the IOPL
(I/O Privilege Level in FLAGS register) since we are getting a "general
protection fault" as the stack traces show us:

Nov 27 18:34:50 sgsxeris001 kernel: [521053.287881] general protection
fault: 0000 [#13] SMP

and it might be related to:

0xffffffff8131cb20: pushfq ### PUSH RFLAGS into stack
0xffffffff8131cb21: cli ### **** CLEAR INTERRUPT FLAG ****

...

Nov 27 18:34:52 sgsxeris001 kernel: [521055.548034] RIP: 
0010:[<ffffffff8116616e>] [<ffffffff8116616e>] kmem_cache_alloc_trace+0x5e/0x140
Nov 27 18:34:52 sgsxeris001 kernel: [521055.548191] RSP: 0018:ffff883f6f035d98 
EFLAGS: 00010282
...
Nov 27 18:34:52 sgsxeris001 kernel: [521055.548820] CS: 0010 DS: 002b ES: 002b 
CR0: 000000008005003b

CS: 0010 == KERNEL MODE
EFLAGS = 00010282 (Decimal) == 0010 1000 0010 1010 (Binary). IOPL = Bits 12 and 
13 from EFLAGS = 10.

So general protection fault SEEMS NOT TO HAVE ANYTHING TO DO with
privilege modes (IO and Execution) while in IRQ context.

Checking other things...

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1398497

Title:
  HP Proliant Serverrs - DL360 and DL380 Gen8 - Precise Kernel Panic -
  General Protection Fault

Status in linux package in Ubuntu:
  Incomplete
Status in linux source package in Precise:
  Incomplete

Bug description:
  It was brought to my attention the following situation:

  """
  We massively upgraded our Ubuntu 12.04 servers (most of them are HP
  DL360p Gen8 or DL380 Gen8) to 3.2.0-67 kernel And in the last 2-3
  days we already had to reboot 5 of them because they completely hang

  Some of them had the following messages under syslog :
  kernel: [384707.675479] general protection fault: 0000 [#5666] SMP

  others had :
  kernel: [950725.612724] BUG: unable to handle kernel paging request

  All of them have this also :
  your BIOS is broken and requested that x2apic be disabled
  """

  Comments bellow

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1398497/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to