[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202502271525.N9ZL15lR-lkp@intel.com>
Date: Thu, 27 Feb 2025 15:47:57 +0800
From: kernel test robot <lkp@...el.com>
To: Gabriele Monaco <gmonaco@...hat.com>, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
"Paul E. McKenney" <paulmck@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev,
Linux Memory Management List <linux-mm@...ck.org>,
Gabriele Monaco <gmonaco@...hat.com>,
Shuah Khan <skhan@...uxfoundation.org>
Subject: Re: [PATCH v10 2/3] sched: Move task_mm_cid_work to mm work_struct
Hi Gabriele,
kernel test robot noticed the following build errors:
[auto build test ERROR on ac9c34d1e45a4c25174ced4fc0cfc33ff3ed08c7]
url: https://github.com/intel-lab-lkp/linux/commits/Gabriele-Monaco/sched-Add-prev_sum_exec_runtime-support-for-RT-DL-and-SCX-classes/20250226-150508
base: ac9c34d1e45a4c25174ced4fc0cfc33ff3ed08c7
patch link: https://lore.kernel.org/r/20250226070202.95062-3-gmonaco%40redhat.com
patch subject: [PATCH v10 2/3] sched: Move task_mm_cid_work to mm work_struct
config: arm-randconfig-001-20250227 (https://download.01.org/0day-ci/archive/20250227/202502271525.N9ZL15lR-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250227/202502271525.N9ZL15lR-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502271525.N9ZL15lR-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/build_bug.h:5,
from include/linux/bitfield.h:10,
from arch/arm/include/asm/ptrace.h:13,
from arch/arm/include/asm/processor.h:14,
from include/linux/sched.h:13,
from kernel/rseq.c:11:
kernel/rseq.c: In function '__rseq_handle_notify_resume':
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:57:69: note: in expansion of macro '__trace_if_value'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:57:69: note: in expansion of macro '__trace_if_value'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:57:69: note: in expansion of macro '__trace_if_value'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:57:69: note: in expansion of macro '__trace_if_value'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:57:69: note: in expansion of macro '__trace_if_value'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/asm-generic/rwonce.h:44:43: note: in expansion of macro '__unqual_scalar_typeof'
44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
| ^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
50 | __READ_ONCE(x); \
| ^~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
50 | __READ_ONCE(x); \
| ^~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
include/linux/typecheck.h:12:25: warning: comparison of distinct pointer types lacks a cast [-Wcompare-distinct-pointer-types]
12 | (void)(&__dummy == &__dummy2); \
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:128:10: note: in expansion of macro 'typecheck'
128 | (typecheck(unsigned long, a) && \
| ^~~~~~~~~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
>> kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/rseq.c:423:40: note: in expansion of macro 'READ_ONCE'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~
kernel/rseq.c:423:55: error: 'struct mm_struct' has no member named 'mm_cid_next_scan'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
kernel/rseq.c:423:9: note: in expansion of macro 'if'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~
include/linux/jiffies.h:138:33: note: in expansion of macro 'time_after'
138 | #define time_before(a,b) time_after(b,a)
| ^~~~~~~~~~
kernel/rseq.c:423:23: note: in expansion of macro 'time_before'
423 | if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
| ^~~~~~~~~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:522:17: note: in expansion of macro 'if'
522 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:530:9: note: in expansion of macro '__compiletime_assert'
530 | __compiletime_assert(condition, msg, prefix, suffix)
vim +423 kernel/rseq.c
390
391 /*
392 * This resume handler must always be executed between any of:
393 * - preemption,
394 * - signal delivery,
395 * and return to user-space.
396 *
397 * This is how we can ensure that the entire rseq critical section
398 * will issue the commit instruction only if executed atomically with
399 * respect to other threads scheduled on the same CPU, and with respect
400 * to signal handlers.
401 */
402 void __rseq_handle_notify_resume(struct ksignal *ksig, struct pt_regs *regs)
403 {
404 struct task_struct *t = current;
405 unsigned long now = jiffies;
406 int ret, sig;
407
408 if (unlikely(t->flags & PF_EXITING))
409 return;
410
411 /*
412 * regs is NULL if and only if the caller is in a syscall path. Skip
413 * fixup and leave rseq_cs as is so that rseq_sycall() will detect and
414 * kill a misbehaving userspace on debug kernels.
415 */
416 if (regs) {
417 ret = rseq_ip_fixup(regs);
418 if (unlikely(ret < 0))
419 goto error;
420 }
421 if (unlikely(rseq_update_cpu_node_id(t)))
422 goto error;
> 423 if (t->mm && !time_before(now, READ_ONCE(t->mm->mm_cid_next_scan)))
424 task_queue_mm_cid(t);
425 return;
426
427 error:
428 sig = ksig ? ksig->sig : 0;
429 force_sigsegv(sig);
430 }
431
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists