public inbox for linux-next@vger.kernel.org
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the mm-unstable tree
@ 2025-09-11  6:05 Stephen Rothwell
  2025-09-11  7:44 ` Kairui Song
  0 siblings, 1 reply; 6+ messages in thread
From: Stephen Rothwell @ 2025-09-11  6:05 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Chris Li, Kairui Song, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1975 bytes --]

Hi all,

After merging the mm-unstable tree, today's linux-next build (x86_64
allnoconfig) failed like this:

In file included from mm/shmem.c:44:
mm/swap.h: In function 'folio_index':
mm/swap.h:462:24: error: implicit declaration of function 'swp_offset'; did you mean 'pud_offset'? [-Wimplicit-function-declaration]
  462 |                 return swp_offset(folio->swap);
      |                        ^~~~~~~~~~
      |                        pud_offset
In file included from mm/shmem.c:69:
include/linux/swapops.h: At top level:
include/linux/swapops.h:107:23: error: conflicting types for 'swp_offset'; have 'long unsigned int(swp_entry_t)'
  107 | static inline pgoff_t swp_offset(swp_entry_t entry)
      |                       ^~~~~~~~~~
mm/swap.h:462:24: note: previous implicit declaration of 'swp_offset' with type 'int()'
  462 |                 return swp_offset(folio->swap);
      |                        ^~~~~~~~~~

Caused by commit

  c2079bb89a0c ("mm, swap: use the swap table for the swap cache and switch API")

but not fixed by commit

  9b84186b7053 ("mm-swap-use-the-swap-table-for-the-swap-cache-and-switch-api-fix")

I applied this hack:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 11 Sep 2025 15:51:25 +1000
Subject: [PATCH] hack for "mm, swap: use the swap table for the swap cache and
 switch API"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 mm/swap.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/swap.h b/mm/swap.h
index ad339547ee8c..8428026aa8d7 100644
--- a/mm/swap.h
+++ b/mm/swap.h
@@ -458,8 +458,10 @@ static inline int non_swapcache_batch(swp_entry_t entry, int max_nr)
 static inline pgoff_t folio_index(struct folio *folio)
 {
 #ifdef CONFIG_MMU
+#ifdef CONFIG_SWAP
 	if (unlikely(folio_test_swapcache(folio)))
 		return swp_offset(folio->swap);
+#endif
 #endif
 	return folio->index;
 }
-- 
2.51.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the mm-unstable tree
  2025-09-11  6:05 linux-next: build failure after merge of the mm-unstable tree Stephen Rothwell
@ 2025-09-11  7:44 ` Kairui Song
  0 siblings, 0 replies; 6+ messages in thread
From: Kairui Song @ 2025-09-11  7:44 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Chris Li, Kairui Song, Linux Kernel Mailing List,
	Linux Next Mailing List

On Thu, Sep 11, 2025 at 04:05:10PM +0800, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the mm-unstable tree, today's linux-next build (x86_64
> allnoconfig) failed like this:
> 
> In file included from mm/shmem.c:44:
> mm/swap.h: In function 'folio_index':
> mm/swap.h:462:24: error: implicit declaration of function 'swp_offset'; did you mean 'pud_offset'? [-Wimplicit-function-declaration]
>   462 |                 return swp_offset(folio->swap);
>       |                        ^~~~~~~~~~
>       |                        pud_offset
> In file included from mm/shmem.c:69:
> include/linux/swapops.h: At top level:
> include/linux/swapops.h:107:23: error: conflicting types for 'swp_offset'; have 'long unsigned int(swp_entry_t)'
>   107 | static inline pgoff_t swp_offset(swp_entry_t entry)
>       |                       ^~~~~~~~~~
> mm/swap.h:462:24: note: previous implicit declaration of 'swp_offset' with type 'int()'
>   462 |                 return swp_offset(folio->swap);
>       |                        ^~~~~~~~~~
> 
> Caused by commit
> 
>   c2079bb89a0c ("mm, swap: use the swap table for the swap cache and switch API")
> 
> but not fixed by commit
> 
>   9b84186b7053 ("mm-swap-use-the-swap-table-for-the-swap-cache-and-switch-api-fix")
> 
> I applied this hack:
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 11 Sep 2025 15:51:25 +1000
> Subject: [PATCH] hack for "mm, swap: use the swap table for the swap cache and
>  switch API"
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  mm/swap.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/swap.h b/mm/swap.h
> index ad339547ee8c..8428026aa8d7 100644
> --- a/mm/swap.h
> +++ b/mm/swap.h
> @@ -458,8 +458,10 @@ static inline int non_swapcache_batch(swp_entry_t entry, int max_nr)
>  static inline pgoff_t folio_index(struct folio *folio)
>  {
>  #ifdef CONFIG_MMU
> +#ifdef CONFIG_SWAP
>  	if (unlikely(folio_test_swapcache(folio)))
>  		return swp_offset(folio->swap);
> +#endif
>  #endif
>  	return folio->index;
>  }
> -- 
> 2.51.0

