diff options
Diffstat (limited to 'drivers/mtd/mtdconcat.c')
-rw-r--r-- | drivers/mtd/mtdconcat.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/drivers/mtd/mtdconcat.c b/drivers/mtd/mtdconcat.c index d826a8a50e73..1f2071803931 100644 --- a/drivers/mtd/mtdconcat.c +++ b/drivers/mtd/mtdconcat.c | |||
@@ -185,10 +185,6 @@ concat_writev(struct mtd_info *mtd, const struct kvec *vecs, | |||
185 | for (i = 0; i < count; i++) | 185 | for (i = 0; i < count; i++) |
186 | total_len += vecs[i].iov_len; | 186 | total_len += vecs[i].iov_len; |
187 | 187 | ||
188 | /* Do not allow write past end of device */ | ||
189 | if ((to + total_len) > mtd->size) | ||
190 | return -EINVAL; | ||
191 | |||
192 | /* Check alignment */ | 188 | /* Check alignment */ |
193 | if (mtd->writesize > 1) { | 189 | if (mtd->writesize > 1) { |
194 | uint64_t __to = to; | 190 | uint64_t __to = to; |
@@ -406,12 +402,6 @@ static int concat_erase(struct mtd_info *mtd, struct erase_info *instr) | |||
406 | if (!(mtd->flags & MTD_WRITEABLE)) | 402 | if (!(mtd->flags & MTD_WRITEABLE)) |
407 | return -EROFS; | 403 | return -EROFS; |
408 | 404 | ||
409 | if (instr->addr > concat->mtd.size) | ||
410 | return -EINVAL; | ||
411 | |||
412 | if (instr->len + instr->addr > concat->mtd.size) | ||
413 | return -EINVAL; | ||
414 | |||
415 | /* | 405 | /* |
416 | * Check for proper erase block alignment of the to-be-erased area. | 406 | * Check for proper erase block alignment of the to-be-erased area. |
417 | * It is easier to do this based on the super device's erase | 407 | * It is easier to do this based on the super device's erase |
@@ -538,9 +528,6 @@ static int concat_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len) | |||
538 | struct mtd_concat *concat = CONCAT(mtd); | 528 | struct mtd_concat *concat = CONCAT(mtd); |
539 | int i, err = -EINVAL; | 529 | int i, err = -EINVAL; |
540 | 530 | ||
541 | if ((len + ofs) > mtd->size) | ||
542 | return -EINVAL; | ||
543 | |||
544 | for (i = 0; i < concat->num_subdev; i++) { | 531 | for (i = 0; i < concat->num_subdev; i++) { |
545 | struct mtd_info *subdev = concat->subdev[i]; | 532 | struct mtd_info *subdev = concat->subdev[i]; |
546 | uint64_t size; | 533 | uint64_t size; |
@@ -575,9 +562,6 @@ static int concat_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len) | |||
575 | struct mtd_concat *concat = CONCAT(mtd); | 562 | struct mtd_concat *concat = CONCAT(mtd); |
576 | int i, err = 0; | 563 | int i, err = 0; |
577 | 564 | ||
578 | if ((len + ofs) > mtd->size) | ||
579 | return -EINVAL; | ||
580 | |||
581 | for (i = 0; i < concat->num_subdev; i++) { | 565 | for (i = 0; i < concat->num_subdev; i++) { |
582 | struct mtd_info *subdev = concat->subdev[i]; | 566 | struct mtd_info *subdev = concat->subdev[i]; |
583 | uint64_t size; | 567 | uint64_t size; |
@@ -650,9 +634,6 @@ static int concat_block_isbad(struct mtd_info *mtd, loff_t ofs) | |||
650 | if (!mtd_can_have_bb(concat->subdev[0])) | 634 | if (!mtd_can_have_bb(concat->subdev[0])) |
651 | return res; | 635 | return res; |
652 | 636 | ||
653 | if (ofs > mtd->size) | ||
654 | return -EINVAL; | ||
655 | |||
656 | for (i = 0; i < concat->num_subdev; i++) { | 637 | for (i = 0; i < concat->num_subdev; i++) { |
657 | struct mtd_info *subdev = concat->subdev[i]; | 638 | struct mtd_info *subdev = concat->subdev[i]; |
658 | 639 | ||
@@ -673,9 +654,6 @@ static int concat_block_markbad(struct mtd_info *mtd, loff_t ofs) | |||
673 | struct mtd_concat *concat = CONCAT(mtd); | 654 | struct mtd_concat *concat = CONCAT(mtd); |
674 | int i, err = -EINVAL; | 655 | int i, err = -EINVAL; |
675 | 656 | ||
676 | if (ofs > mtd->size) | ||
677 | return -EINVAL; | ||
678 | |||
679 | for (i = 0; i < concat->num_subdev; i++) { | 657 | for (i = 0; i < concat->num_subdev; i++) { |
680 | struct mtd_info *subdev = concat->subdev[i]; | 658 | struct mtd_info *subdev = concat->subdev[i]; |
681 | 659 | ||
@@ -713,10 +691,6 @@ static unsigned long concat_get_unmapped_area(struct mtd_info *mtd, | |||
713 | continue; | 691 | continue; |
714 | } | 692 | } |
715 | 693 | ||
716 | /* we've found the subdev over which the mapping will reside */ | ||
717 | if (offset + len > subdev->size) | ||
718 | return (unsigned long) -EINVAL; | ||
719 | |||
720 | return mtd_get_unmapped_area(subdev, len, offset, flags); | 694 | return mtd_get_unmapped_area(subdev, len, offset, flags); |
721 | } | 695 | } |
722 | 696 | ||