OSDN Git Service

can: j1939: j1939_xtp_rx_dat_one(): use separate pointer for session skb control...
authorMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 21 May 2021 08:04:29 +0000 (10:04 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Sun, 25 Jul 2021 09:36:25 +0000 (11:36 +0200)
In the j1939_xtp_rx_dat_one() function, there are 2 variables (skb and
se_skb) holding a skb. The control buffer of the skbs is accessed one
after the other, but using the same "skcb" variable.

To avoid confusion introduce a new variable "se_skcb" to access the
se_skb's control buffer as done in the rest of this file, too.

Cc: Robin van der Gracht <robin@protonic.nl>
Cc: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20210616102811.2449426-6-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/j1939/transport.c

index 8de69c7..efdf79d 100644 (file)
@@ -1771,7 +1771,7 @@ static void j1939_xtp_rx_dat_one(struct j1939_session *session,
                                 struct sk_buff *skb)
 {
        struct j1939_priv *priv = session->priv;
-       struct j1939_sk_buff_cb *skcb;
+       struct j1939_sk_buff_cb *skcb, *se_skcb;
        struct sk_buff *se_skb = NULL;
        const u8 *dat;
        u8 *tpdat;
@@ -1822,8 +1822,8 @@ static void j1939_xtp_rx_dat_one(struct j1939_session *session,
                goto out_session_cancel;
        }
 
-       skcb = j1939_skb_to_cb(se_skb);
-       offset = packet * 7 - skcb->offset;
+       se_skcb = j1939_skb_to_cb(se_skb);
+       offset = packet * 7 - se_skcb->offset;
        nbytes = se_skb->len - offset;
        if (nbytes > 7)
                nbytes = 7;
@@ -1851,7 +1851,7 @@ static void j1939_xtp_rx_dat_one(struct j1939_session *session,
        if (packet == session->pkt.rx)
                session->pkt.rx++;
 
-       if (skcb->addr.type != J1939_ETP &&
+       if (se_skcb->addr.type != J1939_ETP &&
            j1939_cb_is_broadcast(&session->skcb)) {
                if (session->pkt.rx >= session->pkt.total)
                        final = true;