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

From: Andrew Morton <[email-masked]>
Date: Wed, 14 Feb 2024 07:19:38 -0800

On Wed, 14 Feb 2024 14:57:19 +1100 Stephen Rothwell <[email-masked]> wrote:

> After merging the mm tree, today's linux-next build (sparc defconfig)
> failed like this:
> 
> In file included from include/linux/page_ext.h:7,
>                  from include/linux/mm.h:22,
>                  from fs/sysfs/file.c:18:
> include/linux/stackdepot.h:59:39: error: 'CONFIG_STACKDEPOT_MAX_FRAMES' undeclared here (not in a function)
>    59 |                 unsigned long entries[CONFIG_STACKDEPOT_MAX_FRAMES];    /* Frames */
>       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> (and many more)
> 
> Caused by commit
> 
>   18d4230bb372 ("lib/stackdepot: move stack_record struct definition into the header")

Thanks, I'll try this.

--- a/include/linux/stackdepot.h~lib-stackdepot-move-stack_record-struct-definition-into-the-header-fix
+++ a/include/linux/stackdepot.h
@@ -39,6 +39,7 @@ typedef u32 depot_stack_handle_t;
 #define DEPOT_POOL_INDEX_BITS (DEPOT_HANDLE_BITS - DEPOT_OFFSET_BITS - \
 			       STACK_DEPOT_EXTRA_BITS)
 
+#ifdef CONFIG_STACKDEPOT
 /* Compact structure that stores a reference to a stack. */
 union handle_parts {
 	depot_stack_handle_t handle;
@@ -73,6 +74,7 @@ struct stack_record {
 		};
 	};
 };
+#endif
 
 typedef u32 depot_flags_t;
 
_