[regression trusty] oops/sig 4: power7_enter_nap_mode+0x0/0x18

Bug #1589910 reported by Stefan Bader on 2016-06-07
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Unassigned
Trusty
High
Stefan Bader

Bug Description

Arch: ppc64el
Release: Trusty/14.04

[ 0.194023] Oops: Exception in kernel mode, sig: 4 [#3]
[ 0.194128] SMP NR_CPUS=2048 NUMA PowerNV
[ 0.194225] Modules linked in:
[ 0.194316] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G D 3.13.0-48-generic #80-Ubuntu
[ 0.194403] task: c0000007f26957c0 ti: c0000007f2728000 task.ti: c0000007f2728000
[ 0.194477] NIP: c000000001598930 LR: c00000000001897c CTR: c00000000002abfc
[ 0.194551] REGS: c0000007f272b800 TRAP: 0e40 Tainted: G D (3.13.0-48-generic)
[ 0.194651] MSR: 9000000000081001 <SF,HV,ME,LE> CR: 22004088 XER: 00000000
[ 0.194788] CFAR: c00000000002ace4 SOFTE: 0
...
[ 0.195869] NIP [c000000001598930] power7_enter_nap_mode+0x0/0x18

SRU Justification:

= Impact =
Since kernel 3.13.0-46 there was a incorrect backport of a stable patch which causes several oops messages and ends with an automatic reboot. Which renders all kernels since then to be unbootable on ppc64el. This happens because instead of the function address to power7_enter_nap_mode, the change accidentally loads the address of a related symbol table.

= Fix =
Pick up the alternate declaration of the function label as it is in the original upstream change (commmit 8117ac6 powerpc/powernv: Switch off MMU before entering nap/sleep/rvwinkle mode). In 3.13 this requires one more change because there is one call site that refers to a label name which would be implicitly generated by the macro that gets replaced. This was done upstream, too, in (b1576fe powerpc: No need to use dot symbols when branching to a function).

= Testcase =
Trying to boot current Trusty kernels on a Power8 host fails all the time. With the change applied the host comes up without errors.

Stefan Bader (smb) wrote :
tags: added: trusty
Changed in linux (Ubuntu Trusty):
assignee: nobody → Stefan Bader (smb)
importance: Undecided → High
status: New → In Progress
Changed in linux (Ubuntu):
assignee: Stefan Bader (smb) → nobody
status: In Progress → Fix Released
Changed in linux (Ubuntu Trusty):
status: In Progress → Fix Committed
Kamal Mostafa (kamalmostafa) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-trusty' to 'verification-done-trusty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-trusty
Launchpad Janitor (janitor) wrote :
Download full text (4.0 KiB)

This bug was fixed in the package linux - 3.13.0-91.138

---------------
linux (3.13.0-91.138) trusty; urgency=medium

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1595991

  [ Upstream Kernel Changes ]

  * netfilter: x_tables: validate e->target_offset early
    - LP: #1555338
    - CVE-2016-3134
  * netfilter: x_tables: make sure e->next_offset covers remaining blob
    size
    - LP: #1555338
    - CVE-2016-3134
  * netfilter: x_tables: fix unconditional helper
    - LP: #1555338
    - CVE-2016-3134
  * netfilter: x_tables: don't move to non-existent next rule
    - LP: #1595350
  * netfilter: x_tables: validate targets of jumps
    - LP: #1595350
  * netfilter: x_tables: add and use xt_check_entry_offsets
    - LP: #1595350
  * netfilter: x_tables: kill check_entry helper
    - LP: #1595350
  * netfilter: x_tables: assert minimum target size
    - LP: #1595350
  * netfilter: x_tables: add compat version of xt_check_entry_offsets
    - LP: #1595350
  * netfilter: x_tables: check standard target size too
    - LP: #1595350
  * netfilter: x_tables: check for bogus target offset
    - LP: #1595350
  * netfilter: x_tables: validate all offsets and sizes in a rule
    - LP: #1595350
  * netfilter: x_tables: don't reject valid target size on some
    architectures
    - LP: #1595350
  * netfilter: arp_tables: simplify translate_compat_table args
    - LP: #1595350
  * netfilter: ip_tables: simplify translate_compat_table args
    - LP: #1595350
  * netfilter: ip6_tables: simplify translate_compat_table args
    - LP: #1595350
  * netfilter: x_tables: xt_compat_match_from_user doesn't need a retval
    - LP: #1595350
  * netfilter: x_tables: do compat validation via translate_table
    - LP: #1595350
  * netfilter: x_tables: introduce and use xt_copy_counters_from_user
    - LP: #1595350

linux (3.13.0-90.137) trusty; urgency=low

  [ Kamal Mostafa ]

  * Release Tracking Bug
    - LP: #1595693

  [ Serge Hallyn ]

  * SAUCE: add a sysctl to disable unprivileged user namespace unsharing
    - LP: #1555338, #1595350

linux (3.13.0-89.136) trusty; urgency=low

  [ Kamal Mostafa ]

  * Release Tracking Bug
    - LP: #1591315

  [ Kamal Mostafa ]

  * [debian] getabis: Only git add $abidir if running in local repo
    - LP: #1584890
  * [debian] getabis: Fix inconsistent compiler versions check
    - LP: #1584890

  [ Stefan Bader ]

  * SAUCE: powerpc/powernv: Fix incomplete backport of 8117ac6
    - LP: #1589910

  [ Tim Gardner ]

  * [Config] Remove arc4 from nic-modules
    - LP: #1582991

  [ Upstream Kernel Changes ]

  * KVM: x86: move steal time initialization to vcpu entry time
    - LP: #1494350
  * lpfc: Fix premature release of rpi bit in bitmask
    - LP: #1580560
  * lpfc: Correct loss of target discovery after cable swap.
    - LP: #1580560
  * mm/balloon_compaction: redesign ballooned pages management
    - LP: #1572562
  * mm/balloon_compaction: fix deflation when compaction is disabled
    - LP: #1572562
  * bridge: Fix the way to find old local fdb entries in br_fdb_changeaddr
    - LP: #1581585
  * bridge: notify user space after fdb update
    - LP: #1581585
  * ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS
   ...

Read more...

Changed in linux (Ubuntu Trusty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers