Skip to content

Commit

Permalink
[JFFS2] Fix unpoint length
Browse files Browse the repository at this point in the history
Fix a couple of instances in JFFS2 where the unpoint() routine is
being called with the wrong length in cases where the point() routine
truncated a request.

Signed-off-by: Andy Lowe <[email protected]>
Signed-off-by: Nicolas Pitre <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
  • Loading branch information
Andy Lowe authored and dwmw2 committed Sep 23, 2007
1 parent 097f257 commit 59d8235
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion fs/jffs2/erase.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ static int jffs2_block_check_erase(struct jffs2_sb_info *c, struct jffs2_erasebl
if (retlen < c->sector_size) {
/* Don't muck about if it won't let us point to the whole erase sector */
D1(printk(KERN_DEBUG "MTD point returned len too short: 0x%zx\n", retlen));
c->mtd->unpoint(c->mtd, ebuf, jeb->offset, c->sector_size);
c->mtd->unpoint(c->mtd, ebuf, jeb->offset, retlen);
goto do_flash_read;
}
wordebuf = ebuf-sizeof(*wordebuf);
Expand Down
2 changes: 1 addition & 1 deletion fs/jffs2/readinode.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ static int check_node_data(struct jffs2_sb_info *c, struct jffs2_tmp_dnode_info
err = c->mtd->point(c->mtd, ofs, len, &retlen, &buffer);
if (!err && retlen < tn->csize) {
JFFS2_WARNING("MTD point returned len too short: %zu instead of %u.\n", retlen, tn->csize);
c->mtd->unpoint(c->mtd, buffer, ofs, len);
c->mtd->unpoint(c->mtd, buffer, ofs, retlen);
} else if (err)
JFFS2_WARNING("MTD point failed: error code %d.\n", err);
else
Expand Down
2 changes: 1 addition & 1 deletion fs/jffs2/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)
if (!ret && pointlen < c->mtd->size) {
/* Don't muck about if it won't let us point to the whole flash */
D1(printk(KERN_DEBUG "MTD point returned len too short: 0x%zx\n", pointlen));
c->mtd->unpoint(c->mtd, flashbuf, 0, c->mtd->size);
c->mtd->unpoint(c->mtd, flashbuf, 0, pointlen);
flashbuf = NULL;
}
if (ret)
Expand Down

0 comments on commit 59d8235

Please sign in to comment.