Two tests have confirmed that the nvidia driver DKMS package security patches 
are the cause of the breakage to nvclock/smartdimmer. The upshot is that maybe 
'nvclock' should be removed from the archives since the security patches
appear sane and are important to protect most users.

After reversing the recent security update patch 'smartdimmer' was able
to request all but one memory region - PRAMIN.

After also removing from the base nvidia package the blacklist for
IS_REG_RANGE_WITHIN_MAPPING(nv, 0x700000, 0x100000, offset, length) the
program was able to map all memory successfully.

Unfortunately another SIGSEGV occurs whilst calling getpagesize() in
unmap_dev_mem() for PCIO (140737354022912 is 0x7ffff7fe4000). I'm not
clear how or why getpagesize() should SIGSEGV.

...
(gdb) c
Continuing.
OK:  map_mem():     PCIO register 0xd5601000 requested   0x2000 and received   
0x2000 after    0 attempts at     0x7ffff7fe4000

Breakpoint 7, map_dev_mem (dev=0x61f0d0, map=0x7fffffffe250) at back_linux.c:266
(gdb) c

...

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff75c35fb in __GI___getpagesize () at 
../sysdeps/unix/sysv/linux/getpagesize.c:31
31      ../sysdeps/unix/sysv/linux/getpagesize.c: No such file or directory.
(gdb) bt full
#0  0x00007ffff75c35fb in __GI___getpagesize () at 
../sysdeps/unix/sysv/linux/getpagesize.c:31
        __PRETTY_FUNCTION__ = "__getpagesize"
#1  0x000000000040c27a in unmap_dev_mem (Base=140737354022912, Size=8192) at 
back_linux.c:292
        alignOff = 0
#2  0x0000000000401f43 in unmap_mem () at backend.c:150
No locals.
#3  0x00000000004022dd in unset_card () at backend.c:252
No locals.
#4  0x000000000040dd83 in create_config (file=0x61f030 
"/home/tj/.nvclock/config") at config.c:611
        section = "hw0"
        bios = 
"/home/tj/.nvclock/bios0.rom\000\377\177\000\000\020\360a\000\000\000\000\000\a\000\000\000\000\000\000\000\200\343\377\377\377\177\000\000\020\360a\000\000\000\000\000\001\000\000\000\000\000\000\000A\360a\000\000\000\000"
        base_freq = 27000
        i = 0
#5  0x000000000040d013 in open_config () at config.c:309
        file = 0x61f030 "/home/tj/.nvclock/config"
        home = 0x7fffffffef22 "/home/tj"
        stat_buf = {st_dev = 34, st_ino = 1417714, st_nlink = 2, st_mode = 
16877, st_uid = 1000, st_gid = 1000, __pad0 = 0, 
          st_rdev = 0, st_size = 4096, st_blksize = 4096, st_blocks = 8, 
st_atim = {tv_sec = 1345644438, tv_nsec = 0}, st_mtim = {
            tv_sec = 1345749948, tv_nsec = 0}, st_ctim = {tv_sec = 1345749948, 
tv_nsec = 0}, __unused = {0, 0, 0}}
#6  0x000000000040ba6c in init_nvclock () at back_linux.c:108
        nv_driver = 2
#7  0x00000000004016ff in sd_init () at smartdimmer.c:74
No locals.
#8  0x00000000004018a8 in main (argc=2, argv=0x7fffffffe5d8) at 
smartdimmer.c:132
        optind = 0
        options = 2
        setvalue = 0
        c = -1


** Changed in: nvclock (Ubuntu)
       Status: In Progress => Triaged

-- 
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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to