* 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 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 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: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: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 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: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 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 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: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
* 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: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: 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: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: [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 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 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-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: [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
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