[highbank] Oops on boot loading bridge module

Bug #1378856 reported by dann frazier
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Paolo Pisati

Bug Description

SRU Justification:

Impact: oops upon loading of some modules that incur in the JUMP_LABEL optimization.

Fix: disable JUMP_LABEL until patches that make the DEBUG_SET_NORX text section protection can cope with the rewriting.

Testcase: boot an armhf board, create a bridge

brctl addbr lxcbr0

and watch for an oops or not.

===

[ 16.845971] Unable to handle kernel paging request at virtual address bf2c6a88
[ 16.853224] pgd = e76f15c0
[ 16.856108] [bf2c6a88] *pgd=2777a003, *pmd=2babb003, *pte=8000002753879f
[ 16.862870] Internal error: Oops: a0f [#1] SMP ARM
[ 16.867656] Modules linked in: bridge(+) stp llc iptable_filter ip_tables x_tables ib_iser[ 16.867695] CPU: 0 PID: 1126 Comm: modprobe Not tainted 3.16.0-21-generic-lpae #28-Ubuntu
[ 16.867698] task: ec891a00 ti: e76a6000 task.ti: e76a6000
[ 16.867705] PC is at patch_text+0x4/0x10
[ 16.867713] LR is at __jump_label_update+0x64/0x6c
[ 16.867716] pc : [<c0a20494>] lr : [<c0434ffc>] psr: 80070013
[ 16.867716] sp : e76a7d78 ip : 00019d80 fp : bf2d0888
[ 16.867718] r10: 00000000 r9 : bf2d8000 r8 : 00000000
[ 16.867721] r7 : 00000001 r6 : c0f50458 r5 : bf2d0794 r4 : bf2d06f8
[ 16.867723] r3 : bf2c6a88 r2 : ea000000 r1 : ea000007 r0 : bf2c6a88
[ 16.867727] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 16.867730] Control: 30c5387d Table: 276f15c0 DAC: fffffffd
[ 16.867732] Process modprobe (pid: 1126, stack limit = 0xe76a6250)
[ 16.867734] Stack: (0xe76a7d78 to 0xe76a8000)
[ 16.867737] 7d60: e7608040 c0f50458
[ 16.867741] 7d80: 00000001 00000000 00000000 c0435054 c0f50458 00000001 00000007 c0e04920
[ 16.867744] 7da0: bf2d0600 c043517c bf2d0600 bf2d0620 00000007 c095c62c 00000000 c095c70c
[ 16.867747] 7dc0: bf2d0a24 c0dff554 c0e04920 c0e04920 e7608b80 bf2d81a0 bf2d0a24 c092661c
[ 16.867751] 7de0: 00000000 00000000 c0dff554 bf2d8050 e76a6038 c0309740 00000001 c04836e4
[ 16.867754] 7e00: e9ce6c40 00000000 e76b8080 8040003f 00000001 c043d60c e9ce6c20 00000000
[ 16.867757] 7e20: 00000000 8040003f 00000000 80150014 00000000 c043f530 00000001 00000000
[ 16.867760] 7e40: 00000cab 8040003f e76b8080 f0c11000 00000001 bd94282a e76a7f58 00000000
[ 16.867763] 7e60: bf2d0894 e76a6000 c0dff554 00000000 e76a7f58 00000000 bf2d0888 c03d55c4
[ 16.867767] 7e80: ffff8000 00007fff c03d2374 ebad4188 b860d1c0 bf2d0894 0000040c bf2d1000
[ 16.867770] 7ea0: bf2d0894 ffffffff 00000000 b6fef398 c0dff554 00000000 e76a7f5c c049ef68
[ 16.867773] 7ec0: bf2cd024 00000001 bf2cd02c 00000002 00000000 00000000 00000000 00000000
[ 16.867776] 7ee0: 00000000 00000000 6e72656b 00006c65 00000000 00000000 00000000 00000000
[ 16.867779] 7f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 16.867783] 7f20: 00000000 bd94282a 00000120 00000000 00000000 b6fef398 0000017b c0320ec4
[ 16.867786] 7f40: e76a6000 00000000 b860d1c0 c03d5b90 00181088 00000000 f0c11000 0002391c
[ 16.867789] 7f60: f0c33fe4 f0c27059 f0c2b378 00014000 00017190 bf2d0798 0000000a 00000001
[ 16.867793] 7f80: 00000039 0000003a 0000002e 00000032 0000001a 00000000 b6ff0608 b6ff0e18
[ 16.867796] 7fa0: b6ff0990 c0320d20 b6ff0608 b6ff0e18 00000000 b6fef398 00000000 b6ff0968
[ 16.867799] 7fc0: b6ff0608 b6ff0e18 b6ff0990 0000017b b8615288 00000000 00000000 b860d1c0
[ 16.867803] 7fe0: bef98a38 bef98a28 b6fe6177 b6f5b2b2 40010030 00000000 705f646e 696c6275
[ 16.867812] [<c0a20494>] (patch_text) from [<c0434ffc>] (__jump_label_update+0x64/0x6c)
[ 16.867819] [<c0434ffc>] (__jump_label_update) from [<c0435054>] (jump_label_update+0x50/0x9c)
[ 16.867826] [<c0435054>] (jump_label_update) from [<c043517c>] (static_key_slow_inc+0xdc/0xe0)
[ 16.867835] [<c043517c>] (static_key_slow_inc) from [<c095c62c>] (nf_register_hook+0xc0/0xcc)
[ 16.867842] [<c095c62c>] (nf_register_hook) from [<c095c70c>] (nf_register_hooks+0x38/0x78)
[ 16.867861] [<c095c70c>] (nf_register_hooks) from [<bf2d81a0>] (br_netfilter_init+0x38/0xe98 [bridge])
[ 16.867895] [<bf2d81a0>] (br_netfilter_init [bridge]) from [<bf2d8050>] (br_init+0x50/0xd0 [bridge])
[ 16.867911] [<bf2d8050>] (br_init [bridge]) from [<c0309740>] (do_one_initcall+0xdc/0x20c)

