diff mbox

ubi: fix correct rb_tree node comparison in add_vol

Message ID 1403594718-20595-1-git-send-email-hs@denx.de
State Accepted
Headers show

Commit Message

Heiko Schocher June 24, 2014, 7:25 a.m. UTC
Commit 604b592e6fd3c98f21435e1181ba7723ffc24715 ("UBI: fix rb_tree node comparison in add_map")

introduced problems with attaching ubi fastmap images,
created with older kernel.

As in ubi_find_av() from attach.c is
[...]
                if (vol_id > av->vol_id)
                        p = p->rb_left;
                else
                        p = p->rb_right;

sync this logic also in add_vol() with this.

With this patch attaching older ubi images works again.

Signed-off-by: Heiko Schocher <hs@denx.de>

---

Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: linux-mtd@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

 drivers/mtd/ubi/fastmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Weinberger June 25, 2014, 9:11 p.m. UTC | #1
Am 24.06.2014 09:25, schrieb Heiko Schocher:
> Commit 604b592e6fd3c98f21435e1181ba7723ffc24715 ("UBI: fix rb_tree node comparison in add_map")
> 
> introduced problems with attaching ubi fastmap images,
> created with older kernel.
> 
> As in ubi_find_av() from attach.c is
> [...]
>                 if (vol_id > av->vol_id)
>                         p = p->rb_left;
>                 else
>                         p = p->rb_right;
> 
> sync this logic also in add_vol() with this.
> 
> With this patch attaching older ubi images works again.
> 
> Signed-off-by: Heiko Schocher <hs@denx.de>

Thanks a lot for fixing this!

Acked-by: Richard Weinberger <richard@nod.at>

Thanks,
//richard
Artem Bityutskiy June 30, 2014, 3:47 p.m. UTC | #2
On Tue, 2014-06-24 at 09:25 +0200, Heiko Schocher wrote:
> Commit 604b592e6fd3c98f21435e1181ba7723ffc24715 ("UBI: fix rb_tree node comparison in add_map")
> 
> introduced problems with attaching ubi fastmap images,
> created with older kernel.

Changed the commit message to be a bit more reader-friendly and pushed
to linux-ubifs.git, thank you!
diff mbox

Patch

diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
index b04e7d0..72f39da 100644
--- a/drivers/mtd/ubi/fastmap.c
+++ b/drivers/mtd/ubi/fastmap.c
@@ -125,7 +125,7 @@  static struct ubi_ainf_volume *add_vol(struct ubi_attach_info *ai, int vol_id,
 		parent = *p;
 		av = rb_entry(parent, struct ubi_ainf_volume, rb);
 
-		if (vol_id < av->vol_id)
+		if (vol_id > av->vol_id)
 			p = &(*p)->rb_left;
 		else
 			p = &(*p)->rb_right;