Thanks for the report, I've fixed the issue in V3 of the patch already.

https://lore.kernel.org/linux-mm/20250910160833.3464-12-ryncsn@gmail.com/

There is another doc warning also fixed in V3.

> 
> -- 
> Cheers,
> Stephen Rothwell



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

* linux-next: build failure after merge of the mm-unstable tree
@ 2026-01-07  0:16 Stephen Rothwell
  0 siblings, 0 replies; 6+ messages in thread
From: Stephen Rothwell @ 2026-01-07  0:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Thomas Ballasi, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 7583 bytes --]

Hi all,

After merging the mm-unstable tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

In file included from include/trace/define_trace.h:132,
                 from include/trace/events/vmscan.h:569,
                 from mm/vmscan.c:73:
include/trace/events/vmscan.h: In function 'do_trace_event_raw_event_mm_shrink_slab_start':
include/trace/events/vmscan.h:248:68: error: invalid use of undefined type 'struct mem_cgroup'
  248 |                 __entry->memcg_id = sc->memcg ? cgroup_id(sc->memcg->css.cgroup) : 0;
      |                                                                    ^~
include/trace/trace_events.h:427:11: note: in definition of macro '__DECLARE_EVENT_CLASS'
  427 |         { assign; }                                                     \
      |           ^~~~~~
include/trace/trace_events.h:435:23: note: in expansion of macro 'PARAMS'
  435 |                       PARAMS(assign), PARAMS(print))                    \
      |                       ^~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
   40 |         DECLARE_EVENT_CLASS(name,                              \
      |         ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS'
   44 |                              PARAMS(assign),                   \
      |                              ^~~~~~
include/trace/events/vmscan.h:214:1: note: in expansion of macro 'TRACE_EVENT'
  214 | TRACE_EVENT(mm_shrink_slab_start,
      | ^~~~~~~~~~~
include/trace/events/vmscan.h:237:9: note: in expansion of macro 'TP_fast_assign'
  237 |         TP_fast_assign(
      |         ^~~~~~~~~~~~~~
include/trace/events/vmscan.h: In function 'do_trace_event_raw_event_mm_shrink_slab_end':
include/trace/events/vmscan.h:293:56: error: invalid use of undefined type 'struct mem_cgroup'
  293 |                 __entry->memcg_id = cgroup_id(sc->memcg->css.cgroup);
      |                                                        ^~
include/trace/trace_events.h:427:11: note: in definition of macro '__DECLARE_EVENT_CLASS'
  427 |         { assign; }                                                     \
      |           ^~~~~~
include/trace/trace_events.h:435:23: note: in expansion of macro 'PARAMS'
  435 |                       PARAMS(assign), PARAMS(print))                    \
      |                       ^~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
   40 |         DECLARE_EVENT_CLASS(name,                              \
      |         ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS'
   44 |                              PARAMS(assign),                   \
      |                              ^~~~~~
include/trace/events/vmscan.h:266:1: note: in expansion of macro 'TRACE_EVENT'
  266 | TRACE_EVENT(mm_shrink_slab_end,
      | ^~~~~~~~~~~
include/trace/events/vmscan.h:285:9: note: in expansion of macro 'TP_fast_assign'
  285 |         TP_fast_assign(
      |         ^~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:133:
include/trace/events/vmscan.h: In function 'do_perf_trace_mm_shrink_slab_start':
include/trace/events/vmscan.h:248:68: error: invalid use of undefined type 'struct mem_cgroup'
  248 |                 __entry->memcg_id = sc->memcg ? cgroup_id(sc->memcg->css.cgroup) : 0;
      |                                                                    ^~
include/trace/perf.h:51:11: note: in definition of macro '__DECLARE_EVENT_CLASS'
   51 |         { assign; }                                                     \
      |           ^~~~~~
include/trace/perf.h:67:23: note: in expansion of macro 'PARAMS'
   67 |                       PARAMS(assign), PARAMS(print))                    \
      |                       ^~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
   40 |         DECLARE_EVENT_CLASS(name,                              \
      |         ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS'
   44 |                              PARAMS(assign),                   \
      |                              ^~~~~~
include/trace/events/vmscan.h:214:1: note: in expansion of macro 'TRACE_EVENT'
  214 | TRACE_EVENT(mm_shrink_slab_start,
      | ^~~~~~~~~~~
include/trace/events/vmscan.h:237:9: note: in expansion of macro 'TP_fast_assign'
  237 |         TP_fast_assign(
      |         ^~~~~~~~~~~~~~
include/trace/events/vmscan.h: In function 'do_perf_trace_mm_shrink_slab_end':
include/trace/events/vmscan.h:293:56: error: invalid use of undefined type 'struct mem_cgroup'
  293 |                 __entry->memcg_id = cgroup_id(sc->memcg->css.cgroup);
      |                                                        ^~
include/trace/perf.h:51:11: note: in definition of macro '__DECLARE_EVENT_CLASS'
   51 |         { assign; }                                                     \
      |           ^~~~~~
include/trace/perf.h:67:23: note: in expansion of macro 'PARAMS'
   67 |                       PARAMS(assign), PARAMS(print))                    \
      |                       ^~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
   40 |         DECLARE_EVENT_CLASS(name,                              \
      |         ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:44:30: note: in expansion of macro 'PARAMS'
   44 |                              PARAMS(assign),                   \
      |                              ^~~~~~
include/trace/events/vmscan.h:266:1: note: in expansion of macro 'TRACE_EVENT'
  266 | TRACE_EVENT(mm_shrink_slab_end,
      | ^~~~~~~~~~~
include/trace/events/vmscan.h:285:9: note: in expansion of macro 'TP_fast_assign'
  285 |         TP_fast_assign(
      |         ^~~~~~~~~~~~~~

Caused by commit

  6093cd0a2a93 ("mm: vmscan: add cgroup IDs to vmscan tracepoints")

$ grep MEMCG .config
# CONFIG_MEMCG is not set

I have applied the following hack for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 7 Jan 2026 10:38:50 +1100
Subject: [PATCH] fix up for "mm: vmscan: add cgroup IDs to vmscan tracepoints"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 include/trace/events/vmscan.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h
index d438abfa03eb..6a8ec045ae58 100644
--- a/include/trace/events/vmscan.h
+++ b/include/trace/events/vmscan.h
@@ -245,7 +245,11 @@ TRACE_EVENT(mm_shrink_slab_start,
 		__entry->priority = priority;
 		__entry->nid = sc->nid;
 		__entry->pid = current->pid;
+#ifdef CONFIG_MEMCG
 		__entry->memcg_id = sc->memcg ? cgroup_id(sc->memcg->css.cgroup) : 0;
+#else
+		__entry->memcg_id = 0;
+#endif
 	),
 
 	TP_printk("%pS %p: nid: %d pid: %d memcg_id: %u objects to shrink %ld gfp_flags %s cache items %ld delta %lld total_scan %ld priority %d %s",
@@ -290,7 +294,11 @@ TRACE_EVENT(mm_shrink_slab_end,
 		__entry->nid = sc->nid;
 		__entry->retval = shrinker_retval;
 		__entry->pid = current->pid;
+#ifdef CONFIG_MEMCG
 		__entry->memcg_id = cgroup_id(sc->memcg->css.cgroup);
+#else
+		__entry->memcg_id = 0;
+#endif
 	),
 
 	TP_printk("%pS %p: nid: %d pid: %d memcg_id: %u unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d %s",
-- 
2.52.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* linux-next: build failure after merge of the mm-unstable tree
@ 2026-03-18 13:51 Mark Brown
  2026-03-18 18:20 ` Andrew Morton
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2026-03-18 13:51 UTC (permalink / raw)
  To: Andrew Morton, David Hildenbrand, Lorenzo Stoakes, Puranjay Mohan
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1106 bytes --]

Hi all,

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

Diff in /tmp/next/build/drivers/android/binder/page_range.rs:762:
     if let Some(unchecked_vma) = mmap_read.vma_lookup(vma_addr) {
         if let Some(vma) = check_vma(unchecked_vma, range_ptr) {
             let user_page_addr = vma_addr + (page_index << PAGE_SHIFT);
-        vma.zap_vma_range(user_page_addr, PAGE_SIZE);
+            vma.zap_vma_range(user_page_addr, PAGE_SIZE);
         }
     }
 
Diff in /tmp/next/build/drivers/android/binder/page_range.rs:762:
     if let Some(unchecked_vma) = mmap_read.vma_lookup(vma_addr) {
         if let Some(vma) = check_vma(unchecked_vma, range_ptr) {
             let user_page_addr = vma_addr + (page_index << PAGE_SHIFT);
-        vma.zap_vma_range(user_page_addr, PAGE_SIZE);
+            vma.zap_vma_range(user_page_addr, PAGE_SIZE);
         }
     }
 

Caused by commit

  320e410f0294b (mm: rename zap_page_range_single() to zap_vma_range())

I have used the tree from next-20260317 instead.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the mm-unstable tree
  2026-03-18 13:51 Mark Brown
@ 2026-03-18 18:20 ` Andrew Morton
  2026-03-18 19:08   ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2026-03-18 18:20 UTC (permalink / raw)
  To: Mark Brown
  Cc: David Hildenbrand, Lorenzo Stoakes, Puranjay Mohan,
	Linux Kernel Mailing List, Linux Next Mailing List

On Wed, 18 Mar 2026 13:51:01 +0000 Mark Brown <broonie@kernel.org> wrote:

> Hi all,
> 
> After merging the mm-unstable tree, today's linux-next build
> (x86_64 allmodconfig rustfmtcheck) failed like this:
> 
> Diff in /tmp/next/build/drivers/android/binder/page_range.rs:762:
>      if let Some(unchecked_vma) = mmap_read.vma_lookup(vma_addr) {
>          if let Some(vma) = check_vma(unchecked_vma, range_ptr) {
>              let user_page_addr = vma_addr + (page_index << PAGE_SHIFT);
> -        vma.zap_vma_range(user_page_addr, PAGE_SIZE);
> +            vma.zap_vma_range(user_page_addr, PAGE_SIZE);
>          }
>      }
>  
> Diff in /tmp/next/build/drivers/android/binder/page_range.rs:762:
>      if let Some(unchecked_vma) = mmap_read.vma_lookup(vma_addr) {
>          if let Some(vma) = check_vma(unchecked_vma, range_ptr) {
>              let user_page_addr = vma_addr + (page_index << PAGE_SHIFT);
> -        vma.zap_vma_range(user_page_addr, PAGE_SIZE);
> +            vma.zap_vma_range(user_page_addr, PAGE_SIZE);
>          }
>      }
>  
> 
> Caused by commit
> 
>   320e410f0294b (mm: rename zap_page_range_single() to zap_vma_range())
> 
> I have used the tree from next-20260317 instead.

huh, is this python?

--- a/drivers/android/binder/page_range.rs~mm-rename-zap_page_range_single-to-zap_vma_range-fix
+++ a/drivers/android/binder/page_range.rs
@@ -762,7 +762,7 @@ unsafe extern "C" fn rust_shrink_free_pa
     if let Some(unchecked_vma) = mmap_read.vma_lookup(vma_addr) {
         if let Some(vma) = check_vma(unchecked_vma, range_ptr) {
             let user_page_addr = vma_addr + (page_index << PAGE_SHIFT);
-        vma.zap_vma_range(user_page_addr, PAGE_SIZE);
+            vma.zap_vma_range(user_page_addr, PAGE_SIZE);
         }
     }
 
_


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

* Re: linux-next: build failure after merge of the mm-unstable tree
  2026-03-18 18:20 ` Andrew Morton
@ 2026-03-18 19:08   ` Mark Brown
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2026-03-18 19:08 UTC (permalink / raw)
  To: Andrew Morton, Miguel Ojeda
  Cc: David Hildenbrand, Lorenzo Stoakes, Puranjay Mohan,
	Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1425 bytes --]

On Wed, Mar 18, 2026 at 11:20:01AM -0700, Andrew Morton wrote:
> On Wed, 18 Mar 2026 13:51:01 +0000 Mark Brown <broonie@kernel.org> wrote:

> > Diff in /tmp/next/build/drivers/android/binder/page_range.rs:762:
> >      if let Some(unchecked_vma) = mmap_read.vma_lookup(vma_addr) {
> >          if let Some(vma) = check_vma(unchecked_vma, range_ptr) {
> >              let user_page_addr = vma_addr + (page_index << PAGE_SHIFT);
> > -        vma.zap_vma_range(user_page_addr, PAGE_SIZE);
> > +            vma.zap_vma_range(user_page_addr, PAGE_SIZE);
> >          }
> >      }

> > Caused by commit

> >   320e410f0294b (mm: rename zap_page_range_single() to zap_vma_range())

> > I have used the tree from next-20260317 instead.

> huh, is this python?

There's standard formatting for Rust, though it's not syntactic like it
is for Python.

> --- a/drivers/android/binder/page_range.rs~mm-rename-zap_page_range_single-to-zap_vma_range-fix
> +++ a/drivers/android/binder/page_range.rs
> @@ -762,7 +762,7 @@ unsafe extern "C" fn rust_shrink_free_pa
>      if let Some(unchecked_vma) = mmap_read.vma_lookup(vma_addr) {
>          if let Some(vma) = check_vma(unchecked_vma, range_ptr) {
>              let user_page_addr = vma_addr + (page_index << PAGE_SHIFT);
> -        vma.zap_vma_range(user_page_addr, PAGE_SIZE);
> +            vma.zap_vma_range(user_page_addr, PAGE_SIZE);
>          }
>      }

That should be it, yes.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2026-03-18 19:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-11  6:05 linux-next: build failure after merge of the mm-unstable tree Stephen Rothwell
2025-09-11  7:44 ` Kairui Song
  -- strict thread matches above, loose matches on Subject: below --
2026-01-07  0:16 Stephen Rothwell
2026-03-18 13:51 Mark Brown
2026-03-18 18:20 ` Andrew Morton
2026-03-18 19:08   ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox