* sysfs lockdep complaint
@ 2010-02-18 9:32 Johannes Berg
2010-02-20 9:26 ` Américo Wang
0 siblings, 1 reply; 31+ messages in thread
From: Johannes Berg @ 2010-02-18 9:32 UTC (permalink / raw)
To: Kernel development list
Get this when powernowd starts on my G5:
[ 30.490674] =============================================
[ 30.490708] [ INFO: possible recursive locking detected ]
[ 30.490727] 2.6.33-rc8-wl-64012-g6917413 #160
[ 30.490744] ---------------------------------------------
[ 30.490763] powernowd/2577 is trying to acquire lock:
[ 30.490782] (s_active){++++.+}, at: [<c0000000001efa94>] .sysfs_addrm_finish+0x58/0xc0
[ 30.490831]
[ 30.490833] but task is already holding lock:
[ 30.490854] (s_active){++++.+}, at: [<c0000000001eff80>] .sysfs_get_active_two+0x3c/0x84
[ 30.490895]
[ 30.490896] other info that might help us debug this:
[ 30.490921] 4 locks held by powernowd/2577:
[ 30.490936] #0: (&buffer->mutex){+.+.+.}, at: [<c0000000001ed8d0>] .sysfs_write_file+0x60/0x1a4
[ 30.490983] #1: (s_active){++++.+}, at: [<c0000000001eff80>] .sysfs_get_active_two+0x3c/0x84
[ 30.491028] #2: (s_active){++++.+}, at: [<c0000000001eff98>] .sysfs_get_active_two+0x54/0x84
[ 30.491073] #3: (dbs_mutex){+.+.+.}, at: [<d000000002c9c6e8>] .cpufreq_governor_dbs+0x424/0x548 [cpufreq_ondemand]
[ 30.491128]
[ 30.491130] stack backtrace:
[ 30.491148] Call Trace:
[ 30.491166] [c00000021251af10] [c000000000012934] .show_stack+0xc0/0x200 (unreliable)
[ 30.491205] [c00000021251afe0] [c0000000005a74b0] .dump_stack+0x28/0x3c
[ 30.491234] [c00000021251b060] [c0000000000b88c8] .validate_chain+0x758/0x1044
[ 30.491265] [c00000021251b1a0] [c0000000000b9b94] .__lock_acquire+0x9e0/0xac4
[ 30.491294] [c00000021251b2d0] [c0000000000b9dc8] .lock_acquire+0x150/0x19c
[ 30.491324] [c00000021251b3a0] [c0000000001eeeb8] .sysfs_deactivate+0xd0/0x16c
[ 30.491354] [c00000021251b4f0] [c0000000001efa94] .sysfs_addrm_finish+0x58/0xc0
[ 30.491385] [c00000021251b590] [c0000000001ecb98] .sysfs_hash_and_remove+0x7c/0xb0
[ 30.491416] [c00000021251b640] [c0000000001f1710] .sysfs_remove_group+0xb4/0x138
[ 30.491450] [c00000021251b6e0] [d000000002c9c6f8] .cpufreq_governor_dbs+0x434/0x548 [cpufreq_ondemand]
[ 30.491487] [c00000021251b7e0] [c0000000004cc3e4] .__cpufreq_governor+0x1cc/0x250
[ 30.491520] [c00000021251b890] [c0000000004cdb90] .__cpufreq_set_policy+0x1f8/0x2a8
[ 30.491552] [c00000021251b940] [c0000000004ce1a0] .store_scaling_governor+0x1c0/0x21c
[ 30.491584] [c00000021251bb50] [c0000000004cd954] .store+0x98/0xdc
[ 30.491611] [c00000021251bc00] [c0000000001ed9a4] .sysfs_write_file+0x134/0x1a4
[ 30.491644] [c00000021251bcc0] [c000000000176ca0] .vfs_write+0xe8/0x1fc
[ 30.491672] [c00000021251bd70] [c000000000176ef0] .SyS_write+0x68/0xb0
[ 30.491700] [c00000021251be30] [c0000000000075d4] syscall_exit+0x0/0x40
^ permalink raw reply [flat|nested] 31+ messages in thread* Re: sysfs lockdep complaint 2010-02-18 9:32 sysfs lockdep complaint Johannes Berg @ 2010-02-20 9:26 ` Américo Wang 2010-02-20 11:13 ` Johannes Berg 2010-02-20 11:20 ` Johannes Berg 0 siblings, 2 replies; 31+ messages in thread From: Américo Wang @ 2010-02-20 9:26 UTC (permalink / raw) To: Johannes Berg; +Cc: Kernel development list On Thu, Feb 18, 2010 at 5:32 PM, Johannes Berg <johannes@sipsolutions.net> wrote: > Get this when powernowd starts on my G5: > > [ 30.490674] ============================================= > [ 30.490708] [ INFO: possible recursive locking detected ] > [ 30.490727] 2.6.33-rc8-wl-64012-g6917413 #160 > [ 30.490744] --------------------------------------------- > [ 30.490763] powernowd/2577 is trying to acquire lock: > [ 30.490782] (s_active){++++.+}, at: [<c0000000001efa94>] .sysfs_addrm_finish+0x58/0xc0 > [ 30.490831] > [ 30.490833] but task is already holding lock: > [ 30.490854] (s_active){++++.+}, at: [<c0000000001eff80>] .sysfs_get_active_two+0x3c/0x84 > [ 30.490895] This should be fixed by the patchset from Eric: http://lkml.org/lkml/2010/2/11/334 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 9:26 ` Américo Wang @ 2010-02-20 11:13 ` Johannes Berg 2010-02-20 13:54 ` Américo Wang 2010-02-20 11:20 ` Johannes Berg 1 sibling, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 11:13 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list On Sat, 2010-02-20 at 17:26 +0800, Américo Wang wrote: > This should be fixed by the patchset from Eric: > > http://lkml.org/lkml/2010/2/11/334 That patchset doesn't even compile. johannes --- drivers/pci/pci-sysfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- wireless-testing.orig/drivers/pci/pci-sysfs.c 2010-02-20 12:12:28.207979616 +0100 +++ wireless-testing/drivers/pci/pci-sysfs.c 2010-02-20 12:12:54.588603464 +0100 @@ -642,7 +642,7 @@ void pci_create_legacy_files(struct pci_ if (!b->legacy_io) goto kzalloc_err; - sysfs_bin_attr_init(&b->legacy_io); + sysfs_bin_attr_init(b->legacy_io); b->legacy_io->attr.name = "legacy_io"; b->legacy_io->size = 0xffff; b->legacy_io->attr.mode = S_IRUSR | S_IWUSR; @@ -655,8 +655,8 @@ void pci_create_legacy_files(struct pci_ goto legacy_io_err; /* Allocated above after the legacy_io struct */ - sysfs_bin_attr_init(&b->legacy_mem); b->legacy_mem = b->legacy_io + 1; + sysfs_bin_attr_init(b->legacy_mem); b->legacy_mem->attr.name = "legacy_mem"; b->legacy_mem->size = 1024*1024; b->legacy_mem->attr.mode = S_IRUSR | S_IWUSR; ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 11:13 ` Johannes Berg @ 2010-02-20 13:54 ` Américo Wang 2010-02-20 14:00 ` Johannes Berg 0 siblings, 1 reply; 31+ messages in thread From: Américo Wang @ 2010-02-20 13:54 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, ebiederm, gregkh On Sat, Feb 20, 2010 at 12:13:49PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 17:26 +0800, Américo Wang wrote: > >> This should be fixed by the patchset from Eric: >> >> http://lkml.org/lkml/2010/2/11/334 > >That patchset doesn't even compile. > Wow. I didn't notice that. Eric, could you fix your last patch? I mean your patch 4/4, probably. Greg? >johannes > >--- > drivers/pci/pci-sysfs.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >--- wireless-testing.orig/drivers/pci/pci-sysfs.c 2010-02-20 12:12:28.207979616 +0100 >+++ wireless-testing/drivers/pci/pci-sysfs.c 2010-02-20 12:12:54.588603464 +0100 >@@ -642,7 +642,7 @@ void pci_create_legacy_files(struct pci_ > if (!b->legacy_io) > goto kzalloc_err; > >- sysfs_bin_attr_init(&b->legacy_io); >+ sysfs_bin_attr_init(b->legacy_io); > b->legacy_io->attr.name = "legacy_io"; > b->legacy_io->size = 0xffff; > b->legacy_io->attr.mode = S_IRUSR | S_IWUSR; >@@ -655,8 +655,8 @@ void pci_create_legacy_files(struct pci_ > goto legacy_io_err; > > /* Allocated above after the legacy_io struct */ >- sysfs_bin_attr_init(&b->legacy_mem); > b->legacy_mem = b->legacy_io + 1; >+ sysfs_bin_attr_init(b->legacy_mem); > b->legacy_mem->attr.name = "legacy_mem"; > b->legacy_mem->size = 1024*1024; > b->legacy_mem->attr.mode = S_IRUSR | S_IWUSR; > > -- Live like a child, think like the god. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 13:54 ` Américo Wang @ 2010-02-20 14:00 ` Johannes Berg 0 siblings, 0 replies; 31+ messages in thread From: Johannes Berg @ 2010-02-20 14:00 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, ebiederm, gregkh On Sat, 2010-02-20 at 21:54 +0800, Américo Wang wrote: > > /* Allocated above after the legacy_io struct */ > >- sysfs_bin_attr_init(&b->legacy_mem); > > b->legacy_mem = b->legacy_io + 1; > >+ sysfs_bin_attr_init(b->legacy_mem); Also note the reordering to make it not crash ... johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 9:26 ` Américo Wang 2010-02-20 11:13 ` Johannes Berg @ 2010-02-20 11:20 ` Johannes Berg 2010-02-20 13:51 ` Américo Wang 1 sibling, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 11:20 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 17:26 +0800, Américo Wang wrote: > On Thu, Feb 18, 2010 at 5:32 PM, Johannes Berg > <johannes@sipsolutions.net> wrote: > > Get this when powernowd starts on my G5: > > > > [ 30.490674] ============================================= > > [ 30.490708] [ INFO: possible recursive locking detected ] > > [ 30.490727] 2.6.33-rc8-wl-64012-g6917413 #160 > > [ 30.490744] --------------------------------------------- > > [ 30.490763] powernowd/2577 is trying to acquire lock: > > [ 30.490782] (s_active){++++.+}, at: [<c0000000001efa94>] > .sysfs_addrm_finish+0x58/0xc0 > > [ 30.490831] > > [ 30.490833] but task is already holding lock: > > [ 30.490854] (s_active){++++.+}, at: [<c0000000001eff80>] > .sysfs_get_active_two+0x3c/0x84 > > [ 30.490895] > > This should be fixed by the patchset from Eric: > > http://lkml.org/lkml/2010/2/11/334 Oh wow, well ..... I get like a thousand of these now: BUG: key c0000002165eb478 not in .data! instead of the lockdep complaint above. johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 11:20 ` Johannes Berg @ 2010-02-20 13:51 ` Américo Wang 2010-02-20 13:58 ` Johannes Berg 2010-02-20 14:01 ` Johannes Berg 0 siblings, 2 replies; 31+ messages in thread From: Américo Wang @ 2010-02-20 13:51 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman On Sat, Feb 20, 2010 at 12:20:14PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 17:26 +0800, Américo Wang wrote: >> On Thu, Feb 18, 2010 at 5:32 PM, Johannes Berg >> <johannes@sipsolutions.net> wrote: >> > Get this when powernowd starts on my G5: >> > >> > [ 30.490674] ============================================= >> > [ 30.490708] [ INFO: possible recursive locking detected ] >> > [ 30.490727] 2.6.33-rc8-wl-64012-g6917413 #160 >> > [ 30.490744] --------------------------------------------- >> > [ 30.490763] powernowd/2577 is trying to acquire lock: >> > [ 30.490782] (s_active){++++.+}, at: [<c0000000001efa94>] >> .sysfs_addrm_finish+0x58/0xc0 >> > [ 30.490831] >> > [ 30.490833] but task is already holding lock: >> > [ 30.490854] (s_active){++++.+}, at: [<c0000000001eff80>] >> .sysfs_get_active_two+0x3c/0x84 >> > [ 30.490895] >> >> This should be fixed by the patchset from Eric: >> >> http://lkml.org/lkml/2010/2/11/334 > >Oh wow, well ..... I get like a thousand of these now: > >BUG: key c0000002165eb478 not in .data! > >instead of the lockdep complaint above. > I am not surprised. :) Please send us the backtraces you got, we could expect this. Thank you. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 13:51 ` Américo Wang @ 2010-02-20 13:58 ` Johannes Berg 2010-02-20 15:16 ` Américo Wang 2010-02-20 14:01 ` Johannes Berg 1 sibling, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 13:58 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 21:51 +0800, Américo Wang wrote: > >BUG: key c0000002165eb478 not in .data! > > > >instead of the lockdep complaint above. > > > > I am not surprised. :) > > Please send us the backtraces you got, we could expect this. I hacked in dump_stack() but it overflowed my log buffer, here's an example: [ 31.625411] BUG: key c0000002134f2ab0 not in .data! [ 31.625414] Call Trace: [ 31.625417] [c000000213b677c0] [c000000000012c1c] .show_stack+0xc0/0x200 (unreliable) [ 31.625423] [c000000213b67890] [c0000000005ac968] .dump_stack+0x28/0x3c [ 31.625428] [c000000213b67910] [c0000000000b6a3c] .lockdep_init_map+0x11c/0x674 [ 31.625433] [c000000213b67a10] [c0000000001efd90] .sysfs_add_file_mode+0x90/0x124 [ 31.625438] [c000000213b67ad0] [c0000000001efe60] .sysfs_add_file+0x3c/0x50 [ 31.625442] [c000000213b67b70] [c0000000001f2f40] .sysfs_create_bin_file+0x5c/0x78 [ 31.625448] [c000000213b67c10] [c0000000000cd0b0] .load_module+0x16a4/0x197c [ 31.625452] [c000000213b67d80] [c0000000000cd424] .SyS_init_module+0x9c/0x2d4 [ 31.625457] [c000000213b67e30] [c0000000000075d4] syscall_exit+0x0/0x40 There's also [ 34.776604] BUG: key c000000216265388 not in .data! [ 34.776606] Call Trace: [ 34.776609] [c000000213b5f7a0] [c000000000012c1c] .show_stack+0xc0/0x200 (unreliable) [ 34.776615] [c000000213b5f870] [c0000000005ac968] .dump_stack+0x28/0x3c [ 34.776620] [c000000213b5f8f0] [c0000000000b6a3c] .lockdep_init_map+0x11c/0x674 [ 34.776624] [c000000213b5f9f0] [c0000000001efd90] .sysfs_add_file_mode+0x90/0x124 [ 34.776629] [c000000213b5fab0] [c0000000001f32b4] .internal_create_group+0x168/0x24c [ 34.776634] [c000000213b5fb70] [c0000000001f3420] .sysfs_create_group+0x38/0x50 [ 34.776639] [c000000213b5fc10] [c0000000000ccf20] .load_module+0x1514/0x197c [ 34.776644] [c000000213b5fd80] [c0000000000cd424] .SyS_init_module+0x9c/0x2d4 [ 34.776649] [c000000213b5fe30] [c0000000000075d4] syscall_exit+0x0/0x40 and many many times... Let me recompile with that dump_stack() removed. johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 13:58 ` Johannes Berg @ 2010-02-20 15:16 ` Américo Wang 0 siblings, 0 replies; 31+ messages in thread From: Américo Wang @ 2010-02-20 15:16 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman On Sat, Feb 20, 2010 at 02:58:11PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 21:51 +0800, Américo Wang wrote: > >> >BUG: key c0000002165eb478 not in .data! >> > >> >instead of the lockdep complaint above. >> > >> >> I am not surprised. :) >> >> Please send us the backtraces you got, we could expect this. > >I hacked in dump_stack() but it overflowed my log buffer, here's an example: > >[ 31.625411] BUG: key c0000002134f2ab0 not in .data! >[ 31.625414] Call Trace: >[ 31.625417] [c000000213b677c0] [c000000000012c1c] .show_stack+0xc0/0x200 (unreliable) >[ 31.625423] [c000000213b67890] [c0000000005ac968] .dump_stack+0x28/0x3c >[ 31.625428] [c000000213b67910] [c0000000000b6a3c] .lockdep_init_map+0x11c/0x674 >[ 31.625433] [c000000213b67a10] [c0000000001efd90] .sysfs_add_file_mode+0x90/0x124 >[ 31.625438] [c000000213b67ad0] [c0000000001efe60] .sysfs_add_file+0x3c/0x50 >[ 31.625442] [c000000213b67b70] [c0000000001f2f40] .sysfs_create_bin_file+0x5c/0x78 >[ 31.625448] [c000000213b67c10] [c0000000000cd0b0] .load_module+0x16a4/0x197c >[ 31.625452] [c000000213b67d80] [c0000000000cd424] .SyS_init_module+0x9c/0x2d4 >[ 31.625457] [c000000213b67e30] [c0000000000075d4] syscall_exit+0x0/0x40 > >There's also >[ 34.776604] BUG: key c000000216265388 not in .data! >[ 34.776606] Call Trace: >[ 34.776609] [c000000213b5f7a0] [c000000000012c1c] .show_stack+0xc0/0x200 (unreliable) >[ 34.776615] [c000000213b5f870] [c0000000005ac968] .dump_stack+0x28/0x3c >[ 34.776620] [c000000213b5f8f0] [c0000000000b6a3c] .lockdep_init_map+0x11c/0x674 >[ 34.776624] [c000000213b5f9f0] [c0000000001efd90] .sysfs_add_file_mode+0x90/0x124 >[ 34.776629] [c000000213b5fab0] [c0000000001f32b4] .internal_create_group+0x168/0x24c >[ 34.776634] [c000000213b5fb70] [c0000000001f3420] .sysfs_create_group+0x38/0x50 >[ 34.776639] [c000000213b5fc10] [c0000000000ccf20] .load_module+0x1514/0x197c >[ 34.776644] [c000000213b5fd80] [c0000000000cd424] .SyS_init_module+0x9c/0x2d4 >[ 34.776649] [c000000213b5fe30] [c0000000000075d4] syscall_exit+0x0/0x40 > Thanks! This could be fixed by the following. Reported-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> --- diff --git a/kernel/module.c b/kernel/module.c index f82386b..fa4d562 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1085,6 +1085,7 @@ static void add_sect_attrs(struct module *mod, unsigned int nsect, sect_attrs->nsections++; sattr->mattr.show = module_sect_show; sattr->mattr.store = NULL; + sysfs_attr_init(&sattr->mattr.attr); sattr->mattr.attr.name = sattr->name; sattr->mattr.attr.mode = S_IRUGO; *(gattr++) = &(sattr++)->mattr.attr; @@ -1178,6 +1179,7 @@ static void add_notes_attrs(struct module *mod, unsigned int nsect, if (sect_empty(&sechdrs[i])) continue; if (sechdrs[i].sh_type == SHT_NOTE) { + sysfs_bin_attr_init(nattr); nattr->attr.name = mod->sect_attrs->attrs[loaded].name; nattr->attr.mode = S_IRUGO; nattr->size = sechdrs[i].sh_size; ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 13:51 ` Américo Wang 2010-02-20 13:58 ` Johannes Berg @ 2010-02-20 14:01 ` Johannes Berg 2010-02-20 15:03 ` Américo Wang 1 sibling, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 14:01 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 21:51 +0800, Américo Wang wrote: > Please send us the backtraces you got, we could expect this. The first one is fun: [ 1.576226] windfarm: initializing for dual-core desktop G5 [ 1.577182] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.577190] ------------[ cut here ]------------ [ 1.577192] Badness at kernel/lockdep.c:2706 [ 1.577196] NIP: c0000000000b6a68 LR: c0000000000b6a4c CTR: c0000000003afedc [ 1.577200] REGS: c000000216197620 TRAP: 0700 Not tainted (2.6.33-rc8-wl-64022-gcdee415-dirty) [ 1.577203] MSR: 9000000000029032 <EE,ME,CE,IR,DR> CR: 28000082 XER: 200fffff [ 1.577214] TASK = c000000216198000[1] 'swapper' THREAD: c000000216194000 CPU: 2 [ 1.577217] GPR00: 0000000000000000 c0000002161978a0 c000000000b10328 0000000000000001 [ 1.577223] GPR04: 0000000000000001 c000000000071638 0000000000000000 0000000000000002 [ 1.577229] GPR08: 0000000000000000 c0000000014320f0 0000000000000001 c000000000b27638 [ 1.577235] GPR12: 0000000000000041 c000000000b21880 0000000000000056 0000000001400000 [ 1.577241] GPR16: 0000000000240ee0 c000000000718923 c0000000007ff6ec 000000000000005e [ 1.577247] GPR20: 00000000ffb30f40 c0000000007188b9 0000000000000000 0000000000240ed0 [ 1.577253] GPR24: 0000000000000108 0000000000000000 fffffffffffffff4 c00000021488b000 [ 1.577259] GPR28: 6b6b6b6b6b6b6b6b c00000021488bcc8 c000000000a77780 c0000002161978a0 [ 1.577271] NIP [c0000000000b6a68] .lockdep_init_map+0x148/0x66c [ 1.577276] LR [c0000000000b6a4c] .lockdep_init_map+0x12c/0x66c [ 1.577278] Call Trace: [ 1.577282] [c0000002161978a0] [c0000000000b6a34] .lockdep_init_map+0x114/0x66c (unreliable) [ 1.577289] [c0000002161979a0] [c0000000001efd88] .sysfs_add_file_mode+0x90/0x124 [ 1.577294] [c000000216197a60] [c0000000001efe58] .sysfs_add_file+0x3c/0x50 [ 1.577299] [c000000216197b00] [c0000000001effb4] .sysfs_create_file+0x5c/0x74 [ 1.577305] [c000000216197ba0] [c0000000004292b0] .device_create_file+0x40/0x5c [ 1.577311] [c000000216197c40] [c000000000441178] .wf_register_control+0x108/0x178 [ 1.577316] [c000000216197cf0] [c0000000004440a4] .smu_fan_create+0x548/0x598 [ 1.577323] [c000000216197da0] [c0000000007e5e6c] .smu_controls_init+0xb0/0x1f4 [ 1.577329] [c000000216197e40] [c0000000000084e4] .do_one_initcall+0xac/0x204 [ 1.577335] [c000000216197ef0] [c0000000007b84b8] .kernel_init+0x1f0/0x270 [ 1.577340] [c000000216197f90] [c000000000028f8c] .kernel_thread+0x54/0x70 [ 1.577343] Instruction dump: [ 1.577346] e93e81c8 80090000 2f800000 409e04f4 482fa5e9 60000000 2fa30000 419e04e4 [ 1.577355] e93e81d0 80090000 2f800000 409e04d4 <0fe00000> 480004cc fb9d0000 e93e8018 [ 1.577375] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.577385] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.577397] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.577413] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.577423] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.577435] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.577446] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.839465] BUG: key 6b6b6b6b6b6b6b6b not in .data! key pointing to something freed? wtf? johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 14:01 ` Johannes Berg @ 2010-02-20 15:03 ` Américo Wang 2010-02-20 15:07 ` Johannes Berg ` (2 more replies) 0 siblings, 3 replies; 31+ messages in thread From: Américo Wang @ 2010-02-20 15:03 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman On Sat, Feb 20, 2010 at 03:01:33PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 21:51 +0800, Américo Wang wrote: > >> Please send us the backtraces you got, we could expect this. > >The first one is fun: > >[ 1.576226] windfarm: initializing for dual-core desktop G5 >[ 1.577182] BUG: key 6b6b6b6b6b6b6b6b not in .data! >[ 1.577190] ------------[ cut here ]------------ >[ 1.577192] Badness at kernel/lockdep.c:2706 >[ 1.577196] NIP: c0000000000b6a68 LR: c0000000000b6a4c CTR: c0000000003afedc >[ 1.577200] REGS: c000000216197620 TRAP: 0700 Not tainted (2.6.33-rc8-wl-64022-gcdee415-dirty) >[ 1.577203] MSR: 9000000000029032 <EE,ME,CE,IR,DR> CR: 28000082 XER: 200fffff >[ 1.577214] TASK = c000000216198000[1] 'swapper' THREAD: c000000216194000 CPU: 2 >[ 1.577217] GPR00: 0000000000000000 c0000002161978a0 c000000000b10328 0000000000000001 >[ 1.577223] GPR04: 0000000000000001 c000000000071638 0000000000000000 0000000000000002 >[ 1.577229] GPR08: 0000000000000000 c0000000014320f0 0000000000000001 c000000000b27638 >[ 1.577235] GPR12: 0000000000000041 c000000000b21880 0000000000000056 0000000001400000 >[ 1.577241] GPR16: 0000000000240ee0 c000000000718923 c0000000007ff6ec 000000000000005e >[ 1.577247] GPR20: 00000000ffb30f40 c0000000007188b9 0000000000000000 0000000000240ed0 >[ 1.577253] GPR24: 0000000000000108 0000000000000000 fffffffffffffff4 c00000021488b000 >[ 1.577259] GPR28: 6b6b6b6b6b6b6b6b c00000021488bcc8 c000000000a77780 c0000002161978a0 >[ 1.577271] NIP [c0000000000b6a68] .lockdep_init_map+0x148/0x66c >[ 1.577276] LR [c0000000000b6a4c] .lockdep_init_map+0x12c/0x66c >[ 1.577278] Call Trace: >[ 1.577282] [c0000002161978a0] [c0000000000b6a34] .lockdep_init_map+0x114/0x66c (unreliable) >[ 1.577289] [c0000002161979a0] [c0000000001efd88] .sysfs_add_file_mode+0x90/0x124 >[ 1.577294] [c000000216197a60] [c0000000001efe58] .sysfs_add_file+0x3c/0x50 >[ 1.577299] [c000000216197b00] [c0000000001effb4] .sysfs_create_file+0x5c/0x74 >[ 1.577305] [c000000216197ba0] [c0000000004292b0] .device_create_file+0x40/0x5c >[ 1.577311] [c000000216197c40] [c000000000441178] .wf_register_control+0x108/0x178 >[ 1.577316] [c000000216197cf0] [c0000000004440a4] .smu_fan_create+0x548/0x598 >[ 1.577323] [c000000216197da0] [c0000000007e5e6c] .smu_controls_init+0xb0/0x1f4 >[ 1.577329] [c000000216197e40] [c0000000000084e4] .do_one_initcall+0xac/0x204 >[ 1.577335] [c000000216197ef0] [c0000000007b84b8] .kernel_init+0x1f0/0x270 >[ 1.577340] [c000000216197f90] [c000000000028f8c] .kernel_thread+0x54/0x70 This should be fixed by the following patch, it is based on the 4 patches from Eric. Thanks. Reported-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> --- diff --git a/drivers/macintosh/windfarm_smu_controls.c b/drivers/macintosh/windfarm_smu_controls.c index 6c68b9e..5f4e5a0 100644 --- a/drivers/macintosh/windfarm_smu_controls.c +++ b/drivers/macintosh/windfarm_smu_controls.c @@ -173,6 +173,7 @@ static struct smu_fan_control *smu_fan_create(struct device_node *node, fct->fan_type = pwm_fan; fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; + sysfs_attr_init(&fct->ctrl.attr); /* We use the name & location here the same way we do for SMU sensors, * see the comment in windfarm_smu_sensors.c. The locations are a bit ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:03 ` Américo Wang @ 2010-02-20 15:07 ` Johannes Berg 2010-02-20 15:08 ` Johannes Berg 2010-02-20 15:14 ` sysfs lockdep complaint Johannes Berg 2 siblings, 0 replies; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:07 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 23:03 +0800, Américo Wang wrote: > --- a/drivers/macintosh/windfarm_smu_controls.c > +++ b/drivers/macintosh/windfarm_smu_controls.c > @@ -173,6 +173,7 @@ static struct smu_fan_control > *smu_fan_create(struct device_node *node, > > fct->fan_type = pwm_fan; > fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; > + sysfs_attr_init(&fct->ctrl.attr); hmm. drivers/macintosh/windfarm_smu_controls.c: In function ‘smu_fan_create’: drivers/macintosh/windfarm_smu_controls.c:176: error: ‘struct device_attribute’ has no member named ‘key’ johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:03 ` Américo Wang 2010-02-20 15:07 ` Johannes Berg @ 2010-02-20 15:08 ` Johannes Berg 2010-02-20 15:20 ` Américo Wang 2010-02-20 15:14 ` sysfs lockdep complaint Johannes Berg 2 siblings, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:08 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 23:03 +0800, Américo Wang wrote: > fct->fan_type = pwm_fan; > fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; > + sysfs_attr_init(&fct->ctrl.attr); ah, needs to be "ctrl.attr.attr". johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:08 ` Johannes Berg @ 2010-02-20 15:20 ` Américo Wang 2010-02-20 15:28 ` Johannes Berg 0 siblings, 1 reply; 31+ messages in thread From: Américo Wang @ 2010-02-20 15:20 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman On Sat, Feb 20, 2010 at 04:08:16PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 23:03 +0800, Américo Wang wrote: > >> fct->fan_type = pwm_fan; >> fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; >> + sysfs_attr_init(&fct->ctrl.attr); > >ah, needs to be "ctrl.attr.attr". > Ouch, right... Updated. Thank you! --- diff --git a/drivers/macintosh/windfarm_smu_controls.c b/drivers/macintosh/windfarm_smu_controls.c index 6c68b9e..5f4e5a0 100644 --- a/drivers/macintosh/windfarm_smu_controls.c +++ b/drivers/macintosh/windfarm_smu_controls.c @@ -173,6 +173,7 @@ static struct smu_fan_control *smu_fan_create(struct device_node *node, fct->fan_type = pwm_fan; fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; + sysfs_attr_init(&fct->ctrl.attr.attr); /* We use the name & location here the same way we do for SMU sensors, * see the comment in windfarm_smu_sensors.c. The locations are a bit ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:20 ` Américo Wang @ 2010-02-20 15:28 ` Johannes Berg 2010-02-20 15:31 ` Johannes Berg 2010-02-20 15:40 ` Américo Wang 0 siblings, 2 replies; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:28 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 23:20 +0800, Américo Wang wrote: > On Sat, Feb 20, 2010 at 04:08:16PM +0100, Johannes Berg wrote: > >On Sat, 2010-02-20 at 23:03 +0800, Américo Wang wrote: > > > >> fct->fan_type = pwm_fan; > >> fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : > WF_CONTROL_RPM_FAN; > >> + sysfs_attr_init(&fct->ctrl.attr); > > > >ah, needs to be "ctrl.attr.attr". > > > > Ouch, right... Updated. I have this now, and that removed all the warnings: --- drivers/macintosh/windfarm_core.c | 1 + drivers/macintosh/windfarm_smu_controls.c | 1 + kernel/module.c | 3 +++ 3 files changed, 5 insertions(+) --- wireless-testing.orig/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:05:55.738721565 +0100 +++ wireless-testing/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:07:51.996717974 +0100 @@ -173,6 +173,7 @@ static struct smu_fan_control *smu_fan_c fct->fan_type = pwm_fan; fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; + sysfs_attr_init(&fct->ctrl.attr.attr); /* We use the name & location here the same way we do for SMU sensors, * see the comment in windfarm_smu_sensors.c. The locations are a bit --- wireless-testing.orig/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:14.701580166 +0100 +++ wireless-testing/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:38.416369684 +0100 @@ -321,6 +321,7 @@ int wf_register_sensor(struct wf_sensor kref_init(&new_sr->ref); list_add(&new_sr->link, &wf_sensors); + sysfs_attr_init(&new_sr->attr.attr); new_sr->attr.attr.name = new_sr->name; new_sr->attr.attr.mode = 0444; new_sr->attr.show = wf_show_sensor; --- wireless-testing.orig/kernel/module.c 2010-02-20 16:16:52.740706797 +0100 +++ wireless-testing/kernel/module.c 2010-02-20 16:22:52.499698256 +0100 @@ -1085,6 +1085,7 @@ static void add_sect_attrs(struct module sect_attrs->nsections++; sattr->mattr.show = module_sect_show; sattr->mattr.store = NULL; + sysfs_attr_init(&sattr->mattr.attr); sattr->mattr.attr.name = sattr->name; sattr->mattr.attr.mode = S_IRUGO; *(gattr++) = &(sattr++)->mattr.attr; @@ -1178,6 +1179,7 @@ static void add_notes_attrs(struct modul if (sect_empty(&sechdrs[i])) continue; if (sechdrs[i].sh_type == SHT_NOTE) { + sysfs_bin_attr_init(nattr); nattr->attr.name = mod->sect_attrs->attrs[loaded].name; nattr->attr.mode = S_IRUGO; nattr->size = sechdrs[i].sh_size; @@ -1250,6 +1252,7 @@ int module_add_modinfo_attrs(struct modu if (!attr->test || (attr->test && attr->test(mod))) { memcpy(temp_attr, attr, sizeof(*temp_attr)); + sysfs_attr_init(&temp_attr->attr); error = sysfs_create_file(&mod->mkobj.kobj,&temp_attr->attr); ++temp_attr; } johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:28 ` Johannes Berg @ 2010-02-20 15:31 ` Johannes Berg 2010-02-20 15:44 ` Américo Wang 2010-02-20 15:40 ` Américo Wang 1 sibling, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:31 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 16:28 +0100, Johannes Berg wrote: > I have this now, and that removed all the warnings: But I still don't get anything back wrt. the original problem ... still hangs after printing "disabling non-boot CPUs" :( johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:31 ` Johannes Berg @ 2010-02-20 15:44 ` Américo Wang 2010-02-20 15:44 ` Johannes Berg 0 siblings, 1 reply; 31+ messages in thread From: Américo Wang @ 2010-02-20 15:44 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman On Sat, Feb 20, 2010 at 04:31:23PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 16:28 +0100, Johannes Berg wrote: > >> I have this now, and that removed all the warnings: > >But I still don't get anything back wrt. the original problem ... still >hangs after printing "disabling non-boot CPUs" > Odd, it seems we still have some problem... maybe my quick patch is broken, I will check it tomorrow, it's mid-night here. :) Thanks. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:44 ` Américo Wang @ 2010-02-20 15:44 ` Johannes Berg 0 siblings, 0 replies; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:44 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 23:44 +0800, Américo Wang wrote: > On Sat, Feb 20, 2010 at 04:31:23PM +0100, Johannes Berg wrote: > >On Sat, 2010-02-20 at 16:28 +0100, Johannes Berg wrote: > > > >> I have this now, and that removed all the warnings: > > > >But I still don't get anything back wrt. the original problem ... > still > >hangs after printing "disabling non-boot CPUs" > > > > Odd, it seems we still have some problem... maybe my quick patch is > broken, I will check it tomorrow, it's mid-night here. :) Oi! Thanks for all your help so far. johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:28 ` Johannes Berg 2010-02-20 15:31 ` Johannes Berg @ 2010-02-20 15:40 ` Américo Wang 2010-02-20 15:41 ` [PATCH] module: init sysfs attributes Johannes Berg 2010-02-20 15:43 ` [PATCH] windfarm: " Johannes Berg 1 sibling, 2 replies; 31+ messages in thread From: Américo Wang @ 2010-02-20 15:40 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman On Sat, Feb 20, 2010 at 04:28:07PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 23:20 +0800, Américo Wang wrote: >> On Sat, Feb 20, 2010 at 04:08:16PM +0100, Johannes Berg wrote: >> >On Sat, 2010-02-20 at 23:03 +0800, Américo Wang wrote: >> > >> >> fct->fan_type = pwm_fan; >> >> fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : >> WF_CONTROL_RPM_FAN; >> >> + sysfs_attr_init(&fct->ctrl.attr); >> > >> >ah, needs to be "ctrl.attr.attr". >> > >> >> Ouch, right... Updated. > >I have this now, and that removed all the warnings: > Excellent! You can send this as a normal patch to Erich and Greg, with me Cc'ed. :) Thanks much! >--- > drivers/macintosh/windfarm_core.c | 1 + > drivers/macintosh/windfarm_smu_controls.c | 1 + > kernel/module.c | 3 +++ > 3 files changed, 5 insertions(+) > >--- wireless-testing.orig/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:05:55.738721565 +0100 >+++ wireless-testing/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:07:51.996717974 +0100 >@@ -173,6 +173,7 @@ static struct smu_fan_control *smu_fan_c > > fct->fan_type = pwm_fan; > fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; >+ sysfs_attr_init(&fct->ctrl.attr.attr); > > /* We use the name & location here the same way we do for SMU sensors, > * see the comment in windfarm_smu_sensors.c. The locations are a bit >--- wireless-testing.orig/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:14.701580166 +0100 >+++ wireless-testing/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:38.416369684 +0100 >@@ -321,6 +321,7 @@ int wf_register_sensor(struct wf_sensor > kref_init(&new_sr->ref); > list_add(&new_sr->link, &wf_sensors); > >+ sysfs_attr_init(&new_sr->attr.attr); > new_sr->attr.attr.name = new_sr->name; > new_sr->attr.attr.mode = 0444; > new_sr->attr.show = wf_show_sensor; >--- wireless-testing.orig/kernel/module.c 2010-02-20 16:16:52.740706797 +0100 >+++ wireless-testing/kernel/module.c 2010-02-20 16:22:52.499698256 +0100 >@@ -1085,6 +1085,7 @@ static void add_sect_attrs(struct module > sect_attrs->nsections++; > sattr->mattr.show = module_sect_show; > sattr->mattr.store = NULL; >+ sysfs_attr_init(&sattr->mattr.attr); > sattr->mattr.attr.name = sattr->name; > sattr->mattr.attr.mode = S_IRUGO; > *(gattr++) = &(sattr++)->mattr.attr; >@@ -1178,6 +1179,7 @@ static void add_notes_attrs(struct modul > if (sect_empty(&sechdrs[i])) > continue; > if (sechdrs[i].sh_type == SHT_NOTE) { >+ sysfs_bin_attr_init(nattr); > nattr->attr.name = mod->sect_attrs->attrs[loaded].name; > nattr->attr.mode = S_IRUGO; > nattr->size = sechdrs[i].sh_size; >@@ -1250,6 +1252,7 @@ int module_add_modinfo_attrs(struct modu > if (!attr->test || > (attr->test && attr->test(mod))) { > memcpy(temp_attr, attr, sizeof(*temp_attr)); >+ sysfs_attr_init(&temp_attr->attr); > error = sysfs_create_file(&mod->mkobj.kobj,&temp_attr->attr); > ++temp_attr; > } > > >johannes > -- Live like a child, think like the god. ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH] module: init sysfs attributes 2010-02-20 15:40 ` Américo Wang @ 2010-02-20 15:41 ` Johannes Berg 2010-02-20 15:43 ` [PATCH] windfarm: " Johannes Berg 1 sibling, 0 replies; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:41 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman, Greg KH This is required for lockdep. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> --- kernel/module.c | 3 +++ --- wireless-testing.orig/kernel/module.c 2010-02-20 16:16:52.740706797 +0100 +++ wireless-testing/kernel/module.c 2010-02-20 16:22:52.499698256 +0100 @@ -1085,6 +1085,7 @@ static void add_sect_attrs(struct module sect_attrs->nsections++; sattr->mattr.show = module_sect_show; sattr->mattr.store = NULL; + sysfs_attr_init(&sattr->mattr.attr); sattr->mattr.attr.name = sattr->name; sattr->mattr.attr.mode = S_IRUGO; *(gattr++) = &(sattr++)->mattr.attr; @@ -1178,6 +1179,7 @@ static void add_notes_attrs(struct modul if (sect_empty(&sechdrs[i])) continue; if (sechdrs[i].sh_type == SHT_NOTE) { + sysfs_bin_attr_init(nattr); nattr->attr.name = mod->sect_attrs->attrs[loaded].name; nattr->attr.mode = S_IRUGO; nattr->size = sechdrs[i].sh_size; @@ -1250,6 +1252,7 @@ int module_add_modinfo_attrs(struct modu if (!attr->test || (attr->test && attr->test(mod))) { memcpy(temp_attr, attr, sizeof(*temp_attr)); + sysfs_attr_init(&temp_attr->attr); error = sysfs_create_file(&mod->mkobj.kobj,&temp_attr->attr); ++temp_attr; } ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH] windfarm: init sysfs attributes 2010-02-20 15:40 ` Américo Wang 2010-02-20 15:41 ` [PATCH] module: init sysfs attributes Johannes Berg @ 2010-02-20 15:43 ` Johannes Berg 2010-02-24 2:49 ` Benjamin Herrenschmidt 1 sibling, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:43 UTC (permalink / raw) To: Américo Wang Cc: Kernel development list, Eric W. Biederman, Greg KH, Benjamin Herrenschmidt This is required for lockdep. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> --- drivers/macintosh/windfarm_core.c | 1 + drivers/macintosh/windfarm_smu_controls.c | 1 + --- wireless-testing.orig/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:05:55.738721565 +0100 +++ wireless-testing/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:07:51.996717974 +0100 @@ -173,6 +173,7 @@ static struct smu_fan_control *smu_fan_c fct->fan_type = pwm_fan; fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; + sysfs_attr_init(&fct->ctrl.attr.attr); /* We use the name & location here the same way we do for SMU sensors, * see the comment in windfarm_smu_sensors.c. The locations are a bit --- wireless-testing.orig/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:14.701580166 +0100 +++ wireless-testing/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:38.416369684 +0100 @@ -321,6 +321,7 @@ int wf_register_sensor(struct wf_sensor kref_init(&new_sr->ref); list_add(&new_sr->link, &wf_sensors); + sysfs_attr_init(&new_sr->attr.attr); new_sr->attr.attr.name = new_sr->name; new_sr->attr.attr.mode = 0444; new_sr->attr.show = wf_show_sensor; ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-20 15:43 ` [PATCH] windfarm: " Johannes Berg @ 2010-02-24 2:49 ` Benjamin Herrenschmidt 2010-02-24 7:32 ` Johannes Berg 0 siblings, 1 reply; 31+ messages in thread From: Benjamin Herrenschmidt @ 2010-02-24 2:49 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman, Greg KH On Sat, 2010-02-20 at 16:43 +0100, Johannes Berg wrote: > This is required for lockdep. Please CC linuxppc-dev@ozlabs.org or it doesn't get caught by patchwork. I'll fwd that one myself. Cheers, Ben. > Signed-off-by: Johannes Berg <johannes@sipsolutions.net> > --- > drivers/macintosh/windfarm_core.c | 1 + > drivers/macintosh/windfarm_smu_controls.c | 1 + > > --- wireless-testing.orig/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:05:55.738721565 +0100 > +++ wireless-testing/drivers/macintosh/windfarm_smu_controls.c 2010-02-20 16:07:51.996717974 +0100 > @@ -173,6 +173,7 @@ static struct smu_fan_control *smu_fan_c > > fct->fan_type = pwm_fan; > fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; > + sysfs_attr_init(&fct->ctrl.attr.attr); > > /* We use the name & location here the same way we do for SMU sensors, > * see the comment in windfarm_smu_sensors.c. The locations are a bit > --- wireless-testing.orig/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:14.701580166 +0100 > +++ wireless-testing/drivers/macintosh/windfarm_core.c 2010-02-20 16:15:38.416369684 +0100 > @@ -321,6 +321,7 @@ int wf_register_sensor(struct wf_sensor > kref_init(&new_sr->ref); > list_add(&new_sr->link, &wf_sensors); > > + sysfs_attr_init(&new_sr->attr.attr); > new_sr->attr.attr.name = new_sr->name; > new_sr->attr.attr.mode = 0444; > new_sr->attr.show = wf_show_sensor; > ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-24 2:49 ` Benjamin Herrenschmidt @ 2010-02-24 7:32 ` Johannes Berg 2010-02-24 7:34 ` Américo Wang 0 siblings, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-24 7:32 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Américo Wang, Kernel development list, Eric W. Biederman, Greg KH [-- Attachment #1: Type: text/plain, Size: 360 bytes --] On Wed, 2010-02-24 at 13:49 +1100, Benjamin Herrenschmidt wrote: > On Sat, 2010-02-20 at 16:43 +0100, Johannes Berg wrote: > > This is required for lockdep. > > Please CC linuxppc-dev@ozlabs.org or it doesn't get caught by > patchwork. Eh, sure, but I think it needs to be part of Eric's series? > I'll fwd that one myself. Thanks. johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-24 7:32 ` Johannes Berg @ 2010-02-24 7:34 ` Américo Wang 2010-02-24 9:12 ` Johannes Berg 2010-02-24 13:24 ` Greg KH 0 siblings, 2 replies; 31+ messages in thread From: Américo Wang @ 2010-02-24 7:34 UTC (permalink / raw) To: Johannes Berg Cc: Benjamin Herrenschmidt, Kernel development list, Eric W. Biederman, Greg KH On Wed, Feb 24, 2010 at 3:32 PM, Johannes Berg <johannes@sipsolutions.net> wrote: > On Wed, 2010-02-24 at 13:49 +1100, Benjamin Herrenschmidt wrote: >> On Sat, 2010-02-20 at 16:43 +0100, Johannes Berg wrote: >> > This is required for lockdep. >> >> Please CC linuxppc-dev@ozlabs.org or it doesn't get caught by >> patchwork. > > Eh, sure, but I think it needs to be part of Eric's series? > Yeah, that's why we are Cc'ing Greg, since he took Eric's patches already. Greg? ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-24 7:34 ` Américo Wang @ 2010-02-24 9:12 ` Johannes Berg 2010-02-25 1:43 ` Américo Wang 2010-02-24 13:24 ` Greg KH 1 sibling, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-24 9:12 UTC (permalink / raw) To: Américo Wang Cc: Benjamin Herrenschmidt, Kernel development list, Eric W. Biederman, Greg KH Btw, request_firmware also needs annotation. johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-24 9:12 ` Johannes Berg @ 2010-02-25 1:43 ` Américo Wang 2010-03-08 7:46 ` Johannes Berg 0 siblings, 1 reply; 31+ messages in thread From: Américo Wang @ 2010-02-25 1:43 UTC (permalink / raw) To: Johannes Berg Cc: Benjamin Herrenschmidt, Kernel development list, Eric W. Biederman, Greg KH On Wed, Feb 24, 2010 at 5:12 PM, Johannes Berg <johannes@sipsolutions.net> wrote: > Btw, request_firmware also needs annotation. > Oh, mind to send a patch for it? ;) ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-25 1:43 ` Américo Wang @ 2010-03-08 7:46 ` Johannes Berg 0 siblings, 0 replies; 31+ messages in thread From: Johannes Berg @ 2010-03-08 7:46 UTC (permalink / raw) To: Américo Wang Cc: Benjamin Herrenschmidt, Kernel development list, Eric W. Biederman, Greg KH On Thu, 2010-02-25 at 09:43 +0800, Américo Wang wrote: > Oh, mind to send a patch for it? ;) I was going to, but can't now ... just returned from ski trip yesterday and will be travelling again in less than 24 hours. johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-24 7:34 ` Américo Wang 2010-02-24 9:12 ` Johannes Berg @ 2010-02-24 13:24 ` Greg KH 2010-02-25 1:46 ` Américo Wang 1 sibling, 1 reply; 31+ messages in thread From: Greg KH @ 2010-02-24 13:24 UTC (permalink / raw) To: Am??rico Wang Cc: Johannes Berg, Benjamin Herrenschmidt, Kernel development list, Eric W. Biederman On Wed, Feb 24, 2010 at 03:34:52PM +0800, Am??rico Wang wrote: > On Wed, Feb 24, 2010 at 3:32 PM, Johannes Berg > <johannes@sipsolutions.net> wrote: > > On Wed, 2010-02-24 at 13:49 +1100, Benjamin Herrenschmidt wrote: > >> On Sat, 2010-02-20 at 16:43 +0100, Johannes Berg wrote: > >> > This is required for lockdep. > >> > >> Please CC linuxppc-dev@ozlabs.org or it doesn't get caught by > >> patchwork. > > > > Eh, sure, but I think it needs to be part of Eric's series? > > > > Yeah, that's why we are Cc'ing Greg, since he took Eric's patches already. > > Greg? I didn't take all of them yet, that will happen later today, and I'll also queue this up, as it is then required. thanks, greg k-h ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] windfarm: init sysfs attributes 2010-02-24 13:24 ` Greg KH @ 2010-02-25 1:46 ` Américo Wang 0 siblings, 0 replies; 31+ messages in thread From: Américo Wang @ 2010-02-25 1:46 UTC (permalink / raw) To: Greg KH Cc: Johannes Berg, Benjamin Herrenschmidt, Kernel development list, Eric W. Biederman On Wed, Feb 24, 2010 at 9:24 PM, Greg KH <greg@kroah.com> wrote: > On Wed, Feb 24, 2010 at 03:34:52PM +0800, Am??rico Wang wrote: >> On Wed, Feb 24, 2010 at 3:32 PM, Johannes Berg >> <johannes@sipsolutions.net> wrote: >> > On Wed, 2010-02-24 at 13:49 +1100, Benjamin Herrenschmidt wrote: >> >> On Sat, 2010-02-20 at 16:43 +0100, Johannes Berg wrote: >> >> > This is required for lockdep. >> >> >> >> Please CC linuxppc-dev@ozlabs.org or it doesn't get caught by >> >> patchwork. >> > >> > Eh, sure, but I think it needs to be part of Eric's series? >> > >> >> Yeah, that's why we are Cc'ing Greg, since he took Eric's patches already. >> >> Greg? > > I didn't take all of them yet, that will happen later today, and I'll > also queue this up, as it is then required. Thanks, also this one: http://lkml.org/lkml/2010/2/20/119 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:03 ` Américo Wang 2010-02-20 15:07 ` Johannes Berg 2010-02-20 15:08 ` Johannes Berg @ 2010-02-20 15:14 ` Johannes Berg 2010-02-20 15:31 ` Américo Wang 2 siblings, 1 reply; 31+ messages in thread From: Johannes Berg @ 2010-02-20 15:14 UTC (permalink / raw) To: Américo Wang; +Cc: Kernel development list, Eric W. Biederman On Sat, 2010-02-20 at 23:03 +0800, Américo Wang wrote: > This should be fixed by the following patch, it is based on the > 4 patches from Eric. Thanks, one down. [ 1.556276] windfarm: initializing for dual-core desktop G5 [ 1.822554] BUG: key 6b6b6b6b6b6b6b6b not in .data! [ 1.827044] ------------[ cut here ]------------ [ 1.831498] Badness at kernel/lockdep.c:2706 [ 1.836013] NIP: c0000000000b6a3c LR: c0000000000b6a20 CTR: 0000000000000000 [ 1.840721] REGS: c0000002161976a0 TRAP: 0700 Not tainted (2.6.33-rc8-00140-g4ec62b2-dirty) [ 1.845620] MSR: 9000000000029032 <EE,ME,CE,IR,DR> CR: 24000022 XER: 000fffff [ 1.850679] TASK = c000000216198000[1] 'swapper' THREAD: c000000216194000 CPU: 1 [ 1.850884] GPR00: 0000000000000000 c000000216197920 c000000000b10328 0000000000000001 [ 1.856050] GPR04: 0000000000000001 c000000000070d0c 0000000000000000 0000000000000002 [ 1.861327] GPR08: 0000000000000000 c0000000014320f0 0000000000000001 c000000000b27638 [ 1.866640] GPR12: 0000000024000044 c000000000b21680 0000000000000056 0000000001400000 [ 1.871978] GPR16: 0000000000240ee0 c000000000718923 c0000000007ff6ec 000000000000005e [ 1.877351] GPR20: c0000000007e6118 c000000002b74a58 c000000216194080 c000000002b74a70 [ 1.882770] GPR24: 0000000000000000 0000000000000000 fffffffffffffff4 c00000021643ee40 [ 1.888249] GPR28: 6b6b6b6b6b6b6b6b c00000021644b188 c000000000a77780 c000000216197920 [ 1.899228] NIP [c0000000000b6a3c] .lockdep_init_map+0x148/0x66c [ 1.904944] LR [c0000000000b6a20] .lockdep_init_map+0x12c/0x66c [ 1.910740] Call Trace: [ 1.916549] [c000000216197920] [c0000000000b6a08] .lockdep_init_map+0x114/0x66c (unreliable) [ 1.922686] [c000000216197a20] [c0000000001efd58] .sysfs_add_file_mode+0x90/0x124 [ 1.928883] [c000000216197ae0] [c0000000001efe28] .sysfs_add_file+0x3c/0x50 [ 1.935088] [c000000216197b80] [c0000000001eff84] .sysfs_create_file+0x5c/0x74 [ 1.941348] [c000000216197c20] [c000000000429284] .device_create_file+0x40/0x5c [ 1.941356] [c000000216197cc0] [c000000000440fec] .wf_register_sensor+0x108/0x178 [ 1.941363] [c000000216197d70] [c0000000007e6368] .smu_sensors_init+0x3b8/0x690 [ 1.941369] [c000000216197e40] [c0000000000084e4] .do_one_initcall+0xac/0x204 [ 1.941374] [c000000216197ef0] [c0000000007b84b8] .kernel_init+0x1f0/0x270 [ 1.941380] [c000000216197f90] [c000000000028f8c] .kernel_thread+0x54/0x70 [ 1.941383] Instruction dump: [ 1.941385] e93e81c8 80090000 2f800000 409e04f4 482fa5e5 60000000 2fa30000 419e04e4 [ 1.941395] e93e81d0 80090000 2f800000 409e04d4 <0fe00000> 480004cc fb9d0000 e93e8018 I think I get the point ... I'll go through myself. johannes ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: sysfs lockdep complaint 2010-02-20 15:14 ` sysfs lockdep complaint Johannes Berg @ 2010-02-20 15:31 ` Américo Wang 0 siblings, 0 replies; 31+ messages in thread From: Américo Wang @ 2010-02-20 15:31 UTC (permalink / raw) To: Johannes Berg Cc: Américo Wang, Kernel development list, Eric W. Biederman On Sat, Feb 20, 2010 at 04:14:58PM +0100, Johannes Berg wrote: >On Sat, 2010-02-20 at 23:03 +0800, Américo Wang wrote: > >> This should be fixed by the following patch, it is based on the >> 4 patches from Eric. > >Thanks, one down. > >[ 1.556276] windfarm: initializing for dual-core desktop G5 >[ 1.822554] BUG: key 6b6b6b6b6b6b6b6b not in .data! >[ 1.827044] ------------[ cut here ]------------ >[ 1.831498] Badness at kernel/lockdep.c:2706 >[ 1.836013] NIP: c0000000000b6a3c LR: c0000000000b6a20 CTR: 0000000000000000 >[ 1.840721] REGS: c0000002161976a0 TRAP: 0700 Not tainted (2.6.33-rc8-00140-g4ec62b2-dirty) >[ 1.845620] MSR: 9000000000029032 <EE,ME,CE,IR,DR> CR: 24000022 XER: 000fffff >[ 1.850679] TASK = c000000216198000[1] 'swapper' THREAD: c000000216194000 CPU: 1 >[ 1.850884] GPR00: 0000000000000000 c000000216197920 c000000000b10328 0000000000000001 >[ 1.856050] GPR04: 0000000000000001 c000000000070d0c 0000000000000000 0000000000000002 >[ 1.861327] GPR08: 0000000000000000 c0000000014320f0 0000000000000001 c000000000b27638 >[ 1.866640] GPR12: 0000000024000044 c000000000b21680 0000000000000056 0000000001400000 >[ 1.871978] GPR16: 0000000000240ee0 c000000000718923 c0000000007ff6ec 000000000000005e >[ 1.877351] GPR20: c0000000007e6118 c000000002b74a58 c000000216194080 c000000002b74a70 >[ 1.882770] GPR24: 0000000000000000 0000000000000000 fffffffffffffff4 c00000021643ee40 >[ 1.888249] GPR28: 6b6b6b6b6b6b6b6b c00000021644b188 c000000000a77780 c000000216197920 >[ 1.899228] NIP [c0000000000b6a3c] .lockdep_init_map+0x148/0x66c >[ 1.904944] LR [c0000000000b6a20] .lockdep_init_map+0x12c/0x66c >[ 1.910740] Call Trace: >[ 1.916549] [c000000216197920] [c0000000000b6a08] .lockdep_init_map+0x114/0x66c (unreliable) >[ 1.922686] [c000000216197a20] [c0000000001efd58] .sysfs_add_file_mode+0x90/0x124 >[ 1.928883] [c000000216197ae0] [c0000000001efe28] .sysfs_add_file+0x3c/0x50 >[ 1.935088] [c000000216197b80] [c0000000001eff84] .sysfs_create_file+0x5c/0x74 >[ 1.941348] [c000000216197c20] [c000000000429284] .device_create_file+0x40/0x5c >[ 1.941356] [c000000216197cc0] [c000000000440fec] .wf_register_sensor+0x108/0x178 >[ 1.941363] [c000000216197d70] [c0000000007e6368] .smu_sensors_init+0x3b8/0x690 >[ 1.941369] [c000000216197e40] [c0000000000084e4] .do_one_initcall+0xac/0x204 >[ 1.941374] [c000000216197ef0] [c0000000007b84b8] .kernel_init+0x1f0/0x270 >[ 1.941380] [c000000216197f90] [c000000000028f8c] .kernel_thread+0x54/0x70 >[ 1.941383] Instruction dump: >[ 1.941385] e93e81c8 80090000 2f800000 409e04f4 482fa5e5 60000000 2fa30000 419e04e4 >[ 1.941395] e93e81d0 80090000 2f800000 409e04d4 <0fe00000> 480004cc fb9d0000 e93e8018 > > >I think I get the point ... I'll go through myself. > Thank you! For this case, you could add sysfs_attr_init() in wf_register_sensor(). ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2010-03-08 7:46 UTC | newest] Thread overview: 31+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-02-18 9:32 sysfs lockdep complaint Johannes Berg 2010-02-20 9:26 ` Américo Wang 2010-02-20 11:13 ` Johannes Berg 2010-02-20 13:54 ` Américo Wang 2010-02-20 14:00 ` Johannes Berg 2010-02-20 11:20 ` Johannes Berg 2010-02-20 13:51 ` Américo Wang 2010-02-20 13:58 ` Johannes Berg 2010-02-20 15:16 ` Américo Wang 2010-02-20 14:01 ` Johannes Berg 2010-02-20 15:03 ` Américo Wang 2010-02-20 15:07 ` Johannes Berg 2010-02-20 15:08 ` Johannes Berg 2010-02-20 15:20 ` Américo Wang 2010-02-20 15:28 ` Johannes Berg 2010-02-20 15:31 ` Johannes Berg 2010-02-20 15:44 ` Américo Wang 2010-02-20 15:44 ` Johannes Berg 2010-02-20 15:40 ` Américo Wang 2010-02-20 15:41 ` [PATCH] module: init sysfs attributes Johannes Berg 2010-02-20 15:43 ` [PATCH] windfarm: " Johannes Berg 2010-02-24 2:49 ` Benjamin Herrenschmidt 2010-02-24 7:32 ` Johannes Berg 2010-02-24 7:34 ` Américo Wang 2010-02-24 9:12 ` Johannes Berg 2010-02-25 1:43 ` Américo Wang 2010-03-08 7:46 ` Johannes Berg 2010-02-24 13:24 ` Greg KH 2010-02-25 1:46 ` Américo Wang 2010-02-20 15:14 ` sysfs lockdep complaint Johannes Berg 2010-02-20 15:31 ` Américo Wang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox