Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usbnet: smsc95xx: fix memcpy for accessing rx-data

Change the RX code to use get_unaligned_le32() instead of the combo
of memcpy and cpu_to_le32s(&var).

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Ben Dooks and committed by
David S. Miller
6809d216 0c8b2655

+2 -5
+2 -5
drivers/net/usb/smsc95xx.c
··· 618 618 return; 619 619 } 620 620 621 - memcpy(&intdata, urb->transfer_buffer, 4); 622 - le32_to_cpus(&intdata); 623 - 621 + intdata = get_unaligned_le32(urb->transfer_buffer); 624 622 netif_dbg(dev, link, dev->net, "intdata: 0x%08X\n", intdata); 625 623 626 624 if (intdata & INT_ENP_PHY_INT_) ··· 1932 1934 unsigned char *packet; 1933 1935 u16 size; 1934 1936 1935 - memcpy(&header, skb->data, sizeof(header)); 1936 - le32_to_cpus(&header); 1937 + header = get_unaligned_le32(skb->data); 1937 1938 skb_pull(skb, 4 + NET_IP_ALIGN); 1938 1939 packet = skb->data; 1939 1940