Dan Williams
2e6edc9538
block: protect rw_page against device teardown
Fix use after free crashes like the following:
general protection fault: 0000 [#1] SMP
Call Trace:
[<ffffffffa0050216>] ? pmem_do_bvec.isra.12+0xa6/0xf0 [nd_pmem]
[<ffffffffa0050ba2>] pmem_rw_page+0x42/0x80 [nd_pmem]
[<ffffffff8128fd90>] bdev_read_page+0x50/0x60
[<ffffffff812972f0>] do_mpage_readpage+0x510/0x770
[<ffffffff8128fd20>] ? I_BDEV+0x20/0x20
[<ffffffff811d86dc>] ? lru_cache_add+0x1c/0x50
[<ffffffff81297657>] mpage_readpages+0x107/0x170
[<ffffffff8128fd20>] ? I_BDEV+0x20/0x20
[<ffffffff8128fd20>] ? I_BDEV+0x20/0x20
[<ffffffff8129058d>] blkdev_readpages+0x1d/0x20
[<ffffffff811d615f>] __do_page_cache_readahead+0x28f/0x310
[<ffffffff811d6039>] ? __do_page_cache_readahead+0x169/0x310
[<ffffffff811c5abd>] ? pagecache_get_page+0x2d/0x1d0
[<ffffffff811c76f6>] filemap_fault+0x396/0x530
[<ffffffff811f816e>] __do_fault+0x4e/0xf0
[<ffffffff811fce7d>] handle_mm_fault+0x11bd/0x1b50
Cc: <stable@vger.kernel.org>
Cc: Jens Axboe <axboe@fb.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Reported-by: kbuild test robot <lkp@intel.com>
Acked-by: Matthew Wilcox <willy@linux.intel.com>
[willy: symmetry fixups]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
|
2015-11-19 13:47:10 -08:00 |
| .. |
|
partitions
|
|
|
|
bio-integrity.c
|
block: blk_flush_integrity() for bio-based drivers
|
2015-10-21 14:43:44 -06:00 |
|
bio.c
|
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
|
2015-11-06 17:50:42 -08:00 |
|
blk-cgroup.c
|
Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
|
2015-11-05 14:51:32 -08:00 |
|
blk-core.c
|
block: fix blk-core.c kernel-doc warning
|
2015-11-11 09:36:57 -07:00 |
|
blk-exec.c
|
|
|
|
blk-flush.c
|
blk-mq: fix race between timeout and freeing request
|
2015-08-15 09:45:21 -06:00 |
|
blk-integrity.c
|
block, libnvdimm, nvme: provide a built-in blk_integrity nop profile
|
2015-10-21 14:43:45 -06:00 |
|
blk-ioc.c
|
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
|
2015-11-06 17:50:42 -08:00 |
|
blk-iopoll.c
|
|
|
|
blk-lib.c
|
block: re-add discard_granularity and alignment checks
|
2015-10-28 09:12:58 +09:00 |
|
blk-map.c
|
block: Copy a user iovec if it includes gaps
|
2015-09-11 09:03:50 -06:00 |
|
blk-merge.c
|
block: avoid to merge splitted bio
|
2015-10-21 15:00:51 -06:00 |
|
blk-mq-cpu.c
|
|
|
|
blk-mq-cpumap.c
|
blk-mq: avoid inserting requests before establishing new mapping
|
2015-09-29 11:32:50 -06:00 |
|
blk-mq-sysfs.c
|
block: add block polling support
|
2015-11-07 10:40:47 -07:00 |
|
blk-mq-tag.c
|
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
|
2015-11-06 17:50:42 -08:00 |
|
blk-mq-tag.h
|
blk-mq: factor out a helper to iterate all tags for a request_queue
|
2015-10-01 10:10:57 +02:00 |
|
blk-mq.c
|
blk-mq: mark __blk_mq_complete_request() static
|
2015-11-11 09:36:56 -07:00 |
|
blk-mq.h
|
blk-mq: mark __blk_mq_complete_request() static
|
2015-11-11 09:36:56 -07:00 |
|
blk-settings.c
|
Merge branch 'for-4.3/core' of git://git.kernel.dk/linux-block
|
2015-09-02 13:10:25 -07:00 |
|
blk-softirq.c
|
|
|
|
blk-sysfs.c
|
block: add block polling support
|
2015-11-07 10:40:47 -07:00 |
|
blk-tag.c
|
|
|
|
blk-throttle.c
|
cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl()
|
2015-09-18 11:56:28 -04:00 |
|
blk-timeout.c
|
|
|
|
blk.h
|
block: protect rw_page against device teardown
|
2015-11-19 13:47:10 -08:00 |
|
bounce.c
|
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
|
2015-09-19 18:57:09 -07:00 |
|
bsg-lib.c
|
|
|
|
bsg.c
|
|
|
|
cfq-iosched.c
|
cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl()
|
2015-09-18 11:56:28 -04:00 |
|
cmdline-parser.c
|
|
|
|
compat_ioctl.c
|
|
|
|
deadline-iosched.c
|
|
|
|
elevator.c
|
block: check bio_mergeable() early before merging
|
2015-10-21 15:00:54 -06:00 |
|
genhd.c
|
block: Inline blk_integrity in struct gendisk
|
2015-10-21 14:42:42 -06:00 |
|
ioctl.c
|
block: add an API for Persistent Reservations
|
2015-10-21 14:46:56 -06:00 |
|
ioprio.c
|
pidns: fix set/getpriority and ioprio_set/get in PRIO_USER mode
|
2015-11-06 17:50:42 -08:00 |
|
Kconfig
|
|
|
|
Kconfig.iosched
|
|
|
|
Makefile
|
|
|
|
noop-iosched.c
|
|
|
|
partition-generic.c
|
block: Inline blk_integrity in struct gendisk
|
2015-10-21 14:42:42 -06:00 |
|
scsi_ioctl.c
|
mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM
|
2015-11-06 17:50:42 -08:00 |
|
t10-pi.c
|
block: Consolidate static integrity profile properties
|
2015-10-21 14:42:38 -06:00 |