{
        struct xpc_channel_sn2 *ch_sn2 = &ch->sn.sn2;
        struct xpc_msg_sn2 *msg;
-       s64 put;
+       s64 put, remote_nentries = ch->remote_nentries;
 
        /* flags are zeroed when the buffer is allocated */
-       if (ch_sn2->remote_GP.put < ch->remote_nentries)
+       if (ch_sn2->remote_GP.put < remote_nentries)
                return;
 
-       put = max(ch_sn2->w_remote_GP.put, ch->remote_nentries);
+       put = max(ch_sn2->w_remote_GP.put, remote_nentries);
        do {
                msg = (struct xpc_msg_sn2 *)((u64)ch_sn2->remote_msgqueue +
-                                            (put % ch->remote_nentries) *
+                                            (put % remote_nentries) *
                                             ch->entry_size);
                DBUG_ON(!(msg->flags & XPC_M_SN2_READY));
                DBUG_ON(!(msg->flags & XPC_M_SN2_DONE));
-               DBUG_ON(msg->number != put - ch->remote_nentries);
+               DBUG_ON(msg->number != put - remote_nentries);
                msg->flags = 0;
        } while (++put < ch_sn2->remote_GP.put);
 }