On Sun, Jan 10, 2010 at 8:10 PM, Thomas Hellstrom <tho...@shipmail.org> wrote: > I've seen something similar with openchrome, > but I think I traced that down to the DMA engines causing memory corruption.
Corruption outside the memory it was supposed to affect? Shouldn't that lead to massive problems? Also, i don't think a dma engine can affect random memory pages (that would imply crappy memory protection). > > Note that IIRC kmap_atomic may return page_address(page) for a lowmem page. > Any idea what may cause kmap_atomic to behave in this way? I think it's pretty normal for it to return page_address on x86_64, since that doesn't have or need PAE or anything like that. > > /Thomas > > > Maarten Maathuis wrote: >> >> I've been noticing for a while that i've been getting general >> protection faults in ttm_to_swapout, this time i was printk'ing the >> virtual addresses. >> >> In case it's not obvious, the result of kmap_atomic() is wrong. >> >> This is nouveau/linux-2.6 which is somewhere after 2.6.32. I was >> wondering if anyone has ever seen anything like this? >> >> from_virtual ffff88003088b000 to_virtual ffff88003100f000 >> from_virtual ffff88003088c000 to_virtual ffff880031018000 >> from_virtual ffff88003088d000 to_virtual ffff880031019000 >> from_virtual ffff88003088e000 to_virtual ffff88003101a000 >> from_virtual ffff88003088f000 to_virtual ffff88003101b000 >> from_virtual ffff880030890000 to_virtual ffff880031016000 >> from_virtual ffff880030891000 to_virtual ffff880031017000 >> from_virtual ffff880030892000 to_virtual ffff88003101c000 >> from_virtual ffff880030893000 to_virtual ffff88003101d000 >> from_virtual ffff880030894000 to_virtual ffff88003101e000 >> from_virtual ffff880030895000 to_virtual ffff88003101f000 >> from_virtual ffff880030896000 to_virtual ffff88001c626000 >> from_virtual ffff880030897000 to_virtual ffff88001c627000 >> from_virtual ffff880030898000 to_virtual ffff88001c752000 >> from_virtual ffff880030899000 to_virtual ffff88001c66d000 >> from_virtual ffff88003089a000 to_virtual ffff88001c642000 >> from_virtual ffff8800308db000 to_virtual 0005d12492492000 >> general protection fault: 0000 [#1] PREEMPT >> last sysfs file: /sys/devices/pci0000:00/0000:00:08.0/host3/uevent >> CPU 0 >> Modules linked in: nouveau snd_ice1724 snd_rawmidi wm8775 tuner ttm >> drm_kms_helper usbhid snd_ice17xx_ak4xxx snd_ac97_codec ac97_bus >> snd_ak4xxx_adda snd_ak4114 cx25840 snd_pcm ivtv drm snd_timer >> snd_page_alloc snd_pt2258 snd_i2c cx2341x agpgart ehci_hcd >> i2c_algo_bit i2c_nforce2 tveeprom snd soundcore ohci_hcd >> Pid: 1501, comm: ttm_swap Not tainted 2.6.32-00848-gedc4439-dirty #172 >> System Product Name >> RIP: 0010:[<ffffffffa017c3fb>] [<ffffffffa017c3fb>] >> ttm_tt_swapout+0x135/0x1db [ttm] >> RSP: 0000:ffff88003749fce0 EFLAGS: 00010282 >> RAX: 0000000000000040 RBX: 0005d12492492000 RCX: 0000000000000400 >> RDX: 00000000ffffffff RSI: ffff8800308db000 RDI: 0005d12492492000 >> RBP: ffff88003749fd30 R08: 0000000000be8bfa R09: ffff88003749fb30 >> R10: 000000000000000f R11: 0000000000000020 R12: ffff8800308db000 >> R13: ffff880030a7a4e0 R14: fffffffffffffff4 R15: ffff880037795a00 >> FS: 00007fa003a78700(0000) GS:ffffffff814d8000(0000) >> knlGS:00000000f5a256d0 >> CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b >> CR2: 00007fcac3873f80 CR3: 000000003ecfd000 CR4: 00000000000006f0 >> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 >> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 >> Process ttm_swap (pid: 1501, threadinfo ffff88003749e000, task >> ffff88003d2ae360) >> Stack: >> ffff88003e00b910 ffff88003749ffd8 ffff880037795a00 ffff8800377918b8 >> <0> 000000001f4be800 ffff88001f4be870 ffff88001f4be800 0000000000000000 >> <0> ffff88001f4be844 ffff88003edb95d8 ffff88003749fdb0 ffffffffa017d550 >> Call Trace: >> [<ffffffffa017d550>] ttm_bo_swapout+0x1df/0x222 [ttm] >> [<ffffffffa017b38d>] ttm_shrink+0x9b/0xc0 [ttm] >> [<ffffffffa017b3c6>] ttm_shrink_work+0x14/0x16 [ttm] >> [<ffffffff810489c7>] worker_thread+0x1b7/0x25e >> [<ffffffffa017b3b2>] ? ttm_shrink_work+0x0/0x16 [ttm] >> [<ffffffff8104bd8a>] ? autoremove_wake_function+0x0/0x38 >> [<ffffffff81048810>] ? worker_thread+0x0/0x25e >> [<ffffffff8104ba75>] kthread+0x7c/0x84 >> [<ffffffff8100bd6a>] child_rip+0xa/0x20 >> [<ffffffffa01d776e>] ? nouveau_mem_init_heap+0x5d/0xfd [nouveau] >> [<ffffffff8104b9f9>] ? kthread+0x0/0x84 >> [<ffffffff8100bd60>] ? child_rip+0x0/0x20 >> Code: 04 00 00 00 e8 97 f7 ff ff 4c 89 e6 48 89 c2 48 89 c3 48 c7 c7 >> 92 1f 18 a0 31 c0 e8 ca ad 19 e1 48 89 df 4c 89 e6 b9 00 04 00 00 <f3> >> a5 e8 ba f7 ff ff e8 b5 f7 ff ff bf 01 00 00 00 e8 c4 f0 19 >> RIP [<ffffffffa017c3fb>] ttm_tt_swapout+0x135/0x1db [ttm] >> RSP <ffff88003749fce0> >> ---[ end trace 8724ec5cfdbfe4ce ]--- >> note: ttm_swap[1501] exited with preempt_count 3 >> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and >> easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev -- >> _______________________________________________ >> Dri-devel mailing list >> Dri-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/dri-devel >> > > ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel