Dan Williams
ac6fc48c9f
block: move blk_integrity to request_queue
...
A trace like the following proceeds a crash in bio_integrity_process()
when it goes to use an already freed blk_integrity profile.
BUG: unable to handle kernel paging request at ffff8800d31b10d8
IP: [<ffff8800d31b10d8>] 0xffff8800d31b10d8
PGD 2f65067 PUD 21fffd067 PMD 80000000d30001e3
Oops: 0011 [#1 ] SMP
Dumping ftrace buffer:
---------------------------------
ndctl-2222 2.... 44526245us : disk_release: pmem1s
systemd--2223 4.... 44573945us : bio_integrity_endio: pmem1s
<...>-409 4.... 44574005us : bio_integrity_process: pmem1s
---------------------------------
[..]
Call Trace:
[<ffffffff8144e0f9>] ? bio_integrity_process+0x159/0x2d0
[<ffffffff8144e4f6>] bio_integrity_verify_fn+0x36/0x60
[<ffffffff810bd2dc>] process_one_work+0x1cc/0x4e0
Given that a request_queue is pinned while i/o is in flight and that a
gendisk is allowed to have a shorter lifetime, move blk_integrity to
request_queue to satisfy requests arriving after the gendisk has been
torn down.
Cc: Christoph Hellwig <hch@lst.de >
Cc: Martin K. Petersen <martin.petersen@oracle.com >
[martin: fix the CONFIG_BLK_DEV_INTEGRITY=n case]
Tested-by: Ross Zwisler <ross.zwisler@linux.intel.com >
Signed-off-by: Dan Williams <dan.j.williams@intel.com >
Signed-off-by: Jens Axboe <axboe@fb.com >
2015-10-21 14:43:42 -06:00
..
2015-09-04 09:14:20 -07:00
2015-08-18 09:08:47 +03:00
2015-07-12 21:13:22 +02:00
2015-09-17 20:14:27 +03:00
2015-09-01 13:00:04 -07:00
2015-09-04 15:49:32 -07:00
2015-08-04 17:03:52 -07:00
2015-08-08 12:50:40 +01:00
2015-07-11 17:27:36 -07:00
2015-09-10 16:42:49 -07:00
2015-09-04 11:46:02 -07:00
2015-09-09 08:33:31 -07:00
2015-09-25 10:46:51 -04:00
2015-08-27 14:50:52 +02:00
2015-08-10 23:07:05 -04:00
2015-09-02 16:32:56 -07:00
2015-07-31 15:01:14 +01:00
2015-09-08 16:33:16 -07:00
2015-08-30 14:40:11 +01:00
2015-09-01 13:00:04 -07:00
2015-09-16 20:44:47 +01:00
2015-09-17 18:01:28 -04:00
2015-08-18 09:58:45 -07:00
2015-09-26 01:53:07 +02:00
2015-08-05 13:38:07 +01:00
2015-08-03 12:01:54 -04:00
2015-07-23 18:00:42 -07:00
2015-08-12 11:58:59 +02:00
2015-08-06 16:17:25 -04:00
2015-08-20 14:10:23 -07:00
2015-09-24 16:48:52 -04:00
2015-07-27 15:01:05 +02:00
2015-08-19 14:26:02 -07:00
2015-08-05 09:38:08 +02:00
2015-08-05 09:38:08 +02:00
2015-09-03 12:28:30 -07:00
2015-08-18 15:49:36 -07:00
2015-10-21 14:43:41 -06:00
2015-10-21 14:43:42 -06:00
2015-08-09 22:50:06 -07:00
2015-09-10 18:56:14 -07:00
2015-09-16 11:51:12 -04:00
2015-08-25 14:19:29 -04:00
2015-08-24 16:49:11 -07:00
2015-07-17 16:39:53 -07:00
2015-09-14 11:00:55 +02:00
2015-07-17 16:39:53 -07:00
2015-08-12 11:58:58 +02:00
2015-07-17 16:39:53 -07:00
2015-07-07 10:59:04 +02:00
2015-07-07 10:59:04 +02:00
2015-08-05 13:30:16 -07:00
2015-07-15 13:30:38 +01:00
2015-07-17 16:39:53 -07:00
2015-07-22 09:58:02 +02:00
2015-09-16 02:17:49 +02:00
2015-08-28 15:14:54 +02:00
2015-09-04 16:54:41 -07:00
2015-08-17 16:53:53 +08:00
2015-09-08 15:35:28 -07:00
2015-07-17 16:39:53 -07:00
2015-07-20 18:44:50 +01:00
2015-09-11 14:23:29 +09:00
2015-08-13 12:31:57 -06:00
2015-09-01 19:45:46 -07:00
2015-08-20 12:01:03 +05:30
2015-09-08 15:35:28 -07:00
2015-08-17 12:14:53 -07:00
2015-08-10 11:48:55 +09:00
2015-08-21 22:45:13 -07:00
2015-08-20 10:20:11 +03:00
2015-07-22 15:27:32 -07:00
2015-07-30 11:13:21 -07:00
2015-09-08 15:35:28 -07:00
2015-08-14 16:50:36 -07:00
2015-08-07 22:59:34 -05:00
2015-09-05 20:34:28 -07:00
2015-07-24 13:58:14 -04:00
2015-09-04 16:54:41 -07:00
2015-10-21 14:43:42 -06:00
2015-09-08 15:35:28 -07:00
2015-07-13 14:18:07 -07:00
2015-09-08 15:35:28 -07:00
2015-09-08 15:35:28 -07:00
2015-08-05 11:44:28 -07:00
2015-08-24 14:05:19 +02:00
2015-08-14 17:49:53 +02:00
2015-08-28 13:28:47 -07:00
2015-09-16 11:51:12 -04:00
2015-07-05 23:59:14 -04:00
2015-08-12 16:23:33 +02:00
2015-08-10 23:07:05 -04:00
2015-08-27 19:40:58 -04:00
2015-07-17 16:39:53 -07:00
2015-07-28 15:47:58 +01:00
2015-09-03 15:02:28 -05:00
2015-08-13 21:27:19 -07:00
2015-09-16 15:47:51 +02:00
2015-09-16 15:47:51 +02:00
2015-07-30 00:14:38 +02:00
2015-09-16 15:47:51 +02:00
2015-09-03 12:52:19 -07:00
2015-09-01 14:04:50 -07:00
2015-09-15 07:12:06 +02:00
2015-08-22 14:54:55 +02:00
2015-07-17 16:39:53 -07:00
2015-08-18 15:49:15 -07:00
2015-09-10 13:29:01 -07:00
2015-07-28 08:50:42 +01:00
2015-09-10 13:29:01 -07:00
2015-07-17 16:39:53 -07:00
2015-08-04 10:16:54 +02:00
2015-09-04 16:54:41 -07:00
2015-09-06 16:27:10 +02:00
2015-07-15 11:47:24 -04:00
2015-08-28 23:40:05 -04:00
2015-08-17 18:39:45 -04:00
2015-08-12 11:59:08 +02:00
2015-07-13 13:31:58 -04:00
2015-07-28 13:18:19 +10:00
2015-08-10 14:29:27 +05:30
2015-08-03 17:30:00 -07:00
2015-09-08 15:35:28 -07:00
2015-10-01 21:42:35 -04:00
2015-08-27 19:40:58 -04:00
2015-09-09 17:19:14 -07:00
2015-08-05 10:35:49 -07:00
2015-09-08 15:35:28 -07:00
2015-10-01 21:42:35 -04:00
2015-07-17 16:39:53 -07:00
2015-09-10 13:29:01 -07:00
2015-09-08 14:35:59 -07:00
2015-08-07 15:03:42 +02:00
2015-07-05 23:59:14 -04:00
2015-07-21 10:39:05 -07:00
2015-07-30 00:14:39 +02:00
2015-08-06 23:51:30 -07:00
2015-09-23 14:32:50 -07:00
2015-07-30 13:37:42 +02:00
2015-08-27 16:35:51 -07:00
2015-09-02 16:32:56 -07:00
2015-09-09 21:43:22 -07:00
2015-08-17 13:22:49 -05:00
2015-08-27 19:45:27 -04:00
2015-08-17 13:32:56 -05:00
2015-09-07 12:36:13 -04:00
2015-09-08 12:28:10 -07:00
2015-09-07 15:17:08 -04:00
2015-09-07 15:17:09 -04:00
2015-10-09 10:40:37 -06:00
2015-08-05 13:43:44 -07:00
2015-08-05 13:43:12 -07:00
2015-07-27 08:23:27 -05:00
2015-07-28 13:55:36 +02:00
2015-07-30 00:14:37 +02:00
2015-08-25 11:29:55 -05:00
2015-08-26 01:46:39 +02:00
2015-09-01 09:59:20 +10:00
2015-09-08 15:35:28 -07:00
2015-09-10 13:29:01 -07:00
2015-09-10 13:29:01 -07:00
2015-07-17 16:39:54 -07:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-07-04 19:36:06 -07:00
2015-07-17 16:39:53 -07:00
2015-08-16 13:26:01 -03:00
2015-08-13 15:59:58 -05:00
2015-09-08 15:35:28 -07:00
2015-07-14 17:43:56 -04:00
2015-08-15 13:52:10 +02:00
2015-08-09 22:50:05 -07:00
2015-08-31 14:48:02 -07:00
2015-09-24 23:04:53 -07:00
2015-08-29 01:54:43 +02:00
2015-09-09 02:20:39 +02:00
2015-07-28 08:50:41 +01:00
2015-07-21 23:14:22 +02:00
2015-08-27 19:40:59 -04:00
2015-09-10 13:29:01 -07:00
2015-08-03 12:21:24 +02:00
2015-09-10 13:29:01 -07:00
2015-08-13 16:58:29 -07:00
2015-08-07 14:37:04 +02:00
2015-08-03 12:33:39 +01:00
2015-07-15 11:52:52 -07:00
2015-08-17 15:40:20 +02:00
2015-07-31 19:13:33 +01:00
2015-07-23 20:59:10 +02:00
2015-09-20 20:50:06 -07:00
2015-07-22 15:26:58 -07:00
2015-07-22 15:26:58 -07:00
2015-09-04 17:22:10 +01:00
2015-09-01 09:56:58 +02:00
2015-09-04 16:54:41 -07:00
2015-08-24 14:28:01 -06:00
2015-09-16 11:51:12 -04:00
2015-07-15 11:52:54 -07:00
2015-09-20 17:00:26 -07:00
2015-09-11 15:21:34 -07:00
2015-07-23 17:43:30 -07:00
2015-07-16 10:30:55 -07:00
2015-08-05 08:48:00 +05:30
2015-09-29 16:48:46 -07:00
2015-09-04 16:54:41 -07:00
2015-09-04 16:54:41 -07:00
2015-09-01 08:40:25 -07:00
2015-07-29 00:13:25 -07:00
2015-08-03 12:21:27 +02:00
2015-09-10 13:29:01 -07:00
2015-09-10 15:36:59 -04:00
2015-09-08 15:35:28 -07:00
2015-09-08 15:35:28 -07:00
2015-09-11 15:21:34 -07:00
2015-10-21 14:42:38 -06:00
2015-09-14 07:39:46 -07:00
2015-08-05 13:24:12 -07:00
2015-09-02 10:33:22 +02:00
2015-08-17 11:25:28 -07:00
2015-08-20 21:13:22 +02:00
2015-08-06 15:29:14 -03:00
2015-08-03 15:24:43 -07:00
2015-07-23 18:37:31 -07:00
2015-07-22 15:27:29 -07:00
2015-08-28 16:27:27 -07:00
2015-07-31 10:38:06 +02:00
2015-08-18 09:59:12 -07:00
2015-09-04 16:54:41 -07:00
2015-08-12 17:01:01 +01:00
2015-09-22 15:09:53 -07:00
2015-09-04 16:54:41 -07:00
2015-08-17 15:48:24 -04:00
2015-09-08 15:35:28 -07:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00