The first 8 bytes of skb->cb are used to store a struct net_device *. Adjust the memcpy's src/dst types to reflect that. Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> --- Noticed this with spatch looking for sizes in memcpy's inconsistent with the arguments. drivers/staging/rtl8192u/r8192U_core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c index c2bcbe2..36b3bd0 100644 --- a/drivers/staging/rtl8192u/r8192U_core.c +++ b/drivers/staging/rtl8192u/r8192U_core.c @@ -1038,7 +1038,7 @@ void rtl8192_hard_data_xmit(struct sk_buff *skb, struct net_device *dev, int rat spin_lock_irqsave(&priv->tx_lock, flags); - memcpy((unsigned char *)(skb->cb), &dev, sizeof(dev)); + memcpy((struct net_device **)(skb->cb), &dev, sizeof(dev)); tcb_desc->bTxEnableFwCalcDur = 1; skb_push(skb, priv->ieee80211->tx_headroom); ret = rtl8192_tx(dev, skb); @@ -1064,7 +1064,7 @@ int rtl8192_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) spin_lock_irqsave(&priv->tx_lock, flags); - memcpy((unsigned char *)(skb->cb), &dev, sizeof(dev)); + memcpy((struct net_device **)(skb->cb), &dev, sizeof(dev)); if (queue_index == TXCMD_QUEUE) { skb_push(skb, USB_HWDESC_HEADER_LEN); rtl819xU_tx_cmd(dev, skb); @@ -1280,7 +1280,7 @@ static void rtl8192_tx_isr(struct urb *tx_urb) cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE); u8 queue_index = tcb_desc->queue_index; - memcpy(&dev, (struct net_device *)(skb->cb), sizeof(struct net_device *)); + memcpy(&dev, (struct net_device **)(skb->cb), sizeof(struct net_device *)); priv = ieee80211_priv(dev); if (tcb_desc->queue_index != TXCMD_QUEUE) { -- 1.8.3.2 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel