lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