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