[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFLxGvwqvLpUUzqc_5=iTB03NdU_mYvrmPqRjTZ6O-x+mzTTeA@mail.gmail.com>
Date: Sun, 14 Aug 2016 11:00:33 +0200
From: Richard Weinberger <richard.weinberger@...il.com>
To: Vincent Stehlé <vincent.stehle@...el.com>
Cc: "linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>,
Artem Bityutskiy <artem.bityutskiy@...ux.intel.com>
Subject: Re: [PATCH] UBIFS: fix assertion in layout_in_gaps()
Vincent,
On Fri, Aug 12, 2016 at 3:26 PM, Vincent Stehlé
<vincent.stehle@...el.com> wrote:
> An assertion in layout_in_gaps() verifies that the gap_lebs pointer is
> below the maximum bound. When computing this maximum bound the idx_lebs
> count is multiplied by sizeof(int), while C pointers arithmetic does take
> into account the size of the pointed elements implicitly already. Remove
> the multiplication to fix the assertion.
>
> Fixes: 1e51764a3c2ac05a ("UBIFS: add new flash file system")
> Signed-off-by: Vincent Stehlé <vincent.stehle@...el.com>
> Cc: Artem Bityutskiy <artem.bityutskiy@...ux.intel.com>
> ---
> fs/ubifs/tnc_commit.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ubifs/tnc_commit.c b/fs/ubifs/tnc_commit.c
> index b45345d..51157da 100644
> --- a/fs/ubifs/tnc_commit.c
> +++ b/fs/ubifs/tnc_commit.c
> @@ -370,7 +370,7 @@ static int layout_in_gaps(struct ubifs_info *c, int cnt)
>
> p = c->gap_lebs;
> do {
> - ubifs_assert(p < c->gap_lebs + sizeof(int) * c->lst.idx_lebs);
> + ubifs_assert(p < c->gap_lebs + c->lst.idx_lebs);
Good catch! Did you hit this assertion or was it found by review?
I bet the latter since it is here since ever and given the wrongness
it is unlikely to trigger.
--
Thanks,
//richard
Powered by blists - more mailing lists