can: Use correct type in sizeof() in nla_put()
authorMarek Vasut <marex@denx.de>
Fri, 30 Oct 2015 12:48:19 +0000 (13:48 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 27 Nov 2015 12:48:22 +0000 (12:48 +0000)
commit 562b103a21974c2f9cd67514d110f918bb3e1796 upstream.

The sizeof() is invoked on an incorrect variable, likely due to some
copy-paste error, and this might result in memory corruption. Fix this.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Wolfgang Grandegger <wg@grandegger.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
[bwh: Backported to 3.2:
 - Keep using the old NLA_PUT macro
 - Adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/can/dev.c

index db9100f..664263a 100644 (file)
@@ -693,7 +693,7 @@ static int can_fill_info(struct sk_buff *skb, const struct net_device *dev)
        NLA_PUT_U32(skb, IFLA_CAN_RESTART_MS, priv->restart_ms);
        NLA_PUT(skb, IFLA_CAN_BITTIMING,
                sizeof(priv->bittiming), &priv->bittiming);
-       NLA_PUT(skb, IFLA_CAN_CLOCK, sizeof(cm), &priv->clock);
+       NLA_PUT(skb, IFLA_CAN_CLOCK, sizeof(priv->clock), &priv->clock);
        if (priv->do_get_berr_counter && !priv->do_get_berr_counter(dev, &bec))
                NLA_PUT(skb, IFLA_CAN_BERR_COUNTER, sizeof(bec), &bec);
        if (priv->bittiming_const)