diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2016-08-12 01:05:08 +0300 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2016-09-23 09:29:22 +0200 |
commit | 8eb8f07bf70fcbbce1ac985ca32bbee15b3d4f53 (patch) | |
tree | 46a08f55cc52d6c31a7c6463370e55d2ebe3ae8e /drivers/usb | |
parent | 047f96ef719b4e2a0c475775c3489338ed0b9060 (diff) | |
download | lwn-8eb8f07bf70fcbbce1ac985ca32bbee15b3d4f53.tar.gz lwn-8eb8f07bf70fcbbce1ac985ca32bbee15b3d4f53.zip |
USB: serial: mos7720: fix non-atomic allocation in write path
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: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/serial/mos7720.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c index 84657e07dc5d..d40e1dccb998 100644 --- a/drivers/usb/serial/mos7720.c +++ b/drivers/usb/serial/mos7720.c @@ -1249,7 +1249,7 @@ static int mos7720_write(struct tty_struct *tty, struct usb_serial_port *port, if (urb->transfer_buffer == NULL) { urb->transfer_buffer = kmalloc(URB_TRANSFER_BUFFER_SIZE, - GFP_KERNEL); + GFP_ATOMIC); if (urb->transfer_buffer == NULL) { dev_err_console(port, "%s no more kernel memory...\n", __func__); |