| From 5a5a1d614287a647b36dff3f40c2b0ceabbc83ec Mon Sep 17 00:00:00 2001 |
| From: Alexey Khoroshilov <khoroshilov@ispras.ru> |
| Date: Fri, 12 Aug 2016 01:05:08 +0300 |
| Subject: USB: serial: mos7720: fix non-atomic allocation in write path |
| |
| From: Alexey Khoroshilov <khoroshilov@ispras.ru> |
| |
| commit 5a5a1d614287a647b36dff3f40c2b0ceabbc83ec upstream. |
| |
| There is an allocation with GFP_KERNEL flag in mos7720_write(), |
| while it may be called from interrupt context. |
| |
| Follow-up for commit 191252837626 ("USB: kobil_sct: fix non-atomic |
| allocation in write path") |
| |
| Found by Linux Driver Verification project (linuxtesting.org). |
| |
| Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> |
| Signed-off-by: Johan Hovold <johan@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/serial/mos7720.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/usb/serial/mos7720.c |
| +++ b/drivers/usb/serial/mos7720.c |
| @@ -1252,7 +1252,7 @@ static int mos7720_write(struct tty_stru |
| |
| if (urb->transfer_buffer == NULL) { |
| urb->transfer_buffer = kmalloc(URB_TRANSFER_BUFFER_SIZE, |
| - GFP_KERNEL); |
| + GFP_ATOMIC); |
| if (!urb->transfer_buffer) |
| goto exit; |
| } |