nixiaoming
c79dde629d
tty fix oops when rmmod 8250
After rmmod 8250.ko
tty_kref_put starts kwork (release_one_tty) to release proc interface
oops when accessing driver->driver_name in proc_tty_unregister_driver
Use jprobe, found driver->driver_name point to 8250.ko
static static struct uart_driver serial8250_reg
.driver_name= serial,
Use name in proc_dir_entry instead of driver->driver_name to fix oops
test on linux 4.1.12:
BUG: unable to handle kernel paging request at ffffffffa01979de
IP: [<ffffffff81310f40>] strchr+0x0/0x30
PGD 1a0d067 PUD 1a0e063 PMD 851c1f067 PTE 0
Oops: 0000 [#1] PREEMPT SMP
Modules linked in: ... ... [last unloaded: 8250]
CPU: 7 PID: 116 Comm: kworker/7:1 Tainted: G O 4.1.12 #1
Hardware name: Insyde RiverForest/Type2 - Board Product Name1, BIOS NE5KV904 12/21/2015
Workqueue: events release_one_tty
task: ffff88085b684960 ti: ffff880852884000 task.ti: ffff880852884000
RIP: 0010:[<ffffffff81310f40>] [<ffffffff81310f40>] strchr+0x0/0x30
RSP: 0018:ffff880852887c90 EFLAGS: 00010282
RAX: ffffffff81a5eca0 RBX: ffffffffa01979de RCX: 0000000000000004
RDX: ffff880852887d10 RSI: 000000000000002f RDI: ffffffffa01979de
RBP: ffff880852887cd8 R08: 0000000000000000 R09: ffff88085f5d94d0
R10: 0000000000000195 R11: 0000000000000000 R12: ffffffffa01979de
R13: ffff880852887d00 R14: ffffffffa01979de R15: ffff88085f02e840
FS: 0000000000000000(0000) GS:ffff88085f5c0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffa01979de CR3: 0000000001a0c000 CR4: 00000000001406e0
Stack:
ffffffff812349b1 ffff880852887cb8 ffff880852887d10 ffff88085f5cd6c2
ffff880852800a80 ffffffffa01979de ffff880852800a84 0000000000000010
ffff88085bb28bd8 ffff880852887d38 ffffffff812354f0 ffff880852887d08
Call Trace:
[<ffffffff812349b1>] ? __xlate_proc_name+0x71/0xd0
[<ffffffff812354f0>] remove_proc_entry+0x40/0x180
[<ffffffff815f6811>] ? _raw_spin_lock_irqsave+0x41/0x60
[<ffffffff813be520>] ? destruct_tty_driver+0x60/0xe0
[<ffffffff81237c68>] proc_tty_unregister_driver+0x28/0x40
[<ffffffff813be548>] destruct_tty_driver+0x88/0xe0
[<ffffffff813be5bd>] tty_driver_kref_put+0x1d/0x20
[<ffffffff813becca>] release_one_tty+0x5a/0xd0
[<ffffffff81074159>] process_one_work+0x139/0x420
[<ffffffff810745a1>] worker_thread+0x121/0x450
[<ffffffff81074480>] ? process_scheduled_works+0x40/0x40
[<ffffffff8107a16c>] kthread+0xec/0x110
[<ffffffff81080000>] ? tg_rt_schedulable+0x210/0x220
[<ffffffff8107a080>] ? kthread_freezable_should_stop+0x80/0x80
[<ffffffff815f7292>] ret_from_fork+0x42/0x70
[<ffffffff8107a080>] ? kthread_freezable_should_stop+0x80/0x80
Signed-off-by: nixiaoming <nixiaoming@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-20 14:06:45 +02:00
..
2017-09-06 20:49:49 -07:00
2017-09-14 18:54:01 -07:00
2017-09-06 20:49:49 -07:00
2017-09-14 18:13:32 -07:00
2017-07-17 08:45:34 +01:00
2017-07-12 16:26:00 -07:00
2017-10-06 09:03:08 -07:00
2017-07-17 08:45:34 +01:00
2017-10-02 16:18:16 +02:00
2017-09-22 19:47:17 -05:00
2017-09-04 19:05:15 -04:00
2017-06-12 13:20:20 +02:00
2017-08-23 12:49:55 -06:00
2017-07-15 12:00:42 -07:00
2017-08-24 13:23:03 -07:00
2017-09-06 13:43:26 -07:00
2017-09-14 18:54:01 -07:00
2017-07-11 06:09:21 -04:00
2017-07-17 08:45:34 +01:00
2017-09-07 11:59:42 -07:00
2017-03-03 11:38:56 -08:00
2017-09-14 18:54:01 -07:00
2017-09-14 19:29:55 -07:00
2017-09-12 20:05:58 -07:00
2017-09-14 18:54:01 -07:00
2017-09-13 18:53:15 -07:00
2017-09-13 10:10:19 -07:00
2017-09-25 15:41:56 -07:00
2017-09-14 18:54:01 -07:00
2017-09-14 18:54:01 -07:00
2017-08-01 08:39:29 -04:00
2017-09-14 18:54:01 -07:00
2017-09-08 18:26:49 -07:00
2017-09-18 12:24:26 +02:00
2017-07-07 19:38:17 -07:00
2017-09-14 18:54:01 -07:00
2017-09-14 18:54:01 -07:00
2017-09-07 11:59:42 -07:00
2017-09-11 22:01:44 -07:00
2017-07-17 08:45:34 +01:00
2017-08-01 08:39:29 -04:00
2017-09-14 20:04:32 -07:00
2017-09-09 13:31:49 -07:00
2017-09-14 18:54:01 -07:00
2017-08-30 16:02:48 +02:00
2017-09-14 18:54:01 -07:00
2017-09-14 18:54:01 -07:00
2017-07-06 03:31:46 -04:00
2017-09-14 14:58:31 -04:00
2017-10-05 15:53:18 +02:00
2017-10-20 14:06:45 +02:00
2017-08-17 16:29:19 -07:00
2017-09-27 11:33:47 +02:00
2017-09-06 17:27:26 -07:00
2017-09-14 18:54:01 -07:00
2017-09-08 19:33:25 -07:00
2017-04-08 17:33:32 +02:00
2017-07-17 08:45:34 +01:00
2017-07-06 03:31:46 -04:00
2017-09-14 18:54:01 -07:00
2017-09-14 18:54:01 -07:00
2017-07-17 08:45:34 +01:00
2017-10-03 21:27:55 -07:00
2017-09-14 19:29:55 -07:00
2017-03-02 08:42:29 +01:00
2017-03-02 20:51:15 -05:00
2017-09-04 19:05:15 -04:00
2017-09-14 18:13:32 -07:00
2017-09-14 18:13:32 -07:00
2017-09-14 18:13:32 -07:00
2017-10-03 17:54:25 -07:00
2017-10-03 17:54:25 -07:00
2017-09-14 19:29:55 -07:00
2017-09-07 11:59:42 -07:00
2017-07-17 15:28:50 +02:00
2017-09-05 08:25:07 -04:00
2017-04-17 12:52:27 -04:00
2017-09-13 18:53:16 -07:00
2017-09-14 13:43:16 -07:00
2017-07-15 12:00:42 -07:00
2017-09-25 08:56:05 -06:00
2017-07-03 21:13:25 -07:00
2017-09-08 18:26:49 -07:00
2017-10-03 17:54:25 -07:00
2017-09-18 22:51:14 -05:00
2017-04-17 12:52:26 -04:00
2017-08-28 00:50:23 -04:00
2017-07-06 16:24:30 -07:00
2017-07-15 12:00:42 -07:00
2017-06-20 12:19:14 +02:00
2017-03-02 08:42:35 +01:00
2017-07-12 16:26:05 -07:00
2017-09-13 09:11:44 -07:00
2017-09-13 09:11:44 -07:00
2017-03-02 08:42:37 +01:00
2017-09-28 13:27:23 -07:00
2017-07-12 16:26:00 -07:00
2017-07-06 07:02:29 -04:00
2017-07-21 13:57:31 -04:00
2017-06-22 11:44:55 -04:00
2017-07-19 08:55:18 -07:00
2017-08-23 12:49:55 -06:00
2017-09-14 18:54:01 -07:00
2017-10-05 15:53:18 +02:00
2017-07-06 03:27:09 -04:00
2017-09-05 12:53:12 +02:00
2017-07-06 03:27:09 -04:00
2017-05-23 08:41:17 -05:00
2017-03-02 08:42:31 +01:00
2017-07-17 08:45:34 +01:00
2017-09-26 13:46:06 -07:00
2017-04-17 12:52:24 -04:00
2017-08-28 16:09:19 -07:00
2017-05-08 17:15:12 -07:00
2017-07-24 14:30:28 -05:00
2017-09-04 19:05:15 -04:00
2017-08-17 22:06:03 +02:00
2017-07-08 10:50:54 -07:00
2017-09-14 18:54:01 -07:00
2017-09-14 18:54:01 -07:00
2017-06-30 04:14:38 -04:00
2017-10-03 17:54:25 -07:00
2017-09-03 20:24:30 -04:00
2017-10-04 18:03:15 +11:00