public inbox for linux-next@vger.kernel.org 
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat•com>
To: Randy Dunlap <rdunlap@infradead•org>,
	Stephen Rothwell <sfr@canb•auug.org.au>,
	Linux Next Mailing List <linux-next@vger•kernel.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger•kernel.org>,
	Peter Zijlstra <peterz@infradead•org>,
	Maxim Levitsky <mlevitsk@redhat•com>
Subject: Re: linux-next: Tree for May 29 (kernel/locking/rtmutex_api.c)
Date: Fri, 30 May 2025 09:52:34 +0200	[thread overview]
Message-ID: <a283a171-7c74-4e05-bdb1-dd28f1fe6a6e@redhat.com> (raw)
In-Reply-To: <2d9429d0-e76c-429b-80d4-780052e0907c@infradead.org>

On 5/29/25 19:12, Randy Dunlap wrote:
> 
> 
> On 5/28/25 11:58 PM, Stephen Rothwell wrote:
>> Hi all,
>>
>> Changes since 20250528:
>>
> 
> on x86_64 or i386:
> 
> 
> In file included from ../include/uapi/linux/posix_types.h:5,
>                   from ../include/uapi/linux/types.h:14,
>                   from ../include/linux/types.h:6,
>                   from ../include/linux/kasan-checks.h:5,
>                   from ../include/asm-generic/rwonce.h:26,
>                   from ./arch/x86/include/generated/asm/rwonce.h:1,
>                   from ../include/linux/compiler.h:390,
>                   from ../include/linux/export.h:5,
>                   from ../include/linux/linkage.h:7,
>                   from ../include/linux/preempt.h:10,
>                   from ../include/linux/spinlock.h:56,
>                   from ../kernel/locking/rtmutex_api.c:5:
> ../include/linux/stddef.h:8:14: error: expected declaration specifiers or ‘...’ before ‘(’ token
>      8 | #define NULL ((void *)0)
>        |              ^
> ../include/linux/mutex.h:183:46: note: in expansion of macro ‘NULL’
>    183 |         _mutex_lock_killable(lock, subclass, NULL)
>        |                                              ^~~~
> ../kernel/locking/rtmutex_api.c:547:13: note: in expansion of macro ‘mutex_lock_killable_nested’
>    547 | int __sched mutex_lock_killable_nested(struct mutex *lock,
>        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:552:19: error: ‘mutex_lock_killable_nested’ undeclared here (not in a function); did you mean ‘mutex_lock_io_nested’?
>    552 | EXPORT_SYMBOL_GPL(mutex_lock_killable_nested);
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ../include/linux/export.h:76:23: note: in definition of macro ‘__EXPORT_SYMBOL’
>     76 |         extern typeof(sym) sym;                                 \
>        |                       ^~~
> ../include/linux/export.h:90:41: note: in expansion of macro ‘_EXPORT_SYMBOL’
>     90 | #define EXPORT_SYMBOL_GPL(sym)          _EXPORT_SYMBOL(sym, "GPL")
>        |                                         ^~~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:552:1: note: in expansion of macro ‘EXPORT_SYMBOL_GPL’
>    552 | EXPORT_SYMBOL_GPL(mutex_lock_killable_nested);
>        | ^~~~~~~~~~~~~~~~~
> ../include/linux/stddef.h:8:14: error: expected declaration specifiers or ‘...’ before ‘(’ token
>      8 | #define NULL ((void *)0)
>        |              ^
> ../include/linux/mutex.h:215:60: note: in expansion of macro ‘NULL’
>    215 | #define mutex_trylock(lock) _mutex_trylock_nest_lock(lock, NULL)
>        |                                                            ^~~~
> ../kernel/locking/rtmutex_api.c:596:13: note: in expansion of macro ‘mutex_trylock’
>    596 | int __sched mutex_trylock(struct mutex *lock)
>        |             ^~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:609:15: error: ‘mutex_trylock’ undeclared here (not in a function); did you mean ‘ww_mutex_trylock’?
>    609 | EXPORT_SYMBOL(mutex_trylock);
>        |               ^~~~~~~~~~~~~
> ../include/linux/export.h:76:23: note: in definition of macro ‘__EXPORT_SYMBOL’
>     76 |         extern typeof(sym) sym;                                 \
>        |                       ^~~
> ../include/linux/export.h:89:41: note: in expansion of macro ‘_EXPORT_SYMBOL’
>     89 | #define EXPORT_SYMBOL(sym)              _EXPORT_SYMBOL(sym, "")
>        |                                         ^~~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:609:1: note: in expansion of macro ‘EXPORT_SYMBOL’
>    609 | EXPORT_SYMBOL(mutex_trylock);
>        | ^~~~~~~~~~~~~
> 
> 
> This seems to be due to <linux/mutex.h> containing a #define for mutex_lock_killable_nested()
> when DEBUG_PAGE_ALLOC is set and another for when DEBUG_PAGE_ALLOC is not set.
> But then rtmutex_api.c has a function by that name also... (for the DEBUG_PAGE_ALLOC=y case,
> which is set in my failing randconfig file, which is attached).

Yep, the bad condition is CONFIG_DEBUG_PAGE_ALLOC=y + CONFIG_RT_MUTEXES=y.
Patch at https://lore.kernel.org/r/20250530075136.11842-1-pbonzini@redhat.com.

Thanks for the report!

Paolo


      reply	other threads:[~2025-05-30  7:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-29  6:58 linux-next: Tree for May 29 Stephen Rothwell
2025-05-29 17:12 ` linux-next: Tree for May 29 (kernel/locking/rtmutex_api.c) Randy Dunlap
2025-05-30  7:52   ` Paolo Bonzini [this message]

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=a283a171-7c74-4e05-bdb1-dd28f1fe6a6e@redhat.com \
    --to=pbonzini@redhat$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-next@vger$(echo .)kernel.org \
    --cc=mlevitsk@redhat$(echo .)com \
    --cc=peterz@infradead$(echo .)org \
    --cc=rdunlap@infradead$(echo .)org \
    --cc=sfr@canb$(echo .)auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox