Subject: linux-next: build failure after merge of the bcachefs tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 26 Mar 2025 13:28:19 +1100

Hi all,

After merging the bcachefs tree, today's linux-next build (x86_64
allmodconfig) failed like this:

fs/bcachefs/time_stats.c: In function 'bch2_time_stats_reset':
fs/bcachefs/time_stats.c:165:27: error: comparison of pointers to disjoint address spaces
  165 |             stats->buffer != TIME_STATS_NONPCPU) {
      |                           ^~
fs/bcachefs/time_stats.c: In function 'bch2_time_stats_exit':
fs/bcachefs/time_stats.c:175:27: error: comparison of pointers to disjoint address spaces
  175 |         if (stats->buffer != TIME_STATS_NONPCPU) {
      |                           ^~
fs/bcachefs/time_stats.c: In function 'bch2_time_stats_init_no_pcpu':
fs/bcachefs/time_stats.c:192:23: error: assignment from pointer to non-enclosed address space
  192 |         stats->buffer = TIME_STATS_NONPCPU;
      |                       ^
fs/bcachefs/time_stats.c:192:23: note: expected '__seg_gs struct time_stat_buffer *' but pointer is of type 'struct time_stat_buffer *'

Caused by commit

  5490554cf06f ("bcachefs: bch2_time_stats_init_no_pcpu()")

interacting with commit

  6a367577153a ("percpu/x86: enable strict percpu checks via named AS qualifiers")
(or an associated one)

from the mm-stable tree.

I have applied the following merge fix patch for today (but I think it
could just be applied to the bcachefs tree).

From: Stephen Rothwell <[email-masked]>
Date: Wed, 26 Mar 2025 13:15:00 +1100
Subject: [PATCH] fix up for "bcachefs: bch2_time_stats_init_no_pcpu()"

interacting with "percpu/x86: enable strict percpu checks via named AS qualifiers"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 fs/bcachefs/time_stats.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/bcachefs/time_stats.c b/fs/bcachefs/time_stats.c
index a8382d876835..b16540aa9ca4 100644
--- a/fs/bcachefs/time_stats.c
+++ b/fs/bcachefs/time_stats.c
@@ -11,7 +11,7 @@
 #include "time_stats.h"
 
 /* disable automatic switching to percpu mode */
-#define TIME_STATS_NONPCPU	((struct time_stat_buffer *) 1)
+#define TIME_STATS_NONPCPU	((struct time_stat_buffer __percpu *) 1)
 
 static const struct time_unit time_units[] = {
 	{ "ns",		1		 },
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell