Messages in this thread | | | Date | Mon, 7 Nov 2011 06:03:14 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 1/4] lockdep: lock_set_subclass() fix |
| |
(cc'ing the bug reporter and kmemcheck ppl)
Hello,
On Mon, Nov 07, 2011 at 09:31:31PM +0800, Yong Zhang wrote: > I prefer reverting that commit, but bugzilla is down and I don't know > what the real problem behind that commit.
So, this was the kmemcheck which triggers.
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug WARNING: kmemcheck: Caught 64-bit read from uninitialized memory (ffff8801c6783c58) 0000000000000000ee0caa81ffffffff00000000000000000000000000000000 i i i i i i i i i i i i i i i i i i i i u u u u u u u u u u u u ^
Pid: 1, comm: swapper Not tainted 3.0.0-rc2 #8 Acer Aspire 7750G/JE70_HR RIP: 0010:[<ffffffff8108f3b3>] [<ffffffff8108f3b3>] process_one_work+0x83/0x450 RSP: 0018:ffff8801c6507d80 EFLAGS: 00010002 RAX: 0000000000000000 RBX: ffff8801c7418300 RCX: 0000000000000000 RDX: ffff8801c79d5800 RSI: ffff8801c6783c10 RDI: ffff8801c7418300 RBP: ffff8801c6507e10 R08: ffff8801c64f8058 R09: 0000000000000001 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801c6783c10 R13: ffff8801c79d5800 R14: ffff8801c780ca00 R15: 000000000000003b FS: 0000000000000000(0000) GS:ffff8801c7800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: ffff8801c7430364 CR3: 0000000001c03000 CR4: 00000000000406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff4ff0 DR7: 0000000000000400 [<ffffffff810927cc>] worker_thread+0x15c/0x330 [<ffffffff81097396>] kthread+0xa6/0xb0 [<ffffffff817b3c54>] kernel_thread_helper+0x4/0x10 [<ffffffffffffffff>] 0xffffffffffffffff \_SB_.PCI0:_OSC invalid UUID _OSC request data:1 8 1f
kmemcheck is complaining that memory area which hasn't been initialized before is being read. The offending code line is "struct lockdep_map = work->lockdep_map" in process_one_work(), which caches lockdep_map because work item can be destroyed once it starts execution.
I don't have problem with reverting the patch but it would be much better if it can play nice with kmemcheck. It seems lockdep_map init requirements are rather weird. Maybe just avoiding clearing ->name is better?
Thanks.
-- tejun
| |