Now that the vmap area checks are being performed in the DMA
infrastructure directly, there is no need to repeat them in USB.

Signed-off-by: Kees Cook <[email protected]>
---
 drivers/usb/core/hcd.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index f225eaa98ff8..281568d464f9 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1410,10 +1410,7 @@ int usb_hcd_map_urb_for_dma(struct usb_hcd *hcd, struct 
urb *urb,
                if (hcd->self.uses_pio_for_control)
                        return ret;
                if (hcd_uses_dma(hcd)) {
-                       if (is_vmalloc_addr(urb->setup_packet)) {
-                               WARN_ONCE(1, "setup packet is not dma 
capable\n");
-                               return -EAGAIN;
-                       } else if (object_is_on_stack(urb->setup_packet)) {
+                       if (object_is_on_stack(urb->setup_packet)) {
                                WARN_ONCE(1, "setup packet is on stack\n");
                                return -EAGAIN;
                        }
@@ -1479,9 +1476,6 @@ int usb_hcd_map_urb_for_dma(struct usb_hcd *hcd, struct 
urb *urb,
                                        ret = -EAGAIN;
                                else
                                        urb->transfer_flags |= URB_DMA_MAP_PAGE;
-                       } else if (is_vmalloc_addr(urb->transfer_buffer)) {
-                               WARN_ONCE(1, "transfer buffer not dma 
capable\n");
-                               ret = -EAGAIN;
                        } else if (object_is_on_stack(urb->transfer_buffer)) {
                                WARN_ONCE(1, "transfer buffer is on stack\n");
                                ret = -EAGAIN;
-- 
2.17.1

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to