After adding debug logging to the nvidia kernel module's source-code -
at every point in nv-map.c::nv_kern_mmap() where it sets an error in the
'status' variable - I have been able to pin-point where the allocation
is being refused.

It is this code:

    vma->vm_ops = &nv_vm_ops;

    if (IS_REG_OFFSET(nv, NV_VMA_OFFSET(vma), NV_VMA_SIZE(vma)))
    {
        if (IS_BLACKLISTED_REG_OFFSET(nv, NV_VMA_OFFSET(vma), NV_VMA_SIZE(vma)))
        {
            nv_printf(NV_DBG_ERRORS,
                "NVRM: requested mapping blacklisted\n");
            status = -EINVAL;
            goto done;
        }


The integrated log output with smartdimmer that shows this:

$ sudo ./smartdimmer -g
[  674.194158] NVRM: nv_kern_open...
[  674.194171] NVRM: nv_kern_open on device 0
[  674.194233] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ad0000 - 0x7f4e90ad1000, 
0x00001000 bytes @ 0x00000000d5000000, 0x          (null), 0xffff88005357da00
OK:  map_mem():      PMC register 0xd5000000 requested   0x1000 and received   
0x1000 after    0 attempts at     0x7f4e90ad0000
[  674.194347] NVRM: VM: nv_kern_mmap:246: 0x7f4e90acf000 - 0x7f4e90ad0000, 
0x00001000 bytes @ 0x00000000d5100000, 0x          (null), 0xffff88005357da00
OK:  map_mem():      PFB register 0xd5100000 requested   0x1000 and received   
0x1000 after    0 attempts at     0x7f4e90acf000
[  674.194418] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ace000 - 0x7f4e90acf000, 
0x00001000 bytes @ 0x00000000d5101000, 0x          (null), 0xffff88005357da00
OK:  map_mem():  PEXTDEV register 0xd5101000 requested   0x1000 and received   
0x1000 after    0 attempts at     0x7f4e90ace000
[  674.194522] NVRM: VM: nv_kern_mmap:246: 0x7f4e90abe000 - 0x7f4e90ace000, 
0x00010000 bytes @ 0x00000000d5300000, 0x          (null), 0xffff88005357da00
OK:  map_mem():     PROM register 0xd5300000 requested   0xffff and received   
0xffff after    0 attempts at     0x7f4e90abe000
[  674.194606] NVRM: VM: nv_kern_mmap:246: 0x7f4e90abc000 - 0x7f4e90abe000, 
0x00002000 bytes @ 0x00000000d5601000, 0x          (null), 0xffff88005357da00
OK:  map_mem():     PCIO register 0xd5601000 requested   0x2000 and received   
0x2000 after    0 attempts at     0x7f4e90abc000
[  674.194692] NVRM: VM: nv_kern_mmap:246: 0x7f4e90aac000 - 0x7f4e90abc000, 
0x00010000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.194717] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.194795] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a96000 - 0x7f4e90aa5000, 
0x0000f000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.194823] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.194861] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a88000 - 0x7f4e90a96000, 
0x0000e000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.194886] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.194935] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a7b000 - 0x7f4e90a88000, 
0x0000d000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.194960] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.195005] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a6f000 - 0x7f4e90a7b000, 
0x0000c000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.195029] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.195072] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a64000 - 0x7f4e90a6f000, 
0x0000b000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.195098] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.195141] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a5a000 - 0x7f4e90a64000, 
0x0000a000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.195165] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.195207] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a51000 - 0x7f4e90a5a000, 
0x00009000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.195233] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.195277] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ab4000 - 0x7f4e90abc000, 
0x00008000 bytes @ 0x00000000d5610000, 0x          (null), 0xffff88005357da00
[  674.195233] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
ERR: map_mem(): PDISPLAY register 0xd5610000 requested  0x10000 but received   
0x8000 after    8 attempts at     0x7f4e90ab4000
[  674.195352] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ab2000 - 0x7f4e90ab4000, 
0x00002000 bytes @ 0x00000000d5680000, 0x          (null), 0xffff88005357da00
OK:  map_mem():  PRAMDAC register 0xd5680000 requested   0x2000 and received   
0x2000 after    0 attempts at     0x7f4e90ab2000
[  674.195427] NVRM: VM: nv_kern_mmap:246: 0x7f4e909a5000 - 0x7f4e90aa5000, 
0x00100000 bytes @ 0x00000000d5700000, 0x          (null), 0xffff88005357da00
[  674.195453] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.195500] NVRM: VM: nv_kern_mmap:246: 0x7f4e8f685000 - 0x7f4e8f784000, 
0x000ff000 bytes @ 0x00000000d5700000, 0x          (null), 0xffff88005357da00
[  674.195524] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.195569] NVRM: VM: nv_kern_mmap:246: 0x7f4e8f587000 - 0x7f4e8f685000, 
0x000fe000 bytes @ 0x00000000d5700000, 0x          (null), 0xffff88005357da00
[  674.195594] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument

...

[  674.207192] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a4d000 - 0x7f4e90a50000, 
0x00003000 bytes @ 0x00000000d5700000, 0x          (null), 0xffff88005357da00
[  674.207208] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.207225] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a4b000 - 0x7f4e90a4d000, 
0x00002000 bytes @ 0x00000000d5700000, 0x          (null), 0xffff88005357da00
[  674.207241] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[  674.207259] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ab1000 - 0x7f4e90ab2000, 
0x00001000 bytes @ 0x00000000d5700000, 0x          (null), 0xffff88005357da00
[  674.207275] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
ERR: map_mem():   PRAMIN register 0xd5700000 requested 0x100000 but received    
    0 after  256 attempts at 0xffffffffffffffff
ERR: map_mem(): memory-mapping PRAMIN failed

...

[  704.207472] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ace000 - 
0x7f4e90acf000, 0x00001000 bytes @ 0x00000000d5101000, 0x          (null), 
0xffff88005357da00
[  704.207489] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90acf000 - 
0x7f4e90ad0000, 0x00001000 bytes @ 0x00000000d5100000, 0x          (null), 
0xffff88005357da00
[  704.207516] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ad0000 - 
0x7f4e90ad1000, 0x00001000 bytes @ 0x00000000d5000000, 0x          (null), 
0xffff88005357da00
[  704.207526] show_signal_msg: 33 callbacks suppressed
[  704.207532] smartdimmer[5162]: segfault at 7f4e90ad3bb8 ip 00007f4e9009a5fb 
sp 00007fff360699b0 error 4 in libc-2.15.so[7f4e8ffaf000+1b3000]
[  704.370621] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ab2000 - 
0x7f4e90ab4000, 0x00002000 bytes @ 0x00000000d5680000, 0x          (null), 
0xffff88005357da00
[  704.370628] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ab4000 - 
0x7f4e90abc000, 0x00008000 bytes @ 0x00000000d5610000, 0x          (null), 
0xffff88005357da00
[  704.370632] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90abc000 - 
0x7f4e90abe000, 0x00002000 bytes @ 0x00000000d5601000, 0x          (null), 
0xffff88005357da00
[  704.370636] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90abe000 - 
0x7f4e90ace000, 0x00010000 bytes @ 0x00000000d5300000, 0x          (null), 
0xffff88005357da00
[  704.370684] NVRM: nv_kern_close on device 0

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1039916

Title:
  Nvidia driver causing SIGSEGV in nvclock and smartdimmer

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nvclock/+bug/1039916/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to