All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: "Erhard F." <erhard_f@mailbox.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] powerpc/powermac: Add missing lockdep_register_key()
Date: Tue, 30 Nov 2021 15:06:13 +0100	[thread overview]
Message-ID: <c8cbdc08-f37f-5be5-f9ca-68fcd2dc1621@csgroup.eu> (raw)
In-Reply-To: <20211130145318.5fcdf633@yea>



Le 30/11/2021 à 14:53, Erhard F. a écrit :
> On Tue, 30 Nov 2021 10:32:42 +0100
> Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
> 
>> KeyWest i2c @0xf8001003 irq 42 /uni-n@f8000000/i2c@f8001000
>> BUG: key c2d00cbc has not been registered!
>> ------------[ cut here ]------------
>> DEBUG_LOCKS_WARN_ON(1)
>> WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:4801 lockdep_init_map_type+0x4c0/0xb4c
>> Modules linked in:
>> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.5-gentoo-PowerMacG4 #9
>> NIP:  c01a9428 LR: c01a9428 CTR: 00000000
>> REGS: e1033cf0 TRAP: 0700   Not tainted  (5.15.5-gentoo-PowerMacG4)
>> MSR:  00029032 <EE,ME,IR,DR,RI>  CR: 24002002  XER: 00000000
>>
>> GPR00: c01a9428 e1033db0 c2d1cf20 00000016 00000004 00000001 c01c0630 e1033a73
>> GPR08: 00000000 00000000 00000000 e1033db0 24002004 00000000 f8729377 00000003
>> GPR16: c1829a9c 00000000 18305357 c1416fc0 c1416f80 c006ac60 c2d00ca8 c1416f00
>> GPR24: 00000000 c21586f0 c2160000 00000000 c2d00cbc c2170000 c216e1a0 c2160000
>> NIP [c01a9428] lockdep_init_map_type+0x4c0/0xb4c
>> LR [c01a9428] lockdep_init_map_type+0x4c0/0xb4c
>> Call Trace:
>> [e1033db0] [c01a9428] lockdep_init_map_type+0x4c0/0xb4c (unreliable)
>> [e1033df0] [c1c177b8] kw_i2c_add+0x334/0x424
>> [e1033e20] [c1c18294] pmac_i2c_init+0x9ec/0xa9c
>> [e1033e80] [c1c1a790] smp_core99_probe+0xbc/0x35c
>> [e1033eb0] [c1c03cb0] kernel_init_freeable+0x190/0x5a4
>> [e1033f10] [c000946c] kernel_init+0x28/0x154
>> [e1033f30] [c0035148] ret_from_kernel_thread+0x14/0x1c
>>
>> Add missing lockdep_register_key()
>>
>> Reported-by: Erhard Furtner <erhard_f@mailbox.org>
>> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
>> ---
>>   arch/powerpc/platforms/powermac/low_i2c.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
>> index f77a59b5c2e1..de34fa34c42d 100644
>> --- a/arch/powerpc/platforms/powermac/low_i2c.c
>> +++ b/arch/powerpc/platforms/powermac/low_i2c.c
>> @@ -582,6 +582,7 @@ static void __init kw_i2c_add(struct pmac_i2c_host_kw *host,
>>   	bus->close = kw_i2c_close;
>>   	bus->xfer = kw_i2c_xfer;
>>   	mutex_init(&bus->mutex);
>> +	lockdep_register_key(&bus->lock_key);
>>   	lockdep_set_class(&bus->mutex, &bus->lock_key);
>>   	if (controller == busnode)
>>   		bus->flags = pmac_i2c_multibus;
>> -- 
>> 2.33.1
>>
> 
> The patch applied on 5.15.5 but unfortunately was not enough to fix the lockdep bug.
> 
> Originally was bug #200055 (https://bugzilla.kernel.org/show_bug.cgi?id=200055).
> 

Is that still exactly the same backtrace , ie still pointing to 
kw_i2c_add() ?

Because I see from original bug that in fact the offending commit added 
lockdep_set_class() at 3 places. So it is likely that 
lockdep_register_key() also needs to be added at the two other places.

So if the call trace now gives pmu_i2c_probe() or smu_i2c_probe() then 
you could try and add lockdep_register_key() also there and see if it 
fixes things.

Christophe

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: "Erhard F." <erhard_f@mailbox.org>
Cc: linuxppc-dev@lists.ozlabs.org, Paul Mackerras <paulus@samba.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] powerpc/powermac: Add missing lockdep_register_key()
Date: Tue, 30 Nov 2021 15:06:13 +0100	[thread overview]
Message-ID: <c8cbdc08-f37f-5be5-f9ca-68fcd2dc1621@csgroup.eu> (raw)
In-Reply-To: <20211130145318.5fcdf633@yea>



