[PATCH] UBIFS: Add log overlap assertions
hujianyang
hujianyang at huawei.com
Tue Jul 29 18:32:29 PDT 2014
On 2014/7/29 18:20, hujianyang wrote:
> We use a circle area to record log node in ubifs. This log area
> should not be overlapped. But after researching the code, I found
> some condition may lead log head wrap log ltail. Although we've
> fixed the problems discovered, there may be some other issues still
> left.
>
> This patch adds assertions when lhead changes to next leb to make
> sure ltail is not wrapped.
>
>
> Signed-off-by: hujianyang <hujianyang at huawei.com>
> ---
> fs/ubifs/log.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/ubifs/log.c b/fs/ubifs/log.c
> index 7e818ec..c14628f 100644
> --- a/fs/ubifs/log.c
> +++ b/fs/ubifs/log.c
> @@ -244,6 +244,7 @@ int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs)
>
> if (c->lhead_offs > c->leb_size - c->ref_node_alsz) {
> c->lhead_lnum = ubifs_next_log_lnum(c, c->lhead_lnum);
> + ubifs_assert(c->lhead_lnum != c->ltail_lnum);
> c->lhead_offs = 0;
> }
>
> @@ -408,6 +409,7 @@ int ubifs_log_start_commit(struct ubifs_info *c, int *ltail_lnum)
> /* Switch to the next log LEB */
> if (c->lhead_offs) {
> c->lhead_lnum = ubifs_next_log_lnum(c, c->lhead_lnum);
> + ubifs_assert(c->lhead_lnum != c->ltail_lnum);
> c->lhead_offs = 0;
> }
>
Forgive me. This patch is not created in right format.
Please drop it and I will resend a new one.
More information about the linux-mtd
mailing list