Modify

Opened 12 months ago

Last modified 3 months ago

#10094 new defect

Kernel oops at ieee80211_alloc_hw_nm after modprobe ath9k

Reported by: amain Owned by:
Priority: blocker Milestone: milestone:next-release
Component: openwrt Version: trunk
Severity: severity 2 Keywords:
Cc:

Description

root@debwrt:~# modprobe ath9k
[ 48.630000] Loading modules backported from Linux version v4.4-rc5-1913-gc8fdf68
[ 48.640000] Backport generated by backports.git backports-20151218-0-g2f58d9d
[ 48.820000] CPU 0 Unable to handle kernel paging request at virtual address c0d330f0, epc == c0d330f0, ra == c0d3e32c
[ 48.840000] Oops#1:
[ 48.840000] CPU: 0 PID: 1489 Comm: modprobe Not tainted 3.18.27 #4
[ 48.840000] task: 81a4e740 ti: 80f08000 task.ti: 80f08000
[ 48.840000] $ 0 : 00000000 00000000 00000005 00001be8
[ 48.840000] $ 4 : c0d7e34c 00002488 00000000 ffffffff
[ 48.840000] $ 8 : 00000002 0000001c 00000400 80f09bdc
[ 48.840000] $12 : 816cda68 00000031 00000000 a6300006
[ 48.840000] $16 : 80448fc8 816cdac0 816cdca4 00000000
[ 48.840000] $20 : 00000002 b80c0000 816cd1e4 00000018
[ 48.840000] $24 : 00000018 c0d3e204
[ 48.840000] $28 : 80f08000 80f09c00 00000000 c0d3e32c
[ 48.840000] Hi : 0000001c
[ 48.840000] Lo : 0000001d
[ 48.840000] epc : c0d330f0 0xc0d330f0
[ 48.840000] Not tainted
[ 48.840000] ra : c0d3e32c ieee80211_alloc_hw_nm+0x128/0x4f0 [mac80211]
[ 48.840000] Status: 1000d803 KERNEL EXL IE
[ 48.840000] Cause : 10800008
[ 48.840000] BadVA : c0d330f0
[ 48.840000] PrId? : 00019374 (MIPS 24Kc)
[ 48.840000] Modules linked in: ath9k(+) ath9k_common ath9k_hw ath mac80211 cfg80211 compat
[ 48.840000] Process modprobe (pid: 1489, threadinfo=80f08000, task=81a4e740, tls=77917490)
[ 48.840000] Stack : 80cc7280 00000000 81864050 80450000 00000001 80448fc8 80448fb8 816cdca4

804d0000 816ccc68 00000001 804d0000 81864050 8015123c 80cc71e0 00000000
81812640 80cc7280 80cc71e0 81864050 80cc71e0 80cc7280 803fb0ec 81864050
00000001 804d0000 816cdd4c 00000018 00000000 80153bac 804d0000 800971e4
80448fc8 816cdca4 816cdca4 804d0000 00000004 804d0000 816cdd4c 80233124
...

