Re: [PATCH] locking/rtmutex: Add the missing 'ES' of macro CONFIG_DEBUG_RT_MUTEXES

From: Boqun Feng
Date: Mon Aug 09 2021 - 21:47:36 EST


On Tue, Aug 10, 2021 at 09:21:15AM +0800, Leizhen (ThunderTown) wrote:
>
>
> On 2021/8/9 22:41, Will Deacon wrote:
> > On Sat, Jul 31, 2021 at 08:30:11PM +0800, Zhen Lei wrote:
> >> The build option name is defined as DEBUG_RT_MUTEXES in lib/Kconfig.debug,
> >> commit f41dcc18698e ("locking/rtmutex: Move debug functions as inlines
> >> into common header") can also corroborate this.
> >>
> >> Fixes: f7efc4799f81 ("locking/rtmutex: Inline chainwalk depth check")
> >> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
> >> ---
> >> kernel/locking/rtmutex.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
> >> index b5d9bb5202c6..ad0db322ed3b 100644
> >> --- a/kernel/locking/rtmutex.c
> >> +++ b/kernel/locking/rtmutex.c
> >> @@ -343,7 +343,7 @@ static __always_inline bool
> >> rt_mutex_cond_detect_deadlock(struct rt_mutex_waiter *waiter,
> >> enum rtmutex_chainwalk chwalk)
> >> {
> >> - if (IS_ENABLED(CONFIG_DEBUG_RT_MUTEX))
> >> + if (IS_ENABLED(CONFIG_DEBUG_RT_MUTEXES))
> >> return waiter != NULL;
> >> return chwalk == RT_MUTEX_FULL_CHAINWALK;
> >
> > Oops, yes. How did you find this?
>
> I found it by chance. When locating a futex problem, I was confused when
> reading this part of the code. I used "git grep -wn CONFIG_DEBUG_RT_MUTEX"
> to search for the implementation in other places. But I found that it was
> not used in other places, then I checked the patch history and found it.
>

FWIW, script/checkkconfigsymbols.py can be used to detect usage of
undefined CONFIG_*, Zhouyi Zhou used it to find a few cases in RCU
recently:

https://lore.kernel.org/lkml/CAABZP2wuWtGAGRqWJb3Gewm5VLZdZ_C=LRZsFbaG3jcQabO3qA@xxxxxxxxxxxxxx/

And thanks for the fix:

Acked-by: Boqun Feng <boqun.feng@xxxxxxxxx>

Regards,
Boqun

> >
> > Acked-by: Will Deacon <will@xxxxxxxxxx>
> >
> > Will
> > .
> >