aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2016-08-24 08:36:15 -0400
committerRichard Weinberger <richard@nod.at>2016-10-02 16:55:02 -0400
commitf7d11b33d4e8cedf19367c09b891bbc705163976 (patch)
treed2f47e8298c10817fb230b9a446df010d89df3bd /drivers/mtd
parent2e8f08deabbc7eefe4c5838aaa6aa9a23a8acf2e (diff)
ubi: Fix Fastmap's update_vol()
Usually Fastmap is free to consider every PEB in one of the pools as newer than the existing PEB. Since PEBs in a pool are by definition newer than everything else. But update_vol() missed the case that a pool can contain more than one candidate. Cc: <stable@vger.kernel.org> Fixes: dbb7d2a88d ("UBI: Add fastmap core") Signed-off-by: Richard Weinberger <richard@nod.at> Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/ubi/fastmap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
index 8bd468332ec0..d6384d965788 100644
--- a/drivers/mtd/ubi/fastmap.c
+++ b/drivers/mtd/ubi/fastmap.c
@@ -304,6 +304,7 @@ static int update_vol(struct ubi_device *ubi, struct ubi_attach_info *ai,
304 aeb->pnum = new_aeb->pnum; 304 aeb->pnum = new_aeb->pnum;
305 aeb->copy_flag = new_vh->copy_flag; 305 aeb->copy_flag = new_vh->copy_flag;
306 aeb->scrub = new_aeb->scrub; 306 aeb->scrub = new_aeb->scrub;
307 aeb->sqnum = new_aeb->sqnum;
307 ubi_free_aeb(ai, new_aeb); 308 ubi_free_aeb(ai, new_aeb);
308 309
309 /* new_aeb is older */ 310 /* new_aeb is older */