[ 48.840000] Call Trace:
[ 48.840000] [<816ccc68>] ath_pci_exit+0x158/0x2fc [ath9k]
[ 48.840000] [<8015123c>] kernfs_new_node+0x38/0x54
[ 48.840000] [<80153bac>] sysfs_do_create_link_sd.isra.4+0x6c/0xc0
[ 48.840000] [<800971e4>] blocking_notifier_call_chain+0x14/0x20
[ 48.840000] [<80233124>] platform_drv_probe+0x24/0x60
[ 48.840000] [<801538d8>] sysfs_create_dir_ns+0x5c/0xb8
[ 48.840000] [<80231990>] driver_probe_device+0xc8/0x214
[ 48.840000] [<801e64e4>] kvasprintf+0x70/0x94
[ 48.840000] [<80231bbc>] driver_attach+0x7c/0xb4
[ 48.840000] [<8022fe20>] next_device+0x10/0x30
[ 48.840000] [<80231b40>]
driver_attach+0x0/0xb4
[ 48.840000] [<8022fed8>] bus_for_each_dev+0x98/0xa8
[ 48.840000] [<8038d6bc>] klist_add_tail+0x24/0x50
[ 48.840000] [<8022fcb0>] bus_get+0x28/0x4c
[ 48.840000] [<802310c0>] bus_add_driver+0x100/0x1f0
[ 48.840000] [<80232094>] driver_register+0xb0/0x104
[ 48.840000] [<80d78000>] init_module+0x0/0x58 [ath9k]
[ 48.840000] [<80d78000>] init_module+0x0/0x58 [ath9k]
[ 48.840000] [<80d78018>] init_module+0x18/0x58 [ath9k]
[ 48.840000] [<800f5a80>] vunmap_page_range+0xfc/0x214
[ 48.840000] [<80069608>] do_one_initcall+0x148/0x1ec
[ 48.840000] [<80d78000>] init_module+0x0/0x58 [ath9k]
[ 48.840000] [<800d35ac>] free_hot_cold_page+0x108/0x144
[ 48.840000] [<800f6ef0>] remove_vm_area+0x50/0x78
[ 48.840000] [<800f6fc8>] vunmap+0xb0/0x114
[ 48.840000] [<800bf6c8>] load_module+0x159c/0x1b98
[ 48.840000] [<801066f4>] kernel_read+0x2c/0x40
[ 48.840000] [<800bce1c>] unknown_module_param_cb+0x0/0x68
[ 48.840000] [<800bfe10>] SyS_finit_module+0x6c/0x90
[ 48.840000] [<80062b5c>] handle_sys+0x11c/0x140
[ 48.840000]
[ 48.840000]
Code: (Bad address in epc)
[ 48.840000]
[ 49.140000] ---[ end trace 1db6f5f96826c9c3 ]---
Segmentation fault

Attachments (0)

Change History (3)

comment:1 Changed 12 months ago by amain

  • Component changed from other to openwrt
  • Priority changed from minor to blocker
  • Severity changed from severity 4 to severity 2
  • Version changed from 12.09 to trunk

Running plain OpenWrt Trunk or Chaos Palmer does not reproduce this problem for me. Though plain OpenWrt users experience the same: https://dev.openwrt.org/ticket/21953.

After a long process of elimination on DebWrt, this appears to happen when the first user daemons(like cron off sshd) are started, before the modprobe athk9 is done. The other way around works fine; pre-loading ath9k very early on in /etc/modules.

Though, the following does not reproduce the issue:

    $ cat /etc/init.d/rcS # main init script in Debian sysV init
    mount -o remount,rw /
    mount -t proc proc /proc
    ifconfig eth0 192.168.1.1 up
    /etc/init.d/cron start
    /etc/init.d/ssh start
    modprobe ath9k
    exec /bin/bash

So I'm not sure what really triggers this issue. The /etc/modules workaround seems to work....for now.

comment:2 follow-up: Changed 3 months ago by dob46@…

Hi,
This is works on Wheezy, but I have a question : How I can use this in systemd based Debian version (example Jessie). Thanks for help.

comment:3 in reply to: ↑ 2 Changed 3 months ago by dob46@…

Replying to dob46@…:

Hi,
This is works on Wheezy, but I have a question : How I can use this in systemd based Debian version (example Jessie). Thanks for help.

root@debwrt:~# cat /lib/systemd/system/ath9k.service
[Unit]
Description=An early boot ath9k service
DefaultDependencies=no
After=fs-pre.target
Before=shutdown.target
Conflicts=shutdown.target
[Service]
Type=simple
ExecStart=/sbin/modprobe ath9k
[Install]
WantedBy=ath9k.target
root@debwrt:~# cat /lib/systemd/system/ath9k.target 
[Unit]
Description=Ath9k target
root@debwrt:~# cat /lib/systemd/system/cron.service
[Unit]
Description=Regular background program processing daemon
Documentation=man:cron(8)
Requires=ath9k.target

[Service]
EnvironmentFile=-/etc/default/cron
ExecStart=/usr/sbin/cron -f $EXTRA_OPTS
IgnoreSIGPIPE=false
KillMode=process

[Install]
WantedBy=multi-user.target

Add Comment

Modify Ticket

Action
as new The ticket will remain with no owner.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.