Le 30/11/2021 à 14:53, Erhard F. a écrit :
> On Tue, 30 Nov 2021 10:32:42 +0100
> Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
> 
>> KeyWest i2c @0xf8001003 irq 42 /uni-n@f8000000/i2c@f8001000
>> BUG: key c2d00cbc has not been registered!
>> ------------[ cut here ]------------
>> DEBUG_LOCKS_WARN_ON(1)
>> WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:4801 lockdep_init_map_type+0x4c0/0xb4c
>> Modules linked in:
>> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.5-gentoo-PowerMacG4 #9
>> NIP:  c01a9428 LR: c01a9428 CTR: 00000000
>> REGS: e1033cf0 TRAP: 0700   Not tainted  (5.15.5-gentoo-PowerMacG4)
>> MSR:  00029032 <EE,ME,IR,DR,RI>  CR: 24002002  XER: 00000000
>>
>> GPR00: c01a9428 e1033db0 c2d1cf20 00000016 00000004 00000001 c01c0630 e1033a73
>> GPR08: 00000000 00000000 00000000 e1033db0 24002004 00000000 f8729377 00000003
>> GPR16: c1829a9c 00000000 18305357 c1416fc0 c1416f80 c006ac60 c2d00ca8 c1416f00
>> GPR24: 00000000 c21586f0 c2160000 00000000 c2d00cbc c2170000 c216e1a0 c2160000
>> NIP [c01a9428] lockdep_init_map_type+0x4c0/0xb4c
>> LR [c01a9428] lockdep_init_map_type+0x4c0/0xb4c
>> Call Trace:
>> [e1033db0] [c01a9428] lockdep_init_map_type+0x4c0/0xb4c (unreliable)
>> [e1033df0] [c1c177b8] kw_i2c_add+0x334/0x424
>> [e1033e20] [c1c18294] pmac_i2c_init+0x9ec/0xa9c
>> [e1033e80] [c1c1a790] smp_core99_probe+0xbc/0x35c
>> [e1033eb0] [c1c03cb0] kernel_init_freeable+0x190/0x5a4
>> [e1033f10] [c000946c] kernel_init+0x28/0x154
>> [e1033f30] [c0035148] ret_from_kernel_thread+0x14/0x1c
>>
>> Add missing lockdep_register_key()
>>
>> Reported-by: Erhard Furtner <erhard_f@mailbox.org>
>> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
>> ---
>>   arch/powerpc/platforms/powermac/low_i2c.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
>> index f77a59b5c2e1..de34fa34c42d 100644
>> --- a/arch/powerpc/platforms/powermac/low_i2c.c
>> +++ b/arch/powerpc/platforms/powermac/low_i2c.c
>> @@ -582,6 +582,7 @@ static void __init kw_i2c_add(struct pmac_i2c_host_kw *host,
>>   	bus->close = kw_i2c_close;
>>   	bus->xfer = kw_i2c_xfer;
>>   	mutex_init(&bus->mutex);
>> +	lockdep_register_key(&bus->lock_key);
>>   	lockdep_set_class(&bus->mutex, &bus->lock_key);
>>   	if (controller == busnode)
>>   		bus->flags = pmac_i2c_multibus;
>> -- 
>> 2.33.1
>>
> 
> The patch applied on 5.15.5 but unfortunately was not enough to fix the lockdep bug.
> 
> Originally was bug #200055 (https://bugzilla.kernel.org/show_bug.cgi?id=200055).
> 

Is that still exactly the same backtrace , ie still pointing to 
kw_i2c_add() ?

Because I see from original bug that in fact the offending commit added 
lockdep_set_class() at 3 places. So it is likely that 
lockdep_register_key() also needs to be added at the two other places.

So if the call trace now gives pmu_i2c_probe() or smu_i2c_probe() then 
you could try and add lockdep_register_key() also there and see if it 
fixes things.

Christophe

  reply	other threads:[~2021-11-30 14:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-30  9:32 [PATCH] powerpc/powermac: Add missing lockdep_register_key() Christophe Leroy
2021-11-30  9:32 ` Christophe Leroy
2021-11-30 13:53 ` Erhard F.
2021-11-30 13:53   ` Erhard F.
2021-11-30 14:06   ` Christophe Leroy [this message]
2021-11-30 14:06     ` Christophe Leroy
2021-12-07 13:27 ` Michael Ellerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c8cbdc08-f37f-5be5-f9ca-68fcd2dc1621@csgroup.eu \
    --to=christophe.leroy@csgroup.eu \
    --cc=benh@kernel.crashing.org \
    --cc=erhard_f@mailbox.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.