I am facing the crash while the TTY layer has received some data from
the UART device and trying to flush the data (flush_to_ldisc in
tty_buffer.c) to my customized Line Discipline.
The information in TTY structure about the line discipline functions
( like receive_buf ) getting corrupted and thus resulting in the
calling of wrong entry points / functions and crashing.
Please suggest any pointers to resolve this issue.
BUG: unable to handle kernel paging request at 75646f6d
[<c12175a9>] ? flush_to_ldisc+0x189/0x270
[<c1041874>] ? worker_thread+0x104/0x1e0
[<c1217420>] ? flush_to_ldisc+0x0/0x270
[<c1045440>] ? autoremove_wake_function+0x0/0x50
[<c1041770>] ? worker_thread+0x0/0x1e0
[<c10450e4>] ? kthread+0x74/0x80
[<c1045070>] ? kthread+0x0/0x80
[<c10030f6>] ? kernel_thread_helper+0x6/0x10
Code: Bad EIP value.
EIP: [<75646f6d>] 0x75646f6d SS:ESP 0068:cc489f2c
---[ end trace 741b60196a780b38 ]---