Hey Cory,

I noticed the following patch in linux-next and tested it on our ARM platform.

ipmi: Convert DMI handling over to a platform device
commit    0944d889a237b6107f9ceeee053fe7221cdd1089

The driver fails with a NULL pointer dereference in the ipmi_ssif driver with the patch in place. The platform and driver boot fine with the patch removed. Stack trace below.

[    5.121479] ipmi message handler version 39.2
[    5.124873] ipmi device interface
[    5.128206] IPMI SSIF Interface driver
[ 5.131907] Unable to handle kernel NULL pointer dereference at virtual address 00000098
[    5.139982] [0000000000000098] user address but active_mm is swapper
[    5.146317] Internal error: Oops: 96000045 [#1] SMP
[    5.151174] Modules linked in:
[ 5.154213] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc7-next-20170627 #1 [ 5.161677] Hardware name: Qualcomm QDF2400 DP/ABW|SYS|CVR,2DPC|V3\x0d\x0a , BIOS XBL.DF.2.0.R1-00421 QDF2400_REL CRM 04/25/2017
[    5.173917] task: ffff800fc69d0000 task.stack: ffff800fc6a00000
[    5.179824] PC is at new_ssif_client+0xe0/0x150
[    5.184334] LR is at new_ssif_client+0xb0/0x150
[ 5.188847] pc : [<ffff00000851d380>] lr : [<ffff00000851d350>] pstate: 60400045
[    5.196225] sp : ffff800fc6a03d30
[    5.199524] x29: ffff800fc6a03d30 x28: 0000000000000000
[    5.204819] x27: ffff000009007470 x26: 0000000000000000
[    5.210114] x25: 0000000000000000 x24: 0000000000000003
[    5.215409] x23: 0000000000000000 x22: 0000000000000000
[    5.220704] x21: 0000000000000000 x20: ffff000009117000
[    5.225999] x19: ffff800f81986900 x18: ffff0000892494df
[    5.231295] x17: ffff000008b63000 x16: 000000000000000e
[    5.236590] x15: 0000000000000006 x14: ffff0000092494ed
[    5.241885] x13: 0000000000000019 x12: 0000000000000038
[    5.247180] x11: ffff000009117028 x10: ffff0000091170d8
[    5.252475] x9 : 0000000000000000 x8 : ffff800f81986a00
[    5.257770] x7 : 0000000000000000 x6 : 000000000000003f
[    5.263066] x5 : 0000000000000040 x4 : ffff800f81986914
[    5.268361] x3 : ffff000009300000 x2 : ffff0000091170d8
[    5.273656] x1 : ffff800f819869b0 x0 : ffff0000091170d8
[    5.278951] Process swapper/0 (pid: 1, stack limit = 0xffff800fc6a00000)
[    5.285635] Stack: (0xffff800fc6a03d30 to 0xffff800fc6a04000)
[    5.291365] 3d20: ffff800fc6a03d80 ffff00000851d7ec
[ 5.299177] 3d40: ffff000009300000 ffff000009117000 ffff000008da51b8 ffff000008da51d8 [ 5.306990] 3d60: ffff000008da4bd0 0000000000000001 ffff000008f41068 ffff000008ea0508 [ 5.314802] 3d80: ffff800fc6a03dd0 ffff00000808398c ffff800fc69d0000 ffff00000851d688 [ 5.322615] 3da0: 0000000000000000 0000000000000006 ffff000009220000 ffff000008e89e70 [ 5.330427] 3dc0: ffff000009220000 ffff000012220000 ffff800fc6a03e40 ffff000008ea0e4c [ 5.338240] 3de0: 0000000000000136 ffff000008f41100 ffff000009220000 0000000000000006 [ 5.346052] 3e00: ffff000009006f00 0000000000000000 ffff00000908cb30 0000000600000006 [ 5.353865] 3e20: 0000000000000000 0000000000000000 ffff800fffffde02 0000000000000000 [ 5.361677] 3e40: ffff800fc6a03ea0 ffff000008a11150 ffff000008a11138 0000000000000000 [ 5.369490] 3e60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.377302] 3e80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.385115] 3ea0: 0000000000000000 ffff0000080833b0 ffff000008a11138 0000000000000000 [ 5.392927] 3ec0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.400740] 3ee0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.408552] 3f00: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.416365] 3f20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.424177] 3f40: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.431990] 3f60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.439802] 3f80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.447615] 3fa0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 5.455427] 3fc0: 0000000000000000 0000000000000005 0000000000000000 0000000000000000 [ 5.463240] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    5.471052] Call trace:
[    5.473483] Exception stack(0xffff800fc6a03b60 to 0xffff800fc6a03c90)
[ 5.479907] 3b60: ffff800f81986900 0001000000000000 ffff800fc6a03d30 ffff00000851d380 [ 5.487719] 3b80: ffff0000092494e0 0000000100000000 ffff800fc6a03c20 ffff000008124a6c [ 5.495531] 3ba0: ffff800fc6a03c80 ffff000008da5158 0000000000000000 0000000000000006 [ 5.503344] 3bc0: ffff000009220000 ffff000008e89e70 ffff000008f41068 ffff000008ea0508 [ 5.511156] 3be0: ffff000009007470 0000000000000000 ffff800fc6a03c30 0000000000000000 [ 5.518969] 3c00: ffff0000091170d8 ffff800f819869b0 ffff0000091170d8 ffff000009300000 [ 5.526782] 3c20: ffff800f81986914 0000000000000040 000000000000003f 0000000000000000 [ 5.534594] 3c40: ffff800f81986a00 0000000000000000 ffff0000091170d8 ffff000009117028 [ 5.542406] 3c60: 0000000000000038 0000000000000019 ffff0000092494ed 0000000000000006
[    5.550219] 3c80: 000000000000000e ffff000008b63000
[    5.555081] [<ffff00000851d380>] new_ssif_client+0xe0/0x150
[    5.560636] [<ffff00000851d7ec>] init_ipmi_ssif+0x164/0x2b8
[    5.566192] [<ffff00000808398c>] do_one_initcall+0x44/0x130
[    5.571749] [<ffff000008ea0e4c>] kernel_init_freeable+0x198/0x238
[    5.577826] [<ffff000008a11150>] kernel_init+0x18/0x110
[    5.583031] [<ffff0000080833b0>] ret_from_fork+0x10/0x20
[    5.588327] Code: f9000401 a90b0a60 b9006278 f9003a77 (f9004ef3)
[    5.594412] ---[ end trace 271d777ccec7f4f2 ]---
[ 5.599012] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    5.599012]
[    5.608118] SMP: stopping secondary CPUs
[    5.612027] Kernel Offset: disabled
[    5.615497] CPU features: 0x060418
[    5.618882] Memory Limit: none
[ 5.621921] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    5.621921]

--
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to