:::::: 
:::::: Manual check reason: "low confidence static check warning: 
kernel/rcu/tasks.h:1256:15: sparse: sparse: cast to non-scalar"
:::::: 

CC: [email protected]
BCC: [email protected]
CC: "GNU/Weeb Mailing List" <[email protected]>
CC: [email protected]
TO: "Paul E. McKenney" <[email protected]>

tree:   https://github.com/ammarfaizi2/linux-block paulmck/linux-rcu/dev
head:   771634294326a0a64ecf1e9a9a824031cb3fb324
commit: 96102856a205a4cae8b18b468209127478176860 [72/85] rcu-tasks: Untrack 
blocked RCU Tasks Trace at reader end
:::::: branch date: 13 hours ago
:::::: commit date: 21 hours ago
config: alpha-randconfig-s031-20220608 
(https://download.01.org/0day-ci/archive/20220608/[email protected]/config)
compiler: alpha-linux-gcc (GCC) 11.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-26-gb3cf30ba-dirty
        # 
https://github.com/ammarfaizi2/linux-block/commit/96102856a205a4cae8b18b468209127478176860
        git remote add ammarfaizi2-block 
https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block paulmck/linux-rcu/dev
        git checkout 96102856a205a4cae8b18b468209127478176860
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha 
SHELL=/bin/bash kernel/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
   kernel/rcu/update.c: note: in included file:
>> kernel/rcu/tasks.h:1256:15: sparse: sparse: cast to non-scalar
>> kernel/rcu/tasks.h:1256:15: sparse: sparse: cast from non-scalar

vim +1256 kernel/rcu/tasks.h

3f1afa3a24f543 Paul E. McKenney 2022-05-23  1246  
d5f177d35c2442 Paul E. McKenney 2020-03-09  1247  /* If we are the last reader, 
wake up the grace-period kthread. */
a5c071ccfa1728 Paul E. McKenney 2021-07-28  1248  void 
rcu_read_unlock_trace_special(struct task_struct *t)
d5f177d35c2442 Paul E. McKenney 2020-03-09  1249  {
96102856a205a4 Paul E. McKenney 2022-05-17  1250        unsigned long flags;
96102856a205a4 Paul E. McKenney 2022-05-17  1251        struct rcu_tasks_percpu 
*rtpcp;
96102856a205a4 Paul E. McKenney 2022-05-17  1252        union rcu_special trs;
96102856a205a4 Paul E. McKenney 2022-05-17  1253  
96102856a205a4 Paul E. McKenney 2022-05-17  1254        // Open-coded full-word 
version of rcu_ld_need_qs().
96102856a205a4 Paul E. McKenney 2022-05-17  1255        smp_mb(); // Enforce 
full grace-period ordering.
96102856a205a4 Paul E. McKenney 2022-05-17 @1256        trs = 
smp_load_acquire(&t->trc_reader_special);
276c410448dbca Paul E. McKenney 2020-03-17  1257  
3f1afa3a24f543 Paul E. McKenney 2022-05-23  1258        if 
(IS_ENABLED(CONFIG_TASKS_TRACE_RCU_READ_MB) && t->trc_reader_special.b.need_mb)
276c410448dbca Paul E. McKenney 2020-03-17  1259                smp_mb(); // 
Pairs with update-side barriers.
276c410448dbca Paul E. McKenney 2020-03-17  1260        // Update .need_qs 
before ->trc_reader_nesting for irq/NMI handlers.
96102856a205a4 Paul E. McKenney 2022-05-17  1261        if (trs.b.need_qs == 
(TRC_NEED_QS_CHECKED | TRC_NEED_QS)) {
3f1afa3a24f543 Paul E. McKenney 2022-05-23  1262                u8 result = 
rcu_trc_cmpxchg_need_qs(t, TRC_NEED_QS_CHECKED | TRC_NEED_QS,
3f1afa3a24f543 Paul E. McKenney 2022-05-23  1263                                
                       TRC_NEED_QS_CHECKED);
3f1afa3a24f543 Paul E. McKenney 2022-05-23  1264  
96102856a205a4 Paul E. McKenney 2022-05-17  1265                
WARN_ONCE(result != trs.b.need_qs, "%s: result = %d", __func__, result);
96102856a205a4 Paul E. McKenney 2022-05-17  1266        }
96102856a205a4 Paul E. McKenney 2022-05-17  1267        if (trs.b.blocked) {
96102856a205a4 Paul E. McKenney 2022-05-17  1268                rtpcp = 
per_cpu_ptr(rcu_tasks_trace.rtpcpu, t->trc_blkd_cpu);
96102856a205a4 Paul E. McKenney 2022-05-17  1269                
raw_spin_lock_irqsave_rcu_node(rtpcp, flags);
96102856a205a4 Paul E. McKenney 2022-05-17  1270                
list_del_init(&t->trc_blkd_node);
96102856a205a4 Paul E. McKenney 2022-05-17  1271                
WRITE_ONCE(t->trc_reader_special.b.blocked, false);
96102856a205a4 Paul E. McKenney 2022-05-17  1272                
raw_spin_unlock_irqrestore_rcu_node(rtpcp, flags);
3f1afa3a24f543 Paul E. McKenney 2022-05-23  1273        }
a5c071ccfa1728 Paul E. McKenney 2021-07-28  1274        
WRITE_ONCE(t->trc_reader_nesting, 0);
d5f177d35c2442 Paul E. McKenney 2020-03-09  1275  }
d5f177d35c2442 Paul E. McKenney 2020-03-09  1276  
EXPORT_SYMBOL_GPL(rcu_read_unlock_trace_special);
d5f177d35c2442 Paul E. McKenney 2020-03-09  1277  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to