Unable to handle kernel NULL pointer dereference at virtual address 00000008

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Unable to handle kernel NULL pointer dereference at virtual address 00000008

2,434件の閲覧回数
santhosh2
Contributor IV

Hi,

I'm trying to access the register memeory address but Iam getting the error when i try to read IORESOURCE_MEM

Below is the code snippet

   res = platform_get_resource(pdev, IORESOURCE_MEM, 0); // get resource info
   remap_size = res->end - res->start + 1;               // get resource memory size
   base_addr = ioremap(res->start, remap_size);  

Kernel boot log

------------------------------------------------------------------------------------------------------------------

[    0.000000] Virtual kernel memory layout:
[    0.000000]     modules : 0xffff000000000000 - 0xffff000008000000   (   128 MB)
[    0.000000]     vmalloc : 0xffff000008000000 - 0xffff7dffbfff0000   (129022 GB)
[    0.000000]       .text : 0xffff000008080000 - 0xffff000008e60000   ( 14208 KB)
[    0.000000]     .rodata : 0xffff000008e60000 - 0xffff0000094c0000   (  6528 KB)
[    0.000000]       .init : 0xffff0000094c0000 - 0xffff000009600000   (  1280 KB)
[    0.000000]       .data : 0xffff000009600000 - 0xffff0000097ad200   (  1717 KB)
[    0.000000]        .bss : 0xffff0000097ad200 - 0xffff00000981d1c0   (   448 KB)
[    0.000000]     fixed   : 0xffff7dfffe7f9000 - 0xffff7dfffec00000   (  4124 KB)
[    0.000000]     PCI I/O : 0xffff7dfffee00000 - 0xffff7dffffe00000   (    16 MB)
[    0.000000]     vmemmap : 0xffff7e0000000000 - 0xffff800000000000   (  2048 GB maximum)
[    0.000000]               0xffff7e0000000000 - 0xffff7e0002000000   (    32 MB actual)
[    0.000000]     memory  : 0xffff800000000000 - 0xffff800080000000   (  2048 MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]     RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
[    0.000000]     Tasks RCU enabled.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] ITS: No ITS available, not enabling LPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000
[    0.000000] i.MX8MM clock driver init done

------------------------------------------------------------------------------------------------------------------

Error log:

------------------------------------------------------------------------------------------------------------------

 Unable to handle kernel NULL pointer dereference at virtual address 00000008
