diff --git a/[refs] b/[refs] index ac46a52e9cfa..ac0d43ac56c5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5037108acd4dc40c210321cc83b0bf8352eda95a +refs/heads/master: b01cd5ac43b00c49759c126c21e7d22c7e80b245 diff --git a/trunk/drivers/md/dm.c b/trunk/drivers/md/dm.c index 469cec54f371..ace998ce59f6 100644 --- a/trunk/drivers/md/dm.c +++ b/trunk/drivers/md/dm.c @@ -843,6 +843,8 @@ static int dm_merge_bvec(struct request_queue *q, goto out; ti = dm_table_find_target(map, bvm->bi_sector); + if (!dm_target_is_valid(ti)) + goto out_table; /* * Find maximum amount of I/O that won't need splitting @@ -861,6 +863,7 @@ static int dm_merge_bvec(struct request_queue *q, if (max_size && ti->type->merge) max_size = ti->type->merge(ti, bvm, biovec, max_size); +out_table: dm_table_put(map); out: