serial8250_em485_init() is supposed to be protected with p->port.lock spinlock. This may lead to issues when kmalloc sleeps, so it is better to use GFP_ATOMIC in this spinlocked context. Fixes: e490c9144cfa ("tty: Add software emulated RS485 support for 8250") Reported-by: Ильяс Гасанов <torso.nafi@xxxxxxxxx> Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> --- Changes from v1: - Properly filled Reported-by: tag drivers/tty/serial/8250/8250_port.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c index c908b77..4d6deef 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -586,7 +586,7 @@ int serial8250_em485_init(struct uart_8250_port *p) if (p->em485 != NULL) return 0; - p->em485 = kmalloc(sizeof(struct uart_8250_em485), GFP_KERNEL); + p->em485 = kmalloc(sizeof(struct uart_8250_em485), GFP_ATOMIC); if (p->em485 == NULL) return -ENOMEM; -- 2.7.0 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html