Revision history for this message
dann frazier (dannf) wrote :
Revision history for this message
dann frazier (dannf) wrote :

fyi, ps shows the following process which appears to be hung:

root 1132 1065 0 01:48 ? 00:00:00 brctl addbr lxcbr0

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1378856

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Which kernel version is causing this oops, and was there a prior kernel that did not?

tags: added: kernel-da-key
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Confirmed
Paolo Pisati (p-pisati)
Changed in linux (Ubuntu):
assignee: nobody → Paolo Pisati (p-pisati)
Revision history for this message
dann frazier (dannf) wrote : Re: [Bug 1378856] Re: [highbank] Oops on boot loading bridge module

On Wed, Oct 8, 2014 at 8:56 AM, Joseph Salisbury
<email address hidden> wrote:
> Which kernel version is causing this oops

Full boot log is attached, version was:

[ 0.000000] Linux version 3.16.0-21-generic-lpae (buildd@kishi02)
(gcc version 4.9.1 (Ubuntu/Linaro 4.9.1-16ubuntu4) ) #28-Ubuntu SMP
Mon Oct 6 17:57:17 UTC 2014 (Ubuntu 3.16.0-21.28-generic-lpae 3.16.4)

> , and was there a prior kernel that did not?

This is the first utopic kernel I've tried; but trusty did not exhibit
this failure.

tags: added: regression-release
Revision history for this message
Paolo Pisati (p-pisati) wrote :

i found what the problem is:

CONFIG_DEBUG_SET_MODULE_RONX=y

and in the stack trace above you can clearly see that jump-label is trying to patch a section that is made RO by the above option.

The interesting thing is that the same config (JUMP_LABEL=y && DEBUG_SET_MODULE_RONX=y) works in x86, and while digging a i found this conversation:

http://comments.gmane.org/gmane.linux.kernel/1675790

that confirms my finding. I'll continue reaserching the problem.

Paolo Pisati (p-pisati)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.16.0-23.30

---------------
linux (3.16.0-23.30) utopic; urgency=low

  [ Andy Whitcroft ]

  * Release Tracking Bug
    - LP: #1381927
  * [Config] CONFIG_DRM_BOCHS=n
    - LP: #1378648

  [ Paolo Pisati ]

  * [Config] armhf: disable JUMP_LABEL
    - LP: #1378856
 -- Andy Whitcroft <email address hidden> Thu, 16 Oct 2014 10:09:49 +0200

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.