int i;
        long pipesummary[RCU_TORTURE_PIPE_LEN + 1] = { 0 };
        long batchsummary[RCU_TORTURE_PIPE_LEN + 1] = { 0 };
+       struct rcu_torture *rtcp;
        static unsigned long rtcv_snap = ULONG_MAX;
        static bool splatted;
        struct task_struct *wtp;
        }
 
        pr_alert("%s%s ", torture_type, TORTURE_FLAG);
+       rtcp = rcu_access_pointer(rcu_torture_current);
        pr_cont("rtc: %p %s: %lu tfle: %d rta: %d rtaf: %d rtf: %d ",
-               rcu_torture_current,
-               rcu_torture_current && !rcu_stall_is_suppressed_at_boot()
-                       ? "ver" : "VER",
+               rtcp,
+               rtcp && !rcu_stall_is_suppressed_at_boot() ? "ver" : "VER",
                rcu_torture_current_version,
                list_empty(&rcu_torture_freelist),
                atomic_read(&n_rcu_torture_alloc),
        if (cur_ops->stats)
                cur_ops->stats();
        if (rtcv_snap == rcu_torture_current_version &&
-           rcu_torture_current != NULL && !rcu_stall_is_suppressed()) {
+           rcu_access_pointer(rcu_torture_current) &&
+           !rcu_stall_is_suppressed()) {
                int __maybe_unused flags = 0;
                unsigned long __maybe_unused gp_seq = 0;