Re: [PATCH v7 3/6] mm/hmm: do the plumbing for HMM to participate in migration

kernel test robot
2026-03-30T11:05:59Z

Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on 7aaa8047eafd0bd628065b15757d9b48c5f9c07d]

url: https://github.com/intel-lab-lkp/linux/commits/mpenttil-redhat-com/mm-Kconfig-changes-for-migrate-on-fault-for-device-pages/20260330-124915
base: 7aaa8047eafd0bd628065b15757d9b48c5f9c07d
patch link: https://lore.kernel.org/r/20260330043017.251808-4-mpenttil%40redhat.com
patch subject: [PATCH v7 3/6] mm/hmm: do the plumbing for HMM to participate in migration
config: hexagon-allnoconfig (https://download.01.org/0day-ci/archive/20260330/202603301832.rpYcya7E-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 2cd67b8b69f78e3f95918204320c3075a74ba16c)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260330/202603301832.rpYcya7E-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603301832.rpYcya7E-lkp@intel.com/

All errors (new ones prefixed by >>):

In file included from fs/aio.c:40:
>> include/linux/migrate.h:114:1: error: function definition is not allowed here
114 | {
| ^
include/linux/migrate.h:127:1: error: function definition is not allowed here
127 | {
| ^
include/linux/migrate.h:131:1: error: function definition is not allowed here
131 | {
| ^
In file included from fs/aio.c:41:
In file included from include/linux/ramfs.h:5:
In file included from include/linux/fs_parser.h:11:
>> include/linux/fs_context.h:141:1: error: function definition is not allowed here
141 | {
| ^
In file included from fs/aio.c:41:
In file included from include/linux/ramfs.h:5:
>> include/linux/fs_parser.h:75:1: error: function definition is not allowed here
75 | {
| ^
include/linux/fs_parser.h:95:1: error: function definition is not allowed here
95 | { return true; }
| ^
In file included from fs/aio.c:41:
>> include/linux/ramfs.h:15:1: error: function definition is not allowed here
15 | {
| ^
In file included from fs/aio.c:49:
>> fs/internal.h:113:1: error: function definition is not allowed here
113 | {
| ^
fs/internal.h:121:1: error: function definition is not allowed here
121 | {
| ^
fs/internal.h:150:1: error: function definition is not allowed here
150 | {
| ^
fs/internal.h:170:1: error: function definition is not allowed here
170 | {
| ^
>> fs/internal.h:214:6: error: conflicting types for 'in_group_or_capable'
214 | bool in_group_or_capable(struct mnt_idmap *idmap,
| ^
include/linux/fs.h:1842:6: note: previous declaration is here
1842 | bool in_group_or_capable(struct mnt_idmap *idmap,
| ^
In file included from fs/aio.c:49:
fs/internal.h:313:1: error: function definition is not allowed here
313 | {
| ^
fs/internal.h:319:1: error: function definition is not allowed here
319 | {
| ^
>> fs/internal.h:330:19: error: conflicting types for 'mnt_idmap_get'
330 | struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap);
| ^
include/linux/mnt_idmapping.h:124:19: note: previous declaration is here
124 | struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap);
| ^
In file included from fs/aio.c:49:
>> fs/internal.h:331:6: error: conflicting types for 'mnt_idmap_put'
331 | void mnt_idmap_put(struct mnt_idmap *idmap);
| ^
include/linux/mnt_idmapping.h:125:6: note: previous declaration is here
125 | void mnt_idmap_put(struct mnt_idmap *idmap);
| ^
In file included from fs/aio.c:49:
fs/internal.h:352:1: error: function definition is not allowed here
352 | {
| ^
>> fs/aio.c:245:1: error: function definition is not allowed here
245 | {
| ^
>> fs/aio.c:257:37: error: variable has incomplete type 'const struct file_operations'
257 | static const struct file_operations aio_ring_fops;
| ^
include/linux/fs_context.h:19:8: note: forward declaration of 'struct file_operations'
19 | struct file_operations;
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from mm/filemap.c:45:
>> include/linux/migrate.h:114:1: error: function definition is not allowed here
114 | {
| ^
include/linux/migrate.h:127:1: error: function definition is not allowed here
127 | {
| ^
include/linux/migrate.h:131:1: error: function definition is not allowed here
131 | {
| ^
In file included from mm/filemap.c:46:
>> include/linux/pipe_fs_i.h:162:1: error: function definition is not allowed here
162 | {
| ^
include/linux/pipe_fs_i.h:176:1: error: function definition is not allowed here
176 | {
| ^
include/linux/pipe_fs_i.h:186:1: error: function definition is not allowed here
186 | {
| ^
include/linux/pipe_fs_i.h:198:1: error: function definition is not allowed here
198 | {
| ^
include/linux/pipe_fs_i.h:207:1: error: function definition is not allowed here
207 | {
| ^
include/linux/pipe_fs_i.h:216:1: error: function definition is not allowed here
216 | {
| ^
include/linux/pipe_fs_i.h:225:1: error: function definition is not allowed here
225 | {
| ^
include/linux/pipe_fs_i.h:236:1: error: function definition is not allowed here
236 | {
| ^
include/linux/pipe_fs_i.h:245:1: error: function definition is not allowed here
245 | {
| ^
include/linux/pipe_fs_i.h:258:1: error: function definition is not allowed here
258 | {
| ^
include/linux/pipe_fs_i.h:269:1: error: function definition is not allowed here
269 | {
| ^
include/linux/pipe_fs_i.h:283:1: error: function definition is not allowed here
283 | {
| ^
include/linux/pipe_fs_i.h:296:1: error: function definition is not allowed here
296 | {
| ^
In file included from mm/filemap.c:47:
>> include/linux/splice.h:94:1: error: function definition is not allowed here
94 | {
| ^
In file included from mm/filemap.c:48:
>> include/linux/rcupdate_wait.h:63:1: error: function definition is not allowed here
63 | {
| ^
include/linux/rcupdate_wait.h:74:1: error: function definition is not allowed here
74 | {
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from mm/folio-compat.c:8:
>> include/linux/migrate.h:114:1: error: function definition is not allowed here
114 | {
| ^
include/linux/migrate.h:127:1: error: function definition is not allowed here
127 | {
| ^
include/linux/migrate.h:131:1: error: function definition is not allowed here
131 | {
| ^
In file included from mm/folio-compat.c:10:
In file included from include/linux/rmap.h:12:
In file included from include/linux/memcontrol.h:18:
>> include/linux/page_counter.h:58:1: error: function definition is not allowed here
58 | {
| ^
include/linux/page_counter.h:67:1: error: function definition is not allowed here
67 | {
| ^
include/linux/page_counter.h:82:1: error: function definition is not allowed here
82 | {
| ^
include/linux/page_counter.h:91:1: error: function definition is not allowed here
91 | {
| ^
include/linux/page_counter.h:109:39: error: function definition is not allowed here
109 | bool recursive_protection) {}
| ^
In file included from mm/folio-compat.c:10:
In file included from include/linux/rmap.h:12:
In file included from include/linux/memcontrol.h:19:
In file included from include/linux/vmpressure.h:11:
>> include/linux/eventfd.h:44:1: error: function definition is not allowed here
44 | {
| ^
include/linux/eventfd.h:88:1: error: function definition is not allowed here
88 | {
| ^
In file included from mm/folio-compat.c:10:
In file included from include/linux/rmap.h:12:
In file included from include/linux/memcontrol.h:19:
>> include/linux/vmpressure.h:48:58: error: function definition is not allowed here
48 | unsigned long scanned, unsigned long reclaimed) {}
| ^
include/linux/vmpressure.h:50:18: error: function definition is not allowed here
50 | int prio) {}
| ^
In file included from mm/folio-compat.c:10:
In file included from include/linux/rmap.h:12:
In file included from include/linux/memcontrol.h:23:
In file included from include/linux/writeback.h:11:
>> include/linux/flex_proportions.h:64:1: error: function definition is not allowed here
64 | {
| ^
In file included from mm/folio-compat.c:10:
In file included from include/linux/rmap.h:12:
In file included from include/linux/memcontrol.h:23:
In file included from include/linux/writeback.h:12:
>> include/linux/backing-dev-defs.h:281:1: error: function definition is not allowed here
281 | {
| ^
include/linux/backing-dev-defs.h:286:1: error: function definition is not allowed here
286 | {
| ^
include/linux/backing-dev-defs.h:290:1: error: function definition is not allowed here
290 | {
| ^
include/linux/backing-dev-defs.h:294:1: error: function definition is not allowed here
294 | {
| ^
include/linux/backing-dev-defs.h:298:1: error: function definition is not allowed here
298 | {
| ^
In file included from mm/folio-compat.c:10:
In file included from include/linux/rmap.h:12:
In file included from include/linux/memcontrol.h:23:
In file included from include/linux/writeback.h:13:
In file included from include/linux/blk_types.h:10:
>> include/linux/bvec.h:43:1: error: function definition is not allowed here
43 | {
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from mm/vmscan.c:42:
>> include/linux/migrate.h:114:1: error: function definition is not allowed here
114 | {
| ^
include/linux/migrate.h:127:1: error: function definition is not allowed here
127 | {
| ^
include/linux/migrate.h:131:1: error: function definition is not allowed here
131 | {
| ^
In file included from mm/vmscan.c:43:
>> include/linux/delayacct.h:255:1: error: function definition is not allowed here
255 | {}
| ^
include/linux/delayacct.h:257:1: error: function definition is not allowed here
257 | {}
| ^
include/linux/delayacct.h:259:1: error: function definition is not allowed here
259 | {}
| ^
include/linux/delayacct.h:261:1: error: function definition is not allowed here
261 | {}
| ^
include/linux/delayacct.h:263:1: error: function definition is not allowed here
263 | {}
| ^
include/linux/delayacct.h:266:1: error: function definition is not allowed here
266 | { return 0; }
| ^
include/linux/delayacct.h:268:1: error: function definition is not allowed here
268 | { return 0; }
| ^
include/linux/delayacct.h:270:1: error: function definition is not allowed here
270 | { return 0; }
| ^
include/linux/delayacct.h:272:1: error: function definition is not allowed here
272 | {}
| ^
include/linux/delayacct.h:274:1: error: function definition is not allowed here
274 | {}
| ^
include/linux/delayacct.h:276:1: error: function definition is not allowed here
276 | {}
| ^
include/linux/delayacct.h:278:1: error: function definition is not allowed here
278 | {}
| ^
include/linux/delayacct.h:280:1: error: function definition is not allowed here
280 | {}
| ^
include/linux/delayacct.h:282:1: error: function definition is not allowed here
282 | {}
| ^
include/linux/delayacct.h:284:1: error: function definition is not allowed here
284 | {}
| ^
include/linux/delayacct.h:286:1: error: function definition is not allowed here
286 | {}
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from mm/shmem.c:73:
>> include/linux/migrate.h:114:1: error: function definition is not allowed here
114 | {
| ^
include/linux/migrate.h:127:1: error: function definition is not allowed here
127 | {
| ^
include/linux/migrate.h:131:1: error: function definition is not allowed here
131 | {
| ^
In file included from mm/shmem.c:77:
In file included from include/linux/syscalls.h:89:
>> include/linux/sem.h:18:1: error: function definition is not allowed here
18 | {
| ^
include/linux/sem.h:23:1: error: function definition is not allowed here
23 | {
| ^
In file included from mm/shmem.c:77:
In file included from include/linux/syscalls.h:95:
In file included from include/trace/syscall.h:5:
>> include/linux/tracepoint.h:49:1: error: function definition is not allowed here
49 | {
| ^
include/linux/tracepoint.h:75:1: error: function definition is not allowed here
75 | {
| ^
include/linux/tracepoint.h:80:1: error: function definition is not allowed here
80 | {
| ^
include/linux/tracepoint.h:85:1: error: function definition is not allowed here
85 | {
| ^
include/linux/tracepoint.h:92:1: error: function definition is not allowed here
92 | {
| ^
include/linux/tracepoint.h:99:1: error: function definition is not allowed here
99 | {
| ^
include/linux/tracepoint.h:127:1: error: function definition is not allowed here
127 | { }
| ^
include/linux/tracepoint.h:129:1: error: function definition is not allowed here
129 | {
| ^
include/linux/tracepoint.h:159:1: error: function definition is not allowed here
159 | {
| ^
In file included from mm/shmem.c:77:
In file included from include/linux/syscalls.h:95:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:6:
In file included from include/linux/ring_buffer.h:7:
>> include/linux/poll.h:43:1: error: function definition is not allowed here
43 | {
| ^
include/linux/poll.h:63:1: error: function definition is not allowed here
63 | {
| ^
include/linux/poll.h:68:1: error: function definition is not allowed here
68 | {
| ^
include/linux/poll.h:74:1: error: function definition is not allowed here
74 | {
| ^
include/linux/poll.h:79:1: error: function definition is not allowed here
79 | {
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
..

vim +114 include/linux/migrate.h

112
113 static inline enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
> 114 {
115 return MIGRATE_VMA_SELECT_NONE;
116 }
117

--
0-DAY CI Kernel Test Service