linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
@ 2021-09-26  6:33 Randy Dunlap
  2021-09-26  9:10 ` John Paul Adrian Glaubitz
  2021-09-26 10:51 ` Chris Down
  0 siblings, 2 replies; 4+ messages in thread
From: Randy Dunlap @ 2021-09-26  6:33 UTC (permalink / raw)
  To: linux-kernel
  Cc: Randy Dunlap, linux-ia64, Petr Mladek, Andrew Morton, Tony Luck,
	Chris Down

When CONFIG_PRINTK is not set, the CMPXCHG_BUGCHECK() macro calls
_printk(), but _printk() is a static inline function, not available
as an extern.
Since the purpose of the macro is to print the BUGCHECK info,
make this config option depend on PRINTK.

Fixes multiple occurrences of this build error:

../include/linux/printk.h:208:5: error: static declaration of '_printk' follows non-static declaration
  208 | int _printk(const char *s, ...)
      |     ^~~~~~~
In file included from ../arch/ia64/include/asm/cmpxchg.h:5,
../arch/ia64/include/uapi/asm/cmpxchg.h:146:28: note: previous declaration of '_printk' with type 'int(const char *, ...)'
  146 |                 extern int _printk(const char *fmt, ...);

Fixes: 337015573718 ("printk: Userspace format indexing support")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: linux-ia64@vger.kernel.org
Cc: Petr Mladek <pmladek@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Chris Down <chris@chrisdown.name>
---
 arch/ia64/Kconfig.debug |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20210917.orig/arch/ia64/Kconfig.debug
+++ linux-next-20210917/arch/ia64/Kconfig.debug
@@ -39,7 +39,7 @@ config DISABLE_VHPT
 
 config IA64_DEBUG_CMPXCHG
 	bool "Turn on compare-and-exchange bug checking (slow!)"
-	depends on DEBUG_KERNEL
+	depends on DEBUG_KERNEL && PRINTK
 	help
 	  Selecting this option turns on bug checking for the IA-64
 	  compare-and-exchange instructions.  This is slow!  Itaniums

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
  2021-09-26  6:33 [PATCH] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK Randy Dunlap
@ 2021-09-26  9:10 ` John Paul Adrian Glaubitz
  2021-09-26 17:10   ` Randy Dunlap
  2021-09-26 10:51 ` Chris Down
  1 sibling, 1 reply; 4+ messages in thread
From: John Paul Adrian Glaubitz @ 2021-09-26  9:10 UTC (permalink / raw)
  To: Randy Dunlap, linux-kernel
  Cc: linux-ia64, Petr Mladek, Andrew Morton, Tony Luck, Chris Down

Hi Randy!

On 9/26/21 08:33, Randy Dunlap wrote:
> When CONFIG_PRINTK is not set, the CMPXCHG_BUGCHECK() macro calls
> _printk(), but _printk() is a static inline function, not available
> as an extern.
> Since the purpose of the macro is to print the BUGCHECK info,
> make this config option depend on PRINTK.
> 
> Fixes multiple occurrences of this build error:
> 
> ../include/linux/printk.h:208:5: error: static declaration of '_printk' follows non-static declaration
>   208 | int _printk(const char *s, ...)
>       |     ^~~~~~~
> In file included from ../arch/ia64/include/asm/cmpxchg.h:5,
> ../arch/ia64/include/uapi/asm/cmpxchg.h:146:28: note: previous declaration of '_printk' with type 'int(const char *, ...)'
>   146 |                 extern int _printk(const char *fmt, ...);
> 
> Fixes: 337015573718 ("printk: Userspace format indexing support")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: linux-ia64@vger.kernel.org
> Cc: Petr Mladek <pmladek@suse.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Chris Down <chris@chrisdown.name>
> ---
>  arch/ia64/Kconfig.debug |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- linux-next-20210917.orig/arch/ia64/Kconfig.debug
> +++ linux-next-20210917/arch/ia64/Kconfig.debug
> @@ -39,7 +39,7 @@ config DISABLE_VHPT
>  
>  config IA64_DEBUG_CMPXCHG
>  	bool "Turn on compare-and-exchange bug checking (slow!)"
> -	depends on DEBUG_KERNEL
> +	depends on DEBUG_KERNEL && PRINTK
>  	help
>  	  Selecting this option turns on bug checking for the IA-64
>  	  compare-and-exchange instructions.  This is slow!  Itaniums

We currently don't have a maintainer for ia64 - although I would be willing to pick
up the job - so your patch would have to go through someone else's tree.

I can boot test the patch on my RX2660 in the mean time.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
  2021-09-26  6:33 [PATCH] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK Randy Dunlap
  2021-09-26  9:10 ` John Paul Adrian Glaubitz
