rt2x00: Fix double usage of skb->cb in USB RX path.
authorGertjan van Wingerde <gwingerde@kpnplanet.nl>
Fri, 6 Jun 2008 20:54:28 +0000 (22:54 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Sat, 14 Jun 2008 16:17:57 +0000 (12:17 -0400)
commita26cbc650846b74dd7f46dd877fd30c472df14a1
treea31d96161b36ea6be4d84f1ad23c056f4b3323b7
parent239c249d06b0c68ae06b10d9d6ad1f8e7f39452b
rt2x00: Fix double usage of skb->cb in USB RX path.

It is not safe to use the skb->cb area for both the rxd and
skb_frame_desc data at the same time, while they occupy an overlapping
piece of memory. This can lead to hard to trace crashes as pointers
within skb_frame_desc are pointing into nowhere, or the rxd data is
overwritten with non-sense.

Fix it by copying the rxd to a small buffer on the stack.

Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2500usb.c
drivers/net/wireless/rt2x00/rt2x00usb.c
drivers/net/wireless/rt2x00/rt73usb.c