remarkable-linux/drivers/md
Joe Thornber cc7da0ba9c dm cache: fix use after freeing migrations
Both free_io_migration() and issue_discard() dereference a migration
that was just freed.  Fix those by saving off the migrations's cache
object before freeing the migration.  Also cleanup needless mg->cache
dereferences now that the cache object is available directly.

Fixes: e44b6a5a3c ("dm cache: move wake_waker() from free_migrations() to where it is needed")
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2015-09-01 08:56:14 -04:00
..
bcache bcache: don't embed 'return' statements in closure macros 2015-07-11 09:57:32 -06:00
persistent-data dm: remove unlikely() before IS_ERR() 2015-08-12 11:32:21 -04:00
bitmap.c Some md fixes for 4.2 2015-07-25 11:24:58 -07:00
bitmap.h md-cluster: re-add capabilities 2015-04-22 07:59:39 +10:00
dm-bio-prison.c dm bio prison: add dm_cell_promote_or_release() 2015-05-29 14:19:06 -04:00
dm-bio-prison.h dm bio prison: add dm_cell_promote_or_release() 2015-05-29 14:19:06 -04:00
dm-bio-record.h
dm-bufio.c
dm-bufio.h
dm-builtin.c
dm-cache-block-types.h
dm-cache-metadata.c dm cache: add fail io mode and needs_check flag 2015-06-11 17:13:00 -04:00
dm-cache-metadata.h dm cache: add fail io mode and needs_check flag 2015-06-11 17:13:00 -04:00
dm-cache-policy-cleaner.c dm cache: pass a new 'critical' flag to the policies when requesting writeback work 2015-05-29 14:19:04 -04:00
dm-cache-policy-internal.h dm cache: age and write back cache entries even without active IO 2015-06-11 17:13:01 -04:00
dm-cache-policy-mq.c dm cache policy smq: move 'dm-cache-default' module alias to SMQ 2015-08-12 11:27:29 -04:00
dm-cache-policy-smq.c dm cache policy smq: change the mutex to a spinlock 2015-08-12 11:32:19 -04:00
dm-cache-policy.c
dm-cache-policy.h dm cache: age and write back cache entries even without active IO 2015-06-11 17:13:01 -04:00
dm-cache-target.c dm cache: fix use after freeing migrations 2015-09-01 08:56:14 -04:00
dm-crypt.c dm: do not override error code returned from dm_get_device() 2015-08-12 11:32:21 -04:00
dm-delay.c dm: do not override error code returned from dm_get_device() 2015-08-12 11:32:21 -04:00
dm-era-target.c
dm-exception-store.c
dm-exception-store.h
dm-flakey.c dm: do not override error code returned from dm_get_device() 2015-08-12 11:32:21 -04:00
dm-io.c dm io: deal with wandering queue limits when handling REQ_DISCARD and REQ_WRITE_SAME 2015-02-27 14:53:32 -05:00
dm-ioctl.c dm: only initialize the request_queue once 2015-04-30 10:25:21 -04:00
dm-kcopyd.c
dm-linear.c dm: do not override error code returned from dm_get_device() 2015-08-12 11:32:21 -04:00
dm-log-userspace-base.c dm log userspace base: fix compile warning 2015-04-15 12:10:20 -04:00
dm-log-userspace-transfer.c dm log userspace transfer: match wait_for_completion_timeout return type 2015-04-15 12:10:20 -04:00
dm-log-userspace-transfer.h
dm-log-writes.c dm: do not override error code returned from dm_get_device() 2015-08-12 11:32:21 -04:00
dm-log.c
dm-mpath.c dm mpath: fix leak of dm_mpath_io structure in blk-mq .queue_rq error path 2015-05-27 17:37:22 -04:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid.c dm raid: add support for the MD RAID0 personality 2015-05-29 14:19:00 -04:00
dm-raid1.c dm: do not override error code returned from dm_get_device() 2015-08-12 11:32:21 -04:00
dm-region-hash.c
dm-round-robin.c
dm-service-time.c
dm-snap-persistent.c dm: remove unlikely() before IS_ERR() 2015-08-12 11:32:21 -04:00
dm-snap-transient.c
dm-snap.c dm snapshot: don't invalidate on-disk image on snapshot write overflow 2015-08-12 16:22:55 -04:00
dm-stats.c dm stats: report precise_timestamps and histogram in @stats_list output 2015-08-18 17:20:03 -04:00
dm-stats.h dm stats: support precise timestamps 2015-06-17 12:40:40 -04:00
dm-stripe.c dm: do not override error code returned from dm_get_device() 2015-08-12 11:32:21 -04:00
dm-switch.c
dm-sysfs.c dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr 2015-04-15 12:10:17 -04:00
dm-table.c Revert "block, dm: don't copy bios for request clones" 2015-06-26 10:11:58 -04:00
dm-target.c
dm-thin-metadata.c dm thin metadata: delete btrees when releasing metadata snapshot 2015-08-12 10:42:51 -04:00
dm-thin-metadata.h dm thin metadata: add dm_thin_remove_range() 2015-06-11 17:13:04 -04:00
dm-thin.c dm thin: optimize async discard submission 2015-08-18 11:36:11 -04:00
dm-uevent.c
dm-uevent.h
dm-verity.c dm: remove unlikely() before IS_ERR() 2015-08-12 11:32:21 -04:00
dm-zero.c
dm.c dm: test return value for DM_MAPIO_SUBMITTED 2015-08-12 11:32:20 -04:00
dm.h - Revert block and DM core changes the removed request-based DM's 2015-06-26 12:35:01 -07:00
faulty.c
Kconfig dm crypt: update wiki page URL 2015-07-27 07:58:16 -04:00
linear.c
linear.h
Makefile dm cache: add stochastic-multi-queue (smq) policy 2015-06-11 17:12:59 -04:00
md-cluster.c Fix read-balancing during node failure 2015-07-24 13:37:59 +10:00
md-cluster.h Fix read-balancing during node failure 2015-07-24 13:37:59 +10:00
md.c md: use kzalloc() when bitmap is disabled 2015-08-03 14:56:02 +10:00
md.h writeback: separate out include/linux/backing-dev-defs.h 2015-06-02 08:33:34 -06:00
multipath.c
multipath.h
raid0.c md/raid0: fix restore to sector variable in raid0_make_request 2015-05-21 09:14:25 +10:00
raid0.h
raid1.c md/raid1: extend spinlock to protect raid1_end_read_request against inconsistencies 2015-08-03 12:29:42 +10:00
raid1.h
raid5.c md/raid5: don't let shrink_slab shrink too far. 2015-08-03 17:10:56 +10:00
raid5.h md/raid5: avoid races when changing cache size. 2015-07-22 14:04:15 +10:00
raid10.c md/raid10: always set reshape_safe when initializing reshape_position. 2015-07-22 14:08:24 +10:00
raid10.h