try_rmmod test: Unable to handle kernel NULL pointer dereference at virtual address 00000014

Bug #993778 reported by Paul Larson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
big.LITTLE Reference Switcher
Fix Released
Medium
Dave Martin

Bug Description

It seems that it's switching to little, then removing the module and I get this:
===== try_rmmod.sh =====
try_rmmod : try to remove mod in different configurations
Switch to little with success
[ 426.948380] Unable to handle kernel NULL pointer dereference at virtual address 00000014
[ 426.956437] pgd = ee030000
[ 426.959170] [00000014] *pgd=ee327831, *pte=00000000, *ppte=00000000
[ 426.965469] Internal error: Oops: 17 [#1] SMP
[ 426.969797] Modules linked in: arm_bl_cpufreq(-) [last unloaded: arm_bl_cpufreq]
[ 426.977202] CPU: 0 Not tainted (3.2.1-41-linaro-lt-vexpressdt-rtsm #41~lt~ci~20120417001937+1334625811~4f8d55c5-Ubuntu)
[ 426.988395] PC is at cpufreq_notify_transition+0x24/0x248
[ 426.993780] LR is at switch_to_entry+0x6c/0x114 [arm_bl_cpufreq]
[ 426.999849] pc : [<80395b98>] lr : [<7f00811c>] psr: 600f0013
[ 426.999893] sp : ee103ef8 ip : 00000000 fp : 00000000
[ 427.011373] r10: 00000000 r9 : ee102000 r8 : 806e69d8
[ 427.016585] r7 : 80737b14 r6 : 00000000 r5 : 806b50d8 r4 : ee103f18
[ 427.023090] r3 : 00000000 r2 : 00000004 r1 : 00000000 r0 : ee103f18
[ 427.029599] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 427.036718] Control: 10c53c7d Table: ee03006a DAC: 00000015
[ 427.042436] Process rmmod (pid: 1514, stack limit = 0xee1022f0)
[ 427.048337] Stack: (0xee103ef8 to 0xee104000)
[ 427.052690] 3ee0: 806b4890 806b50d8
[ 427.060965] 3f00: ee103f18 ee102000 7efa26d8 ee102000 00000000 7f00811c 00000000 000186a0
[ 427.069210] 3f20: 000f4240 80395844 7f0085ac 806b4248 00000000 7f0082a8 7f008290 800648e4
[ 427.077452] 3f40: 7f0085ac 00000880 ee103f4c 00000000 5f6d7261 635f6c62 72667570 ee007165
[ 427.085697] 3f60: eeb20a00 60070013 76fcd000 eeb209fc 00000000 76fcc000 eeb209c0 8000e9c8
[ 427.093937] 3f80: ee102000 00000000 00000000 271aef10 00000880 7efa26d8 000120a8 00000081
[ 427.102183] 3fa0: 8000e9c8 8000e800 00000880 7efa26d8 7efa26d8 00000880 00009778 7efa26cc
[ 427.110424] 3fc0: 00000880 7efa26d8 000120a8 00000081 7efa288c 000120bc 76fd1000 00000000
[ 427.118668] 3fe0: 76f59f30 7efa26d4 00008f5d 76f59f3c 80070010 7efa26d8 00000000 00000000
[ 427.126938] [<80395b98>] (cpufreq_notify_transition+0x24/0x248) from [<7f00811c>] (switch_to_entry+0x6c/0x114 [arm_bl_cpufreq])
[ 427.138569] [<7f00811c>] (switch_to_entry+0x6c/0x114 [arm_bl_cpufreq]) from [<7f0082a8>] (bl_cpufreq_module_exit+0x18/0x2c [arm_bl_cpufreq])
[ 427.151315] [<7f0082a8>] (bl_cpufreq_module_exit+0x18/0x2c [arm_bl_cpufreq]) from [<800648e4>] (sys_delete_module+0x158/0x254)
[ 427.162755] [<800648e4>] (sys_delete_module+0x158/0x254) from [<8000e800>] (ret_fast_syscall+0x0/0x30)
[ 427.172102] Code: 1a000046 e59f71f8 e59f81f8 e5973000 (e5d33014)
[ 427.178275] ---[ end trace 627379b552f8243e ]---
Segmentation fault
ERROR : failed to remove module (little)

Paul Larson (pwlars)
Changed in linaro-big-little-reference:
assignee: nobody → Dave Martin (dave-martin-arm)
Revision history for this message
Amit Pundir (pundiramit) wrote :
Revision history for this message
Amit Pundir (pundiramit) wrote :

Looks like a different bug to me. I did not observe kernel panic on Android Integrated build https://snapshots.linaro.org/android/~linaro-android-restricted/vexpress-rtsm-isw-ics-gcc46-armlt-stable-open/28/.

Here is the error log:

root@android:/ # try_module.sh
try_rmmod : try to remove mod in different configurations
arm-bl-cpufreq: Switching to cluster 1 on CPU 0
Switch to little with success
rmmod: delete_module 'arm-bl-cpufreq' failed (errno 2)
ERROR : failed to remove module (little)

Revision history for this message
Amit Pundir (pundiramit) wrote :

Failure observed on Android reference switcher build https://android-build.linaro.org/builds/~linaro-android/vexpress-rtsm-ics-gcc47-armlt-stable-open/#build=28 as well.

root@android:/ # try_rmmod.sh
try_rmmod : try to remove mod in different configurations
arm-bl-cpufreq: Switching to cluster 1
Switch to little with success
rmmod: delete_module 'arm-bl-cpufreq' failed (errno 2)
ERROR : failed to remove module (little)
1|root@android:/ #

Changed in linaro-big-little-reference:
importance: Undecided → Medium
Revision history for this message
vishal (vishalbhoj) wrote :

All,

Android rmmod is the issue here . "rmmod arm_bl_cpufreq" works but "rmmod arm-bl-cpufreq" fails on android .
After modifying try_rmmod.sh with "rmmod arm_bl_cpufreq" I am not able to reproduce the issue . we can mark the bug as fixed .

Revision history for this message
Dave Martin (dave-martin-arm) wrote :

OK, thanks

Changed in linaro-big-little-reference:
status: New → Fix Released
Revision history for this message
Paul Larson (pwlars) wrote :

Did a fix for this go in recently? The android rmmod issue was a red herring, and there was the null pointer dereference seen on ubuntu (where we didn't have the rmmod issues blocking us from getting further) as recently as May 9 according to comment #3.

Revision history for this message
Dave Martin (dave-martin-arm) wrote :

The fix has been in arm/rtsm-linaro-next since 2012-04-27, and I can't reproduce this on a recent build (https://android-build.linaro.org/builds/~linaro-android/vexpress-rtsm-ics-gcc47-armlt-stable-open/#build=40).

The integrated switcher branch referenced by comment #1 (https://bugs.launchpad.net/linaro-big-little-reference/+bug/993778/comments/1 -> https://snapshots.linaro.org/android/~linaro-android-restricted/vexpress-rtsm-isw-ics-gcc46-armlt-stable-open/28/) also seems to contains the relevant fix, but comment #2 goes on to say that the bug observed is the rmmod problem, not a kernel crash.

So, I believe this is fixed in the reference switcher.

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.