Re: linux-next: Tree for Aug 1
From: Sergey Senozhatsky
Date: Tue Aug 01 2017 - 08:42:38 EST
Hello,
seems that commit 979990c6284814617 ("tty: improve tty_insert_flip_char()
fast path") panics my kernel.
in particular, this part
@@ -26,7 +27,7 @@ static inline int tty_insert_flip_char(struct tty_port *port,
*char_buf_ptr(tb, tb->used++) = ch;
return 1;
}
- return tty_insert_flip_string_flags(port, &ch, &flag, 1);
+ return __tty_insert_flip_char(port, ch, flag);
}
I see various callstacks, but all endup in llist_del_first() -> fatal exception
in interrupt -> panic()
...
uart_insert_char()
__tty_insert_flip_char()
__tty_buffer_request_room()
llist_del_first()
or
...
kdb_event()
puts_queue()
__tty_insert_flip_char()
__tty_buffer_request_room()
llist_del_first()
to reproduce:
1) screen /dev/ttyS0 115200
2) send several chars down to /dev/ttyS0, enough to panic() the kernel.
reverting that __tty_insert_flip_char(port, ch, flag) seems to work
on my side.
-ss