[   21.901630] Mem abort info:
[   21.904464]   Exception class = DABT (current EL), IL = 32 bits
[   21.910426]   SET = 0, FnV = 0
[   21.913510]   EA = 0, S1PTW = 0
[   21.916689] Data abort info:
[   21.919606]   ISV = 0, ISS = 0x00000006
[   21.923473]   CM = 0, WnR = 0
[   21.926452] user pgtable: 4k pages, 48-bit VAs, pgd = ffff800074970000
[   21.933009] [0000000000000008] *pgd=00000000b4a6e003, *pud=00000000bbf8f003, *pmd=0000000000000000
[   21.942010] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[   21.947584] Modules linked in: imx8mmini_gpio_platformdevice(O+) 8021q garp stp mrp crc32_ce crct10dif_ce qca9377(O) galcore(O)
[   21.959082] CPU: 0 PID: 4008 Comm: insmod Tainted: G           O    4.14.78-imx_4.14.78_1.0.0_ga+g94da7bd #1
[   21.968908] Hardware name: FSL i.MX8MM EVK board (DT)
[   21.973961] task: ffff80007bc8ec00 task.stack: ffff000019580000
[   21.979889] PC is at gpiodriver_probe+0x2c/0x128 [imx8mmini_gpio_platformdevice]
[   21.987286] LR is at gpiodriver_probe+0x28/0x128 [imx8mmini_gpio_platformdevice]
[   21.994681] pc : [<ffff00000145303c>] lr : [<ffff000001453038>] pstate: 40000145
[   22.002076] sp : ffff000019583ad0
[   22.005390] x29: ffff000019583ad0 x28: ffff000009dc5000
[   22.010703] x27: ffff0000014554d0 x26: 00000000014000c0
[   22.016017] x25: 0000000000000124 x24: 000000000000000b
[   22.021332] x23: 0000000000000000 x22: ffff000001455388
[   22.026649] x21: ffff000001455360 x20: ffff000001455030
[   22.031965] x19: ffff000001455780 x18: 0000000000000010
[   22.037279] x17: 000000000042b2c8 x16: ffff00000814d028
[   22.042594] x15: ffffffffffffffff x14: ffff0000897bb55f
[   22.047907] x13: ffff0000097bb56d x12: ffff000009608df8
[   22.053222] x11: ffff00000862b980 x10: ffff0000195837f0
[   22.058536] x9 : 0000000000000006 x8 : 00000000000d8d20
[   22.063851] x7 : 0000000000000000 x6 : 00000000000002b3
[   22.069166] x5 : 0000000000000000 x4 : 0000000000000000
[   22.074479] x3 : 0000000000000000 x2 : 0000000000000001
[   22.079793] x1 : 0000000000000200 x0 : 0000000000000000
[   22.085110] Process insmod (pid: 4008, stack limit = 0xffff000019580000)
[   22.091811] Call trace:
[   22.094259] Exception stack(0xffff000019583990 to 0xffff000019583ad0)
[   22.100701] 3980:                                   0000000000000000 0000000000000200
[   22.108535] 39a0: 0000000000000001 0000000000000000 0000000000000000 0000000000000000
[   22.116364] 39c0: 00000000000002b3 0000000000000000 00000000000d8d20 0000000000000006
[   22.124194] 39e0: ffff0000195837f0 ffff00000862b980 ffff000009608df8 ffff0000097bb56d
[   22.132025] 3a00: ffff0000897bb55f ffffffffffffffff ffff00000814d028 000000000042b2c8
[   22.139856] 3a20: 0000000000000010 ffff000001455780 ffff000001455030 ffff000001455360
[   22.147689] 3a40: ffff000001455388 0000000000000000 000000000000000b 0000000000000124
[   22.155531] 3a60: 00000000014000c0 ffff0000014554d0 ffff000009dc5000 ffff000019583ad0
[   22.163365] 3a80: ffff000001453038 ffff000019583ad0 ffff00000145303c 0000000040000145
[   22.171195] 3aa0: 0000000000000000 ffff80007bc8ec00 0000ffffffffffff ffff80007bb29018
[   22.179025] 3ac0: ffff000019583ad0 ffff00000145303c
[   22.183912] [<ffff00000145303c>] gpiodriver_probe+0x2c/0x128 [imx8mmini_gpio_platformdevice]
[   22.192357] [<ffff0000086d4db0>] platform_drv_probe+0x58/0xb8
[   22.198107] [<ffff0000086d3190>] driver_probe_device+0x210/0x2d0
[   22.204116] [<ffff0000086d330c>] __driver_attach+0xbc/0xc0
[   22.209604] [<ffff0000086d12ec>] bus_for_each_dev+0x4c/0x98
[   22.215176] [<ffff0000086d2aa8>] driver_attach+0x20/0x28                               
[   22.220490] [<ffff0000086d25f8>] bus_add_driver+0x1b8/0x228                            
[   22.226067] [<ffff0000086d3ca8>] driver_register+0x60/0xf8                             
[   22.231555] [<ffff0000086d4d00>] __platform_driver_register+0x40/0x48                  
[   22.238001] [<ffff00000145802c>] gpio_device_init+0x2c/0x1000 [imx8mmini_gpio_platformdevice]
[   22.246530] [<ffff000008083c90>] do_one_initcall+0x38/0x128
[   22.252105] [<ffff00000814da98>] do_init_module+0x58/0x1b0
[   22.257593] [<ffff00000814c6dc>] load_module+0x1a74/0x21c8
[   22.263080] [<ffff00000814d0d0>] SyS_finit_module+0xa8/0xc0
[   22.268654] Exception stack(0xffff000019583ec0 to 0xffff000019584000)
[   22.275094] 3ec0: 0000000000000003 0000000000419fd0 0000000000000000 0000000000000003
[   22.282924] 3ee0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   22.290759] 3f00: 0000000000000111 0000ffffbe020700 0101010101010101 0000000000000000
[   22.298588] 3f20: 0000000000000001 000000000000270f 0000ffffbe0332c8 0000ffffbe025de0
[   22.306422] 3f40: 0000ffffbe0ec400 000000000042b2c8 000000000000036c 0000000034b0a740
[   22.314251] 3f60: 0000000000419fd0 0000000000000000 0000000000000000 0000000000000000
[   22.322084] 3f80: 0000ffffc7209eb0 0000000000000000 0000000000000000 0000000000000000
[   22.329915] 3fa0: 0000000000000000 0000ffffc7209250 0000000000410d88 0000ffffc7209250
[   22.337745] 3fc0: 0000ffffbe0ec424 0000000080000000 0000000000000003 0000000000000111
[   22.345575] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   22.353406] [<ffff000008083b18>] __sys_trace_return+0x0/0x4
[   22.358983] Code: 52804001 aa1403e0 95ca059d 58000693 (f9400401)
[   22.365081] ---[ end trace 52116b2cc35197e4 ]---
Segmentation fault

Message from syslogd@imx8mmevk at Mon Aug 19 12:55:05 2019 ...
imx8mmevk kernel: [   21.942010] Internal error: Oops: 96000006 [#1] PREEMPT SMP

Message from syslogd@imx8mmevk at Mon Aug 19 12:55:05 2019 ...
imx8mmevk kernel: [   22.085110] Process insmod (pid: 4008, stack limit = 0xffff000019580000)

Message from syslogd@imx8mmevk at Mon Aug 19 12:55:05 2019 ...
imx8mmevk kernel: [   22.358983] Code: 52804001 aa1403e0 95ca059d 58000693 (f9400401)
root@imx8mmevk:~#

------------------------------------------------------------------------------------------------------------------

Whats the issue... I am not able to understand

Regards

Santhosh

0 件の賞賛
返信
1 返信

2,083件の閲覧回数
b36401
NXP Employee
NXP Employee

Please note that some registers are not available for access in user mode. You need to write a driver that will access them.

0 件の賞賛
返信