diff options
author | Mike Snitzer <snitzer@redhat.com> | 2012-09-26 22:45:42 (GMT) |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2012-09-26 22:45:42 (GMT) |
commit | ba1cbad93dd47223b1f3b8edd50dd9ef2abcb2ed (patch) | |
tree | 3cf301491e0c9ce60a8b90f8e9313ce95d75d695 /mm/memory-failure.c | |
parent | 7ba10aa6fbac7158a50bec142132b04bc480bb29 (diff) | |
download | linux-ba1cbad93dd47223b1f3b8edd50dd9ef2abcb2ed.tar.xz |
dm: handle requests beyond end of device instead of using BUG_ON
The access beyond the end of device BUG_ON that was introduced to
dm_request_fn via commit 29e4013de7ad950280e4b2208 ("dm: implement
REQ_FLUSH/FUA support for request-based dm") was an overly
drastic (but simple) response to this situation.
I have received a report that this BUG_ON was hit and now think
it would be better to use dm_kill_unmapped_request() to fail the clone
and original request with -EIO.
map_request() will assign the valid target returned by
dm_table_find_target to tio->ti. But when the target
isn't valid tio->ti is never assigned (because map_request isn't
called); so add a check for tio->ti != NULL to dm_done().
Reported-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: stable@vger.kernel.org # v2.6.37+
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'mm/memory-failure.c')
0 files changed, 0 insertions, 0 deletions