diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2009-11-05 10:37:03 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-12-11 11:55:20 -0800 |
commit | 85e034fdff2af6befc55904f3ab9cc5aa31be8fe (patch) | |
tree | 6128ed2bcfd50c1dedcf3cb61e752266708fdef5 /drivers/usb/class | |
parent | 796c8c78801ebf1bdebddda06a43276355ff91eb (diff) |
USB: Check results of dma_map_single
In map_urb_for_dma(), the DMA address returned by dma_map_single()
is not checked to determine if it is legal. This lack of checking
contributed to a problem with the libertas wireless driver
(http://marc.info/?l=linux-wireless&m=125695331205062&w=2). The
difficulty was not detected until the buffer was unmapped. By this time
memory corruption had occurred.
The situation is fixed by testing the returned DMA address, and
returning -EAGAIN if the address is invalid.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/class')
0 files changed, 0 insertions, 0 deletions