@ 2021-09-26 10:51 ` Chris Down
  1 sibling, 0 replies; 4+ messages in thread
From: Chris Down @ 2021-09-26 10:51 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: linux-kernel, linux-ia64, Petr Mladek, Andrew Morton, Tony Luck

Hi Randy,

Randy Dunlap writes:
>When CONFIG_PRINTK is not set, the CMPXCHG_BUGCHECK() macro calls
>_printk(), but _printk() is a static inline function, not available
>as an extern.
>Since the purpose of the macro is to print the BUGCHECK info,
>make this config option depend on PRINTK.
>
>Fixes multiple occurrences of this build error:
>
>../include/linux/printk.h:208:5: error: static declaration of '_printk' follows non-static declaration
>  208 | int _printk(const char *s, ...)
>      |     ^~~~~~~
>In file included from ../arch/ia64/include/asm/cmpxchg.h:5,
>../arch/ia64/include/uapi/asm/cmpxchg.h:146:28: note: previous declaration of '_printk' with type 'int(const char *, ...)'
>  146 |                 extern int _printk(const char *fmt, ...);
>
>Fixes: 337015573718 ("printk: Userspace format indexing support")

This Fixes tag doesn't make much sense. This was already broken long before 
that patch, just the error message changed: printk() was already static inline 
on !CONFIG_PRINTK for eons.

>Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>Cc: linux-ia64@vger.kernel.org
>Cc: Petr Mladek <pmladek@suse.com>
>Cc: Andrew Morton <akpm@linux-foundation.org>
>Cc: Tony Luck <tony.luck@intel.com>
>Cc: Chris Down <chris@chrisdown.name>
>---
> arch/ia64/Kconfig.debug |    2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>--- linux-next-20210917.orig/arch/ia64/Kconfig.debug
>+++ linux-next-20210917/arch/ia64/Kconfig.debug
>@@ -39,7 +39,7 @@ config DISABLE_VHPT
>
> config IA64_DEBUG_CMPXCHG
> 	bool "Turn on compare-and-exchange bug checking (slow!)"
>-	depends on DEBUG_KERNEL
>+	depends on DEBUG_KERNEL && PRINTK
> 	help
> 	  Selecting this option turns on bug checking for the IA-64
> 	  compare-and-exchange instructions.  This is slow!  Itaniums

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
  2021-09-26  9:10 ` John Paul Adrian Glaubitz
@ 2021-09-26 17:10   ` Randy Dunlap
  0 siblings, 0 replies; 4+ messages in thread
From: Randy Dunlap @ 2021-09-26 17:10 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz, linux-kernel
  Cc: linux-ia64, Petr Mladek, Andrew Morton, Tony Luck, Chris Down

On 9/26/21 2:10 AM, John Paul Adrian Glaubitz wrote:
> Hi Randy!
> 
> On 9/26/21 08:33, Randy Dunlap wrote:
>> When CONFIG_PRINTK is not set, the CMPXCHG_BUGCHECK() macro calls
>> _printk(), but _printk() is a static inline function, not available
>> as an extern.
>> Since the purpose of the macro is to print the BUGCHECK info,
>> make this config option depend on PRINTK.
>>
>> Fixes multiple occurrences of this build error:
>>
>> ../include/linux/printk.h:208:5: error: static declaration of '_printk' follows non-static declaration
>>    208 | int _printk(const char *s, ...)
>>        |     ^~~~~~~
>> In file included from ../arch/ia64/include/asm/cmpxchg.h:5,
>> ../arch/ia64/include/uapi/asm/cmpxchg.h:146:28: note: previous declaration of '_printk' with type 'int(const char *, ...)'
>>    146 |                 extern int _printk(const char *fmt, ...);
>>
>> Fixes: 337015573718 ("printk: Userspace format indexing support")
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Cc: linux-ia64@vger.kernel.org
>> Cc: Petr Mladek <pmladek@suse.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Tony Luck <tony.luck@intel.com>
>> Cc: Chris Down <chris@chrisdown.name>
>> ---
>>   arch/ia64/Kconfig.debug |    2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- linux-next-20210917.orig/arch/ia64/Kconfig.debug
>> +++ linux-next-20210917/arch/ia64/Kconfig.debug
>> @@ -39,7 +39,7 @@ config DISABLE_VHPT
>>   
>>   config IA64_DEBUG_CMPXCHG
>>   	bool "Turn on compare-and-exchange bug checking (slow!)"
>> -	depends on DEBUG_KERNEL
>> +	depends on DEBUG_KERNEL && PRINTK
>>   	help
>>   	  Selecting this option turns on bug checking for the IA-64
>>   	  compare-and-exchange instructions.  This is slow!  Itaniums
> 
> We currently don't have a maintainer for ia64 - although I would be willing to pick
> up the job - so your patch would have to go through someone else's tree.

Yes, I know about no-maintainer. That's why Andrew is cc-ed on this.
(or even Peter could merge it.)

> I can boot test the patch on my RX2660 in the mean time.


and Chris wrote:

> This Fixes tag doesn't make much sense. This was already broken long before that patch, just the error message changed: printk() was already static inline on !CONFIG_PRINTK for eons. 

OK, I corrected that for v2. Thanks.

-- 
~Randy

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-09-26 17:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-26  6:33 [PATCH] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK Randy Dunlap
2021-09-26  9:10 ` John Paul Adrian Glaubitz
2021-09-26 17:10   ` Randy Dunlap
2021-09-26 10:51 ` Chris Down

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).